# 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*)
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*)
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*)
host_makefile_frag="${host_makefile_frag} config/mh-windows"
;;
vax-*-ultrix2*)
+ # The old BSD pcc isn't up to compiling parts of gdb so use gcc
+ tentative_cc=gcc
host_makefile_frag="${host_makefile_frag} config/mh-vaxult2"
;;
*-*-solaris2*)
host_makefile_frag="${host_makefile_frag} config/mh-solaris"
;;
m68k-sun-sunos*)
+ # 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"
host_makefile_frag="${host_makefile_frag} config/mh-sun3"
;;
*-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*)
+ # /bin/cc is less than useful for our purposes. Always use GCC
+ tentative_cc="/bin/gcc"
host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
;;
*-*-sysv4*)
# 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=
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