* configure.in (h8300*-*-rtems*): Disable libf2c and libgcj.
[deliverable/binutils-gdb.git] / configure.in
index b3d28b97155d6bead865f5f852c17ae339d9d0b8..42e4bfe81d1633a08696286634e08da62fef93ea 100644 (file)
 
 # 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 zlib"
-
-if [ "${enable_gdbgui}" = "yes" ] ; then
-       host_libs="${host_libs} libgui"
-fi
+host_libs="intl mmalloc libiberty opcodes bfd readline db tcl tk tcl8.1 tk8.1 tclX itcl tix libgui zlib"
 
 libstdcxx_version="target-libstdc++-v3"
 # Don't use libstdc++-v3's flags to configure/build itself.
@@ -97,7 +93,7 @@ target_tools="target-examples target-groff target-gperf"
 #
 # This must be a single line because of the way it is searched by grep in
 # the code below.
-native_only="autoconf automake libtool cvssrc emacs emacs19 fileutils find gawk gettext grep gzip hello indent ispell m4 rcs recode sed shellutils tar textutils gash uudecode wdiff gprof target-groff guile perl apache inet time ash bash bzip2 prms snavigator gnuserv target-gperf"
+native_only="autoconf automake libtool cvssrc emacs emacs19 fileutils find gawk gettext grep gzip hello indent ispell m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl apache inet time ash bash bzip2 prms snavigator gnuserv target-gperf"
 
 # directories to be built in a cross environment only
 #
@@ -123,30 +119,47 @@ appdirs=""
 # per-host:
 
 # Work in distributions that contain no compiler tools, like Autoconf.
+tentative_cc=""
 if [ -d ${srcdir}/config ]; then
 case "${host}" in
   m68k-hp-hpux*)
+    # Avoid "too much defining" errors from HPUX compiler.
+    tentative_cc="cc -Wp,-H256000"
     host_makefile_frag="${host_makefile_frag} config/mh-hp300"
     ;;
   m68k-apollo-sysv*)
+    tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
     host_makefile_frag="${host_makefile_frag} config/mh-apollo68"
     ;;
   m68k-apollo-bsd*)
+    #None of the Apollo compilers can compile gas or binutils.  The preprocessor
+    # chokes on bfd, the compiler won't let you assign integers to enums, and
+    # other problems.  Defining CC to gcc is a questionable way to say "don't use
+    # the apollo compiler" (the preferred version of GCC could be called cc,
+    # or whatever), but I'm not sure leaving CC as cc is any better...
+    #CC=cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_STDARG
+    tentative_cc=gcc
     host_makefile_frag="${host_makefile_frag} config/mh-a68bsd"
     ;;
   m88k-dg-dgux*)
+    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
     host_makefile_frag="${host_makefile_frag} config/mh-dgux"
     ;;
   m88k-harris-cxux*)
+    # Under CX/UX, we want to tell the compiler to use ANSI mode.
+    tentative_cc="cc -Xa"
     host_makefile_frag="${host_makefile_frag} config/mh-cxux"
     ;;
   m88k-motorola-sysv*)
     host_makefile_frag="${host_makefile_frag} config/mh-delta88"
     ;;
   mips*-dec-ultrix*)
+    tentative_cc="cc -Wf,-XNg1000"
     host_makefile_frag="${host_makefile_frag} config/mh-decstation"
     ;;
   mips*-nec-sysv4*)
+    # The C compiler on NEC MIPS SVR4 needs bigger tables.
+    tentative_cc="cc -ZXNd=5000 -ZXNg=1000"
     host_makefile_frag="${host_makefile_frag} config/mh-necv4"
     ;;
   mips*-sgi-irix6*)
@@ -156,6 +169,10 @@ case "${host}" in
     host_makefile_frag="${host_makefile_frag} config/mh-irix5"
     ;;
   mips*-sgi-irix4*)
