- for l in ${with_libs}; do
- copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
- done
- fi
-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=""
-host_makefile_frag=/dev/null
-if test -d ${srcdir}/config ; then
-case "${host}" in
- m68k-hp-hpux*)
- # Avoid "too much defining" errors from HPUX compiler.
- tentative_cc="cc -Wp,-H256000"
- # If "ar" in $PATH is GNU ar, the symbol table may need rebuilding.
- # If it's HP/UX ar, this should be harmless.
- RANLIB="ar ts"
- ;;
- m68k-apollo-sysv*)
- tentative_cc="cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DUSG"
- ;;
- 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
- # Used to have BISON=yacc.
- tentative_cc=gcc
- ;;
- m88k-dg-dgux*)
- tentative_cc="gcc -Wall -ansi -D__using_DGUX"
- ;;
- m88k-harris-cxux*)
- # Under CX/UX, we want to tell the compiler to use ANSI mode.
- tentative_cc="cc -Xa"
- host_makefile_frag="config/mh-cxux"
- ;;
- m88k-motorola-sysv*)
- ;;
- mips*-dec-ultrix*)
- tentative_cc="cc -Wf,-XNg1000"
- 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="config/mh-necv4"
- ;;
- 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"
- ;;
- mips*-*-sysv4*)
- 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"
- ;;
- i370-ibm-opened*)
- tentative_cc="c89"
- ;;
- i[[3456]]86-*-sysv5*)
- host_makefile_frag="config/mh-sysv5"
- ;;
- i[[3456]]86-*-dgux*)
- tentative_cc="gcc -Wall -ansi -D__using_DGUX"
- 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"
- ;;
- 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="config/mh-ncr3000"
- ;;
- i[[3456]]86-*-sco3.2v5*)
- ;;
- 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="config/mh-sco"
- ;;
- i[[3456]]86-*-udk*)
- host_makefile_frag="config/mh-sysv5"
- ;;
- i[[3456]]86-*-solaris2*)
- host_makefile_frag="config/mh-sysv4"
- ;;
- i[[3456]]86-*-msdosdjgpp*)
- host_makefile_frag="config/mh-djgpp"
- ;;
- *-cygwin*)
- host_makefile_frag="config/mh-cygwin"
- ;;
- *-mingw32*)
- host_makefile_frag="config/mh-mingw32"
- ;;
- *-interix*)
- host_makefile_frag="config/mh-interix"
- ;;
- vax-*-ultrix2*)
- # The old BSD pcc isn't up to compiling parts of gdb so use gcc
- tentative_cc=gcc
- ;;
- *-*-solaris2*)
- 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"
- ;;
- *-hp-hpux*)
- tentative_cc="cc -Wp,-H256000"
- ;;
- *-*-hiux*)
- tentative_cc="cc -Wp,-H256000"
- ;;
- rs6000-*-lynxos*)
- # /bin/cc is less than useful for our purposes. Always use GCC
- tentative_cc="/usr/cygnus/progressive/bin/gcc"
- host_makefile_frag="config/mh-lynxrs6k"
- ;;
- *-*-lynxos*)
- # /bin/cc is less than useful for our purposes. Always use GCC
- tentative_cc="/bin/gcc"
- ;;
- *-*-sysv4*)
- host_makefile_frag="config/mh-sysv4"
- ;;
-esac
-fi
-
-extra_arflags_for_target=
-extra_nmflags_for_target=
-extra_ranlibflags_for_target=
-target_makefile_frag=/dev/null
-case "${target}" in
- i[[3456]]86-*-netware*)
- target_makefile_frag="config/mt-netware"
- ;;
- powerpc-*-netware*)
- target_makefile_frag="config/mt-netware"
- ;;
- *-*-linux*)
- target_makefile_frag="config/mt-linux"
- ;;
- *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
- # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
- # commands to handle both 32-bit and 64-bit objects. These flags are
- # harmless if we're using GNU nm or ar.
- extra_arflags_for_target=" -X32_64"
- extra_nmflags_for_target=" -B -X32_64"
- ;;
- *-*-darwin*)
- # ranlib from Darwin requires the -c flag to look at common symbols.
- extra_ranlibflags_for_target=" -c"
- ;;
- mips*-*-pe | sh*-*-pe | *arm-wince-pe)
- target_makefile_frag="config/mt-wince"
- ;;
-esac
-
-alphaieee_frag=/dev/null
-case $target in
- alpha*-*-*)
- # This just makes sure to use the -mieee option to build target libs.
- # This should probably be set individually by each library.
- alphaieee_frag="config/mt-alphaieee"
- ;;
-esac
-
-# If --enable-target-optspace always use -Os instead of -O2 to build
-# the target libraries, similarly if it is not specified, use -Os
-# on selected platforms.
-ospace_frag=/dev/null
-case "${enable_target_optspace}:${target}" in
- yes:*)
- ospace_frag="config/mt-ospace"
- ;;
- :d30v-*)
- ospace_frag="config/mt-d30v"
- ;;
- :m32r-* | :d10v-* | :fr30-*)
- ospace_frag="config/mt-ospace"
- ;;
- no:* | :*)
- ;;
- *)
- echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
- ;;
-esac
-
-# Set with_gnu_as and with_gnu_ld as appropriate.
-#
-# This is done by determining whether or not the appropriate directory
-# is available, and by checking whether or not specific configurations
-# have requested that this magic not happen.
-#
-# The command line options always override the explicit settings in
-# configure.in, and the settings in configure.in override this magic.
-#
-# If the default for a toolchain is to use GNU as and ld, and you don't
-# want to do that, then you should use the --without-gnu-as and
-# --without-gnu-ld options for the configure script.
-
-if test x${use_gnu_as} = x &&
- echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
- with_gnu_as=yes
- extra_host_args="$extra_host_args --with-gnu-as"
-fi
-
-if test x${use_gnu_ld} = x &&
- echo " ${configdirs} " | grep " ld " > /dev/null 2>&1 ; then
- with_gnu_ld=yes
- extra_host_args="$extra_host_args --with-gnu-ld"
-fi
-
-# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
-# can detect this case.
-
-if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
- with_newlib=yes
- extra_host_args="$extra_host_args --with-newlib"
-fi
-
-
-# Default to using --with-stabs for certain targets.
-if test x${with_stabs} = x ; then
- case "${target}" in
- mips*-*-irix6*o32)
- with_stabs=yes;
- extra_host_args="${extra_host_args} --with-stabs"
- ;;
- mips*-*-irix6*)
- ;;
- mips*-*-* | alpha*-*-osf*)
- with_stabs=yes;
- extra_host_args="${extra_host_args} --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*)
- extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
- ;;
-esac
-
-# 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 test -z "${CC}" && test "${build}" = "${host}" ; then
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- found=
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/gcc; then
- found=yes
- break
- fi
- done
- IFS="$save_ifs"
- if test -z "${found}" && test -n "${tentative_cc}" ; then
- CC=$tentative_cc
- fi
-fi
-
-# Some systems (e.g., one of the i386-aix systems the gas testers are
-# using) don't handle "\$" correctly, so don't use it here.
-tooldir='$(exec_prefix)'/${target_alias}
-build_tooldir=${tooldir}
-
-# Generate a default definition for YACC. This is used if the makefile can't
-# locate bison or byacc in objdir.
-
-for prog in 'bison -y' byacc yacc
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_YACC="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_YACC" && break
-done
-
-# Generate a default definition for M4. This is used if the makefile can't
-# locate m4 in objdir.
-
-for prog in gm4 gnum4 m4
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_M4="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_M4" && break
-done
-
-# Generate a default definition for LEX. This is used if the makefile can't
-# locate flex in objdir.
-
-for prog in flex lex
-do
- set dummy $prog; tmp=$2
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/$tmp; then
- DEFAULT_LEX="$prog"
- break
- fi
- done
- IFS="$save_ifs"
-
- test -n "$DEFAULT_LEX" && break
-done
-
-if test "${build}" != "${host}" ; then
- # If we are doing a Canadian Cross, in which the host and build systems
- # are not the same, we set reasonable default values for the tools.
-
- BISON=${BISON-bison}
- CC=${CC-${host_alias}-gcc}
- CFLAGS=${CFLAGS-"-g -O2"}
- CXX=${CXX-${host_alias}-c++}
- CXXFLAGS=${CXXFLAGS-"-g -O2"}
- CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
- CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
- CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
- GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
- GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
- BUILD_PREFIX=${build_alias}-
- BUILD_PREFIX_1=${build_alias}-
- MAKEINFO=${MAKEINFO-makeinfo}
-
- if test -z "${YACC}" ; then
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/bison; then
- YACC="bison -y"
- break
- fi
- if test -f $dir/byacc; then
- YACC=byacc
- break
- fi
- if test -f $dir/yacc; then
- YACC=yacc
- break
- fi
- done
- IFS="$save_ifs"
- if test -z "${YACC}" ; then
- YACC="bison -y"
- fi
- fi
-
- if test -z "${LEX}" ; then
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/flex; then
- LEX=flex
- break
- fi
- if test -f $dir/lex; then
- LEX=lex
- break
- fi
- done
- IFS="$save_ifs"
- LEX=${LEX-flex}
- fi
-
-else
- # Set reasonable default values for some tools even if not Canadian.
- # Of course, these are different reasonable default values, originally
- # specified directly in the Makefile.
- # We don't export, so that autoconf can do its job.
- # Note that all these settings are above the fragment inclusion point
- # in Makefile.in, so can still be overridden by fragments.
- # This is all going to change when we autoconfiscate...
-
- BISON="\$(USUAL_BISON)"
- CC_FOR_BUILD="\$(CC)"
- GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
- BUILD_PREFIX=
- BUILD_PREFIX_1=loser-
- MAKEINFO="\$(USUAL_MAKEINFO)"
- LEX="\$(USUAL_LEX)"
- YACC="\$(USUAL_YACC)"
-
- # If CC is still not set, try to get gcc.
- cc_prog_is_gcc=
- if test -z "${CC}" ; then
- IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
- for dir in $PATH; do
- test -z "$dir" && dir=.
- if test -f $dir/gcc; then
- CC="gcc"
- cc_prog_is_gcc=yes
- echo 'void f(){}' > conftest.c
- if test -z "`${CC} -g -c conftest.c 2>&1`"; then
- CFLAGS=${CFLAGS-"-g -O2"}
- CXXFLAGS=${CXXFLAGS-"-g -O2"}
- else
- CFLAGS=${CFLAGS-"-O2"}
- CXXFLAGS=${CXXFLAGS-"-O2"}
- fi
- rm -f conftest*
- break
- fi
- done
- IFS="$save_ifs"
- CC=${CC-cc}
- else
- # Determine if we are using gcc.
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
- if ${CC} -E conftest.c | grep yes >/dev/null 2>&1; then
- cc_prog_is_gcc=yes
- fi
- rm -f conftest.c
- if test -z "${CFLAGS}"; then
- # Here CC is set but CFLAGS is not. Use a quick hack to use -O2 if CC
- # is set to a version of gcc.
- if test "$cc_prog_is_gcc" = yes; then
- echo 'void f(){}' > conftest.c
- if test -z "`${CC} -g -c conftest.c 2>&1`"; then
- CFLAGS=${CFLAGS-"-g -O2"}
- CXXFLAGS=${CXXFLAGS-"-g -O2"}
- else
- CFLAGS=${CFLAGS-"-O2"}
- CXXFLAGS=${CXXFLAGS-"-O2"}
- fi
- rm -f conftest*
- fi
- fi