OSDN Git Service

* config.gcc: Reorganize --with-cpu logic. Set
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jun 2003 17:50:44 +0000 (17:50 +0000)
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jun 2003 17:50:44 +0000 (17:50 +0000)
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float.  Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.

* doc/install.texi: Update --with-cpu documentation.  Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67457 138bc75d-0d04-0410-961f-82ee72b054a4

14 files changed:
gcc/ChangeLog
gcc/config.gcc
gcc/config/alpha/alpha.h
gcc/config/arm/arm.h
gcc/config/i386/i386.h
gcc/config/mips/mips.h
gcc/config/pa/pa.h
gcc/config/rs6000/rs6000.h
gcc/config/sparc/sparc.h
gcc/configure
gcc/configure.in
gcc/doc/install.texi
gcc/doc/tm.texi
gcc/gcc.c

index bbd1cff..d80ce20 100644 (file)
@@ -1,5 +1,27 @@
 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
 
+       * config.gcc: Reorganize --with-cpu logic.  Set
+       configure_default_options according to the default CPU, --with-cpu,
+       --with-arch, --with-tune, --with-schedule, --with-abi, and
+       --with-float.  Check for legal values of various options.
+       * configure.in: Define configure_default_options in configargs.h.
+       * configure: Regenerated.
+       * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
+       (TARGET_DEFAULT_FLOAT_P): New macros.
+       * gcc.c (do_option_spec): New function.
+       (struct default_spec, option_default_specs): New.
+       (main): Call do_option_spec.
+       * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
+       config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
+       config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
+
+       * doc/install.texi: Update --with-cpu documentation.  Mention
+       --with-arch, --with-schedule, --with-tune, --with-abi, and
+       --with-float.
+       * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
+
+2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
+
        * config.gcc: Only process --with-cpu logic in the third pass.
 
 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
index 3e6c1ec..98a44cd 100644 (file)
 #                      determines the underlying integral type for
 #                      HOST_WIDE_INT cannot see the definition of
 #                      MAX_LONG_TYPE_SIZE.)
+#
+#  configure_default_options
+#                      Set to an initializer for configure_default_options
+#                      in configargs.h, based on --with-cpu et cetera.
 
 # The following variables are used in each case-construct to build up the
 # outgoing variables:
@@ -2236,41 +2240,99 @@ then
                esac
        fi
 
-       # Optionally, validate the argument to --with-cpu.
-       # This block sets nothing.
-       case $machine in
+       # Validate and mark as valid any --with options supported
+       # by this target.  In order to use a particular --with option
+       # you must list it in supported_defaults; validating the value
+       # is optional.  This case statement should set nothing besides
+       # supported_defaults.
+
+       supported_defaults=
+       case "$machine" in
        alpha*-*-*)
-               case "x$with_cpu" in
+               supported_defaults="cpu tune"
+               for which in cpu tune; do
+                       eval "val=\$with_$which"
+                       case "x$val" in
+                       x \
+                       | xev4 | xev45 | x21064 | xev5 | x21164 | xev56 | x21164a \
+                       | xpca56 | x21164PC | x21164pc | xev6 | x21264 | xev67 \
+                       | x21264a)
+                               ;;
+                       *)
+                               echo "Unknown CPU used in --with-$which=$val" 1>&2
+                               exit 1
+                               ;;
+                       esac
+               done
+               ;;
+
+       arm*-*-*)
+               supported_defaults="arch cpu float tune"
+               for which in cpu tune; do
+                       eval "val=\$with_$which"
+                       case "x$val" in
+                       x \
+                       | xarm[236789] | xarm250 | xarm[67][01]0 \
+                       | xarm60 | xarm620 | xarm7d | xarm7di \
+                       | xarm7m | xarm7dm | xarm7dmi | xarm[79]tdmi \
+                       | xarm70 | xarm700i | xarm710t | xarm720 \
+                       | xarm720t | xarm740t | xarm710c | xarm920 \
+                       | xarm920t | xarm940t | xarm9e | xarm10tdmi \
+                       | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
+                       | xarm1020t \
+                       | xxscale \
+                       | xep9312 \
+                       | xstrongarm | xstrongarm110 | xstrongarm11[01]0)
+                               # OK
+                               ;;
+                       *)
+                               echo "Unknown CPU used in --with-$which=$val" 1>&2
+                               exit 1
+                               ;;
+                       esac
+               done
+
+               case "x$with_arch" in
                x \
-               | xev5 | xev56 | xpca56 | xev6 | xev67)
+               | xarmv[2345] | xarmv2a | xarmv3m | xarmv4t | xarmv5t \
+               | xarmv5te | ep9312)
                        # OK
                        ;;
                *)
-                       echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
+                       echo "Unknown arch used in --with-arch=$with_arch" 1>&2
                        exit 1
                        ;;
                esac
-               ;;
 
-       arm*-*-*)
-               case "x$with_cpu" in
+               case "x$with_float" in
                x \
-               | xarm[236789] | xarm250 | xarm[67][01]0 \
-               | xarm7m | xarm7dm | xarm7dmi | xarm[79]tdmi \
-               | xarm7100 | xarm7500 | xarm7500fe | xarm810 \
-               | xxscale \
-               | xep9312 \
-               | xstrongarm | xstrongarm110 | xstrongarm1100)
+               | xsoft | xhard)
                        # OK
                        ;;
                *)
-                       echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
+                       echo "Unknown floating point type used in --with-float=$with_float" 1>&2
                        exit 1
                        ;;
                esac
+
+               if test "x$with_arch" != x && test "x$with_cpu" != x; then
+                       echo "Warning: --with-arch overrides --with-cpu" 1>&2
+               fi
                ;;
 
        hppa*-*-* | parisc*-*-*)
+               supported_defaults="arch schedule"
+
+               case "x$with_arch" in
+               x | x1.0 | x1.1 | x2.0)
+                       # OK
+                       ;;
+               *)
+                       echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
+                       exit 1
+                       ;;
+               esac
+
                case "x$with_schedule" in
                x | x700 | x7100 | x7100LC | x7200 | x7300 | x8000)
                        # OK