+    # Tell compiler to use K&R C.  We can't compile under the SGI Ansi
+    # environment.  Also bump switch table size so that cp-parse will
+    # compile.  Bump string length limit so linker builds.
+    tentative_cc="cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000 -Wf,-XNl8192"
     host_makefile_frag="${host_makefile_frag} config/mh-irix4"
     ;;
   mips*-sgi-irix3*)
@@ -165,27 +182,54 @@ case "${host}" in
     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
     ;;
   mips*-*-sysv*)
+    # This is for a MIPS running RISC/os 4.52C.
+
+    # This is needed for GDB, but needs to be in the top-level make because
+    # if a library is compiled with the bsd headers and gets linked with the
+    # sysv system libraries all hell can break loose (e.g. a jmp_buf might be
+    # a different size).
+    # ptrace(2) apparently has problems in the BSD environment.  No workaround is
+    # known except to select the sysv environment.  Could we use /proc instead?
+    # These "sysv environments" and "bsd environments" often end up being a pain.
+    #
+    # This is not part of CFLAGS because perhaps not all C compilers have this
+    # option.
+    tentative_cc="cc -systype sysv"
     host_makefile_frag="${host_makefile_frag} config/mh-riscos"
     ;;
   i370-ibm-opened*)
+    tentative_cc="c89"
     host_makefile_frag="${host_makefile_frag} config/mh-openedition"
     ;;
   i[3456]86-*-sysv5*)
     host_makefile_frag="${host_makefile_frag} config/mh-sysv5"
     ;;
   i[3456]86-*-dgux*)
+    tentative_cc="gcc -Wall -ansi -D__using_DGUX"
     host_makefile_frag="${host_makefile_frag} config/mh-dgux386"
     ;;
   i[3456]86-ncr-sysv4.3*)
+    # The MetaWare compiler will generate a copyright message unless you
+    # turn it off by adding the -Hnocopyr flag.
+    tentative_cc="cc -Hnocopyr"
     host_makefile_frag="${host_makefile_frag} config/mh-ncrsvr43"
     ;;
   i[3456]86-ncr-sysv4*)
+    # for an NCR 3000 (i486/SVR4) system.
+    # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc.
+    # This compiler not only emits obnoxious copyright messages every time
+    # you run it, but it chokes and dies on a whole bunch of GNU source
+    # files.  Default to using the AT&T compiler installed in /usr/ccs/ATT/cc.
+    tentative_cc="/usr/ccs/ATT/cc"
     host_makefile_frag="${host_makefile_frag} config/mh-ncr3000"
     ;;
   i[3456]86-*-sco3.2v5*)
     host_makefile_frag="${host_makefile_frag} config/mh-sysv"
     ;;
   i[3456]86-*-sco*)
+    # The native C compiler botches some simple uses of const.  Unfortunately,
+    # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h.
+    tentative_cc="cc -Dconst="
     host_makefile_frag="${host_makefile_frag} config/mh-sco"
     ;;
   i[3456]86-*-udk*)
@@ -212,32 +256,38 @@ case "${host}" in
   *-interix*)
     host_makefile_frag="${host_makefile_frag} config/mh-interix"
     ;;
-  *-windows*)
-    host_makefile_frag="${host_makefile_frag} config/mh-windows"
-    ;;
   vax-*-ultrix2*)
-    host_makefile_frag="${host_makefile_frag} config/mh-vaxult2"
+    # The old BSD pcc isn't up to compiling parts of gdb so use gcc
+    tentative_cc=gcc
     ;;
   *-*-solaris2*)
     host_makefile_frag="${host_makefile_frag} config/mh-solaris"
     ;;
   m68k-sun-sunos*)
-    host_makefile_frag="${host_makefile_frag} config/mh-sun3"
+    # Sun's C compiler needs the -J flag to be able to compile cp-parse.c
+    # without overflowing the jump tables (-J says to use a 32 bit table)
+    tentative_cc="cc -J"
     ;;
   *-hp-hpux[78]*)
+    tentative_cc="cc -Wp,-H256000"
     host_makefile_frag="${host_makefile_frag} config/mh-hpux8"
     ;;
   *-hp-hpux*)
