public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: toplevel patch: Let configure decide which targets to hit (1)
@ 2002-11-14 13:38 Nathanael Nerode
  0 siblings, 0 replies; 4+ messages in thread
From: Nathanael Nerode @ 2002-11-14 13:38 UTC (permalink / raw)
  To: dj; +Cc: gcc-patches

>> + s%@all_host_modules@%${all_host_modules}%
>> + s%@check_host_modules@%${check_host_modules}%
>> + s%@all_target_modules@%${all_target_modules}%
>> + s%@check_target_modules@%${check_target_modules}%
>
>What about build_modules?

Bizarrely, all_build_modules is already substituted by 'configure'.
check_build_modules would be substituted, but currently the check target
doesn't check build modules, so I didn't want to make that addition 
right now.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: toplevel patch: Let configure decide which targets to hit (1)
  2002-11-14 10:34 Nathanael Nerode
  2002-11-14 11:25 ` DJ Delorie
@ 2002-11-18 12:49 ` DJ Delorie
  1 sibling, 0 replies; 4+ messages in thread
From: DJ Delorie @ 2002-11-18 12:49 UTC (permalink / raw)
  To: neroden; +Cc: gcc-patches, binutils, gdb-patches


> This is for 3.4bib, blah, blah, blah.
> 
> 	* configure.in: Produce lists of subdir targets we're actually 
> 	configuring.
> 	* Makefile.tpl: Let configure set which subdir targets are hit.
> 	* Makefile.in: Regenerate.

Ok.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: toplevel patch: Let configure decide which targets to hit (1)
  2002-11-14 10:34 Nathanael Nerode
@ 2002-11-14 11:25 ` DJ Delorie
  2002-11-18 12:49 ` DJ Delorie
  1 sibling, 0 replies; 4+ messages in thread
From: DJ Delorie @ 2002-11-14 11:25 UTC (permalink / raw)
  To: neroden; +Cc: gcc-patches, binutils, gdb-patches


> + s%@all_host_modules@%${all_host_modules}%
> + s%@check_host_modules@%${check_host_modules}%
> + s%@all_target_modules@%${all_target_modules}%
> + s%@check_target_modules@%${check_target_modules}%

What about build_modules?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* toplevel patch: Let configure decide which targets to hit (1)
@ 2002-11-14 10:34 Nathanael Nerode
  2002-11-14 11:25 ` DJ Delorie
  2002-11-18 12:49 ` DJ Delorie
  0 siblings, 2 replies; 4+ messages in thread
From: Nathanael Nerode @ 2002-11-14 10:34 UTC (permalink / raw)
  To: gcc-patches; +Cc: dj, binutils, gdb-patches

This starts to shift the top level Makefile towards containing actual
dependencies, a really key step in simplification.  After this change,
'all' depends on 'all-x' only for those 'x' actually being configured.
Similarly for 'check'.  Other targets will follow.  Woo-hoo!

Previously the 'all-x' for unconfigured targets were exercised and ran
through little shell scripts solely to decide to do nothing.  This should
speed up 'make' though I haven't timed it.

Tested with full bootstrap on i686-pc-linux-gnu.  No unexpectedly unconfigured
directories (or indeed any significant changes).

This is for 3.4bib, blah, blah, blah.

	* configure.in: Produce lists of subdir targets we're actually 
	configuring.
	* Makefile.tpl: Let configure set which subdir targets are hit.
	* Makefile.in: Regenerate.

Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.in,v
retrieving revision 1.111.4.9
diff -c -3 -r1.111.4.9 Makefile.in
*** Makefile.in	14 Nov 2002 05:49:29 -0000	1.111.4.9
--- Makefile.in	14 Nov 2002 18:07:21 -0000
***************
*** 947,959 ****
  	clean-tix 
  
  # The target built for a native build.
  .PHONY: all.normal
! all.normal: \
! 	$(ALL_BUILD_MODULES) \
! 	$(ALL_MODULES) \
! 	$(ALL_X11_MODULES) \
! 	$(ALL_TARGET_MODULES) \
! 	all-gcc
  
  # Do a target for all the subdirectories.  A ``make do-X'' will do a
  # ``make X'' in all subdirectories (because, in general, there is a
--- 947,957 ----
  	clean-tix 
  
  # The target built for a native build.
+ # This list only includes modules actually being configured and built.
  .PHONY: all.normal
! all.normal: @all_build_modules@ \
! 	@all_host_modules@ \
! 	@all_target_modules@
  
  # Do a target for all the subdirectories.  A ``make do-X'' will do a
  # ``make X'' in all subdirectories (because, in general, there is a
***************
*** 1470,1479 ****
  check:
  	$(MAKE) do-check NOTPARALLEL=parallel-ok
  
! do-check: $(CHECK_MODULES) \
! 	$(CHECK_TARGET_MODULES) \
! 	$(CHECK_X11_MODULES) \
! 	check-gcc
  
  # Automated reporting of test results.
  
--- 1468,1476 ----
  check:
  	$(MAKE) do-check NOTPARALLEL=parallel-ok
  
! # Only include modules actually being configured and built.
! do-check: @check_host_modules@ \
! 	@check_target_modules@
  
  # Automated reporting of test results.
  
***************
*** 2412,2417 ****
--- 2409,2418 ----
  	  true; \
  	fi
  
+ # Dummy target for uncheckable module.
+ .PHONY: check-target-libtermcap
+ check-target-libtermcap:
+ 
  \
  .PHONY: install-target-libtermcap
  install-target-libtermcap: installdirs
