[patch] top level configure.in reorg, part 3
Nathanael Nerode
neroden@doctormoo.dyndns.org
Sun Jun 23 14:37:00 GMT 2002
This is the next significant reorganization for top level configure.in.
After this, it's in a form where I can keep track of what I'm doing.
;-) And more importantly, the bits which I'm ripping out and replacing
when I autoconfiscate are bascially consecutive now, rather than all over the
place.
There's a little bit of reformatting and a couple of improved comments, too.
This requires as prerequisite patches:
http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01910.html
http://gcc.gnu.org/ml/gcc-patches/2002-06/msg01738.html
Tested on i686-pc-linux-gnu, still doesn't break anything.
2002-06-23 Nathanael Nerode <neroden@twcny.rr.com>
* configure.in: Reorganize.
--- configure.in Sun Jun 23 17:03:27 2002
+++ configure.in.interesting Sun Jun 23 17:19:57 2002
@@ -127,60 +127,6 @@
is_cross_compiler=yes
fi
-# We default to --with-shared on platforms where -fpic is meaningless.
-# Well, we don't yet, but we will.
-if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
- case "${target}" in
- alpha*-dec-osf*) enable_shared=yes ;;
- alpha*-*-linux*) enable_shared=yes ;;
- mips-sgi-irix5*) enable_shared=yes ;;
- *) enable_shared=no ;;
- esac
-fi
-
-# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
-# them automatically.
-case "${host}" in
- hppa*64*-*-hpux11*)
- withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
- ;;
-esac
-
-case "${enable_shared}" in
- yes) shared=yes ;;
- no) shared=no ;;
- "") shared=no ;;
- *) shared=yes ;;
-esac
-
-skipdirs=
-use_gnu_ld=
-use_gnu_as=
-
-# some tools are so dependent upon X11 that if we're not building with X,
-# it's not even worth trying to configure, much less build, that tool.
-
-case ${with_x} in
- yes | "") # the default value for this tree is that X11 is available
- ;;
- no)
- skipdirs="${skipdirs} tk libgui"
- ;;
- *)
- echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
- ;;
-esac
-
-# Some tools are only suitable for building in a "native" situation.
-# Those are added when we have a host==target configuration. For cross
-# toolchains, we add some directories that should only be useful in a
-# cross-compiler.
-
-case $is_cross_compiler in
- no) skipdirs="${skipdirs} ${cross_only}" ;;
- yes) skipdirs="${skipdirs} ${native_only}" ;;
-esac
-
# We always want to use the same name for this directory, so that dejagnu
# can reliably find it.
target_subdir=${target_alias}
@@ -205,70 +151,42 @@
fi
fi
-copy_dirs=
+# Skipdirs are removed silently.
+skipdirs=
+# Noconfigdirs are removed loudly.
+noconfigdirs=""
-# Handle --with-headers=XXX. The contents of the named directory are
-# copied to $(tooldir)/sys-include.
-if test x"${with_headers}" != x ; then
- if test x${is_cross_compiler} = xno ; then
- echo 1>&2 '***' --with-headers is only supported when cross compiling
- exit 1
- fi
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+use_gnu_ld=
+# Make sure we don't let GNU ld be added if we didn't want it.
+if test x$with_gnu_ld = xno ; then
+ use_gnu_ld=no
+ noconfigdirs="$noconfigdirs ld"
fi
-# Handle --with-libs=XXX. Multiple directories are permitted. The
-# contents are copied to $(tooldir)/lib.
-if test x"${with_libs}" != x ; then
- if test x${is_cross_compiler} = xno ; then
- echo 1>&2 '***' --with-libs is only supported when cross compiling
- exit 1
- fi
- # Copy the libraries in reverse order, so that files in the first named
- # library override files in subsequent libraries.
- case "${exec_prefixoption}" in
- "") x=${prefix} ;;
- *) x=${exec_prefix} ;;
- esac
- for l in ${with_libs}; do
- copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
- done
+use_gnu_as=
+# Make sure we don't let GNU as be added if we didn't want it.
+if test x$with_gnu_as = xno ; then
+ use_gnu_as=no
+ noconfigdirs="$noconfigdirs gas"
fi
-# Handle ${copy_dirs}
-set fnord ${copy_dirs}
-shift
-while test $# != 0 ; do
- if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
- :
- else
- echo Copying $1 to $2
-
- # Use the install script to create the directory and all required
- # parent directories.
- if test -d $2 ; then
- :
- else
- echo >config.temp
- ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
- fi
+# some tools are so dependent upon X11 that if we're not building with X,
+# it's not even worth trying to configure, much less build, that tool.
- # Copy the directory, assuming we have tar.
- # FIXME: Should we use B in the second tar? Not all systems support it.
- (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+case ${with_x} in
+ yes | "") ;; # the default value for this tree is that X11 is available
+ no) skipdirs="${skipdirs} tk libgui" ;;
+ *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
+esac
- # It is the responsibility of the user to correctly adjust all
- # symlinks. If somebody can figure out how to handle them correctly
- # here, feel free to add the code.
+# Some tools are only suitable for building in a "native" situation.
+# Remove these if host!=target. Similarly, some are only suitable
+# for cross toolchains; remove if host=target.
- echo $1 > $2/COPIED
- fi
- shift; shift
-done
+case $is_cross_compiler in
+ no) skipdirs="${skipdirs} ${cross_only}" ;;
+ yes) skipdirs="${skipdirs} ${native_only}" ;;
+esac
# If both --with-headers and --with-libs are specified, default to
# --without-newlib.
@@ -284,35 +202,21 @@
yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
esac
-# Default to using --with-stabs for certain targets.
-if test x${with_stabs} = x ; then
- case "${target}" in
- mips*-*-irix6*)
- ;;
- mips*-*-* | alpha*-*-osf*)
- with_stabs=yes;
- withoptions="${withoptions} --with-stabs"
- ;;
- esac
-fi
-
# Configure extra directories which are host specific
case "${host}" in
- i[3456]86-*-go32*)
- configdirs="$configdirs dosrel" ;;
- i[3456]86-*-mingw32*)
- configdirs="$configdirs dosrel" ;;
- *-cygwin*)
- configdirs="$configdirs libtermcap dosrel" ;;
+ i[3456]86-*-go32*)
+ configdirs="$configdirs dosrel" ;;
+ i[3456]86-*-mingw32*)
+ configdirs="$configdirs dosrel" ;;
+ *-cygwin*)
+ configdirs="$configdirs libtermcap dosrel" ;;
esac
# Remove more programs from consideration, based on the host or
# target this usually means that a port of the program doesn't
# exist yet.
-noconfigdirs=""
-
case "${host}" in
hppa*64*-*-*)
noconfigdirs="$noconfigdirs byacc"
@@ -786,18 +690,6 @@
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
esac
-# Make sure we don't let GNU ld be added if we didn't want it.
-if test x$with_gnu_ld = xno ; then
- use_gnu_ld=no
- noconfigdirs="$noconfigdirs ld"
-fi
-
-# Make sure we don't let GNU as be added if we didn't want it.
-if test x$with_gnu_as = xno ; then
- use_gnu_as=no
- noconfigdirs="$noconfigdirs gas"
-fi
-
# Figure out what language subdirectories are present.
# Look if the user specified --enable-languages="..."; if not, use
# the environment variable $LANGUAGES if defined. $LANGUAGES might
@@ -1001,6 +893,83 @@
echo " (Any other directories should still work fine.)" 1>&2
fi
+case "$host" in
+ *msdosdjgpp*)
+ enable_gdbtk=no ;;
+esac
+# Determine whether gdb needs tk/tcl or not.
+case "$enable_gdbtk" in
+ no)
+ GDB_TK="" ;;
+ *)
+ GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
+esac
+
+copy_dirs=
+
+# Handle --with-headers=XXX. The contents of the named directory are
+# copied to $(tooldir)/sys-include.
+if test x"${with_headers}" != x ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-headers is only supported when cross compiling
+ exit 1
+ fi
+ case "${exec_prefixoption}" in
+ "") x=${prefix} ;;
+ *) x=${exec_prefix} ;;
+ esac
+ copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
+fi
+
+# Handle --with-libs=XXX. Multiple directories are permitted. The
+# contents are copied to $(tooldir)/lib.
+if test x"${with_libs}" != x ; then
+ if test x${is_cross_compiler} = xno ; then
+ echo 1>&2 '***' --with-libs is only supported when cross compiling
+ exit 1
+ fi
+ # Copy the libraries in reverse order, so that files in the first named
+ # library override files in subsequent libraries.
+ case "${exec_prefixoption}" in
+ "") x=${prefix} ;;
+ *) x=${exec_prefix} ;;
+ esac
+ for l in ${with_libs}; do
+ copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
+ done
+fi
+
+# Handle ${copy_dirs}
+set fnord ${copy_dirs}
+shift
+while test $# != 0 ; do
+ if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
+ :
+ else
+ echo Copying $1 to $2
+
+ # Use the install script to create the directory and all required
+ # parent directories.
+ if test -d $2 ; then
+ :
+ else
+ echo >config.temp
+ ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
+ fi
+
+ # Copy the directory, assuming we have tar.
+ # FIXME: Should we use B in the second tar? Not all systems support it.
+ (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
+
+ # It is the responsibility of the user to correctly adjust all
+ # symlinks. If somebody can figure out how to handle them correctly
+ # here, feel free to add the code.
+
+ echo $1 > $2/COPIED
+ fi
+ shift; shift
+done
+
# Work in distributions that contain no compiler tools, like Autoconf.
tentative_cc=""
if test -d ${srcdir}/config ; then
@@ -1298,16 +1267,43 @@
withoptions="$withoptions --with-newlib"
fi
-case "$host" in
- *msdosdjgpp*)
- enable_gdbtk=no ;;
+# We default to --with-shared on platforms where -fpic is meaningless.
+# Well, we don't yet, but we will.
+if false && test "${host}" = "${target}" && test x${enable_shared} = x ; then
+ case "${target}" in
+ alpha*-dec-osf*) enable_shared=yes ;;
+ alpha*-*-linux*) enable_shared=yes ;;
+ mips-sgi-irix5*) enable_shared=yes ;;
+ *) enable_shared=no ;;
+ esac
+fi
+
+case "${enable_shared}" in
+ yes) shared=yes ;;
+ no) shared=no ;;
+ "") shared=no ;;
+ *) shared=yes ;;
esac
-# Determine whether gdb needs tk/tcl or not.
-case "$enable_gdbtk" in
- no)
- GDB_TK="" ;;
- *)
- GDB_TK="all-tcl all-tk all-itcl all-tix all-libgui" ;;
+
+
+# Default to using --with-stabs for certain targets.
+if test x${with_stabs} = x ; then
+ case "${target}" in
+ mips*-*-irix6*)
+ ;;
+ mips*-*-* | alpha*-*-osf*)
+ with_stabs=yes;
+ withoptions="${withoptions} --with-stabs"
+ ;;
+ esac
+fi
+
+# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
+# them automatically.
+case "${host}" in
+ hppa*64*-*-hpux11*)
+ withoptions="$withoptions -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
+ ;;
esac
# post-target:
More information about the Gdb-patches
mailing list