## make-dependency-graph.api
# Compiled by:
#
src/app/makelib/makelib.sublib# Build the dependency graph for one group/library.
# XXX BUGGO FIXME We usually use 'make' in such
# situations. If there isn't a clear, consistent
# difference between 'build' and 'make', we
# probably should rename:
stipulate
package sy = symbol; # symbol is from
src/lib/compiler/front/basics/map/symbol.pkg package lg = inter_library_dependency_graph; # inter_library_dependency_graph is from
src/app/makelib/depend/inter-library-dependency-graph.pkg package sg = intra_library_dependency_graph; # intra_library_dependency_graph is from
src/app/makelib/depend/intra-library-dependency-graph.pkg package sm = symbol_map; # symbol_map is from
src/app/makelib/stuff/symbol-map.pkg package sys = symbol_set; # symbol_set is from
src/app/makelib/stuff/symbol-set.pkg package tlt = thawedlib_tome; # thawedlib_tome is from
src/app/makelib/compilable/thawedlib-tome.pkg package ms = makelib_state; # makelib_state is from
src/app/makelib/main/makelib-state.pkg# package tst = tome_symbolmapstack; # tome_symbolmapstack is from
src/app/makelib/depend/tome-symbolmapstack.pkg package mds = module_dependencies_summary; # module_dependencies_summary is from
src/app/makelib/compilable/module-dependencies-summary.pkgherein
api Make_Dependency_Graph {
#
make_dependency_graph
:
( { imports: sm::Map( lg::Fat_Tome ),
masked_tomes: List( (tlt::Thawedlib_Tome, sys::Set) ), # (tome, exported_symbols_set) pairs.
localdefs: sm::Map( tlt::Thawedlib_Tome ),
sublibraries: X,
sources: Y
},
sys::Set, # filter
ms::Makelib_State,
sg::Masked_Tome
) # Pervasive dictionary.
->
{ exports: sm::Map( lg::Fat_Tome ), # Exports.
imported_symbols: sys::Set # Imported symbols.
};
};
end;