This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Autogen-erated dependencies for the toplevel


This patch turns the dependencies for the toplevel into autogenerated material.

The "bootstrap" flag for host modules is not necessary anymore to generate dependencies (I had introduced that hack, but it proved not to be enough). It will be used in toplevel bootstrap though, so I modified Makefile.def so that it is not set anymore for modules that are *used to bootstrap packages* but not bootstrapped themselves. For example, there is no need to three-stage bison or texinfo.

Toplevel bootstrap is still out of commission after this patch, but this patch already generates correct dependencies for the various stages. The next step will be to adjust all-stage*-gcc so that it can be used for other packages as well (easy now that gcc is a regular host module).

Checked by building ("make all clean bootstrap") a native i686-pc-linux-gnu configuration, ok to install?

Paolo

2004-08-03  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.def (bfd, opcodes, gcc, zlib): Mark as bootstrap module.
	(bison, byacc, flex, texinfo): Do not mark as bootstrap module.
	(Dependencies): New section.
	* Makefile.tpl (Dependencies): Generate from Makefile.def.
	(configure-target-[+module+]): Depend on maybe-all-gcc
	(all-prebootstrap): New name of all-bootstrap.  Changed throughout.
	(toplevel profiledbootstrap): Fix dependencies.
	* Makefile.in: Regenerate.

Index: Makefile.def
===================================================================
RCS file: /cvs/src/src/Makefile.def,v
retrieving revision 1.28
diff -u -r1.28 Makefile.def
--- Makefile.def	3 Aug 2004 09:36:01 -0000	1.28
+++ Makefile.def	3 Aug 2004 10:53:33 -0000
@@ -36,11 +36,11 @@
 host_modules= { module= autoconf; };
 host_modules= { module= automake; };
 host_modules= { module= bash; };
-host_modules= { module= bfd; };
-host_modules= { module= opcodes; };
+host_modules= { module= bfd; bootstrap=true; };
+host_modules= { module= opcodes; bootstrap=true; };
 host_modules= { module= binutils; bootstrap=true; };
-host_modules= { module= bison; no_check_cross= true; bootstrap=true; };
-host_modules= { module= byacc; no_check_cross= true; bootstrap=true; };
+host_modules= { module= bison; no_check_cross= true; };
+host_modules= { module= byacc; no_check_cross= true; };
 host_modules= { module= bzip2; };
 host_modules= { module= dejagnu; };
 host_modules= { module= diff; };
@@ -50,9 +50,10 @@
 host_modules= { module= fileutils; };
 host_modules= { module= findutils; };
 host_modules= { module= find; };
-host_modules= { module= flex; no_check_cross= true; bootstrap=true; };
+host_modules= { module= flex; no_check_cross= true; };
 host_modules= { module= gas; bootstrap=true; };
