[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