diff --git a/ChangeLog b/ChangeLog index 4b89e3c5089..031a4b24e97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-10-02 Ralf Wildenhues + + PR bootstrap/45326 + PR bootstrap/45174 + * configure.ac: Honor initial values of $build_configargs, + $host_configargs, $target_configargs. Mark the precious, so + environment settings get recorded. + * configure: Regenerate. + 2010-09-30 Ralf Wildenhues PR bootstrap/45796 diff --git a/configure b/configure index 3a512490d61..392f077501d 100755 --- a/configure +++ b/configure @@ -655,12 +655,9 @@ CFLAGS_FOR_BUILD CC_FOR_BUILD AS_FOR_BUILD AR_FOR_BUILD -target_configargs target_configdirs configdirs -host_configargs build_configdirs -build_configargs INSTALL_GDB_TK GDB_TK CONFIGURE_GDB_TK @@ -668,6 +665,9 @@ build_tooldir tooldir GCC_SHLIB_SUBDIR RPATH_ENVVAR +target_configargs +host_configargs +build_configargs BUILD_CONFIG CXXFLAGS_FOR_TARGET CFLAGS_FOR_TARGET @@ -835,6 +835,9 @@ CXX CXXFLAGS CCC CPP +build_configargs +host_configargs +target_configargs AR AS DLLTOOL @@ -1569,6 +1572,12 @@ Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor + build_configargs + additional configure arguments for build directories + host_configargs + additional configure arguments for host directories + target_configargs + additional configure arguments for target directories AR AR for the host AS AS for the host DLLTOOL DLLTOOL for the host @@ -7916,10 +7925,15 @@ if test "$silent" = yes; then fi baseargs="$baseargs --disable-option-checking" +# Record and document user additions to sub configure arguments. + + + + # For the build-side libraries, we just need to pretend we're native, # and not use the same cache file. Multilibs are neither needed nor # desired. -build_configargs="--cache-file=../config.cache ${baseargs}" +build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}" # For host modules, accept cache file option, or specification as blank. case "${cache_file}" in @@ -7933,9 +7947,9 @@ esac # Host dirs don't like to share a cache file either, horribly enough. # This seems to be due to autoconf 2.5x stupidity. -host_configargs="--cache-file=./config.cache ${extra_host_args} ${baseargs}" +host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}" -target_configargs=${baseargs} +target_configargs="$target_configargs ${baseargs}" # Passing a --with-cross-host argument lets the target libraries know # whether they are being built with a cross-compiler or being built diff --git a/configure.ac b/configure.ac index 6ef9df67261..5f80aa963fa 100644 --- a/configure.ac +++ b/configure.ac @@ -2969,10 +2969,18 @@ if test "$silent" = yes; then fi baseargs="$baseargs --disable-option-checking" +# Record and document user additions to sub configure arguments. +AC_ARG_VAR([build_configargs], + [additional configure arguments for build directories]) +AC_ARG_VAR([host_configargs], + [additional configure arguments for host directories]) +AC_ARG_VAR([target_configargs], + [additional configure arguments for target directories]) + # For the build-side libraries, we just need to pretend we're native, # and not use the same cache file. Multilibs are neither needed nor # desired. -build_configargs="--cache-file=../config.cache ${baseargs}" +build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}" # For host modules, accept cache file option, or specification as blank. case "${cache_file}" in @@ -2986,9 +2994,9 @@ esac # Host dirs don't like to share a cache file either, horribly enough. # This seems to be due to autoconf 2.5x stupidity. -host_configargs="--cache-file=./config.cache ${extra_host_args} ${baseargs}" +host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}" -target_configargs=${baseargs} +target_configargs="$target_configargs ${baseargs}" # Passing a --with-cross-host argument lets the target libraries know # whether they are being built with a cross-compiler or being built diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b7c2e646b5a..5c22678125d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-10-02 Ralf Wildenhues + + * doc/install.texi (Configuration): Document build_configargs, + host_configargs, target_configargs. + 2010-10-01 Uros Bizjak * config/i386/i386.md (*ashl3_mask): New insn_and_split pattern. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index a54b450755f..ce6b5cffc1b 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -1991,6 +1991,36 @@ Do not try to compile and run a test libart program. @end table +@subsubheading Overriding @command{configure} test results + +Sometimes, it might be necessary to override the result of some +@command{configure} test, for example in order to ease porting to a new +system or work around a bug in a test. The toplevel @command{configure} +script provides three variables for this: + +@table @code + +@item build_configargs +@cindex @code{build_configargs} +The contents of this variable is passed to all build @command{configure} +scripts. + +@item host_configargs +@cindex @code{host_configargs} +The contents of this variable is passed to all host @command{configure} +scripts. + +@item target_configargs +@cindex @code{target_configargs} +The contents of this variable is passed to all target @command{configure} +scripts. + +@end table + +In order to avoid shell and @command{make} quoting issues for complex +overrides, you can pass a setting for @env{CONFIG_SITE} and set +variables in the site file. + @html