-host_modules= { module= gcc; extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
+host_modules= { module= gcc; bootstrap=true; 
+		extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
 host_modules= { module= gawk; };
 host_modules= { module= gettext; };
 host_modules= { module= gnuserv; };
@@ -86,7 +87,7 @@
 host_modules= { module= sid; };
 host_modules= { module= sim; };
 host_modules= { module= tar; };
-host_modules= { module= texinfo; no_install= true; bootstrap=true; };
+host_modules= { module= texinfo; no_install= true; };
 host_modules= { module= textutils; };
 host_modules= { module= time; };
 host_modules= { module= uudecode; };
@@ -221,6 +222,187 @@
 flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
 flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
 
+// Inter-module dependencies
+// Kinds of dependencies include:
+// - build: dependencies between build modules
+// - bootstrap: dependencies between bootstrapped modules
+// - prebootstrap: dependencies of bootstrapped host modules on
+//                 non-bootstrapped modules, used only in the native case
+// - target: dependencies between target modules
+
+dependencies = { module=bison; on=texinfo; kind=build; };
+dependencies = { module=byacc; on=texinfo; kind=build; };
+dependencies = { module=flex; on=texinfo; kind=build; };
+dependencies = { module=flex; on=bison; kind=build; };
+dependencies = { module=flex; on=byacc; kind=build; };
+dependencies = { module=libiberty; on=texinfo; kind=build; };
+dependencies = { module=m4; on=texinfo; kind=build; };
+
+// Host modules specific to gcc.
+dependencies = { module=gcc; on=bison; kind=prebootstrap; };
+dependencies = { module=gcc; on=byacc; kind=prebootstrap; };
+dependencies = { module=gcc; on=flex; kind=prebootstrap; };
+dependencies = { module=gcc; on=binutils; kind=bootstrap; };
+dependencies = { module=gcc; on=gas; kind=bootstrap; };
+dependencies = { module=gcc; on=intl; kind=bootstrap; };
+dependencies = { module=gcc; on=ld; kind=bootstrap; };
+dependencies = { module=gcc; on=zlib; kind=bootstrap; };
+dependencies = { module=gcc; on=libbanshee; kind=bootstrap; };
+dependencies = { module=gcc; on=libcpp; kind=bootstrap; hard=true; };
+dependencies = { module=gcc; on=libiberty; kind=bootstrap; hard=true; };
+
+dependencies = { module=libcpp; on=libiberty; kind=bootstrap; hard=true; };
+dependencies = { module=libcpp; on=intl; kind=bootstrap; };
+
+// Host modules specific to gdb.
+dependencies = { module=gdb; on=itcl; install=true; };
+dependencies = { module=gdb; on=tcl; install=true; };
+dependencies = { module=gdb; on=tk; install=true; };
+dependencies = { module=gdb; on=tix; install=true; };
+dependencies = { module=gdb; on=libgui; install=true; };
+dependencies = { module=gdb; on=sim; };
+dependencies = { module=gdb; on=libiberty; };
+dependencies = { module=gdb; on=opcodes; };
+dependencies = { module=gdb; on=bfd; };
+dependencies = { module=gdb; on=mmalloc; };
+dependencies = { module=gdb; on=readline; };
+dependencies = { module=gdb; on=bison; };
+dependencies = { module=gdb; on=byacc; };
+
+dependencies = { module=libgui; on=itcl; };
+dependencies = { module=libgui; on=tcl; };
+dependencies = { module=libgui; on=tk; };
+
+// Host modules specific to binutils.
+dependencies = { module=bfd; on=libiberty; };
+dependencies = { module=bfd; on=intl; };
+
+// We put install-opcodes before install-binutils because the installed
+// binutils might be on PATH, and they might need the shared opcodes
+// library.
+dependencies = { module=binutils; on=opcodes; kind=bootstrap; install=true; };
+dependencies = { module=binutils; on=libiberty; kind=bootstrap; };
+dependencies = { module=binutils; on=bfd; kind=bootstrap; };
+dependencies = { module=binutils; on=intl; kind=bootstrap; };
+dependencies = { module=binutils; on=flex; kind=prebootstrap; };
+dependencies = { module=binutils; on=bison; kind=prebootstrap; };
+dependencies = { module=binutils; on=byacc; kind=prebootstrap; };
+
+// libopcodes depends on libbfd
+dependencies = { module=opcodes; on=bfd; kind=bootstrap; install=true; };
+dependencies = { module=opcodes; on=libiberty; kind=bootstrap; install=true; };
+
+dependencies = { module=gas; on=libiberty; kind=bootstrap; };
+dependencies = { module=gas; on=opcodes; kind=bootstrap; };
+dependencies = { module=gas; on=bfd; kind=bootstrap; };
+dependencies = { module=gprof; on=libiberty; };
+dependencies = { module=gprof; on=opcodes; };
+dependencies = { module=gprof; on=bfd; };
+dependencies = { module=ld; on=libiberty; kind=bootstrap; };
+dependencies = { module=ld; on=opcodes; kind=bootstrap; };
+dependencies = { module=ld; on=bfd; kind=bootstrap; };
+dependencies = { module=ld; on=bison; kind=prebootstrap; };
+dependencies = { module=ld; on=byacc; kind=prebootstrap; };
+dependencies = { module=ld; on=flex; kind=prebootstrap; };
+dependencies = { module=ld; on=intl; kind=prebootstrap; };
+
+// Other host modules in the 'src' repository.
+dependencies = { module=dejagnu; on=expect; };
+dependencies = { module=dejagnu; on=tcl; };
+dependencies = { module=dejagnu; on=tk; };
+dependencies = { module=expect; on=tcl; };
+dependencies = { module=expect; on=tk; };
+
+// We put install-tcl before install-itcl because itcl wants to run a
+// program on installation which uses the Tcl libraries.
+dependencies = { module=itcl; on=tcl; install=true; };
+dependencies = { module=itcl; on=tk; };
+
+dependencies = { module=tk; on=tcl; };
+dependencies = { module=tix; on=tcl; };
+dependencies = { module=tix; on=tk; };
+
+dependencies = { module=sid; on=libiberty; };
+dependencies = { module=sid; on=tcl; install=true; };
+dependencies = { module=sid; on=tk; install=true; };
+dependencies = { module=sid; on=bfd; };
+dependencies = { module=sid; on=opcodes; };
+
+dependencies = { module=texinfo; on=libiberty; };
+
+// Other host modules.
+dependencies = { module=fastjar; on=zlib; };
+dependencies = { module=fastjar; on=texinfo; };
+
+// Warning, these are not well tested.
+dependencies = { module=autoconf; on=m4; };
+dependencies = { module=autoconf; on=texinfo; };
+dependencies = { module=automake; on=m4; };
+dependencies = { module=automake; on=texinfo; };
+dependencies = { module=automake; on=autoconf; };
+dependencies = { module=bison; on=intl; };
+dependencies = { module=bison; on=texinfo; };
+dependencies = { module=diff; on=intl; };
+dependencies = { module=diff; on=texinfo; };
+dependencies = { module=fileutils; on=intl; };
+dependencies = { module=fileutils; on=texinfo; };
+dependencies = { module=flex; on=bison; };
+dependencies = { module=flex; on=byacc; };
+dependencies = { module=flex; on=intl; };
+dependencies = { module=flex; on=m4; };
+dependencies = { module=flex; on=texinfo; };
+dependencies = { module=gzip; on=intl; };
+dependencies = { module=gzip; on=zlib; };
+dependencies = { module=gzip; on=texinfo; };
+dependencies = { module=hello; on=intl; };
+dependencies = { module=hello; on=texinfo; };
+dependencies = { module=m4; on=intl; };
+dependencies = { module=m4; on=texinfo; };
+dependencies = { module=make; on=intl; };
+dependencies = { module=make; on=texinfo; };
+dependencies = { module=patch; on=texinfo; };
+dependencies = { module=make; on=texinfo; };
+dependencies = { module=prms; on=libiberty; };
+dependencies = { module=recode; on=texinfo; };
+dependencies = { module=sed; on=texinfo; };
+dependencies = { module=send-pr; on=prms; };
+dependencies = { module=tar; on=texinfo; };
+dependencies = { module=uudecode; on=texinfo; };
+
+// Target modules.  These can also have dependencies on the language
+// environment (e.g. on libstdc++).
+lang_env_dependencies = { module=boehm-gc; };
+lang_env_dependencies = { module=libada; };
+lang_env_dependencies = { module=libgfortran; };
+lang_env_dependencies = { module=libffi; };
+lang_env_dependencies = { module=libjava; cxx=true; };
+lang_env_dependencies = { module=libobjc; };
+lang_env_dependencies = { module=libstdc++-v3; };
+lang_env_dependencies = { module=zlib; };
+
+dependencies = { module=boehm-gc; on=qthreads; kind=target; };
+dependencies = { module=fastjar; on=zlib; kind=target; };
+dependencies = { module=fastjar; on=libiberty; kind=target; };
+dependencies = { module=libjava; on=boehm-gc; kind=target; };
+dependencies = { module=libjava; on=qthreads; kind=target; };
+dependencies = { module=libjava; on=libffi; kind=target; };
+dependencies = { module=libjava; on=zlib; kind=target; };
+dependencies = { module=libobjc; on=libiberty; kind=target; };
+dependencies = { module=libstdc++-v3; on=libiberty; kind=target; };
+
+// Target modules in the 'src' repository.
+lang_env_dependencies = { module=examples; };
+lang_env_dependencies = { module=libgloss; };
+lang_env_dependencies = { module=libtermcap; };
+lang_env_dependencies = { module=newlib; };
+lang_env_dependencies = { module=rda; };
+lang_env_dependencies = { module=winsup; };
+lang_env_dependencies = { module=qthreads; };
+
+dependencies = { module=libgloss; on=newlib; target; };
+dependencies = { module=winsup; on=libiberty; target; };
+dependencies = { module=winsup; on=libtermcap; target; };
+
 // Toplevel bootstrap
 bootstrap_stage = {
 	id=1 ;
Index: Makefile.tpl
===================================================================
RCS file: /cvs/src/src/Makefile.tpl,v
retrieving revision 1.111
diff -u -r1.111 Makefile.tpl
--- Makefile.tpl	3 Aug 2004 09:36:03 -0000	1.111
+++ Makefile.tpl	3 Aug 2004 10:53:33 -0000
@@ -1024,7 +1024,7 @@
 	rm -f $(TARGET_SUBDIR)/[+module+]/Makefile || : ; \
 	cp multilib.out $(TARGET_SUBDIR)/[+module+]/multilib.out
 
-configure-target-[+module+]: $(TARGET_SUBDIR)/[+module+]/multilib.out
+configure-target-[+module+]: $(TARGET_SUBDIR)/[+module+]/multilib.out maybe-all-gcc
 	@test ! -f $(TARGET_SUBDIR)/[+module+]/Makefile || exit 0; \
 	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/[+module+] ; \
 	r=`${PWD_COMMAND}`; export r; \
@@ -1196,7 +1196,7 @@
 
 GCC_STRAP_TARGETS = bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap
 .PHONY: $(GCC_STRAP_TARGETS)
-$(GCC_STRAP_TARGETS): all-bootstrap configure-gcc
+$(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(SET_LIB_PATH) \
@@ -1229,7 +1229,7 @@
 	echo "Building runtime libraries"; \
 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
 
-profiledbootstrap: all-bootstrap configure-gcc
+profiledbootstrap: all-prebootstrap configure-gcc
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(SET_LIB_PATH) \
@@ -1363,7 +1363,7 @@
 # Real targets act phony if they depend on phony targets; this hack
 # prevents gratuitous rebuilding of stage 1.
 prebootstrap:
-	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-bootstrap
+	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all-prebootstrap
 	$(STAMP) prebootstrap
 
 # Flags to pass to stage2 and later makes.
@@ -1534,7 +1534,7 @@
 	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../gcc/&",' | $(SHELL); } && \
 	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../gcc/&",' | $(SHELL); }
 
-profiledbootstrap: all-bootstrap configure-gcc
+profiledbootstrap: prebootstrap
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(SET_LIB_PATH) \
@@ -1559,6 +1559,11 @@
 # Dependencies between different modules
 # --------------------------------------
 
+[+ FOR lang_env_dependencies +]
+configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss
+[+ IF cxx +]configure-target-[+module+]: maybe-all-target-libstdc++-v3
+[+ ENDIF cxx +][+ ENDFOR lang_env_dpendencies +]
+
 # There are two types of dependencies here: 'hard' dependencies, where one
 # module simply won't build without the other; and 'soft' dependencies, where
 # if the depended-on module is missing, the depending module will do without
@@ -1566,120 +1571,35 @@
 # are specified by depending on a 'maybe-' target.  If you're not sure,
 # it's safer to use a soft dependency.
 
-# Build modules
-all-build-bison: maybe-all-build-texinfo
-all-build-flex: maybe-all-build-texinfo
-all-build-libiberty: maybe-all-build-texinfo
-all-build-m4: maybe-all-build-libiberty maybe-all-build-texinfo
-
-# Host modules specific to gcc.
-# GCC needs to identify certain tools.
-# GCC also needs the information exported by the intl configure script.
-configure-gcc: maybe-configure-intl maybe-configure-binutils maybe-configure-gas maybe-configure-ld maybe-configure-bison maybe-configure-flex
-all-gcc: maybe-all-libiberty maybe-all-intl maybe-all-texinfo maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-binutils maybe-all-gas maybe-all-ld maybe-all-zlib maybe-all-libbanshee maybe-all-libcpp
-configure-libcpp: maybe-configure-libiberty maybe-configure-intl
-all-libcpp: maybe-all-libiberty maybe-all-intl
-# This is a slightly kludgy method of getting dependencies on 
-# all-build-libiberty correct; it would be better to build it every time.
-all-gcc: maybe-all-build-libiberty
-all-bootstrap: [+ FOR host_modules +][+ IF bootstrap +]maybe-all-[+module+] [+ ENDIF bootstrap +][+ ENDFOR host_modules +]
-
-# Host modules specific to gdb.
-# GDB needs to know that the simulator is being built.
-configure-gdb: maybe-configure-itcl maybe-configure-tcl maybe-configure-tk maybe-configure-sim
-GDB_TK = @GDB_TK@
-all-gdb: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-mmalloc maybe-all-readline maybe-all-bison maybe-all-byacc maybe-all-sim $(gdbnlmrequirements) $(GDB_TK)
-install-gdb: maybe-install-tcl maybe-install-tk maybe-install-itcl maybe-install-tix maybe-install-libgui
-configure-libgui: maybe-configure-tcl maybe-configure-tk
-all-libgui: maybe-all-tcl maybe-all-tk maybe-all-itcl
-
-# Host modules specific to binutils.
-configure-bfd: configure-libiberty
-all-bfd: maybe-all-libiberty maybe-all-intl
-all-binutils: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-flex maybe-all-bison maybe-all-byacc maybe-all-intl
-# We put install-opcodes before install-binutils because the installed
-# binutils might be on PATH, and they might need the shared opcodes
-# library.
-install-binutils: maybe-install-opcodes
-# libopcodes depends on libbfd
-install-opcodes: maybe-install-bfd
-all-gas: maybe-all-libiberty maybe-all-opcodes maybe-all-bfd maybe-all-intl
-all-gprof: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-intl
-all-ld: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-bison maybe-all-byacc maybe-all-flex maybe-all-intl
-all-opcodes: maybe-all-bfd maybe-all-libiberty
-
-# Other host modules in the 'src' repository.
-all-dejagnu: maybe-all-tcl maybe-all-expect maybe-all-tk
-configure-expect: maybe-configure-tcl maybe-configure-tk
-all-expect: maybe-all-tcl maybe-all-tk
-configure-itcl: maybe-configure-tcl maybe-configure-tk
-all-itcl: maybe-all-tcl maybe-all-tk
-# We put install-tcl before install-itcl because itcl wants to run a
-# program on installation which uses the Tcl libraries.
-install-itcl: maybe-install-tcl
-all-sid: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-tcl maybe-all-tk
-install-sid: maybe-install-tcl maybe-install-tk
-all-sim: maybe-all-libiberty maybe-all-bfd maybe-all-opcodes maybe-all-readline maybe-configure-gdb
-configure-tk: maybe-configure-tcl
-all-tk: maybe-all-tcl
-configure-tix: maybe-configure-tcl maybe-configure-tk
-all-tix: maybe-all-tcl maybe-all-tk
-all-texinfo: maybe-all-libiberty
-
-# Other host modules.  Warning, these are not well tested.
-all-autoconf: maybe-all-m4 maybe-all-texinfo
-all-automake: maybe-all-m4 maybe-all-texinfo
-all-bison: maybe-all-texinfo
-all-diff: maybe-all-libiberty
-all-fastjar: maybe-all-zlib maybe-all-libiberty
-all-fileutils: maybe-all-libiberty
-all-flex: maybe-all-libiberty maybe-all-bison maybe-all-byacc
-all-gzip: maybe-all-libiberty
-all-hello: maybe-all-libiberty
-all-m4: maybe-all-libiberty maybe-all-texinfo
-all-make: maybe-all-libiberty maybe-all-intl
-all-patch: maybe-all-libiberty
-all-prms: maybe-all-libiberty
-all-recode: maybe-all-libiberty
-all-sed: maybe-all-libiberty
-all-send-pr: maybe-all-prms
-all-tar: maybe-all-libiberty
-all-uudecode: maybe-all-libiberty
-
-ALL_GCC = maybe-all-gcc
-ALL_GCC_C = $(ALL_GCC) maybe-all-target-newlib maybe-all-target-libgloss
-ALL_GCC_CXX = $(ALL_GCC_C) maybe-all-target-libstdc++-v3
-
-# Target modules specific to gcc.
-configure-target-boehm-gc: $(ALL_GCC_C) maybe-configure-target-qthreads
-configure-target-fastjar: maybe-configure-target-zlib
-all-target-fastjar: maybe-all-target-zlib maybe-all-target-libiberty
-configure-target-libada: $(ALL_GCC_C)
-configure-target-libgfortran: $(ALL_GCC_C)
-configure-target-libffi: $(ALL_GCC_C) 
-configure-target-libjava: $(ALL_GCC_C) maybe-configure-target-zlib maybe-configure-target-boehm-gc maybe-configure-target-qthreads maybe-configure-target-libffi
-all-target-libjava: maybe-all-fastjar maybe-all-target-zlib maybe-all-target-boehm-gc maybe-all-target-qthreads maybe-all-target-libffi
-configure-target-libobjc: $(ALL_GCC_C)
-all-target-libobjc: maybe-all-target-libiberty
-configure-target-libstdc++-v3: $(ALL_GCC_C)
-all-target-libstdc++-v3: maybe-all-target-libiberty
-configure-target-zlib: $(ALL_GCC_C)
-
-# Target modules in the 'src' repository.
-configure-target-examples: $(ALL_GCC_C)
-configure-target-libgloss: $(ALL_GCC)
-all-target-libgloss: maybe-configure-target-newlib
-configure-target-libiberty: $(ALL_GCC)
-configure-target-libtermcap: $(ALL_GCC_C)
-configure-target-newlib: $(ALL_GCC)
-configure-target-rda: $(ALL_GCC_C)
-configure-target-winsup: $(ALL_GCC_C)
-all-target-winsup: maybe-all-target-libiberty maybe-all-target-libtermcap
-
-# Other target modules.  Warning, these are not well tested.
-configure-target-gperf: $(ALL_GCC_CXX)
-all-target-gperf: maybe-all-target-libiberty maybe-all-target-libstdc++-v3
-configure-target-qthreads: $(ALL_GCC_C)
+[+ FOR dependencies +][+ IF (== (get "kind") "build") +]
+configure-build-[+module+] all-build-[+module+]: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]all-build-[+on+][+
+
+ELIF (== (get "kind") "target") +]
+configure-target-[+module+] all-build-[+module+]: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]all-target-[+on+][+
+
+ELIF (== (get "kind") "prebootstrap") +]
+all-prebootstrap: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]all-[+on+][+
+
+ELIF (== (get "kind") "bootstrap") +]
+all-prebootstrap: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]all-[+on+][+ FOR bootstrap_stage +]
+configure-stage[+id+]-[+module+] all-stage[+id+]-[+module+]: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]all-stage[+id+]-[+on+][+
+ENDFOR bootstrap_stage +][+
+
+ELSE +]
+configure-[+module+] all-[+module+]: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]all-[+on+][+
+ENDIF +][+
+
+IF install +]
+install-[+module+]: [+
+  IF hard +][+ ELSE +]maybe-[+ ENDIF hard +]install-[+on+][+
+ENDIF install +][+
+ENDFOR dependencies +]
 
 # Serialization dependencies.  Host configures don't work well in parallel to
 # each other, due to contention over config.cache.  Target configures and 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]