@@ -2283,61 +2345,112 @@ then
                ;;
 
        i[34567]86-*-* | x86_64-*-*)
-               case x$with_cpu in
+               supported_defaults="arch cpu tune"
+               for which in arch cpu tune; do
+                       eval "val=\$with_$which"
+                       case "x$val" in
+                       x \
+                       | xi386 | xi486 \
+                       | xi586 | xpentium | xpentium-mmx | xwinchip-c6 | xwinchip2 \
+                       | xc3 | xc3-2 | xi686 | xpentiumpro | xpentium2 | xpentium3 \
+                       | xpentium4 | xk6 | xk6-2 | xk6-3 | xathlon | xathlon-tbird \
+                       | xathlon-4 | xathlon-xp | xathlon-mp | xk8)
+                               # OK
+                               ;;
+                       *)
+                               echo "Unknown CPU given in --with-$which=$val." 1>&2
+                               exit 1
+                               ;;
+                       esac
+               done
+               ;;
+
+       mips*-*-*)
+               supported_defaults="abi arch float tune"
+
+               case "x$with_float" in
                x \
-               | xi486 \
-               | xi586 | xk6 | xk6-2 | xk6-3 | xpentium-mmx | xpentium \
-               | xpentiumpro | xpentium2 | xpentium3 | xpentium4 \
-               | xathlon | xathlon-4 | xk8)
+               | xsoft | xhard)
                        # OK
                        ;;
                *)
-                       echo "Unknown CPU given in --with-cpu=$with_cpu." 1>&2
+                       echo "Unknown floating point type used in --with-float=$with_float" 1>&2
                        exit 1
                        ;;
                esac
-               ;;
 
-       powerpc*-*-* | rs6000-*-*)
-               case "x$with_cpu" in
+               case "x$with_abi" in
                x \
-               | xdefault32 | xdefault64 \
-               | xcommon \
-               | xpower | xpower2 | xpower3 | xpower4 \
-               | xpowerpc | xpowerpc64 \
-               | xrios | xrios1 | xrios2 | xrsc | xrsc1 | xrs64a \
-               | x401 | x403 | x405 | x405fp | x440 | x440fp | x505 \
-               | x601 | x602 | x603 | x603e | xec603e | x604 \
-               | x604e | x620 | x630 | x740 | x750 | x7400 | x7450 \
-               | x8540 | x801 | x821 | x823 | x860)
+               | x32 | xo64 | xn32 | x64 | xeabi)
                        # OK
                        ;;
                *)
-                       echo "Unknown cpu used in --with-cpu=$with_cpu." 1>&2
+                       echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
                        exit 1
                        ;;
                esac
                ;;
 
+       powerpc*-*-* | rs6000-*-*)
+               supported_defaults="cpu float tune"
+
+               for which in cpu tune; do
+                       eval "val=\$with_$which"
+                       case "x$val" in
+                       x \
+                       | xdefault32 | xdefault64 \
+                       | xcommon \
+                       | xpower | xpower2 | xpower3 | xpower4 \
+                       | xpowerpc | xpowerpc64 \
+                       | xrios | xrios1 | xrios2 | xrsc | xrsc1 | xrs64a \
+                       | x401 | x403 | x405 | x405fp | x440 | x440fp | x505 \
+                       | x601 | x602 | x603 | x603e | xec603e | x604 \
+                       | x604e | x620 | x630 | x740 | x750 | x7400 | x7450 \
+                       | x8540 | x801 | x821 | x823 | x860)
+                               # OK
+                               ;;
+                       *)
+                               echo "Unknown cpu used in --with-$which=$val." 1>&2
+                               exit 1
+                               ;;
+                       esac
+               done
+               ;;
+
        sparc*-*-*)
-               case x$with_cpu in
-               x)
-                       echo "Should never happen - no default CPU for sparc target."
-                       exit 1
-                       ;;
+               supported_defaults="cpu float tune"
+
+               for which in cpu tune; do
+                       eval "val=\$with_$which"
+                       case x$val in
+                       x \
+                       | xsparc | xsparcv9 | xsparc86x \
+                       | xv7 | xcypress | xv8 | xsupersparc | xsparclite | xf930 \
+                       | xf934 | xhypersparc | xsparclite86x | xsparclet | tsc701 \
+                       | xv9 | xultrasparc | xultrasparc3)
+                               # OK
+                               ;;
+                       *)
+                               echo "Unknown cpu used in --with-$which=$val" 1>&2
+                               exit 1
+                               ;;
+                       esac
+               done
 
-               xsparc | xsparc86x | xsparcv9 | xsparc64 \
-               | xsupersparc | xhypersparc | xultrasparc | xv7 | xv8 | xv9)
+               case "x$with_float" in
+               x \
+               | xsoft | xhard)
                        # OK
                        ;;
                *)
-                       echo "Unknown cpu used in --with-$which=$val" 1>&2
+                       echo "Unknown floating point type used in --with-float=$with_float" 1>&2
                        exit 1
                        ;;
                esac
                ;;
 
        v850*-*-*)
+               supported_defaults=cpu
                case "x$with_cpu" in
                x | xv850e)
                        # OK
@@ -2350,38 +2463,13 @@ then
                ;;
        esac
 
-       # Now, for targets which support this, convert --with-cpu to
-       # a setting of target_cpu_default2.  This block also sets assorted
-       # other configuration variables.
+       # Set some miscellaneous flags for particular targets.
        target_cpu_default2=
        case $machine in
        alpha*-*-*)
-               case $with_cpu in
-                       ev67)
-                               target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
-                               ;;
-                       ev6)
-                               target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
-                               ;;
-                       pca56)
-                               target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
-                               ;;
-                       ev56)
-                               target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
-                               ;;
-                       ev5)
-                               target_cpu_default2="MASK_CPU_EV5"
-                               ;;
-               esac
-
                if test x$gas = xyes
                then
-                       if test "$target_cpu_default2" = ""
-                       then
-                               target_cpu_default2="MASK_GAS"
-                       else
-                               target_cpu_default2="${target_cpu_default2}|MASK_GAS"
-                       fi
+                       target_cpu_default2="MASK_GAS"
                fi
                ;;
 
