From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20540 invoked by alias); 5 Dec 2002 00:24:10 -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 20518 invoked from network); 5 Dec 2002 00:24:08 -0000 Received: from unknown (HELO mailout6-0.nyroc.rr.com) (24.92.226.177) by sources.redhat.com with SMTP; 5 Dec 2002 00:24:08 -0000 Received: from doctormoo (syr-24-24-16-193.twcny.rr.com [24.24.16.193]) by mailout6-0.nyroc.rr.com (8.11.6/RoadRunner 1.20) with ESMTP id gB50O2k18517; Wed, 4 Dec 2002 19:24:02 -0500 (EST) Received: from neroden by doctormoo with local (Exim 3.36 #1 (Debian)) id 18JjnG-0003v5-00; Wed, 04 Dec 2002 19:23:06 -0500 Date: Wed, 04 Dec 2002 16:24:00 -0000 To: dj@redhat.com, gcc-patches@gcc.gnu.org, gdb-patches@sources.redhat.com, binutils@sources.redhat.com Subject: (toplevel patch) Run host subconfigures from the Makefile. Message-ID: <20021205002305.GA15014@doctormoo> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i From: Nathanael Nerode X-SW-Source: 2002-12/txt/msg00127.txt.bz2 This causes all subdirectories to be configured in the Makefile, always. It makes me happy. Bootstrap in progress; if it's successful, is this OK for b-i-b and src? * configure.in: Substitute more. * configure: Run subconfigures from the Makefile. * Makefile.tpl: Run subconfigures from the Makefile; add a few convenience targets. * Makefile.in: Regenerate. Index: Makefile.tpl =================================================================== RCS file: /cvs/gcc/gcc/Makefile.tpl,v retrieving revision 1.5.2.21 diff -u -r1.5.2.21 Makefile.tpl --- Makefile.tpl 4 Dec 2002 01:41:48 -0000 1.5.2.21 +++ Makefile.tpl 5 Dec 2002 00:12:43 -0000 @@ -530,14 +530,8 @@ GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) -# This is a list of the configure targets for all of the modules which -# are compiled using the target tools. -CONFIGURE_TARGET_MODULES =[+ - FOR target_modules +] \ - configure-target-[+module+][+ - ENDFOR target_modules +] - -configure-target: $(CONFIGURE_TARGET_MODULES) +configure-host: @configure_host_modules@ +configure-target: @configure_target_modules@ # This is a list of the targets for which we can do a clean-{target}. CLEAN_MODULES =[+ @@ -566,6 +560,7 @@ @all_host_modules@ \ @all_target_modules@ +all-host: @all_host_modules@ all-target: @all_target_modules@ # Do a target for all the subdirectories. A ``make do-X'' will do a @@ -910,7 +905,7 @@ .PHONY: all-[+module+] maybe-all-[+module+] maybe-all-[+module+]: -all-[+module+]: +all-[+module+]: configure-[+module+] @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ $(SET_LIB_PATH) \ @@ -1141,15 +1136,11 @@ .PHONY: all-gcc maybe-all-gcc maybe-all-gcc: -all-gcc: - @if [ -f ./gcc/Makefile ] ; then \ - r=`${PWD}`; export r; \ +all-gcc: configure-gcc + @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ $(SET_LIB_PATH) \ (cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) all); \ - else \ - true; \ - fi # Building GCC uses some tools for rebuilding "source" files # like texinfo, bison/byacc, etc. So we must depend on those. @@ -1162,7 +1153,7 @@ # in parallel. # .PHONY: bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap -bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap: all-bootstrap +bootstrap bootstrap-lean bootstrap2 bootstrap2-lean bootstrap3 bootstrap3-lean bootstrap4 bootstrap4-lean bubblestrap quickstrap cleanstrap restrap: all-bootstrap configure-gcc @r=`${PWD}`; export r; \ s=`cd $(srcdir); ${PWD}`; export s; \ $(SET_LIB_PATH) \ Index: configure =================================================================== RCS file: /cvs/gcc/gcc/configure,v retrieving revision 1.46.6.8 diff -u -r1.46.6.8 configure --- configure 3 Dec 2002 03:42:19 -0000 1.46.6.8 +++ configure 5 Dec 2002 00:12:45 -0000 @@ -1396,98 +1396,6 @@ fi ${config_shell} ${moveifchange} ./config.new ./config.status -# If there are subdirectories, then recur. -if [ -z "${norecursion}" ] && [ -n "${configdirs}" ] ; then - for configdir in ${configdirs} ${extraconfigdirs} ; do - - # If configdir contains ',' it is - # srcdir,builddir,target_alias - # These come from extraconfigdirs. - case ${configdir} in - *,*) - eval `echo ${configdir} | sed -e 's/\([^,]*\),\([^,]*\),\(.*\)/cfg_dir=\1 bld_dir=\2 tgt_alias=\3/'` - ;; - *) - cfg_dir=${configdir} - bld_dir=${configdir} - tgt_alias=${target_alias} - ;; - esac - - if [ -d ${srcdir}/${cfg_dir} ] ; then - eval echo Configuring ${configdir}... ${redirect} - case "${srcdir}" in - ".") ;; - *) - if [ ! -d ./${bld_dir} ] ; then - if mkdir ./${bld_dir} ; then - true - else - echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${bld_dir}" 1>&2 - exit 1 - fi - fi - ;; - esac - - POPDIR=${PWD=`${PWDCMD-pwd}`} - cd ${bld_dir} - -### figure out what to do with srcdir - case "${srcdir}" in - ".") newsrcdir=${srcdir} ;; # no -srcdir option. We're building in place. - /* | [A-Za-z]:[\\/]* ) # absolute path - newsrcdir=${srcdir}/${cfg_dir} - srcdiroption="--srcdir=${newsrcdir}" - ;; - *) # otherwise relative - newsrcdir=../${srcdir}/${cfg_dir} - srcdiroption="--srcdir=${newsrcdir}" - ;; - esac - - # Handle --cache-file=../XXX - case "${cache_file}" in - "") # empty - ;; - /* | [A-Za-z]:[\\/]* ) # absolute path - cache_file_option="--cache-file=${cache_file}" - ;; - *) # relative path - cache_file_option="--cache-file=../${cache_file}" - ;; - esac - -### check for guested configure, otherwise fix possibly relative progname - if [ -f ${newsrcdir}/configure ] ; then - recprog=${newsrcdir}/configure - elif [ -f ${newsrcdir}/configure.in ] ; then - case "${progname}" in - /* | [A-Za-z]:[\\/]* ) recprog=${progname} ;; - *) recprog=../${progname} ;; - esac - else - eval echo No configuration information in ${cfg_dir} ${redirect} - recprog= - fi - -### The recursion line is here. - if [ ! -z "${recprog}" ] ; then - if eval ${config_shell} ${recprog} ${verbose} ${buildopt} --host=${host_alias} --target=${tgt_alias} \ - ${prefixoption} ${tmpdiroption} ${exec_prefixoption} \ - ${srcdiroption} ${diroptions} ${program_prefixoption} ${program_suffixoption} ${program_transform_nameoption} ${site_option} ${withoptions} ${withoutoptions} ${enableoptions} ${disableoptions} ${floating_pointoption} ${cache_file_option} ${other_options} ${redirect} ; then - true - else - echo Configure in `${PWDCMD-pwd}` failed, exiting. 1>&2 - exit 1 - fi - fi - - cd ${POPDIR} - fi - done -fi - # Perform the same cleanup as the trap handler, minus the "exit 1" of course, # and reset the trap handler. rm -rf ${tmpdir} Index: configure.in =================================================================== RCS file: /cvs/gcc/gcc/configure.in,v retrieving revision 1.177.4.16 diff -u -r1.177.4.16 configure.in --- configure.in 3 Dec 2002 23:34:52 -0000 1.177.4.16 +++ configure.in 5 Dec 2002 00:12:47 -0000 @@ -1706,12 +1706,14 @@ sedtemp=sed.$$ cat >$sedtemp <