+    tentative_cc="cc -Wp,-H256000"
     host_makefile_frag="${host_makefile_frag} config/mh-hpux"
     ;;
   *-*-hiux*)
+    tentative_cc="cc -Wp,-H256000"
     host_makefile_frag="${host_makefile_frag} config/mh-hpux"
     ;;
   rs6000-*-lynxos*)
+    # /bin/cc is less than useful for our purposes.  Always use GCC
+    tentative_cc="/usr/cygnus/progressive/bin/gcc"
     host_makefile_frag="${host_makefile_frag} config/mh-lynxrs6k"
     ;;
   *-*-lynxos*)
-    host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
+    # /bin/cc is less than useful for our purposes.  Always use GCC
+    tentative_cc="/bin/gcc"
     ;;
   *-*-sysv4*)
     host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
@@ -250,6 +300,7 @@ fi
 
 # If we aren't going to be using gcc, see if we can extract a definition
 # of CC from the fragment.
+# Actually, use the 'pre-extracted' version above.
 if [ -z "${CC}" ] && [ "${build}" = "${host}" ]; then
   IFS="${IFS=  }"; save_ifs="$IFS"; IFS="${IFS}:"
   found=
@@ -261,11 +312,8 @@ if [ -z "${CC}" ] && [ "${build}" = "${host}" ]; then
     fi
   done
   IFS="$save_ifs"
-  if [ -z "${found}" ] && [ -n "${host_makefile_frag}" ] && [ -f "${srcdir}/${host_makefile_frag}" ]; then
-    xx=`sed -n -e 's/^[        ]*CC[   ]*=[    ]*\(.*\)$/\1/p' < ${srcdir}/${host_makefile_frag}`
-    if [ -n "${xx}" ] ; then
-      CC=$xx
-    fi
+  if [ -z "${found}" ] && [ -n "${tentative_cc}" ] ; then
+    CC=$tentative_cc
   fi
 fi
 
@@ -295,49 +343,6 @@ case "${enable_shared}" in
   *) shared=yes ;;
 esac
 
-if [ x${shared} = xyes ]; then
-  case "${host}" in
-    alpha*-*-linux*)
-      host_makefile_frag="${host_makefile_frag} config/mh-elfalphapic"
-      ;;
-    arm*-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-armpic"
-      ;;
-    parisc*-*-* | hppa*-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-papic"
-      ;;
-    i[3456]86-*-cygwin*)
-      # We don't want -fPIC on Cygwin.
-      ;;
-    i[3456]86-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-x86pic"
-      ;;
-    i370-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-i370pic"
-      ;;
-    ia64-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-ia64pic"
-      ;;
-    sparc64-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-sparcpic"
-      ;;
-    powerpc*-*-aix*)
-      # We don't want -fPIC on AIX.
-      ;;
-    powerpc*-*-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-ppcpic"
-      ;;
-    s390-* | s390x-*)
-      host_makefile_frag="${host_makefile_frag} config/mh-s390pic"
-      ;;
-    *-*-*)
-      if test -f ${srcdir}/config/mh-${host_cpu}pic; then
-        host_makefile_frag="${host_makefile_frag} config/mh-${host_cpu}pic"
-      fi
-      ;;
-  esac
-fi
-
 rm -f mh-frag
 if [ -n "${host_makefile_frag}" ] ; then
   for f in ${host_makefile_frag}
@@ -409,7 +414,7 @@ case ${with_x} in
   yes | "")  # the default value for this tree is that X11 is available
        ;;
   no)
-       skipdirs="${skipdirs} tk libgui gash"
+       skipdirs="${skipdirs} tk libgui"
        ;;
   *)
        echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
@@ -639,6 +644,12 @@ case "${target}" in
     ;;
   *-*-rtems*)
     noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+    case ${target} in
+       h8300*-*-* | h8500-*-*)
+         noconfigdirs="$noconfigdirs target-libf2c"
+          ;;
+        *) ;;
+    esac
     ;;
   *-*-vxworks*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