@@ -2403,22 +2491,6 @@ then
                then
                        target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
                fi
-               if test "x$with_schedule" != x
-               then
-                       tm_defines="TARGET_SCHED_DEFAULT=\\\"$with_schedule\\\""
-                       ;;
-               fi
-               ;;
-
-       i[34567]86-*-* | x86_64-*-*)
-               case x$with_cpu in
-               xathlon-4)
-                       target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
-                       ;;
-               *)
-                       target_cpu_default2=TARGET_CPU_DEFAULT_"`echo $with_cpu | sed s/-/_/`"
-                       ;;
-               esac
                ;;
 
        mips*-*-*)
@@ -2462,10 +2534,12 @@ then
                ;;
 
        powerpc*-*-* | rs6000-*-*)
-               if test x$enable_altivec = xyes
-               then
-                       tm_file="$tm_file rs6000/altivec-defs.h"
-               fi
+               if test x$enable_altivec = xyes
+               then
+                       tm_file="$tm_file rs6000/altivec-defs.h"
+               fi
+               # FIXME: The PowerPC port uses the value set at compile time,
+               # although it's only cosmetic.
                if test "x$with_cpu" != x
                then
                        target_cpu_default2="\\\"$with_cpu\\\""
@@ -2477,10 +2551,25 @@ then
                ;;
 
        sparc*-*-*)
+               # Some standard aliases.
+               case x$with_cpu in
+               xsparc)
+                       with_cpu=v7
+                       ;;
+               xsparc86x)
+                       with_cpu=sparclite86x
+                       ;;
+               xsparcv9 | xsparc64)
+                       with_cpu=v9
+                       ;;
+               esac
+
+               # The Sparc port checks this value at compile-time.
                target_cpu_default2="TARGET_CPU_$with_cpu"
                ;;
-
        v850*-*-*)
+               # FIXME: The v850 is "special" in that it does not support
+               # runtime CPU selection, only --with-cpu.
                case "x$with_cpu" in
                x)
                        ;;
@@ -2491,6 +2580,36 @@ then
                ;;
        esac
 
+       t=
+       all_defaults="abi cpu arch tune schedule float"
+       for option in $all_defaults
+       do
+               eval "val=\$with_$option"
+               if test -n "$val"; then
+                       case " $supported_defaults " in
+                       *" $option "*)
+                               ;;
+                       *)
+                               echo "This target does not support --with-$option." 2>&1
+                               exit 1
+                               ;;
+                       esac
+
+                       if test "x$t" = x
+                       then
+                               t="{ \"$option\", \"$val\" }"
+                       else
+                               t="${t}, { \"$option\", \"$val\" }"
+                       fi
+               fi
+       done
+       if test "x$t" = x
+       then
+               configure_default_options="{ { NULL, NULL} }"
+       else
+               configure_default_options="{ ${t} }"
+       fi
+
        if test "$target_cpu_default2" != ""
        then
                if test "$target_cpu_default" != ""
index 6b887a1..f9fa2f0 100644 (file)
@@ -365,6 +365,13 @@ extern const char *alpha_tls_size_string; /* For -mtls-size= */
    N_("Specify bit size of immediate TLS offsets"), 0},        \
 }
 