***************
*** 2687,2692 ****
--- 2688,2697 ----
  	  true; \
  	fi
  
+ # Dummy target for uncheckable module.
+ .PHONY: check-target-libgloss
+ check-target-libgloss:
+ 
  \
  .PHONY: install-target-libgloss
  install-target-libgloss: installdirs
***************
*** 3105,3110 ****
--- 3110,3119 ----
  	else \
  	  true; \
  	fi
+ 
+ # Dummy target for uncheckable module.
+ .PHONY: check-target-examples
+ check-target-examples:
  
  
  
Index: Makefile.tpl
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.tpl,v
retrieving revision 1.5.2.7
diff -c -3 -r1.5.2.7 Makefile.tpl
*** Makefile.tpl	14 Nov 2002 05:49:29 -0000	1.5.2.7
--- Makefile.tpl	14 Nov 2002 18:07:23 -0000
***************
*** 637,649 ****
  	clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +]
  
  # The target built for a native build.
  .PHONY: all.normal
! all.normal: \
! 	$(ALL_BUILD_MODULES) \
! 	$(ALL_MODULES) \
! 	$(ALL_X11_MODULES) \
! 	$(ALL_TARGET_MODULES) \
! 	all-gcc
  
  # Do a target for all the subdirectories.  A ``make do-X'' will do a
  # ``make X'' in all subdirectories (because, in general, there is a
--- 637,647 ----
  	clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +]
  
  # The target built for a native build.
+ # This list only includes modules actually being configured and built.
  .PHONY: all.normal
! all.normal: @all_build_modules@ \
! 	@all_host_modules@ \
! 	@all_target_modules@
  
  # Do a target for all the subdirectories.  A ``make do-X'' will do a
  # ``make X'' in all subdirectories (because, in general, there is a
***************
*** 784,793 ****
  check:
  	$(MAKE) do-check NOTPARALLEL=parallel-ok
  
! do-check: $(CHECK_MODULES) \
! 	$(CHECK_TARGET_MODULES) \
! 	$(CHECK_X11_MODULES) \
! 	check-gcc
  
  # Automated reporting of test results.
  
--- 782,790 ----
  check:
  	$(MAKE) do-check NOTPARALLEL=parallel-ok
  
! # Only include modules actually being configured and built.
! do-check: @check_host_modules@ \
! 	@check_target_modules@
  
  # Automated reporting of test results.
  
***************
*** 1149,1155 ****
  	else \
  	  true; \
  	fi
! [+ IF no_check +][+ ELSE check +]
  .PHONY: check-target-[+module+]
  check-target-[+module+]:
  	@dir=[+module+] ; \
--- 1146,1156 ----
  	else \
  	  true; \
  	fi
! [+ IF no_check +]
! # Dummy target for uncheckable module.
! .PHONY: check-target-[+module+]
! check-target-[+module+]:
! [+ ELSE check +]
  .PHONY: check-target-[+module+]
  check-target-[+module+]:
  	@dir=[+module+] ; \
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/configure.in,v
retrieving revision 1.177.4.6
diff -c -3 -r1.177.4.6 configure.in
*** configure.in	12 Nov 2002 03:27:41 -0000	1.177.4.6
--- configure.in	14 Nov 2002 18:07:24 -0000
***************
*** 1348,1353 ****
--- 1348,1376 ----
  rm -f Makefile
  mv -f Makefile.tem Makefile
  
+ # Record target_configdirs and the configure arguments for target and
+ # build configuration in Makefile.
+ target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
+ 
+ # This is the final value for target_configdirs.  configdirs already
+ # has its final value.  It's time to create some lists of valid targets.
+ all_host_modules=""
+ check_host_modules=""
+ for module in ${configdirs} ; do
+   all_host_modules="${all_host_modules} all-${module}"
+   check_host_modules="${check_host_modules} check-${module}"
+ done
+ export all_host_modules
+ export check_host_modules
+ 
+ all_target_modules=
+ check_target_modules=
+ for module in ${target_configdirs} ; do
+   all_target_modules="${all_target_modules} all-target-${module}"
+   check_target_modules="${check_target_modules} check-target-${module}"
+ done
+ export all_target_modules
+ export check_target_modules
  
  # Base args.  Strip norecursion, cache-file, srcdir, host, build, target.
  # These are the ones we might not want to pass down to subconfigures.
***************
*** 1364,1372 ****
  # desired.
  buildargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
  
- # Record target_configdirs and the configure arguments for target and
- # build configuration in Makefile.
- target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
  targargs=${baseargs}
  
  # Passing a --with-cross-host argument lets the target libraries know
--- 1387,1392 ----
***************
*** 1548,1553 ****
--- 1568,1577 ----
  
  sedtemp=sed.$$
  cat >$sedtemp <<EOF
+ s%@all_host_modules@%${all_host_modules}%
+ s%@check_host_modules@%${check_host_modules}%
+ s%@all_target_modules@%${all_target_modules}%
+ s%@check_target_modules@%${check_target_modules}%
  s:@target_configdirs@:${target_configdirs}:
  s%@target_configargs@%${targargs}%
  s%@FLAGS_FOR_TARGET@%${FLAGS_FOR_TARGET}%

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-11-18 20:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-14 13:38 toplevel patch: Let configure decide which targets to hit (1) Nathanael Nerode
  -- strict thread matches above, loose matches on Subject: below --
2002-11-14 10:34 Nathanael Nerode
2002-11-14 11:25 ` DJ Delorie
2002-11-18 12:49 ` DJ Delorie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).