From 712e2a328db1158e12c38270b864f7d1574ce5ab Mon Sep 17 00:00:00 2001 From: Nathanael Nerode Date: Fri, 29 Nov 2002 21:33:11 +0000 Subject: [PATCH] 2002-11-29 Nathanael Nerode (Starting slow-motion replay merge from gcc 3.4 b-i-b branch) * configure: Remove 'removing', which doesn't work. Replace $subdir with . everywhere. Replace $subdirs with ''. Replace $makesrcdir with $srcdir. Reformat indentation. Substitute some variables formerly hard-coded in the Makefile for build=host. * Makefile.tpl: Autogenerate more; make more autoconf-friendly. * Makefile.def: Autogenerate more. * Makefile.in: Regenerate. --- ChangeLog | 11 + Makefile.def | 7 + Makefile.in | 66 +++-- Makefile.tpl | 159 +++++------- configure | 713 +++++++++++++++++++++++++-------------------------- 5 files changed, 464 insertions(+), 492 deletions(-) diff --git a/ChangeLog b/ChangeLog index f36c879ea..0e472767c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2002-11-29 Nathanael Nerode + + (Starting slow-motion replay merge from gcc 3.4 b-i-b branch) + * configure: Remove 'removing', which doesn't work. Replace $subdir + with . everywhere. Replace $subdirs with ''. Replace $makesrcdir + with $srcdir. Reformat indentation. Substitute some variables + formerly hard-coded in the Makefile for build=host. + * Makefile.tpl: Autogenerate more; make more autoconf-friendly. + * Makefile.def: Autogenerate more. + * Makefile.in: Regenerate. + 2002-11-13 Bruce Korb * Makefile.tpl: syntactic cleanup diff --git a/Makefile.def b/Makefile.def index ae4b2e6fa..91a78067c 100644 --- a/Makefile.def +++ b/Makefile.def @@ -61,6 +61,13 @@ host_modules= { module= uudecode; }; host_modules= { module= wdiff; }; host_modules= { module= zip; no_check_cross=true; }; host_modules= { module= zlib; no_install=true; no_check=true; }; +host_modules= { module= gdb; with_x=true; }; +host_modules= { module= expect; with_x=true; }; +host_modules= { module= guile; with_x=true; }; +host_modules= { module= tclX; with_x=true; }; +host_modules= { module= tk; with_x=true; }; +host_modules= { module= tix; with_x=true; }; + target_modules = { module= libstdc++-v3; }; target_modules = { module= newlib; }; diff --git a/Makefile.in b/Makefile.in index 6f7689785..795512bed 100644 --- a/Makefile.in +++ b/Makefile.in @@ -82,16 +82,16 @@ INSTALL_DATA = $(INSTALL) -m 644 INSTALL_DOSREL = install-dosrel-fake -AS = as -AR = ar +AS = @AS@ +AR = @AR@ AR_FLAGS = rc CC = cc # Special variables passed down in EXTRA_GCC_FLAGS. They are defined # here so that they can be overridden by Makefile fragments. HOST_CC = $(CC_FOR_BUILD) -BUILD_PREFIX = -BUILD_PREFIX_1 = loser- +BUILD_PREFIX = @BUILD_PREFIX@ +BUILD_PREFIX_1 = @BUILD_PREFIX_1@ # These flag values are normally overridden by the configure script. CFLAGS = -g @@ -117,25 +117,27 @@ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates CXXFLAGS_FOR_TARGET = $(CXXFLAGS) LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates -DLLTOOL = dlltool -WINDRES = windres +DLLTOOL = @DLLTOOL@ +WINDRES = @WINDRES@ -NM = nm +NM = @NM@ -LD = ld +LD = @LD@ # These values are substituted by configure. DEFAULT_YACC = @DEFAULT_YACC@ DEFAULT_LEX = @DEFAULT_LEX@ DEFAULT_M4 = @DEFAULT_M4@ -BISON = `if [ -f $$r/bison/bison ] ; then \ +BISON=@BISON@ +USUAL_BISON = `if [ -f $$r/bison/bison ] ; then \ echo $$r/bison/bison -L $$s/bison/ ; \ else \ echo bison ; \ fi` -YACC = `if [ -f $$r/bison/bison ] ; then \ +YACC=@YACC@ +USUAL_YACC = `if [ -f $$r/bison/bison ] ; then \ echo $$r/bison/bison -y -L $$s/bison/ ; \ elif [ -f $$r/byacc/byacc ] ; then \ echo $$r/byacc/byacc ; \ @@ -143,7 +145,8 @@ YACC = `if [ -f $$r/bison/bison ] ; then \ echo ${DEFAULT_YACC} ; \ fi` -LEX = `if [ -f $$r/flex/flex ] ; \ +LEX=@LEX@ +USUAL_LEX = `if [ -f $$r/flex/flex ] ; \ then echo $$r/flex/flex ; \ else echo ${DEFAULT_LEX} ; fi` @@ -153,7 +156,8 @@ M4 = `if [ -f $$r/m4/m4 ] ; \ # For an installed makeinfo, we require it to be from texinfo 4 or # higher, else we use the "missing" dummy. -MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ +MAKEINFO=@MAKEINFO@ +USUAL_MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ then echo $$r/texinfo/makeinfo/makeinfo ; \ else if (makeinfo --version \ | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \ @@ -175,7 +179,7 @@ RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \ # compilers to use to create programs which must be run in the build # environment. -CC_FOR_BUILD = $(CC) +CC_FOR_BUILD = @CC_FOR_BUILD@ CXX_FOR_BUILD = $(CXX) SUBDIRS = @configdirs@ @@ -247,9 +251,11 @@ GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ # variable is passed down to the gcc Makefile, where it is used to # build libgcc2.a. We define it here so that it can itself be # overridden on the command line. -GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) +GCC_FOR_TARGET=@GCC_FOR_TARGET@ +USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) -AS_FOR_TARGET = ` \ +AS_FOR_TARGET=@AS_FOR_TARGET@ +USUAL_AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ elif [ -f $$r/gcc/xgcc ]; then \ @@ -262,7 +268,8 @@ AS_FOR_TARGET = ` \ fi; \ fi` -LD_FOR_TARGET = ` \ +LD_FOR_TARGET=@LD_FOR_TARGET@ +USUAL_LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ elif [ -f $$r/gcc/xgcc ]; then \ @@ -275,7 +282,8 @@ LD_FOR_TARGET = ` \ fi; \ fi` -DLLTOOL_FOR_TARGET = ` \ +DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ +USUAL_DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ else \ @@ -286,7 +294,8 @@ DLLTOOL_FOR_TARGET = ` \ fi; \ fi` -WINDRES_FOR_TARGET = ` \ +WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ +USUAL_WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ else \ @@ -297,7 +306,8 @@ WINDRES_FOR_TARGET = ` \ fi; \ fi` -AR_FOR_TARGET = ` \ +AR_FOR_TARGET=@AR_FOR_TARGET@ +USUAL_AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ else \ @@ -308,7 +318,8 @@ AR_FOR_TARGET = ` \ fi; \ fi` -RANLIB_FOR_TARGET = ` \ +RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ +USUAL_RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ else \ @@ -323,7 +334,8 @@ RANLIB_FOR_TARGET = ` \ fi; \ fi` -NM_FOR_TARGET = ` \ +NM_FOR_TARGET=@NM_FOR_TARGET@ +USUAL_NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ elif [ -f $$r/gcc/xgcc ]; then \ @@ -721,27 +733,27 @@ ALL_X11_MODULES = \ all-guile \ all-tclX \ all-tk \ - all-tix + all-tix # This is a list of the check targets for all of the modules which are # compiled using $(X11_FLAGS_TO_PASS). CHECK_X11_MODULES = \ check-gdb \ - check-guile \ check-expect \ + check-guile \ check-tclX \ check-tk \ - check-tix + check-tix # This is a list of the install targets for all the modules which are # compiled using $(X11_FLAGS_TO_PASS). INSTALL_X11_MODULES = \ install-gdb \ - install-guile \ install-expect \ + install-guile \ install-tclX \ install-tk \ - install-tix + install-tix # This is a list of the targets for all of the modules which are compiled # using $(TARGET_FLAGS_TO_PASS). @@ -906,7 +918,7 @@ CLEAN_X11_MODULES = \ clean-guile \ clean-tclX \ clean-tk \ - clean-tix + clean-tix # The target built for a native build. .PHONY: all.normal diff --git a/Makefile.tpl b/Makefile.tpl index 7428f4124..1e88b7c42 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -1,4 +1,4 @@ -[+ AutoGen5 template -*- Mode: Makefile -*- +[+ AutoGen5 template in +] @@ -85,16 +85,16 @@ INSTALL_DATA = $(INSTALL) -m 644 INSTALL_DOSREL = install-dosrel-fake -AS = as -AR = ar +AS = @AS@ +AR = @AR@ AR_FLAGS = rc CC = cc # Special variables passed down in EXTRA_GCC_FLAGS. They are defined # here so that they can be overridden by Makefile fragments. HOST_CC = $(CC_FOR_BUILD) -BUILD_PREFIX = -BUILD_PREFIX_1 = loser- +BUILD_PREFIX = @BUILD_PREFIX@ +BUILD_PREFIX_1 = @BUILD_PREFIX_1@ # These flag values are normally overridden by the configure script. CFLAGS = -g @@ -120,25 +120,27 @@ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates CXXFLAGS_FOR_TARGET = $(CXXFLAGS) LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates -DLLTOOL = dlltool -WINDRES = windres +DLLTOOL = @DLLTOOL@ +WINDRES = @WINDRES@ -NM = nm +NM = @NM@ -LD = ld +LD = @LD@ # These values are substituted by configure. DEFAULT_YACC = @DEFAULT_YACC@ DEFAULT_LEX = @DEFAULT_LEX@ DEFAULT_M4 = @DEFAULT_M4@ -BISON = `if [ -f $$r/bison/bison ] ; then \ +BISON=@BISON@ +USUAL_BISON = `if [ -f $$r/bison/bison ] ; then \ echo $$r/bison/bison -L $$s/bison/ ; \ else \ echo bison ; \ fi` -YACC = `if [ -f $$r/bison/bison ] ; then \ +YACC=@YACC@ +USUAL_YACC = `if [ -f $$r/bison/bison ] ; then \ echo $$r/bison/bison -y -L $$s/bison/ ; \ elif [ -f $$r/byacc/byacc ] ; then \ echo $$r/byacc/byacc ; \ @@ -146,7 +148,8 @@ YACC = `if [ -f $$r/bison/bison ] ; then \ echo ${DEFAULT_YACC} ; \ fi` -LEX = `if [ -f $$r/flex/flex ] ; \ +LEX=@LEX@ +USUAL_LEX = `if [ -f $$r/flex/flex ] ; \ then echo $$r/flex/flex ; \ else echo ${DEFAULT_LEX} ; fi` @@ -156,7 +159,8 @@ M4 = `if [ -f $$r/m4/m4 ] ; \ # For an installed makeinfo, we require it to be from texinfo 4 or # higher, else we use the "missing" dummy. -MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ +MAKEINFO=@MAKEINFO@ +USUAL_MAKEINFO = `if [ -f $$r/texinfo/makeinfo/makeinfo ] ; \ then echo $$r/texinfo/makeinfo/makeinfo ; \ else if (makeinfo --version \ | egrep 'texinfo[^0-9]*([1-3][0-9]|[4-9])') >/dev/null 2>&1; \ @@ -178,7 +182,7 @@ RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \ # compilers to use to create programs which must be run in the build # environment. -CC_FOR_BUILD = $(CC) +CC_FOR_BUILD = @CC_FOR_BUILD@ CXX_FOR_BUILD = $(CXX) SUBDIRS = @configdirs@ @@ -250,9 +254,11 @@ GCJ_FOR_TARGET = @GCJ_FOR_TARGET@ # variable is passed down to the gcc Makefile, where it is used to # build libgcc2.a. We define it here so that it can itself be # overridden on the command line. -GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) +GCC_FOR_TARGET=@GCC_FOR_TARGET@ +USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET) -AS_FOR_TARGET = ` \ +AS_FOR_TARGET=@AS_FOR_TARGET@ +USUAL_AS_FOR_TARGET = ` \ if [ -f $$r/gas/as-new ] ; then \ echo $$r/gas/as-new ; \ elif [ -f $$r/gcc/xgcc ]; then \ @@ -265,7 +271,8 @@ AS_FOR_TARGET = ` \ fi; \ fi` -LD_FOR_TARGET = ` \ +LD_FOR_TARGET=@LD_FOR_TARGET@ +USUAL_LD_FOR_TARGET = ` \ if [ -f $$r/ld/ld-new ] ; then \ echo $$r/ld/ld-new ; \ elif [ -f $$r/gcc/xgcc ]; then \ @@ -278,7 +285,8 @@ LD_FOR_TARGET = ` \ fi; \ fi` -DLLTOOL_FOR_TARGET = ` \ +DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@ +USUAL_DLLTOOL_FOR_TARGET = ` \ if [ -f $$r/binutils/dlltool ] ; then \ echo $$r/binutils/dlltool ; \ else \ @@ -289,7 +297,8 @@ DLLTOOL_FOR_TARGET = ` \ fi; \ fi` -WINDRES_FOR_TARGET = ` \ +WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ +USUAL_WINDRES_FOR_TARGET = ` \ if [ -f $$r/binutils/windres ] ; then \ echo $$r/binutils/windres ; \ else \ @@ -300,7 +309,8 @@ WINDRES_FOR_TARGET = ` \ fi; \ fi` -AR_FOR_TARGET = ` \ +AR_FOR_TARGET=@AR_FOR_TARGET@ +USUAL_AR_FOR_TARGET = ` \ if [ -f $$r/binutils/ar ] ; then \ echo $$r/binutils/ar ; \ else \ @@ -311,7 +321,8 @@ AR_FOR_TARGET = ` \ fi; \ fi` -RANLIB_FOR_TARGET = ` \ +RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@ +USUAL_RANLIB_FOR_TARGET = ` \ if [ -f $$r/binutils/ranlib ] ; then \ echo $$r/binutils/ranlib ; \ else \ @@ -326,7 +337,8 @@ RANLIB_FOR_TARGET = ` \ fi; \ fi` -NM_FOR_TARGET = ` \ +NM_FOR_TARGET=@NM_FOR_TARGET@ +USUAL_NM_FOR_TARGET = ` \ if [ -f $$r/binutils/nm-new ] ; then \ echo $$r/binutils/nm-new ; \ elif [ -f $$r/gcc/xgcc ]; then \ @@ -522,10 +534,8 @@ CONFIGURE_BUILD_MODULES = \ # This is a list of the targets for all of the modules which are compiled # using $(FLAGS_TO_PASS). -ALL_MODULES =[+ - FOR host_modules +] \ - all-[+module+][+ - ENDFOR host_modules +] \ +ALL_MODULES = [+ FOR host_modules +][+ IF with_x +][+ ELSE with_x +]\ + all-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +]\ $(EXTRA_TARGET_HOST_ALL_MODULES) # This is a list of the check targets for all of the modules which are @@ -541,113 +551,64 @@ NATIVE_CHECK_MODULES = \ check-flex \ check-zip -CROSS_CHECK_MODULES =[+ - FOR host_modules +][+ - IF (not (or (exist? "no_check_cross") (exist? "no_check"))) - +] \ - check-[+module+][+ - ENDIF no_check +][+ - ENDFOR host_modules +] \ +CROSS_CHECK_MODULES = [+ FOR host_modules +][+ IF no_check +][+ ELIF no_check_cross +][+ ELIF with_x +][+ ELSE check +]\ + check-[+module+] [+ ENDIF no_check +][+ ENDFOR host_modules +]\ $(EXTRA_TARGET_HOST_CHECK_MODULES) CHECK_MODULES=$(NATIVE_CHECK_MODULES) $(CROSS_CHECK_MODULES) # This is a list of the install targets for all of the modules which are # compiled using $(FLAGS_TO_PASS). -INSTALL_MODULES =[+ - FOR host_modules+][+ - IF (not (exist? "no_install")) +] \ - install-[+module+][+ - ENDIF no_install +][+ - ENDFOR host_modules +] \ +INSTALL_MODULES = [+ FOR host_modules+][+ IF no_install +][+ ELIF with_x +][+ ELSE install +]\ + install-[+module+] [+ ENDIF no_install +][+ ENDFOR host_modules +]\ $(EXTRA_TARGET_HOST_INSTALL_MODULES) # This is a list of the targets for all of the modules which are compiled # using $(X11_FLAGS_TO_PASS). -ALL_X11_MODULES = \ - all-gdb \ - all-expect \ - all-guile \ - all-tclX \ - all-tk \ - all-tix +ALL_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\ + all-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +] # This is a list of the check targets for all of the modules which are # compiled using $(X11_FLAGS_TO_PASS). -CHECK_X11_MODULES = \ - check-gdb \ - check-guile \ - check-expect \ - check-tclX \ - check-tk \ - check-tix +CHECK_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\ + check-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +] # This is a list of the install targets for all the modules which are # compiled using $(X11_FLAGS_TO_PASS). -INSTALL_X11_MODULES = \ - install-gdb \ - install-guile \ - install-expect \ - install-tclX \ - install-tk \ - install-tix +INSTALL_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\ + install-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +] # This is a list of the targets for all of the modules which are compiled # using $(TARGET_FLAGS_TO_PASS). -ALL_TARGET_MODULES =[+ - FOR target_modules +] \ - all-target-[+module+][+ - ENDFOR target_modules +] +ALL_TARGET_MODULES = [+ FOR target_modules +]\ + all-target-[+module+] [+ ENDFOR target_modules +] # 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_MODULES = [+ FOR target_modules +]\ + configure-target-[+module+] [+ ENDFOR target_modules +] # This is a list of the check targets for all of the modules which are # compiled using $(TARGET_FLAGS_TO_PASS). -CHECK_TARGET_MODULES =[+ - FOR target_modules +][+ - IF (not (exist? "no_check")) +] \ - check-target-[+module+][+ - ENDIF no_check +][+ - ENDFOR target_modules +] +CHECK_TARGET_MODULES = [+ FOR target_modules +][+ IF no_check +][+ ELSE check +]\ + check-target-[+module+] [+ ENDIF no_check +][+ ENDFOR target_modules +] # This is a list of the install targets for all of the modules which are # compiled using $(TARGET_FLAGS_TO_PASS). -INSTALL_TARGET_MODULES =[+ - FOR target_modules +][+ - IF (not (exist? "no_install")) +] \ - install-target-[+module+][+ - ENDIF no_install +][+ - ENDFOR target_modules +] +INSTALL_TARGET_MODULES = [+ FOR target_modules +][+ IF no_install +][+ ELSE install +]\ + install-target-[+module+] [+ ENDIF no_install +][+ ENDFOR target_modules +] # This is a list of the targets for which we can do a clean-{target}. -CLEAN_MODULES =[+ - FOR host_modules +][+ - IF (not (exist? "no_clean")) +] \ - clean-[+module+][+ - ENDIF no_clean +][+ - ENDFOR host_modules +] +CLEAN_MODULES = [+ FOR host_modules +][+ IF no_clean +][+ ELIF with_x +][+ ELSE clean +]\ + clean-[+module+] [+ ENDIF no_clean +][+ ENDFOR host_modules +] # All of the target modules that can be cleaned -CLEAN_TARGET_MODULES =[+ - FOR target_modules +][+ - IF (not (exist? "no_clean")) +] \ - clean-target-[+module+][+ - ENDIF no_clean +][+ - ENDFOR target_modules +] +CLEAN_TARGET_MODULES = [+ FOR target_modules +][+ IF no_clean +][+ ELSE clean +]\ + clean-target-[+module+] [+ ENDIF no_clean +][+ ENDFOR target_modules +] # All of the x11 modules that can be cleaned -CLEAN_X11_MODULES = \ - clean-gdb \ - clean-expect \ - clean-guile \ - clean-tclX \ - clean-tk \ - clean-tix +CLEAN_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\ + clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +] # The target built for a native build. .PHONY: all.normal diff --git a/configure b/configure index ec9bebf50..362ccec1e 100755 --- a/configure +++ b/configure @@ -79,13 +79,11 @@ program_suffixoption= program_transform_name= program_transform_nameoption= redirect= -removing= site= site_makefile_frag= site_option= srcdir= srctrigger= -subdirs= target_alias=NOTARGET target_makefile_frag= undefs=NOUNDEFS @@ -317,9 +315,6 @@ do program_transform_name="${program_transform_name} -e `echo ${optarg} | sed -e 's/\\\\/\\\\\\\\/g' -e 's/\\\$/$$/g'`" program_transform_nameoption="${program_transform_nameoption} --program-transform-name='$optarg'" ;; - --rm) - removing=--rm - ;; --sb*) sbindir=$optarg diroptions="$diroptions --sbindir=$optarg" @@ -639,7 +634,7 @@ case "`grep '^# per\-host:' ${srcdir}/configure.in`" in ${program_transform_nameoption} ${site_option} \ ${withoptions} ${withoutoptions} \ ${enableoptions} ${disableoptions} ${floating_pointoption} \ - ${cache_file_option} ${removing} ${other_options} ${redirect} + ${cache_file_option} ${other_options} ${redirect} else echo '***' There is no configure script present though. 1>&2 fi @@ -911,10 +906,10 @@ do test -n "$DEFAULT_LEX" && break done + if [ "${build}" != "${host}" ]; then # If we are doing a Canadian Cross, in which the host and build systems # are not the same, we set reasonable default values for the tools. - tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD" tools="${tools} CC_FOR_TARGET CXX_FOR_TARGET GCJ_FOR_TARGET" tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX" @@ -1021,6 +1016,42 @@ t loop export OBJCOPY export OBJDUMP else + # Set reasonable default values for some tools even if not Canadian. + # Of course, these are different reasonable default values, originally + # specified directly in the Makefile. + # We don't export, so that autoconf can do its job. + # Note that all these settings are above the fragment inclusion point + # in Makefile.in, so can still be overridden by fragments. + # This is all going to change when we autoconfiscate... + + tools="AR AR_FOR_TARGET AS AS_FOR_TARGET BISON CC_FOR_BUILD" + tools="${tools} DLLTOOL DLLTOOL_FOR_TARGET GCC_FOR_TARGET BUILD_PREFIX" + tools="${tools} BUILD_PREFIX_1 LD LD_FOR_TARGET LEX MAKEINFO NM" + tools="${tools} NM_FOR_TARGET RANLIB_FOR_TARGET" + tools="${tools} WINDRES WINDRES_FOR_TARGET YACC" + + AR=ar + AR_FOR_TARGET='\$(USUAL_AR_FOR_TARGET)' + AS=as + AS_FOR_TARGET='\$(USUAL_AS_FOR_TARGET)' + BISON='$(USUAL_BISON)' + CC_FOR_BUILD='\$(CC)' + DLLTOOL=dlltool + DLLTOOL_FOR_TARGET='\$(USUAL_DLLTOOL_FOR_TARGET)' + GCC_FOR_TARGET='\$(USUAL_GCC_FOR_TARGET)' + BUILD_PREFIX= + BUILD_PREFIX_1=loser- + LD=ld + LD_FOR_TARGET='\$(USUAL_LD_FOR_TARGET)' + MAKEINFO='\$(USUAL_MAKEINFO)' + NM=nm + NM_FOR_TARGET='\$(USUAL_NM_FOR_TARGET)' + RANLIB_FOR_TARGET='\$(USUAL_RANLIB_FOR_TARGET)' + WINDRES=windres + WINDRES_FOR_TARGET='\$(USUAL_WINDRES_FOR_TARGET)' + LEX='\$(USUAL_LEX)' + YACC='\$(USUAL_YACC)' + # If CC is still not set, try to get gcc. if [ -z "${CC}" ]; then IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" @@ -1078,218 +1109,174 @@ then all_build_modules='$(ALL_BUILD_MODULES_LIST)' fi -for subdir in . ${subdirs} ; do +# FIXME Should this be done recursively ??? (Useful for e.g. gdbtest) +# Set up the list of links to be made. +# ${links} is the list of link names, and ${files} is the list of names to link to. - # ${subdir} is relative path from . to the directory we're currently - # configuring. - # ${invsubdir} is inverse of ${subdir), *with* trailing /, if needed. - invsubdir=`echo ${subdir}/ | sed -e 's|\./||g' -e 's|[^/]*/|../|g'` +# Make the links. +configlinks="${links}" +if [ -r ./config.status ] ; then + mv -f ./config.status ./config.back +fi +while [ -n "${files}" ] ; do + # set file to car of files, files to cdr of files + set ${files}; file=$1; shift; files=$* + set ${links}; link=$1; shift; links=$* - ### figure out what to do with srcdir - case "${srcdir}" in - ".") # no -srcdir option. We're building in place. - makesrcdir=. ;; - /* | [A-Za-z]:[\\/]* ) # absolute path - makesrcdir=`echo ${srcdir}/${subdir} | sed -e 's|/\.$||'` - ;; - *) # otherwise relative - case "${subdir}" in - .) makesrcdir=${srcdir} ;; - *) makesrcdir=${invsubdir}${srcdir}/${subdir} ;; - esac - ;; - esac - - if [ "${subdir}/" != "./" ] ; then - Makefile=${subdir}/Makefile + if [ ! -r ${srcdir}/${file} ] ; then + if [ ! -r ${file} ] ; then + echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2 + echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2 + exit 1 + else + srcfile=${file} fi + else + srcfile=${srcdir}/${file} + fi - if [ ! -d ${subdir} ] ; then - if mkdir ${subdir} ; then - true - else - echo '***' "${progname}: could not make ${PWD=`${PWDCMD-pwd}`}/${subdir}" 1>&2 - exit 1 - fi - fi + ${remove} -f ${link} + # Make a symlink if possible, otherwise try a hard link + if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then + true + else + # We need to re-remove the file because Lynx leaves a + # very strange directory there when it fails an NFS symlink. + ${remove} -r -f ${link} + ${hard_link} ${srcfile} ${link} + fi + if [ ! -r ${link} ] ; then + echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2 + exit 1 + fi - case "${removing}" in - "") - case "${subdir}" in - .) ;; - *) eval echo Building in ${subdir} ${redirect} ;; - esac + echo "Linked \"${link}\" to \"${srcfile}\"." +done - # FIXME Should this be done recursively ??? (Useful for e.g. gdbtest) - # Set up the list of links to be made. - # ${links} is the list of link names, and ${files} is the list of names to link to. +# Create a .gdbinit file which runs the one in srcdir +# and tells GDB to look there for source files. - # Make the links. - configlinks="${links}" - if [ -r ${subdir}/config.status ] ; then - mv -f ${subdir}/config.status ${subdir}/config.back - fi - while [ -n "${files}" ] ; do - # set file to car of files, files to cdr of files - set ${files}; file=$1; shift; files=$* - set ${links}; link=$1; shift; links=$* - - if [ ! -r ${srcdir}/${file} ] ; then - if [ ! -r ${file} ] ; then - - echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2 - echo '***' "since the file \"${srcdir}/${file}\" does not exist." 1>&2 - exit 1 - else - srcfile=${file} - fi - else - srcfile=${srcdir}/${file} - fi - - ${remove} -f ${link} - # Make a symlink if possible, otherwise try a hard link - if ${symbolic_link} ${srcfile} ${link} >/dev/null 2>&1 ; then - true - else - # We need to re-remove the file because Lynx leaves a - # very strange directory there when it fails an NFS symlink. - ${remove} -r -f ${link} - ${hard_link} ${srcfile} ${link} - fi - if [ ! -r ${link} ] ; then - echo '***' "${progname}: unable to link \"${link}\" to \"${srcfile}\"." 1>&2 - exit 1 - fi - - echo "Linked \"${link}\" to \"${srcfile}\"." - done - - # Create a .gdbinit file which runs the one in srcdir - # and tells GDB to look there for source files. - - if [ -r ${srcdir}/${subdir}/.gdbinit ] ; then - case ${srcdir} in - .) ;; - *) cat > ${subdir}/.gdbinit < ./.gdbinit < ${Makefile}.tem - else - echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2 - echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2 - cp ${srcdir}/${subdir}/${Makefile_in} ${subdir}/Makefile.tem - fi - esac - # working copy now in ${Makefile}.tem + # Conditionalize the makefile for this package from "Makefile.in" (or whatever it's called) into Makefile.tem. + rm -f ./${Makefile}.tem + case "${package_makefile_rules_frag}" in + "") cp ${srcdir}/${Makefile_in} ./Makefile.tem ;; + *) + if [ ! -f ${package_makefile_rules_frag} ] ; then + package_makefile_rules_frag=${srcdir}/${package_makefile_rules_frag} + fi + if [ -f ${package_makefile_rules_frag} ] ; then + sed -e "/^####/ r ${package_makefile_rules_frag}" ${srcdir}/${Makefile_in} > ${Makefile}.tem + else + echo '***' Expected package makefile rules fragment \"${package_makefile_rules_frag}\" 1>&2 + echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2 + cp ${srcdir}/${Makefile_in} ./Makefile.tem + fi + esac + # working copy now in ${Makefile}.tem - # Conditionalize for this site. - rm -f ${Makefile} - case "${site}" in - "") mv ${subdir}/Makefile.tem ${Makefile} ;; - *) - site_makefile_frag=${srcdir}/config/ms-${site} + # Conditionalize for this site. + rm -f ${Makefile} + case "${site}" in + "") mv ./Makefile.tem ${Makefile} ;; + *) + site_makefile_frag=${srcdir}/config/ms-${site} - if [ -f ${site_makefile_frag} ] ; then - sed -e "/^####/ r ${site_makefile_frag}" ${subdir}/Makefile.tem \ - > ${Makefile} - else - mv ${subdir}/Makefile.tem ${Makefile} - site_makefile_frag= - fi - ;; - esac - # working copy now in ${Makefile} + if [ -f ${site_makefile_frag} ] ; then + sed -e "/^####/ r ${site_makefile_frag}" ./Makefile.tem > ${Makefile} + else + mv ./Makefile.tem ${Makefile} + site_makefile_frag= + fi + ;; + esac + # working copy now in ${Makefile} - # Conditionalize the makefile for this host. - rm -f ${subdir}/Makefile.tem - case "${host_makefile_frag}" in - "") mv ${Makefile} ${subdir}/Makefile.tem ;; - *) - if [ ! -f ${host_makefile_frag} ] ; then - host_makefile_frag=${srcdir}/${host_makefile_frag} - fi - if [ -f ${host_makefile_frag} ] ; then - sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem - else - echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2 - echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2 - mv ${Makefile} ${subdir}/Makefile.tem - fi - esac - # working copy now in ${subdir)/Makefile.tem + # Conditionalize the makefile for this host. + rm -f ./Makefile.tem + case "${host_makefile_frag}" in + "") mv ${Makefile} ./Makefile.tem ;; + *) + if [ ! -f ${host_makefile_frag} ] ; then + host_makefile_frag=${srcdir}/${host_makefile_frag} + fi + if [ -f ${host_makefile_frag} ] ; then + sed -e "/^####/ r ${host_makefile_frag}" ${Makefile} > ./Makefile.tem + else + echo '***' Expected host makefile fragment \"${host_makefile_frag}\" 1>&2 + echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2 + mv ${Makefile} ./Makefile.tem + fi + esac + # working copy now in ./Makefile.tem - # Conditionalize the makefile for this target. - rm -f ${Makefile} - case "${target_makefile_frag}" in - "") mv ${subdir}/Makefile.tem ${Makefile} ;; - *) - if [ ! -f ${target_makefile_frag} ] ; then - target_makefile_frag=${srcdir}/${target_makefile_frag} - fi - if [ -f ${target_makefile_frag} ] ; then - sed -e "/^####/ r ${target_makefile_frag}" ${subdir}/Makefile.tem > ${Makefile} - else - mv ${subdir}/Makefile.tem ${Makefile} - target_makefile_frag= - fi - ;; - esac - # working copy now in ${Makefile} + # Conditionalize the makefile for this target. + rm -f ${Makefile} + case "${target_makefile_frag}" in + "") mv ./Makefile.tem ${Makefile} ;; + *) + if [ ! -f ${target_makefile_frag} ] ; then + target_makefile_frag=${srcdir}/${target_makefile_frag} + fi + if [ -f ${target_makefile_frag} ] ; then + sed -e "/^####/ r ${target_makefile_frag}" ./Makefile.tem > ${Makefile} + else + mv ./Makefile.tem ${Makefile} + target_makefile_frag= + fi + ;; + esac + # working copy now in ${Makefile} - # Emit the default values of this package's macros. - rm -f ${subdir}/Makefile.tem - case "${package_makefile_frag}" in - "") mv ${Makefile} ${subdir}/Makefile.tem ;; - *) - if [ ! -f ${package_makefile_frag} ] ; then - package_makefile_frag=${srcdir}/${package_makefile_frag} - fi - if [ -f ${package_makefile_frag} ] ; then - sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ${subdir}/Makefile.tem - else - echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2 - echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2 - mv ${Makefile} ${subdir}/Makefile.tem - fi - esac - # real copy now in ${subdir}/Makefile.tem + # Emit the default values of this package's macros. + rm -f ./Makefile.tem + case "${package_makefile_frag}" in + "") mv ${Makefile} ./Makefile.tem ;; + *) + if [ ! -f ${package_makefile_frag} ] ; then + package_makefile_frag=${srcdir}/${package_makefile_frag} + fi + if [ -f ${package_makefile_frag} ] ; then + sed -e "/^####/ r ${package_makefile_frag}" ${Makefile} > ./Makefile.tem + else + echo '***' Expected package makefile fragment \"${package_makefile_rules_frag}\" 1>&2 + echo '***' is missing in ${PWD=`${PWDCMD-pwd}`}. 1>&2 + mv ${Makefile} ./Makefile.tem + fi + esac + # real copy now in ./Makefile.tem - # prepend warning about editing, and a bunch of variables. - rm -f ${Makefile} - cat > ${Makefile} < ${Makefile} <> ${Makefile} << EOF + case "${build}" in + "") ;; + *) cat >> ${Makefile} << EOF build_alias = ${build_alias} build_cpu = ${build_cpu} build_vendor = ${build_vendor} build_os = ${build_os} build_canonical = ${build_cpu}-${build_vendor}-${build_os} EOF - esac + esac - case "${package_makefile_frag}" in - "") ;; - /* | [A-Za-z]:[\\/]* ) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;; - *) echo package_makefile_frag = ${invsubdir}${package_makefile_frag} >>${Makefile} ;; - esac + case "${package_makefile_frag}" in + "") ;; + /* | [A-Za-z]:[\\/]* ) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;; + *) echo package_makefile_frag = ${package_makefile_frag} >>${Makefile} ;; + esac - case "${target_makefile_frag}" in - "") ;; - /* | [A-Za-z]:[\\/]* ) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;; - *) echo target_makefile_frag = ${invsubdir}${target_makefile_frag} >>${Makefile} ;; - esac + case "${target_makefile_frag}" in + "") ;; + /* | [A-Za-z]:[\\/]* ) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;; + *) echo target_makefile_frag = ${target_makefile_frag} >>${Makefile} ;; + esac - case "${host_makefile_frag}" in - "") ;; - /* | [A-Za-z]:[\\/]* ) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;; - *) echo host_makefile_frag = ${invsubdir}${host_makefile_frag} >>${Makefile} ;; - esac + case "${host_makefile_frag}" in + "") ;; + /* | [A-Za-z]:[\\/]* ) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;; + *) echo host_makefile_frag = ${host_makefile_frag} >>${Makefile} ;; + esac - if [ "${site_makefile_frag}" != "" ] ; then - echo site_makefile_frag = ${invsubdir}${site_makefile_frag} >>${Makefile} - fi + if [ "${site_makefile_frag}" != "" ] ; then + echo site_makefile_frag = ${site_makefile_frag} >>${Makefile} + fi - echo enable_shared = ${enable_shared} >> ${Makefile} - echo enable_threads = ${enable_threads} >> ${Makefile} - # record if we want to rumtime library stuff installed in libsubdir. - if test -z "${enable_version_specific_runtime_libs}"; then - echo enable_version_specific_runtime_libs = no >> ${Makefile} - else - echo enable_version_specific_runtime_libs = ${enable_version_specific_runtime_libs} >> ${Makefile} - fi + echo enable_shared = ${enable_shared} >> ${Makefile} + echo enable_threads = ${enable_threads} >> ${Makefile} + # record if we want to rumtime library stuff installed in libsubdir. + if test -z "${enable_version_specific_runtime_libs}"; then + echo enable_version_specific_runtime_libs = no >> ${Makefile} + else + echo enable_version_specific_runtime_libs = ${enable_version_specific_runtime_libs} >> ${Makefile} + fi - # Emit a macro which describes the file containing gcc's - # version number. - echo gcc_version_trigger = ${gcc_version_trigger} >> ${Makefile} - # And emit a macro defining gcc's version number. - echo gcc_version = ${gcc_version} >> ${Makefile} + # Emit a macro which describes the file containing gcc's + # version number. + echo gcc_version_trigger = ${gcc_version_trigger} >> ${Makefile} + # And emit a macro defining gcc's version number. + echo gcc_version = ${gcc_version} >> ${Makefile} - # reset prefix, exec_prefix, srcdir, SUBDIRS, NONSUBDIRS, - # remove any form feeds. - if [ -z "${subdirs}" ]; then - rm -f ${subdir}/Makefile.tm2 - sedtemp=sed.$$ - cat >$sedtemp <$sedtemp < ${subdir}/Makefile.tm2 - rm -f $sedtemp - rm -f ${subdir}/Makefile.tem - mv ${subdir}/Makefile.tm2 ${subdir}/Makefile.tem - fi - sed -e "s|@prefix@|${prefix}|" \ - -e "s|@exec_prefix@|${exec_prefix}|" \ - -e "s|@bindir@|${bindir}|" \ - -e "s|@sbindir@|${sbindir}|" \ - -e "s|@libexecdir@|${libexecdir}|" \ - -e "s|@datadir@|${datadir}|" \ - -e "s|@sysconfdir@|${sysconfdir}|" \ - -e "s|@sharedstatedir@|${sharedstatedir}|" \ - -e "s|@localstatedir@|${localstatedir}|" \ - -e "s|@libdir@|${libdir}|" \ - -e "s|@includedir@|${includedir}|" \ - -e "s|@oldincludedir@|${oldincludedir}|" \ - -e "s|@infodir@|${infodir}|" \ - -e "s|@mandir@|${mandir}|" \ - -e "s|@all_build_modules@|${all_build_modules}|" \ - -e "/^CC[ ]*=/{ - :loop1 - /\\\\$/ N - s/\\\\\\n//g - t loop1 - s%^CC[ ]*=.*$%CC = ${CC}% - }" \ - -e "/^CXX[ ]*=/{ - :loop2 - /\\\\$/ N - s/\\\\\\n//g - t loop2 - s%^CXX[ ]*=.*$%CXX = ${CXX}% - }" \ - -e "/^CFLAGS[ ]*=/{ - :loop3 - /\\\\$/ N - s/\\\\\\n//g - t loop3 - s%^CFLAGS[ ]*=.*$%CFLAGS = ${CFLAGS}% - }" \ - -e "/^CXXFLAGS[ ]*=/{ - :loop4 - /\\\\$/ N - s/\\\\\\n//g - t loop4 - s%^CXXFLAGS[ ]*=.*$%CXXFLAGS = ${CXXFLAGS}% - }" \ - -e "s|@config_shell@|${config_shell}|" \ - -e "s|@srcdir@|${makesrcdir}|" \ - -e "s/ //" \ - -e "s:@program_transform_name@:${program_transform_name}:" \ - -e "s|@tooldir@|${tooldir}|" \ - -e "s|@build_tooldir@|${tooldir}|" \ - -e "s:@DEFAULT_YACC@:${DEFAULT_YACC}:" \ - -e "s:@DEFAULT_LEX@:${DEFAULT_LEX}:" \ - -e "s:@DEFAULT_M4@:${DEFAULT_M4}:" \ - ${subdir}/Makefile.tem >> ${Makefile} - - sed -e "s:@GDB_TK@:${GDB_TK}:" ${Makefile} >${Makefile}.tem - mv -f ${Makefile}.tem ${Makefile} + sed -f $sedtemp ./Makefile.tem > ./Makefile.tm2 + rm -f $sedtemp + rm -f ./Makefile.tem + mv ./Makefile.tm2 ./Makefile.tem + sed -e "s|@prefix@|${prefix}|" \ + -e "s|@exec_prefix@|${exec_prefix}|" \ + -e "s|@bindir@|${bindir}|" \ + -e "s|@sbindir@|${sbindir}|" \ + -e "s|@libexecdir@|${libexecdir}|" \ + -e "s|@datadir@|${datadir}|" \ + -e "s|@sysconfdir@|${sysconfdir}|" \ + -e "s|@sharedstatedir@|${sharedstatedir}|" \ + -e "s|@localstatedir@|${localstatedir}|" \ + -e "s|@libdir@|${libdir}|" \ + -e "s|@includedir@|${includedir}|" \ + -e "s|@oldincludedir@|${oldincludedir}|" \ + -e "s|@infodir@|${infodir}|" \ + -e "s|@mandir@|${mandir}|" \ + -e "s|@all_build_modules@|${all_build_modules}|" \ + -e "/^CC[ ]*=/{ + :loop1 + /\\\\$/ N + s/\\\\\\n//g + t loop1 + s%^CC[ ]*=.*$%CC = ${CC}% + }" \ + -e "/^CXX[ ]*=/{ + :loop2 + /\\\\$/ N + s/\\\\\\n//g + t loop2 + s%^CXX[ ]*=.*$%CXX = ${CXX}% + }" \ + -e "/^CFLAGS[ ]*=/{ + :loop3 + /\\\\$/ N + s/\\\\\\n//g + t loop3 + s%^CFLAGS[ ]*=.*$%CFLAGS = ${CFLAGS}% + }" \ + -e "/^CXXFLAGS[ ]*=/{ + :loop4 + /\\\\$/ N + s/\\\\\\n//g + t loop4 + s%^CXXFLAGS[ ]*=.*$%CXXFLAGS = ${CXXFLAGS}% + }" \ + -e "s|@config_shell@|${config_shell}|" \ + -e "s|@srcdir@|${srcdir}|" \ + -e "s/ //" \ + -e "s:@program_transform_name@:${program_transform_name}:" \ + -e "s|@tooldir@|${tooldir}|" \ + -e "s|@build_tooldir@|${tooldir}|" \ + -e "s:@DEFAULT_YACC@:${DEFAULT_YACC}:" \ + -e "s:@DEFAULT_LEX@:${DEFAULT_LEX}:" \ + -e "s:@DEFAULT_M4@:${DEFAULT_M4}:" \ + ./Makefile.tem >> ${Makefile} + sed -e "s:@GDB_TK@:${GDB_TK}:" ${Makefile} >${Makefile}.tem + mv -f ${Makefile}.tem ${Makefile} - # If this is a Canadian Cross, preset the values of many more - # tools. - if [ "${build}" != "${host}" ]; then - for var in ${tools}; do - eval val=\$${var} - sed -e "/^${var}[ ]*=/{ - :loop1 - /\\\\$/ N - /\\\\$/ b loop1 - s/\\\\\\n//g - s%^${var}[ ]*=.*$%${var} = ${val}% - }" ${Makefile} > ${Makefile}.tem - mv -f ${Makefile}.tem ${Makefile} - done - fi + # If this is a Canadian Cross, preset the values of many more + # tools. + if [ "${build}" != "${host}" ]; then + for var in ${tools}; do + eval val=\$${var} + sed -e "/^${var}[ ]*=/{ + :loop1 + /\\\\$/ N + /\\\\$/ b loop1 + s/\\\\\\n//g + s%^${var}[ ]*=.*$%${var} = ${val}% + }" ${Makefile} > ${Makefile}.tem + mv -f ${Makefile}.tem ${Makefile} + done + fi + # If this is NOT a Canadian Cross, preset the values of some more + # tools. The above line should get merged into this, but this + # substitutes *once* where the above substitutes *globally*; that + # needs to be worked out before the merger. The issue is in Makefile + # fragment elements (ick, yuck, ugh). + if [ "${build}" = "${host}" ]; then + for var in ${tools}; do + eval val=\$${var} + sed -e "s%@${var}@%${val}%" ${Makefile} > ${Makefile}.tem + mv -f ${Makefile}.tem ${Makefile} + done + fi - # final copy now in ${Makefile} + # final copy now in ${Makefile} - else - echo "No Makefile.in found in ${srcdir}/${subdir}, unable to configure" 1>&2 - fi +else + echo "No Makefile.in found in ${srcdir}/., unable to configure" 1>&2 +fi - rm -f ${subdir}/Makefile.tem +rm -f ./Makefile.tem - case "${host_makefile_frag}" in - "") using= ;; - *) using="and \"${host_makefile_frag}\"" ;; - esac +case "${host_makefile_frag}" in + "") using= ;; + *) using="and \"${host_makefile_frag}\"" ;; +esac - case "${target_makefile_frag}" in - "") ;; - *) using="${using} and \"${target_makefile_frag}\"" ;; - esac +case "${target_makefile_frag}" in + "") ;; + *) using="${using} and \"${target_makefile_frag}\"" ;; +esac - case "${site_makefile_frag}" in - "") ;; - *) using="${using} and \"${site_makefile_frag}\"" ;; - esac +case "${site_makefile_frag}" in + "") ;; + *) using="${using} and \"${site_makefile_frag}\"" ;; +esac - newusing=`echo "${using}" | sed 's/and/using/'` - using=${newusing} - echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using} +newusing=`echo "${using}" | sed 's/and/using/'` +using=${newusing} +echo "Created \"${Makefile}\" in" ${PWD=`${PWDCMD-pwd}`} ${using} - . ${tmpfile}.pos +. ${tmpfile}.pos - # describe the chosen configuration in config.status. - # Make that file a shellscript which will reestablish - # the same configuration. Used in Makefiles to rebuild - # Makefiles. +# describe the chosen configuration in config.status. +# Make that file a shellscript which will reestablish +# the same configuration. Used in Makefiles to rebuild +# Makefiles. - case "${norecursion}" in - "") arguments="${arguments} --norecursion" ;; - *) ;; - esac +case "${norecursion}" in + "") arguments="${arguments} --norecursion" ;; + *) ;; +esac - if [ ${subdir} = . ] ; then - echo "#!/bin/sh +echo "#!/bin/sh # ${NO_EDIT} # This directory was configured as follows: ${progname}" ${arguments} " -# ${using}" > ${subdir}/config.new - else - echo "#!/bin/sh -# ${NO_EDIT} -# This directory was configured as follows: -cd ${invsubdir} -${progname}" ${arguments} " -# ${using}" > ${subdir}/config.new - fi - chmod a+x ${subdir}/config.new - if [ -r ${subdir}/config.back ] ; then - mv -f ${subdir}/config.back ${subdir}/config.status - fi - ${config_shell} ${moveifchange} ${subdir}/config.new ${subdir}/config.status - ;; - - *) rm -f ${Makefile} ${subdir}/config.status ${links} ;; - esac -done +# ${using}" > ./config.new +chmod a+x ./config.new +if [ -r ./config.back ] ; then + mv -f ./config.back ./config.status +fi +${config_shell} ${moveifchange} ./config.new ./config.status # If there are subdirectories, then recur. if [ -z "${norecursion}" ] && [ -n "${configdirs}" ] ; then @@ -1580,7 +1561,7 @@ if [ -z "${norecursion}" ] && [ -n "${configdirs}" ] ; then 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} ${removing} ${other_options} ${redirect} ; then + ${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