+/* Support for a compile-time default CPU, et cetera.  The rules are:
+   --with-cpu is ignored if -mcpu is specified.
+   --with-tune is ignored if -mtune is specified.  */
+#define OPTION_DEFAULT_SPECS \
+  {"cpu", "%{!mcpu=*:-mcpu=%(VALUE)}" }, \
+  {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }
+
 /* This macro defines names of additional specifications to put in the
    specs that can be used in various specifications like CC1_SPEC.  Its
    definition is an initializer with a subgrouping for each command option.
index cf6b91f..a6f0b90 100644 (file)
@@ -525,6 +525,20 @@ Unrecognized value in TARGET_CPU_DEFAULT.
    N_("Specify the register to be used for PIC addressing"), 0}        \
 }
 
+/* Support for a compile-time default CPU, et cetera.  The rules are:
+   --with-arch is ignored if -march or -mcpu are specified.
+   --with-cpu is ignored if -march or -mcpu are specified, and is overridden
+    by --with-arch.
+   --with-tune is ignored if -mtune or -mcpu are specified (but not affected
+     by -march).
+   --with-float is ignored if -mhard-float or -msoft-float are
+    specified.  */
+#define OPTION_DEFAULT_SPECS \
+  {"arch", "%{!march=*:%{!mcpu=*:-march=%(VALUE)}}" }, \
+  {"cpu", "%{!march=*:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
+  {"tune", "%{!mcpu=*:%{!mtune=*:-mtune=%(VALUE)}}" }, \
+  {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" }
+
 struct arm_cpu_select
 {
   const char *              string;
index 6941f3e..fe47b03 100644 (file)
@@ -483,6 +483,12 @@ extern int x86_prefetch_sse;
 #define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
   optimization_options ((LEVEL), (SIZE))
 
+/* Support for configure-time defaults of some command line options.  */
+#define OPTION_DEFAULT_SPECS \
+  {"arch", "%{!march=*:-march=%(VALUE)}"}, \
+  {"tune", "%{!mtune=*:%{!mcpu=*:-mtune=%(VALUE)}}" }, \
+  {"cpu", "%{!mtune=*:%{!mcpu=*:-mtune=%(VALUE)}}" }
+
 /* Specs for the compiler proper */
 
 #ifndef CC1_CPU_SPEC
index bda524f..6f55005 100644 (file)
@@ -785,6 +785,20 @@ extern void                sbss_section PARAMS ((void));
 /* This is meant to be redefined in the host dependent files.  */
 #define SUBTARGET_TARGET_OPTIONS
 
+/* Support for a compile-time default CPU, et cetera.  The rules are:
+   --with-arch is ignored if -march is specified or a -mips is specified
+     (other than -mips16).
+   --with-tune is ignored if -mtune is specified.
+   --with-abi is ignored if -mabi is specified.
+   --with-float is ignored if -mhard-float or -msoft-float are
+     specified.  */
+#define OPTION_DEFAULT_SPECS \
+  {"arch", "%{!march=*:%{mips16:-march=%(VALUE)}%{!mips*:-march=%(VALUE)}}" }, \
+  {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
+  {"abi", "%{!mabi=*:-mabi=%(VALUE)}" }, \
+  {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" }
+
+
 #define GENERATE_BRANCHLIKELY   (TARGET_BRANCHLIKELY                    \
                                 && !TARGET_SR71K                       \
                                 && !TARGET_MIPS16)
index 1db28cf..3936d8c 100644 (file)
@@ -312,6 +312,13 @@ extern int target_flags;
     N_("Specify architecture for code generation.  Values are 1.0, 1.1, and 2.0.  2.0 requires gas snapshot 19990413 or later."), 0}\
 }
 
+/* Support for a compile-time default CPU, et cetera.  The rules are:
+   --with-schedule is ignored if -mschedule is specified.
+   --with-arch is ignored if -march is specified.  */
+#define OPTION_DEFAULT_SPECS \
+  {"arch", "%{!march=*:-march=%(VALUE)}" }, \
+  {"schedule", "%{!mschedule=*:-mschedule=%(VALUE)}" }
+
 /* Specify the dialect of assembler to use.  New mnemonics is dialect one
    and the old mnemonics are dialect zero.  */
 #define ASSEMBLER_DIALECT (TARGET_PA_20 ? 1 : 0)
index 3edf959..ffc8c93 100644 (file)
@@ -407,6 +407,16 @@ extern enum processor_type rs6000_cpu;
    SUBTARGET_OPTIONS                                                   \
 }
 
+/* Support for a compile-time default CPU, et cetera.  The rules are:
+   --with-cpu is ignored if -mcpu is specified.
+   --with-tune is ignored if -mtune is specified.
+   --with-float is ignored if -mhard-float or -msoft-float are
+    specified.  */
+#define OPTION_DEFAULT_SPECS \
+  {"cpu", "%{!mcpu=*:-mcpu=%(VALUE)}" }, \
+  {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
+  {"float", "%{!msoft-float:%{!mhard-float:-m%(VALUE)-float}}" }
+
 /* rs6000_select[0] is reserved for the default cpu defined via --with-cpu */
 struct rs6000_cpu_select
 {
index 49f9a38..7c19b2a 100644 (file)
@@ -656,6 +656,16 @@ extern enum processor_type sparc_cpu;
 /* This is meant to be redefined in target specific files.  */
 #define SUBTARGET_OPTIONS
 
+/* Support for a compile-time default CPU, et cetera.  The rules are:
+   --with-cpu is ignored if -mcpu is specified.
+   --with-tune is ignored if -mtune is specified.
+   --with-float is ignored if -mhard-float, -msoft-float, -mfpu, or -mno-fpu
+     are specified.  */
+#define OPTION_DEFAULT_SPECS \
+  {"cpu", "%{!mcpu=*:-mcpu=%(VALUE)}" }, \
+  {"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
+  {"float", "%{!msoft-float:%{!mhard-float:%{!fpu:%{!no-fpu:-m%(VALUE)-float}}}}" }
+
 /* sparc_select[0] is reserved for the default cpu.  */
 struct sparc_cpu_select
 {
index 6813c39..6260291 100755 (executable)
@@ -5750,6 +5750,10 @@ cat > configargs.h <<EOF
 /* Generated automatically. */
 static const char configuration_arguments[] = "$gcc_config_arguments";
 static const char thread_model[] = "$thread_file";
+
+static const struct {
+  const char *name, *value;
+} configure_default_options[] = $configure_default_options;
 EOF
 
 # Internationalization
@@ -5779,14 +5783,14 @@ fi
 
             
 echo $ac_n "checking for library containing strerror""... $ac_c" 1>&6
-echo "configure:5783: checking for library containing strerror" >&5
+echo "configure:5787: checking for library containing strerror" >&5
 if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_strerror="no"
 cat > conftest.$ac_ext <<EOF
-#line 5790 "configure"
+#line 5794 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5797,7 +5801,7 @@ int main() {
 strerror()
 ; return 0; }
 EOF
-if { (eval echo configure:5801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_strerror="none required"
 else
@@ -5808,7 +5812,7 @@ rm -f conftest*
 test "$ac_cv_search_strerror" = "no" && for i in cposix; do
 LIBS="-l$i  $ac_func_search_save_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5812 "configure"
+#line 5816 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5819,7 +5823,7 @@ int main() {
 strerror()
 ; return 0; }
 EOF
-if { (eval echo configure:5823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_strerror="-l$i"
 break
@@ -5842,12 +5846,12 @@ fi
   
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5846: checking for working const" >&5
+echo "configure:5850: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5851 "configure"
+#line 5855 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -5896,7 +5900,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:5900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -5917,12 +5921,12 @@ EOF
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:5921: checking for off_t" >&5
+echo "configure:5925: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5926 "configure"
+#line 5930 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -5950,12 +5954,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:5954: checking for size_t" >&5
+echo "configure:5958: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5959 "configure"
+#line 5963 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -5985,19 +5989,19 @@ fi
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:5989: checking for working alloca.h" >&5
+echo "configure:5993: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5994 "configure"
+#line 5998 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:6001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -6018,12 +6022,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6022: checking for alloca" >&5
+echo "configure:6026: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6027 "configure"
+#line 6031 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -6051,7 +6055,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:6055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -6083,12 +6087,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6087: checking whether alloca needs Cray hooks" >&5
+echo "configure:6091: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6092 "configure"
+#line 6096 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -6113,12 +6117,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6117: checking for $ac_func" >&5
+echo "configure:6121: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6122 "configure"
+#line 6126 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6141,7 +6145,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6168,7 +6172,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6172: checking stack direction for C alloca" >&5
+echo "configure:6176: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6176,7 +6180,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 6180 "configure"
+#line 6184 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -6195,7 +6199,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:6199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -6218,12 +6222,12 @@ fi
 
 
     echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
-echo "configure:6222: checking whether we are using the GNU C Library 2.1 or newer" >&5
+echo "configure:6226: checking whether we are using the GNU C Library 2.1 or newer" >&5
 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6227 "configure"
+#line 6231 "configure"
 #include "confdefs.h"
 
 #include <features.h>
@@ -6259,17 +6263,17 @@ stdlib.h string.h unistd.h sys/param.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6263: checking for $ac_hdr" >&5
+echo "configure:6267: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6268 "configure"
+#line 6272 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6300,12 +6304,12 @@ getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
 strdup strtoul tsearch __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6304: checking for $ac_func" >&5
+echo "configure:6308: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6309 "configure"
+#line 6313 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6328,7 +6332,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6369,7 +6373,7 @@ fi
 
 
   echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:6373: checking for iconv" >&5
+echo "configure:6377: checking for iconv" >&5
 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6377,7 +6381,7 @@ else
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
     cat > conftest.$ac_ext <<EOF
-#line 6381 "configure"
+#line 6385 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <iconv.h>
@@ -6387,7 +6391,7 @@ iconv_t cd = iconv_open("","");
        iconv_close(cd);
 ; return 0; }
 EOF
-if { (eval echo configure:6391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_func_iconv=yes
 else
@@ -6399,7 +6403,7 @@ rm -f conftest*
       am_save_LIBS="$LIBS"
       LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
       cat > conftest.$ac_ext <<EOF
-#line 6403 "configure"
+#line 6407 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <iconv.h>
@@ -6409,7 +6413,7 @@ iconv_t cd = iconv_open("","");
          iconv_close(cd);
 ; return 0; }
 EOF
-if { (eval echo configure:6413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_lib_iconv=yes
         am_cv_func_iconv=yes
@@ -6430,13 +6434,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
 EOF
 
     echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:6434: checking for iconv declaration" >&5
+echo "configure:6438: checking for iconv declaration" >&5
     if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
       cat > conftest.$ac_ext <<EOF
-#line 6440 "configure"
+#line 6444 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -6455,7 +6459,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:6459: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   am_cv_proto_iconv_arg1=""
 else
@@ -6484,19 +6488,19 @@ EOF
 
    
   echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
-echo "configure:6488: checking for nl_langinfo and CODESET" >&5
+echo "configure:6492: checking for nl_langinfo and CODESET" >&5
 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6493 "configure"
+#line 6497 "configure"
 #include "confdefs.h"
 #include <langinfo.h>
 int main() {
 char* cs = nl_langinfo(CODESET);
 ; return 0; }
 EOF
-if { (eval echo configure:6500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_langinfo_codeset=yes
 else
@@ -6519,19 +6523,19 @@ EOF
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:6523: checking for LC_MESSAGES" >&5
+echo "configure:6527: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6528 "configure"
+#line 6532 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:6535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_val_LC_MESSAGES=yes
 else
@@ -6552,7 +6556,7 @@ EOF
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:6556: checking whether NLS is requested" >&5
+echo "configure:6560: checking whether NLS is requested" >&5
         # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
   enableval="$enable_nls"
@@ -6575,7 +6579,7 @@ fi
 EOF
 
       echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:6579: checking whether included gettext is requested" >&5
+echo "configure:6583: checking whether included gettext is requested" >&5
       # Check whether --with-included-gettext or --without-included-gettext was given.
 if test "${with_included_gettext+set}" = set; then
   withval="$with_included_gettext"
@@ -6595,17 +6599,17 @@ fi
 
        ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:6599: checking for libintl.h" >&5
+echo "configure:6603: checking for libintl.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6604 "configure"
+#line 6608 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6609: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6613: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -6626,12 +6630,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
 EOF
 
            echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6
-echo "configure:6630: checking for GNU gettext in libc" >&5
+echo "configure:6634: checking for GNU gettext in libc" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6635 "configure"
+#line 6639 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
@@ -6640,7 +6644,7 @@ bindtextdomain ("", "");
 return (int) gettext ("") + _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:6644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gnugettext1_libc=yes
 else
@@ -6656,14 +6660,14 @@ echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6
 
           if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
             echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6
-echo "configure:6660: checking for GNU gettext in libintl" >&5
+echo "configure:6664: checking for GNU gettext in libintl" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   gt_save_LIBS="$LIBS"
                LIBS="$LIBS -lintl $LIBICONV"
                cat > conftest.$ac_ext <<EOF
-#line 6667 "configure"
+#line 6671 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
@@ -6672,7 +6676,7 @@ bindtextdomain ("", "");
 return (int) gettext ("") + _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:6676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gnugettext1_libintl=yes
 else
@@ -6705,12 +6709,12 @@ EOF
             for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6709: checking for $ac_func" >&5
+echo "configure:6713: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6714 "configure"
+#line 6718 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6733,7 +6737,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6762,7 +6766,7 @@ done
                     # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6766: checking for $ac_word" >&5
+echo "configure:6770: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6796,7 +6800,7 @@ fi
             # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6800: checking for $ac_word" >&5
+echo "configure:6804: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6833,7 +6837,7 @@ fi
                     # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6837: checking for $ac_word" >&5
+echo "configure:6841: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6883,7 +6887,7 @@ fi
         # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6887: checking for $ac_word" >&5
+echo "configure:6891: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6917,7 +6921,7 @@ fi
         # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6921: checking for $ac_word" >&5
+echo "configure:6925: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6953,7 +6957,7 @@ fi
         # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:6957: checking for $ac_word" >&5
+echo "configure:6961: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7025,7 +7029,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:7029: checking for $ac_word" >&5
+echo "configure:7033: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7058,7 +7062,7 @@ done
       ac_verc_fail=yes
     else
             echo $ac_n "checking version of bison""... $ac_c" 1>&6
-echo "configure:7062: checking version of bison" >&5
+echo "configure:7066: checking version of bison" >&5
       ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
       case $ac_prog_version in
         '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -7103,7 +7107,7 @@ EOF
 
          if test "x$CATOBJEXT" != x; then
      echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:7107: checking for catalogs to be installed" >&5
+echo "configure:7111: checking for catalogs to be installed" >&5
      # Look for .po and .gmo files in the source directory.
      CATALOGS=
      XLINGUAS=
@@ -7161,7 +7165,7 @@ fi
 case $host_os in
        win32 | pe | cygwin* | mingw32* | uwin*)
 echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6
-echo "configure:7165: checking whether windows registry support is requested" >&5
+echo "configure:7169: checking whether windows registry support is requested" >&5
 if test "x$enable_win32_registry" != xno; then
   cat >> confdefs.h <<\EOF
 #define ENABLE_WIN32_REGISTRY 1
@@ -7170,14 +7174,14 @@ EOF
   echo "$ac_t""yes" 1>&6
   
 echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6
-echo "configure:7174: checking for library containing RegOpenKeyExA" >&5
+echo "configure:7178: checking for library containing RegOpenKeyExA" >&5
 if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_RegOpenKeyExA="no"
 cat > conftest.$ac_ext <<EOF
-#line 7181 "configure"
+#line 7185 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7188,7 +7192,7 @@ int main() {
 RegOpenKeyExA()
 ; return 0; }
 EOF
-if { (eval echo configure:7192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7196: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_RegOpenKeyExA="none required"
 else
@@ -7199,7 +7203,7 @@ rm -f conftest*
 test "$ac_cv_search_RegOpenKeyExA" = "no" && for i in advapi32; do
 LIBS="-l$i  $ac_func_search_save_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7203 "configure"
+#line 7207 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7210,7 +7214,7 @@ int main() {
 RegOpenKeyExA()
 ; return 0; }
 EOF
-if { (eval echo configure:7214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_RegOpenKeyExA="-l$i"
 break
@@ -7252,7 +7256,7 @@ esac
 
 if test "x$enable_win32_registry" != xno; then
   echo $ac_n "checking registry key on windows hosts""... $ac_c" 1>&6
-echo "configure:7256: checking registry key on windows hosts" >&5
+echo "configure:7260: checking registry key on windows hosts" >&5
   cat >> confdefs.h <<EOF
 #define WIN32_REGISTRY_KEY "$gcc_cv_win32_registry_key"
 EOF
@@ -7463,7 +7467,7 @@ esac
 # build->target assembler and hope that it will have the same features
 # as the host->target assembler we'll be using.
 echo $ac_n "checking what assembler to use""... $ac_c" 1>&6
-echo "configure:7467: checking what assembler to use" >&5
+echo "configure:7471: checking what assembler to use" >&5
 in_tree_gas=no
 gcc_cv_as=
 gcc_cv_gas_major_version=
@@ -7574,7 +7578,7 @@ esac
 # build->target linker and hope that it will have the same features
 # as the host->target linker we'll be using.
 echo $ac_n "checking what linker to use""... $ac_c" 1>&6
-echo "configure:7578: checking what linker to use" >&5
+echo "configure:7582: checking what linker to use" >&5
 in_tree_ld=no
 gcc_cv_ld=
 gcc_cv_gld_major_version=
@@ -7677,7 +7681,7 @@ esac
 # Figure out what nm we will be using.
 gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils
 echo $ac_n "checking what nm to use""... $ac_c" 1>&6
-echo "configure:7681: checking what nm to use" >&5
+echo "configure:7685: checking what nm to use" >&5
 in_tree_nm=no
 if test -x nm$host_exeext; then
        gcc_cv_nm=./nm$host_exeext
@@ -7700,7 +7704,7 @@ esac
 
 # Figure out what objdump we will be using.
 echo $ac_n "checking what objdump to use""... $ac_c" 1>&6
-echo "configure:7704: checking what objdump to use" >&5
+echo "configure:7708: checking what objdump to use" >&5
 in_tree_objdump=no
 if test -x objdump$host_exeext; then
        gcc_cv_objdump=./objdump$host_exeext
@@ -7725,7 +7729,7 @@ esac
 
 # Figure out what assembler alignment features are present.
 echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
-echo "configure:7729: checking assembler alignment features" >&5
+echo "configure:7733: checking assembler alignment features" >&5
 gcc_cv_as_alignment_features=none
 if test $in_tree_gas = yes; then
   # Gas version 2.6 and later support for .balign and .p2align.
@@ -7786,7 +7790,7 @@ fi
 echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6
 
 echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6
-echo "configure:7790: checking assembler subsection support" >&5
+echo "configure:7794: checking assembler subsection support" >&5
 gcc_cv_as_subsections=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -7835,7 +7839,7 @@ fi
 echo "$ac_t""$gcc_cv_as_subsections" 1>&6
 
 echo $ac_n "checking assembler weak support""... $ac_c" 1>&6
-echo "configure:7839: checking assembler weak support" >&5
+echo "configure:7843: checking assembler weak support" >&5
 gcc_cv_as_weak=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -7865,7 +7869,7 @@ fi
 echo "$ac_t""$gcc_cv_as_weak" 1>&6
 
 echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6
-echo "configure:7869: checking assembler hidden support" >&5
+echo "configure:7873: checking assembler hidden support" >&5
 gcc_cv_as_hidden=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -7946,7 +7950,7 @@ libgcc_visibility=$gcc_cv_as_hidden
 
 
 echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6
-echo "configure:7950: checking assembler leb128 support" >&5
+echo "configure:7954: checking assembler leb128 support" >&5
 gcc_cv_as_leb128=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -8000,7 +8004,7 @@ fi
 echo "$ac_t""$gcc_cv_as_leb128" 1>&6
 
 echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6
-echo "configure:8004: checking assembler eh_frame optimization" >&5
+echo "configure:8008: checking assembler eh_frame optimization" >&5
 gcc_cv_as_eh_frame=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -8090,7 +8094,7 @@ fi
 echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6
 
 echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6
-echo "configure:8094: checking assembler section merging support" >&5
+echo "configure:8098: checking assembler section merging support" >&5
 gcc_cv_as_shf_merge=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -8122,7 +8126,7 @@ fi
 echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6
 
 echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6
-echo "configure:8126: checking assembler thread-local storage support" >&5
+echo "configure:8130: checking assembler thread-local storage support" >&5
 gcc_cv_as_tls=no
 conftest_s=
 tls_first_major=
@@ -8332,7 +8336,7 @@ case "$target" in
   # All TARGET_ABI_OSF targets.
   alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
     echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6
-echo "configure:8331: checking assembler supports explicit relocations" >&5
+echo "configure:8340: checking assembler supports explicit relocations" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8385,7 +8389,7 @@ EOF
     ;;
   sparc*-*-*)
     echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6
-echo "configure:8384: checking assembler .register pseudo-op support" >&5
+echo "configure:8393: checking assembler .register pseudo-op support" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8413,7 +8417,7 @@ EOF
     fi
 
     echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6
-echo "configure:8412: checking assembler supports -relax" >&5
+echo "configure:8421: checking assembler supports -relax" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8441,7 +8445,7 @@ EOF
     fi
 
     echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6
-echo "configure:8440: checking assembler and linker support unaligned pc related relocs" >&5
+echo "configure:8449: checking assembler and linker support unaligned pc related relocs" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8468,7 +8472,7 @@ EOF
     fi
 
     echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6
-echo "configure:8467: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5
+echo "configure:8476: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8508,7 +8512,7 @@ EOF
     fi
 
     echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
-echo "configure:8507: checking for assembler offsetable %lo() support" >&5
+echo "configure:8516: checking for assembler offsetable %lo() support" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8547,7 +8551,7 @@ EOF
 
   i[34567]86-*-* | x86_64-*-*)
     echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
-echo "configure:8546: checking assembler instructions" >&5
+echo "configure:8555: checking assembler instructions" >&5
     gcc_cv_as_instructions=
     if test $in_tree_gas = yes ; then 
        if test $gcc_cv_gas_major_version -eq 2 \
@@ -8581,7 +8585,7 @@ EOF
     echo "$ac_t""$gcc_cv_as_instructions" 1>&6
 
     echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6
-echo "configure:8580: checking assembler GOTOFF in data directives" >&5
+echo "configure:8589: checking assembler GOTOFF in data directives" >&5
     gcc_cv_as_gotoff_in_data=no
     if test $in_tree_gas = yes ; then
        if test $gcc_cv_gas_major_version -eq 2 \
@@ -8615,7 +8619,7 @@ EOF
 
   ia64*-*-*)
     echo $ac_n "checking assembler supports ltoffx and ldxmov""... $ac_c" 1>&6
-echo "configure:8614: checking assembler supports ltoffx and ldxmov" >&5
+echo "configure:8623: checking assembler supports ltoffx and ldxmov" >&5
 if eval "test \"`echo '$''{'gcc_cv_as_ltoffx_ldxmov_relocs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8660,7 +8664,7 @@ EOF
 esac
 
 echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6
-echo "configure:8659: checking assembler dwarf2 debug_line support" >&5
+echo "configure:8668: checking assembler dwarf2 debug_line support" >&5
 gcc_cv_as_dwarf2_debug_line=no
 # ??? Not all targets support dwarf2 debug_line, even within a version
 # of gas.  Moreover, we need to emit a valid instruction to trigger any
@@ -8722,7 +8726,7 @@ fi
 echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6
 
 echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6
-echo "configure:8721: checking assembler --gdwarf2 support" >&5
+echo "configure:8730: checking assembler --gdwarf2 support" >&5
 gcc_cv_as_gdwarf2_flag=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -8756,7 +8760,7 @@ fi
 echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6
 
 echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6
-echo "configure:8755: checking assembler --gstabs support" >&5
+echo "configure:8764: checking assembler --gstabs support" >&5
 gcc_cv_as_gstabs_flag=no
 if test $in_tree_gas = yes ; then
    if test $gcc_cv_gas_major_version -eq 2 \
@@ -8789,7 +8793,7 @@ fi
 echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6
 
 echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6
-echo "configure:8788: checking linker read-only and read-write section mixing" >&5
+echo "configure:8797: checking linker read-only and read-write section mixing" >&5
 gcc_cv_ld_ro_rw_mix=unknown
 if test $in_tree_ld = yes ; then
   if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
@@ -8827,7 +8831,7 @@ fi
 echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6
 
 echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6
-echo "configure:8826: checking linker PT_GNU_EH_FRAME support" >&5
+echo "configure:8835: checking linker PT_GNU_EH_FRAME support" >&5
 gcc_cv_ld_eh_frame_hdr=no
 if test $in_tree_ld = yes ; then
   if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
@@ -8848,7 +8852,7 @@ fi
 echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1>&6
 
 echo $ac_n "checking linker position independent executable support""... $ac_c" 1>&6
-echo "configure:8847: checking linker position independent executable support" >&5
+echo "configure:8856: checking linker position independent executable support" >&5
 gcc_cv_ld_pie=no
 if test $in_tree_ld = yes ; then
   if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 15 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
@@ -8872,7 +8876,7 @@ echo "$ac_t""$gcc_cv_ld_pie" 1>&6
 case "$target" in
   mips*-*-*)
     echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6
-echo "configure:8871: checking whether libgloss uses STARTUP directives consistently" >&5
+echo "configure:8880: checking whether libgloss uses STARTUP directives consistently" >&5
     gcc_cv_mips_libgloss_startup=no
     gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss
     if test "x$exec_prefix" = xNONE; then
@@ -8900,7 +8904,7 @@ EOF
     echo "$ac_t""$gcc_cv_mips_libgloss_startup" 1>&6
 
     echo $ac_n "checking whether the assembler has explicit relocation support""... $ac_c" 1>&6
-echo "configure:8899: checking whether the assembler has explicit relocation support" >&5
+echo "configure:8908: checking whether the assembler has explicit relocation support" >&5
     if test x$gcc_cv_mips_explicit_relocs = x; then
       gcc_cv_mips_explicit_relocs=no
       if test x$gcc_cv_as != x; then
@@ -9095,7 +9099,7 @@ fi
 
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:9094: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:9103: checking whether to enable maintainer-specific portions of Makefiles" >&5
     # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
index b9e4832..501bdb7 100644 (file)
@@ -1215,6 +1215,10 @@ cat > configargs.h <<EOF
 /* Generated automatically. */
 static const char configuration_arguments[] = "$gcc_config_arguments";
 static const char thread_model[] = "$thread_file";
+
+static const struct {
+  const char *name, *value;
+} configure_default_options[] = $configure_default_options;
 EOF
 changequote([,])dnl
 
index 051a65b..7dbb9b9 100644 (file)
@@ -721,12 +721,21 @@ Microsoft Win32 API thread support.
 @end table
 
 @item --with-cpu=@var{cpu}
-Specify which cpu variant the
-compiler should generate code for by default.  This is currently
-only supported on some ports, specifically arm, powerpc, and
-SPARC@.  If configure does not recognize the model name (e.g.@: arm700,
-603e, or ultrasparc) you provide, please check the
-@file{gcc/config.gcc} script for a complete list of supported models.
+Specify which cpu variant the compiler should generate code for by default.
+@var{cpu} will be used as the default value of the @option{-mcpu=} switch.
+This option is only supported on some targets, including ARM, i386, PowerPC,
+and SPARC@.
+
+@item --with-schedule=@var{cpu}
+@itemx --with-arch=@var{cpu}
+@itemx --with-tune=@var{cpu}
+@itemx --with-abi=@var{abi}
+@itemx --with-float=@var{type}
+These configure options provide default values for the @option{-mschedule=},
+@option{-march=}, @option{-mtune=}, and @option{-mabi=} options and for
+@option{-mhard-float} or @option{-msoft-float}.  As with @option{--with-cpu},
+which switches will be accepted and acceptable values of the arguments depend
+on the target.
 
 @item --enable-altivec
 Specify that the target supports AltiVec vector enhancements.  This
index ba8e3b1..88f2085 100644 (file)
@@ -181,6 +181,25 @@ that the other specs are easier to write.
 
 Do not define this macro if it does not need to do anything.
 
+@findex OPTION_DEFAULT_SPECS
+@item OPTION_DEFAULT_SPECS
+A list of specs used to support configure-time default options (i.e.@:
+@option{--with} options) in the driver.  It should be a suitable initializer
+for an array of structures, each containing two strings, without the
+outermost pair of surrounding braces.
+
+The first item in the pair is the name of the default.  This must match
+the code in @file{config.gcc} for the target.  The second item is a spec
+to apply if a default with this name was specified.  The string
+@samp{%(VALUE)} in the spec will be replaced by the value of the default
+everywhere it occurs.
+
+The driver will apply these specs to its own command line between loading
+default @file{specs} files and processing @code{DRIVER_SELF_SPECS}, using
+the same mechanism as @code{DRIVER_SELF_SPECS}.
+
+Do not define this macro if it does not need to do anything.
+
 @findex CPP_SPEC
 @item CPP_SPEC
 A C string constant that tells the GCC driver program options to
index e71a0e8..04ac6c7 100644 (file)
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -325,6 +325,7 @@ static char *save_string    PARAMS ((const char *, int));
 static void set_collect_gcc_options PARAMS ((void));
 static int do_spec_1           PARAMS ((const char *, int, const char *));
 static int do_spec_2           PARAMS ((const char *));
+static void do_option_spec     PARAMS ((const char *, const char *));
 static void do_self_spec       PARAMS ((const char *));
 static const char *find_file   PARAMS ((const char *));
 static int is_directory                PARAMS ((const char *, const char *, int));
@@ -804,6 +805,19 @@ static const char *const multilib_defaults_raw[] = MULTILIB_DEFAULTS;
 
 static const char *const driver_self_specs[] = { DRIVER_SELF_SPECS };
 
+#ifndef OPTION_DEFAULT_SPECS
+#define OPTION_DEFAULT_SPECS { "", "" }
+#endif
+
+struct default_spec
+{
+  const char *name;
+  const char *spec;
+};
+
+static const struct default_spec
+  option_default_specs[] = { OPTION_DEFAULT_SPECS };
+
 struct user_specs
 {
   struct user_specs *next;
@@ -4257,6 +4271,57 @@ do_spec_2 (spec)
    of the switches/n_switches array.  */
 
 static void
+do_option_spec (name, spec)
+     const char *name;
+     const char *spec;
+{
+  unsigned int i, value_count, value_len;
+  const char *p, *q, *value;
+  char *tmp_spec, *tmp_spec_p;
+
+  if (configure_default_options[0].name == NULL)
+    return;
+
+  for (i = 0; i < ARRAY_SIZE (configure_default_options); i++)
+    if (strcmp (configure_default_options[i].name, name) == 0)
+      break;
+  if (i == ARRAY_SIZE (configure_default_options))
+    return;
+
+  value = configure_default_options[i].value;
+  value_len = strlen (value);
+
+  /* Compute the size of the final spec.  */
+  value_count = 0;
+  p = spec;
+  while ((p = strstr (p, "%(VALUE)")) != NULL)
+    {
+      p ++;
+      value_count ++;
+    }
+
+  /* Replace each %(VALUE) by the specified value.  */
+  tmp_spec = alloca (strlen (spec) + 1
+                    + value_count * (value_len - strlen ("%(VALUE)")));
+  tmp_spec_p = tmp_spec;
+  q = spec;
+  while ((p = strstr (q, "%(VALUE)")) != NULL)
+    {
+      memcpy (tmp_spec_p, q, p - q);
+      tmp_spec_p = tmp_spec_p + (p - q);
+      memcpy (tmp_spec_p, value, value_len);
+      tmp_spec_p += value_len;
+      q = p + strlen ("%(VALUE)");
+    }
+  strcpy (tmp_spec_p, q);
+
+  do_self_spec (tmp_spec);
+}
+
+/* Process the given spec string and add any new options to the end
+   of the switches/n_switches array.  */
+
+static void
 do_self_spec (spec)
      const char *spec;
 {
@@ -6036,6 +6101,12 @@ main (argc, argv)
   if (access (specs_file, R_OK) == 0)
     read_specs (specs_file, TRUE);
 
+  /* Process any configure-time defaults specified for the command line
+     options, via OPTION_DEFAULT_SPECS.  */
+  for (i = 0; i < ARRAY_SIZE (option_default_specs); i++)
+    do_option_spec (option_default_specs[i].name,
+                   option_default_specs[i].spec);
+
   /* Process DRIVER_SELF_SPECS, adding any new options to the end
      of the command line.  */