pjs/tools/module-deps
gerv%gerv.net b9086a41e4 Bug 236613: change to MPL/LGPL/GPL tri-license. 2005-01-01 18:57:51 +00:00
..
.cvsignore Update module-deps meta files with the latest module data. 2003-08-15 22:37:25 +00:00
README Update module-deps meta files with the latest module data. 2003-08-15 22:37:25 +00:00
all.dot Update maps 2004-02-29 00:21:36 +00:00
allmakefiles.stub Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-25 21:07:34 +00:00
bootstrap.pl Update module-deps meta files with the latest module data. 2003-08-15 22:37:25 +00:00
extra.dot Update map files. 2003-08-15 10:57:00 +00:00
find-unused-exports.pl
find_iids.pl
force_order.txt Update module-deps meta files with the latest module data. 2003-08-15 22:37:25 +00:00
header-count.pl Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-25 21:07:34 +00:00
module-graph.pl
module2dir.map Fix for bug 235747 (Move parser stuff into mozilla/parser). r=cls, sr=jst. 2004-05-04 11:46:11 +00:00
modules.mk.footer Fix for bug 235747 (Move parser stuff into mozilla/parser). r=cls, sr=jst. 2004-05-04 11:46:11 +00:00
modules.mk.stub Bug 236613: change to MPL/LGPL/GPL tri-license. 2005-01-01 18:57:51 +00:00
requires-cleanup.pl Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-25 21:07:34 +00:00

README

Here's a brief "how this works" doc to refresh my memory when I look at this in another 8 months.

The files:

all.dot - A dependency list of all of the modules in the current tree.
	- Generated by running module-graph.pl on an existing build tree. 
	- Only contains the dependencies for the platform it was run on
	  (Bug 185188)

allmakefiles.stub -  This is the stub portion of allmakefiles.sh which is used
	when running bootstrap.pl so that only specific Makefiles are generated

bootstrap.pl - This script was originally designed to use the results from
	module-graph.pl to create a cvs checkout list & build order and to
	build the tree using those lists.   It has been modified to be able to
	update the standard allmakefiles.sh & modules.mk files to track module
	changes as well.

extra.dot - This file contains a mapping of additional module dependencies 
	which could not be found by module-graph.pl.

force_order.txt - This file contains hard ordering rules for use with 
	module-graph.pl's --force-order command line option.

meta.dot - This generated file is the combination of all.dot & extra.dot and
	is used when creating allmakefiles.sh & modules.mk.

module2dir.map - This file contains the mapping of the modules and their
	dependencies based upon the directory.  This file is created by
	running 'make -s echo-requires-recursively _REPORT_ALL_DIRS=1 > file'
	on an existing tree.

module-graph.pl - Outputs a Graphviz-compatible graph description file.
	It can output a dependency graph based upon an existing description
	file or it can generate a new one based upon the values of MODULE &
	REQUIRES in Makefiles in an existing tree.

modules.mk.footer - Footer for generated modules.mk

modules.mk.stub - Header for generated mdoules.mk


How to regenerate allmakefiles.sh & modules.mk when modules change:

cd $MOZ_OBJDIR
perl ../mozilla/tools/module-deps/module-graph.pl > ../mozilla/tools/module-deps/all.dot
make -s echo-requires-recursive _REPORT_ALL_DIRS=1 > ../mozilla/tools/module-deps/module2dir.map
cd ../mozilla
perl tools/module-deps/bootstrap.pl --topsrcdir `pwd` --module-file-only