@@ -790,6 +801,12 @@ case "${target}" in
   i[34567]86-*-freebsd*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
+  s390*-*-linux*)
+    # The libffi port is not yet in the GCC tree
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
+    # linux has rx in libc
+    skipdirs="$skipdirs target-librx"
+    ;;
   *-*-linux*)
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     # linux has rx in libc
@@ -967,11 +984,13 @@ case "${target}" in
     if [ x${is_cross_compiler} != xno ] ; then
           target_configdirs="${target_configdirs} target-libstub target-cygmon"
     fi
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   sparc64-*-elf*)
     if [ x${is_cross_compiler} != xno ] ; then
           target_configdirs="${target_configdirs} target-libstub target-cygmon"
     fi
+    noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
   sparclite-*-*)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -988,15 +1007,6 @@ case "${target}" in
     fi
     ;;
   sparc-*-solaris*)
-    case "${host}" in
-    sparc-*-solaris2.8)
-      # According to Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, libjava
-      # won't build correctly on Solaris 8 if there's a
-      # previously-installed version of GCC in the configured prefix.
-      # This problem does not show up on earlier versions of Solaris.
-      noconfigdirs="$noconfigdirs ${libgcj}"
-      ;;
-    esac
     ;;
   v810-*-*)
     noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld ${libstdcxx_version} opcodes target-libgloss ${libgcj}"
@@ -1287,34 +1297,6 @@ if [ x${with_newlib} != xno ] && echo " ${target_configdirs} " | grep " target-n
   withoptions="$withoptions --with-newlib"
 fi
 
-if [ x${shared} = xyes ]; then
-  case "${target}" in
-    hppa* | parisc*)
-      target_makefile_frag="${target_makefile_frag} config/mt-papic"
-      ;;
-    i[3456]86-*)
-      target_makefile_frag="${target_makefile_frag} config/mt-x86pic"
-      ;;
-    ia64-*)
-      target_makefile_frag="${target_makefile_frag} config/mt-ia64pic"
-      ;;
-    powerpc*-*-aix*)
-      # We don't want -fPIC on AIX.
-      ;;
-    powerpc*-*)
-      target_makefile_frag="${target_makefile_frag} config/mt-ppcpic"
-      ;;
-    alpha*-*-linux*)
-      target_makefile_frag="${target_makefile_frag} config/mt-elfalphapic"
-      ;;
-    *)
-      if test -f ${srcdir}/config/mt-${target_cpu}pic; then
-        target_makefile_frag="${target_makefile_frag} config/mt-${target_cpu}pic"
-      fi
-      ;;
-  esac
-fi
-
 rm -f mt-frag
 if [ -n "${target_makefile_frag}" ] ; then
   for f in ${target_makefile_frag}
@@ -1370,6 +1352,33 @@ case "${host}" in
   ;;
 esac
 
+# If we're building libgcj and we're using the Solaris 2.8 linker,
+# then we check for a known problem.
+if test "x${libgcj}" = x && test "${with_gnu_ld}" != yes \
+   && test "${is_cross_compiler}" = no; then
+
+   case "${host}" in
+    sparc-*-solaris2.8)
+       if test "$libdir" = '${exec_prefix}/lib';then
+         if test "$exec_prefix" = '$(prefix)'; then
+            tlibdir="$prefix/lib"
+         else
+            tlibdir="$exec_prefix/lib"
+         fi
+       else
+         tlibdir="$libdir"
+       fi
+       if test -f $tlibdir/libgcj.la; then
+         echo "*** You've already installed libgcj in $tlibdir." 1>&2
+         echo "    This causes problems when rebuilding libgcj with the Solaris 2.8 linker." 1>&2
+         echo "    Either disable the libgcj build, or remove the" 1>&2
+         echo "    already-installed libgcj files." 1>&2
+         exit 1
+       fi
+       ;;
+   esac
+fi
+
 # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
 # binutils tools will find libbfd.so.
 if [ "${shared}" = "yes" ]; then
This page took 0.028121 seconds and 4 git commands to generate.