OSDN Git Service

2000-09-28 David O'Brien <obrien@FreeBSD.org>
[pf3gnuchains/gcc-fork.git] / configure.in
index 7261234..a474278 100644 (file)
@@ -41,7 +41,7 @@
 
 # these libraries are used by various programs built for the host environment
 #
-host_libs="intl mmalloc libiberty opcodes bfd readline gash db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui"
+host_libs="intl mmalloc libiberty opcodes bfd readline gash db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui zlib"
 
 if [ "${enable_gdbgui}" = "yes" ] ; then
        host_libs="${host_libs} libgui"
@@ -51,10 +51,10 @@ fi
 if [ "${enable_libstdcxx_v3}" = "yes" ] && test -d $srcdir/libstdc++-v3; then
         libstdcxx_version="target-libstdc++-v3"
        # Don't use libstdc++-v3's flags to configure/build itself.
-       libstdcxx_flags='`case $$dir in libstdc++-v3) ;; *) test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/mkcheck && $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/mkcheck 2 $$r/$(TARGET_SUBDIR)/libstdc++-v3 $$s/libstdc++-v3 | sed -e '"'s/-I/-isystem /g'"' ;; esac` -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src/.libs'
+       libstdcxx_flags='`case $$dir in libstdc++-v3) ;; *) cat $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/libstdc++.INC 2>/dev/null || : ;; esac` -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src -L$$r/$(TARGET_SUBDIR)/libstd++-v3/src/.libs'
 else
         libstdcxx_version="target-libio target-libstdc++"
-        libstdcxx_flags='-isystem $$s/libstdc++ -isystem $$s/libstdc++/std -isystem $$s/libstdc++/stl -isystem $$s/libio/ -isystem $$s/libio/stdio -L$$r/$(TARGET_SUBDIR)/libstdc++'
+        libstdcxx_flags='-isystem $$s/libstdc++ -isystem $$s/libstdc++/std -isystem $$s/libstdc++/stl -isystem $$s/libio -isystem $$r/$(TARGET_SUBDIR)/libio -L$$r/$(TARGET_SUBDIR)/libstdc++'
 fi
 
 # these tools are built for the host environment
@@ -284,6 +284,14 @@ if false && [ "${host}" = "${target}" ] && [ x${enable_shared} = x ]; then
   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 ;;
@@ -352,7 +360,7 @@ case "${target}" in
   powerpc-*-netware*)
     target_makefile_frag="${target_makefile_frag} config/mt-netware"
     ;;
-  *-*-linux-gnu*)
+  *-*-linux*)
     target_makefile_frag="${target_makefile_frag} config/mt-linux"
     ;;
   *-*-aix4.[3456789]* | *-*-aix[56789].*)
@@ -543,6 +551,9 @@ esac
 noconfigdirs=""
 
 case "${host}" in
+  hppa*64*-*-*)
+    noconfigdirs="$noconfigdirs byacc"
+    ;;
   i[3456]86-*-vsta)
     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
     ;;
@@ -684,7 +695,7 @@ case "${target}" in
     noconfigdirs="$noconfigdirs target-libg++ ${libstdcxx_version} target-librx target-libgloss target-libffi"
     ;;
   hppa*-*-*elf* | \
-  hppa*-*-linux-gnu* | \
+  hppa*-*-linux* | \
   hppa*-*-lites* | \
   hppa*64*-*-*)
     # Do configure ld/binutils/gas for this case.
@@ -1232,28 +1243,39 @@ else
 fi
 
 FLAGS_FOR_TARGET=
-if test -d ${topsrcdir}/gcc; then
-  # Directories specified with -B are searched for libraries after those
-  # specified with -L, but for headers (in sub-directory `include')
-  # before those specified with -I and -isystem.  Fortunately, we don't
-  # expect include directories to exist in build_tooldir/{bin,lib} (see
-  # below), and we want gcc/include to be searched first.
-  FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/gcc/'
-fi
-
 case " $skipdirs " in
 *" target-newlib "*) ;;
 *)
+ case " $target_configdirs " in
+ *" newlib "*)
+  case " $targargs " in
+  *" --with-newlib "*)
    case "$target" in
    *-cygwin*)
      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;;
    esac
 
-   # If we're using a pre-built compiler (which is the case for
-   # Canadian crosses or when gcc isn't being built), don't discard
-   # standard headers.
-   if test "${build}" = "${host}" && test ! -d ${topsrcdir}/gcc; then
+   # If we're not building GCC, don't discard standard headers.
+   if test -d ${topsrcdir}/gcc; then
      FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
+
+     if test "${build}" != "${host}"; then
+       # On Canadian crosses, CC_FOR_TARGET will have already been set
+       # by `configure', so we won't have an opportunity to add -Bgcc/
+       # to it.  This is right: we don't want to search that directory
+       # for binaries, but we want the header files in there, so add
+       # them explicitly.
+       FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
+
+       # Someone might think of using the pre-installed headers on
+       # Canadian crosses, in case the installed compiler is not fully
+       # compatible with the compiler being built.  In this case, it
+       # would be better to flag an error than risking having
+       # incompatible object files being constructed.  We can't
+       # guarantee that an error will be flagged, but let's hope the
+       # compiler will do it, when presented with incompatible header
+       # files.
+     fi
    fi
 
    # If we're building newlib, use its generic headers last, but search
@@ -1261,6 +1283,10 @@ case " $skipdirs " in
    # switch).
    FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
    ;;
+  esac
+  ;;
+ esac
+ ;;
 esac
 
 # On Canadian crosses, we'll be searching the right directories for
@@ -1282,7 +1308,7 @@ fi
 if test "x${CC_FOR_TARGET+set}" = xset; then
   :
 elif test -d ${topsrcdir}/gcc; then
-  CC_FOR_TARGET='$$r/gcc/xgcc'
+  CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
 elif test "$host" = "$target"; then
   CC_FOR_TARGET='$(CC)'
 else
@@ -1297,10 +1323,8 @@ esac
 
 if test "x${CHILL_FOR_TARGET+set}" = xset; then
   :
-elif test -d ${topsrcdir}/gcc &&
-   echo ",${enable_languages-`echo ${LANGUAGES-CHILL} | tr ' ' ','`}," |
-   grep ',CHILL,' > /dev/null ; then
-  CHILL_FOR_TARGET='$$r/gcc/xgcc -L$$r/gcc/ch/runtime/'
+elif test -d ${topsrcdir}/gcc; then
+  CHILL_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/ -L$$r/gcc/ch/runtime/'
 elif test "$host" = "$target"; then
   CHILL_FOR_TARGET='$(CC)'
 else
@@ -1313,10 +1337,8 @@ esac
 
 if test "x${CXX_FOR_TARGET+set}" = xset; then
   :
-elif test -d ${topsrcdir}/gcc &&
-   echo ",${enable_languages-`echo ${LANGUAGES-c++} | tr ' ' ','`}," |
-   grep ',c[+][+],' > /dev/null ; then
-  CXX_FOR_TARGET='$$r/gcc/g++ -nostdinc++ '$libstdcxx_flags
+elif test -d ${topsrcdir}/gcc; then
+  CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
 elif test "$host" = "$target"; then
   CXX_FOR_TARGET='$(CXX)'
 else