From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31728 invoked by alias); 13 May 2003 19:39:00 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 31543 invoked from network); 13 May 2003 19:38:58 -0000 Received: from unknown (HELO ms-smtp-01.nyroc.rr.com) (24.92.226.148) by sources.redhat.com with SMTP; 13 May 2003 19:38:58 -0000 Received: from doctormoo (syr-24-24-17-21.twcny.rr.com [24.24.17.21]) by ms-smtp-01.nyroc.rr.com (8.12.5/8.12.2) with ESMTP id h4DJcqGm027045; Tue, 13 May 2003 15:38:57 -0400 (EDT) Received: from neroden by doctormoo with local (Exim 3.36 #1 (Debian)) id 19Ffbt-0004mr-00; Tue, 13 May 2003 15:38:49 -0400 Date: Tue, 13 May 2003 19:39:00 -0000 To: gcc-patches@gcc.gnu.org, binutils@sources.redhat.com, gdb-patches@sources.redhat.com, dj@redhat.com Subject: Toplevel configury patch 1/n (general cleanup/rearrangement) Message-ID: <20030513193849.GA18281@doctormoo> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.4i From: Nathanael Nerode X-SW-Source: 2003-05/txt/msg00202.txt.bz2 This is in preparation for cleaning up the 'do-*' target in Makefile.tpl, and various other cleanups. The 'maybe dependencies' are easier to maintain and more robust than the target lists, so I made their code independent of the target list generation, and I intend to remove most or all of the target list generation in a subsequent patch. This also pulls out the list of build modules into a parallel location to the other lists. Tested on i686-pc-linux-gnu via ../gcc/configure make configure-host make all-host make configure-target make all-target (which exercises the changed portions). * configure.in: Switch more things to use maybe dependencies. Rearrange a little. * configure: Regenerate. * Makefile.tpl: Switch more things to use maybe dependencies. * Makefile.in: Regenerate. Index: Makefile.tpl =================================================================== RCS file: /cvs/gcc/gcc/Makefile.tpl,v retrieving revision 1.45 diff -u -r1.45 Makefile.tpl --- Makefile.tpl 3 May 2003 01:29:02 -0000 1.45 +++ Makefile.tpl 13 May 2003 19:13:38 -0000 @@ -554,8 +554,16 @@ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) -configure-host: @configure_host_modules@ -configure-target: @configure_target_modules@ +.PHONY: configure-host +configure-host: maybe-configure-gcc [+ + FOR host_modules +] \ + maybe-configure-[+module+][+ + ENDFOR host_modules +] +.PHONY: configure-target +configure-target: [+ + FOR target_modules +] \ + maybe-configure-target-[+module+][+ + ENDFOR target_modules +] # This is a list of the targets for which we can do a clean-{target}. CLEAN_MODULES =[+ @@ -578,14 +586,19 @@ 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@ +all.normal: @all_build_modules@ all-host all-target -all-host: @all_host_modules@ -all-target: @all_target_modules@ +.PHONY: all-host +all-host: maybe-all-gcc [+ + FOR host_modules +] \ + maybe-all-[+module+][+ + ENDFOR host_modules +] +.PHONY: all-target +all-target: [+ + FOR target_modules +] \ + maybe-all-target-[+module+][+ + ENDFOR 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 @@ -757,9 +770,18 @@ # Installation targets. .PHONY: install uninstall -install: installdirs @install_host_modules@ @install_target_modules@ +install: installdirs install-host install-target -install-target: @install_target_modules@ +.PHONY: install-host +install-host: maybe-install-gcc [+ + FOR host_modules +] \ + maybe-install-[+module+][+ + ENDFOR host_modules +] +.PHONY: install-target +install-target: [+ + FOR target_modules +] \ + maybe-install-target-[+module+][+ + ENDFOR target_modules +] uninstall: @echo "the uninstall target is not supported in this tree" @@ -779,7 +801,7 @@ # the fixed header files. .PHONY: install-no-fixedincludes install-no-fixedincludes: installdirs @install_host_modules_nogcc@ \ - @install_target_modules@ gcc-no-fixedincludes + install-target gcc-no-fixedincludes ### other supporting targets Index: configure.in =================================================================== RCS file: /cvs/gcc/gcc/configure.in,v retrieving revision 1.232 diff -u -r1.232 configure.in --- configure.in 13 May 2003 08:58:24 -0000 1.232 +++ configure.in 13 May 2003 19:13:40 -0000 @@ -164,6 +164,16 @@ configdirs=`echo ${host_libs} ${host_tools}` target_configdirs=`echo ${target_libs} ${target_tools}` +# Only make build modules if build != host. +# This should be done more generally, but at the moment it doesn't matter. +if test ${host_alias} != ${build_alias} ; then + # This is the only build module. + build_modules=libiberty +else + build_modules= +fi + + ################################################################################ srcname="gnu development package" @@ -1604,59 +1614,27 @@ 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. - -# While at that, we remove Makefiles if we were started for recursive -# configuration, such that the top-level Makefile reconfigures them, -# like we used to do when configure itself was recursive. +# has its final value, as does build_modules. It's time to create some +# lists of valid targets. all_build_modules= configure_build_modules= -# Only make build modules if build != host. -# This should be done more generally, but at the moment it doesn't matter. -if test ${host_alias} != ${build_alias} ; then - for module in libiberty ; do - all_build_modules=all-build-${module} - configure_build_modules=configure-build-${module} - if test -z "${no_recursion}" \ - && test -f ${build_subdir}/${module}/Makefile; then - echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure" - rm -f ${build_subdir}/${module}/Makefile - fi - done -fi +for module in ${build_modules} ; do + all_build_modules=all-build-${module} + configure_build_modules=configure-build-${module} +done -all_host_modules= check_host_modules= install_host_modules= -configure_host_modules= for module in ${configdirs} ; do - all_host_modules="${all_host_modules} all-${module}" check_host_modules="${check_host_modules} check-${module}" install_host_modules="${install_host_modules} install-${module}" - configure_host_modules="${configure_host_modules} configure-${module}" - if test -z "${no_recursion}" \ - && test -f ${module}/Makefile; then - echo 1>&2 "*** removing ${module}/Makefile to force reconfigure" - rm -f ${module}/Makefile - fi done install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'` -all_target_modules= check_target_modules= -install_target_modules= -configure_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}" - install_target_modules="${install_target_modules} install-target-${module}" - configure_target_modules="${configure_target_modules} configure-target-${module}" - if test -z "${no_recursion}" \ - && test -f ${target_subdir}/${module}/Makefile; then - echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure" - rm -f ${target_subdir}/${module}/Makefile - fi done # Determine whether gdb needs tk/tcl or not. @@ -1686,13 +1664,49 @@ esac # Create the 'maybe dependencies'. This uses a temporary file. + +# While at that, we remove Makefiles if we were started for recursive +# configuration, so that the top-level Makefile reconfigures them, +# like we used to do when configure itself was recursive. rm -f maybedep.tmp echo '# maybedep.tmp' > maybedep.tmp -for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \ - ${install_host_modules} ${install_target_modules} \ - ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \ - ; do - echo "maybe-${item}: ${item}" >> maybedep.tmp + +# Make-targets which may need maybe dependencies. +mts="configure all install" + +# Loop over modules and make-targets. +for module in ${build_modules} ; do + if test -z "${no_recursion}" \ + && test -f ${build_subdir}/${module}/Makefile; then + echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure" + rm -f ${build_subdir}/${module}/Makefile + fi + for mt in ${mts} ; do + case ${mt} in + install) ;; # No installing build modules. + *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;; + esac + done +done +for module in ${configdirs} ; do + if test -z "${no_recursion}" \ + && test -f ${module}/Makefile; then + echo 1>&2 "*** removing ${module}/Makefile to force reconfigure" + rm -f ${module}/Makefile + fi + for mt in ${mts} ; do + echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp + done +done +for module in ${target_configdirs} ; do + if test -z "${no_recursion}" \ + && test -f ${target_subdir}/${module}/Makefile; then + echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure" + rm -f ${target_subdir}/${module}/Makefile + fi + for mt in ${mts} ; do + echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp + done done maybe_dependencies=maybedep.tmp AC_SUBST_FILE(maybe_dependencies) @@ -1985,20 +1999,14 @@ # Host module lists & subconfigure args. AC_SUBST(host_configargs) AC_SUBST(configdirs) -AC_SUBST(configure_host_modules) -AC_SUBST(all_host_modules) AC_SUBST(check_host_modules) -AC_SUBST(install_host_modules) AC_SUBST(install_host_modules_nogcc) # Target module lists & subconfigure args. AC_SUBST(target_subdir) AC_SUBST(target_configargs) AC_SUBST(target_configdirs) -AC_SUBST(configure_target_modules) -AC_SUBST(all_target_modules) AC_SUBST(check_target_modules) -AC_SUBST(install_target_modules) # Build tools. AC_SUBST(BISON)