Newer
Older
xtensa*-*-elf*)
;;
*-*-beos* | \
*-*-elf* | \
*-*-hpux* | \
*-*-netware* | \
*-*-nto-qnx* | \
*-*-rtems* | \
*-*-solaris2* | \
*-*-sysv[[45]]* | \
*-*-vxworks* | \
*-wrs-windiss)
md_exec_prefix=/usr/ccs/bin
;;
esac
extra_arflags_for_target=
extra_nmflags_for_target=
extra_ranlibflags_for_target=
target_makefile_frag=/dev/null
mep*-*-*)
target_makefile_frag="config/mt-mep"
;;
spu-*-*)
target_makefile_frag="config/mt-spu"
;;
mips*-sde-elf*)
target_makefile_frag="config/mt-sde"
;;
mipsisa*-*-elfoabi*)
target_makefile_frag="config/mt-mips-elfoabi"
;;
mips*-*-*linux* | mips*-*-gnu*)
target_makefile_frag="config/mt-mips-gnu"
;;
*-*-netware*)
target_makefile_frag="config/mt-netware"
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
target_makefile_frag="config/mt-gnu"
*-*-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
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"
# 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.
case "${enable_target_optspace}:${target}" in
yes:*)
ospace_frag="config/mt-ospace"
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
# Default to using --with-stabs for certain targets.
if test x${with_stabs} = x ; then
case "${target}" in
mips*-*-irix[[56]]*)
;;
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"
# 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_noncanonical}
build_tooldir=${tooldir}
# Create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
if test -r ${srcdir}/.gdbinit ; then
case ${srcdir} in
.) ;;
*) cat > ./.gdbinit <<EOF
# ${NO_EDIT}
dir ${srcdir}
dir .
source ${srcdir}/.gdbinit
EOF
;;
esac
fi
# Make sure that the compiler is able to generate an executable. If it
# can't, we are probably in trouble. We don't care whether we can run the
# executable--we might be using a cross compiler--we only care whether it
# can be created. At this point the main configure script has set CC.
echo "int main () { return 0; }" > conftest.c
${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
if test $? = 0 ; then
if test -s conftest || test -s conftest.exe ; then
we_are_ok=yes
fi
fi
case $we_are_ok in
no)
echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
echo 1>&2 "*** You must set the environment variable CC to a working compiler."
rm -f conftest*
exit 1
;;
esac
rm -f conftest*
# The Solaris /usr/ucb/cc compiler does not appear to work.
case "${host}" in
sparc-sun-solaris2*)
CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
if test -d /opt/cygnus/bin ; then
if test "$could_use" = "" ; then
could_use="/opt/cygnus/bin"
else
could_use="$could_use or /opt/cygnus/bin"
fi
fi
if test "$could_use" = "" ; then
echo "Warning: compilation may fail because you're using"
echo "/usr/ucb/cc. You should change your PATH or CC "
echo "variable and rerun configure."
else
echo "Warning: compilation may fail because you're using"
echo "/usr/ucb/cc, when you should use the C compiler from"
echo "$could_use. You should change your"
echo "PATH or CC variable and rerun configure."
fi
fi
;;
esac
# Decide which environment variable is used to find dynamic libraries.
case "${host}" in
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
*-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
*-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
esac
# On systems where the dynamic library environment variable is PATH,
# gcc/ will put dynamic libraries into a subdirectory to avoid adding
# built executables to PATH.
if test "$RPATH_ENVVAR" = PATH; then
GCC_SHLIB_SUBDIR=/shlib
else
GCC_SHLIB_SUBDIR=
fi
# Record target_configdirs and the configure arguments for target and
# build configuration in Makefile.
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
# Determine whether gdb needs tk/tcl or not.
# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
# and in that case we want gdb to be built without tk. Ugh!
# In fact I believe gdb is the *only* package directly dependent on tk,
# so we should be able to put the 'maybe's in unconditionally and
# leave out the maybe dependencies when enable_gdbtk is false. I'm not
# 100% sure that that's safe though.
Andrew Cagney
committed
gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
case "$enable_gdbtk" in
no)
GDB_TK="" ;;
Andrew Cagney
committed
yes)
GDB_TK="${gdb_tk}" ;;
Andrew Cagney
committed
# Only add the dependency on gdbtk when GDBtk is part of the gdb
# distro. Eventually someone will fix this and move Insight, nee
# gdbtk to a separate directory.
if test -d ${srcdir}/gdb/gdbtk ; then
GDB_TK="${gdb_tk}"
else
GDB_TK=""
fi
;;
CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
# Strip out unwanted targets.
# While at that, we remove Makefiles if we were started for recursive
# configuration, so that the top-level Makefile reconfigures them,
# like we used to do when configure itself was recursive.
# Loop over modules. $extrasub must be used with care, limiting as
# much as possible the usage of range addresses. That's because autoconf
# splits the sed script to overcome limits in the number of commands,
# and relying on carefully-timed sed passes may turn out to be very hard
# to maintain later. In this particular case, you just have to be careful
# not to nest @if/@endif pairs, because configure will not warn you at all.
Paolo Bonzini
committed
AC_ARG_ENABLE([bootstrap],
[ --enable-bootstrap enable bootstrapping @<:@yes if native build@:>@],,
enable_bootstrap=default)
Paolo Bonzini
committed
# Issue errors and warnings for invalid/strange bootstrap combinations.
case "$configdirs" in
*gcc*) have_compiler=yes ;;
*) have_compiler=no ;;
esac
case "$have_compiler:$host:$target:$enable_bootstrap" in
*:*:*:no) ;;
# Default behavior. Enable bootstrap if we have a compiler
# and we are in a native configuration.
yes:$build:$build:default)
enable_bootstrap=yes ;;
*:*:*:default)
enable_bootstrap=no ;;
# We have a compiler and we are in a native configuration, bootstrap is ok
Paolo Bonzini
committed
yes:$build:$build:yes)
;;
# Other configurations, but we have a compiler. Assume the user knows
# what he's doing.
Paolo Bonzini
committed
yes:*:*:yes)
AC_MSG_WARN([trying to bootstrap a cross compiler])
;;
# No compiler: if they passed --enable-bootstrap explicitly, fail
Paolo Bonzini
committed
no:*:*:yes)
AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
# Fail if wrong command line
*)
AC_MSG_ERROR([invalid option for --enable-bootstrap])
;;
esac
# Adjust the toplevel makefile according to whether bootstrap was selected.
Paolo Bonzini
committed
case "$enable_bootstrap" in
yes)
bootstrap_suffix=bootstrap ;;
no)
bootstrap_suffix=no-bootstrap ;;
esac
for module in ${build_configdirs} ; do
if test -z "${no_recursion}" \
&& test -f ${build_subdir}/${module}/Makefile; then
echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
rm -f ${build_subdir}/${module}/Makefile
fi
extrasub="$extrasub
/^@if build-$module\$/d
Paolo Bonzini
committed
/^@endif build-$module\$/d
/^@if build-$module-$bootstrap_suffix\$/d
/^@endif build-$module-$bootstrap_suffix\$/d"
if test -z "${no_recursion}"; then
Ian Lance Taylor
committed
for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
if test -f ${file}; then
echo 1>&2 "*** removing ${file} to force reconfigure"
rm -f ${file}
fi
done
extrasub="$extrasub
/^@if $module\$/d
Paolo Bonzini
committed
/^@endif $module\$/d
/^@if $module-$bootstrap_suffix\$/d
/^@endif $module-$bootstrap_suffix\$/d"
done
for module in ${target_configdirs} ; do
if test -z "${no_recursion}" \
&& test -f ${target_subdir}/${module}/Makefile; then
echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
rm -f ${target_subdir}/${module}/Makefile
fi
extrasub="$extrasub
/^@if target-$module\$/d
Paolo Bonzini
committed
/^@endif target-$module\$/d
/^@if target-$module-$bootstrap_suffix\$/d
/^@endif target-$module-$bootstrap_suffix\$/d"
extrasub="$extrasub
/^@if /,/^@endif /d"
# Create the serialization dependencies. This uses a temporary file.
AC_ARG_ENABLE([serial-configure],
[ --enable-serial-@<:@{host,target,build}-@:>@configure
force sequential configuration of
sub-packages for the host, target or build
machine, or all sub-packages])
case ${enable_serial_configure} in
yes)
enable_serial_build_configure=yes
enable_serial_host_configure=yes
enable_serial_target_configure=yes
;;
esac
# These force 'configure's to be done one at a time, to avoid problems
# with contention over a shared config.cache.
rm -f serdep.tmp
echo '# serdep.tmp' > serdep.tmp
test "x${enable_serial_build_configure}" = xyes &&
for item in ${build_configdirs} ; do
case ${olditem} in
"") ;;
*) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
esac
olditem=${item}
done
olditem=
test "x${enable_serial_host_configure}" = xyes &&
for item in ${configdirs} ; do
case ${olditem} in
"") ;;
*) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
esac
olditem=${item}
done
olditem=
test "x${enable_serial_target_configure}" = xyes &&
for item in ${target_configdirs} ; do
case ${olditem} in
"") ;;
*) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
esac
olditem=${item}
done
serialization_dependencies=serdep.tmp
AC_SUBST_FILE(serialization_dependencies)
# Base args. Strip norecursion, cache-file, srcdir, host, build,
# target, nonopt, and variable assignments. These are the ones we
# might not want to pass down to subconfigures. Also strip
# program-prefix, program-suffix, and program-transform-name, so that
# we can pass down a consistent program-transform-name.
baseargs=
keep_next=no
skip_next=no
eval "set -- $ac_configure_args"
for ac_arg
do
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
if test X"$skip_next" = X"yes"; then
skip_next=no
continue
fi
if test X"$keep_next" = X"yes"; then
case $ac_arg in
*\'*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
baseargs="$baseargs '$ac_arg'"
keep_next=no
continue
fi
# Handle separated arguments. Based on the logic generated by
# autoconf 2.59.
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
separate_arg=no
;;
-*)
separate_arg=yes
;;
*)
separate_arg=no
;;
esac
case "$ac_arg" in
--no*)
continue
;;
--c* | \
--sr* | \
--ho* | \
--bu* | \
--t* | \
--program-* | \
-cache_file* | \
-srcdir* | \
-host* | \
-build* | \
-target* | \
-program-prefix* | \
-program-suffix* | \
-program-transform-name* )
skip_next=$separate_arg
continue
;;
-*)
# An option. Add it.
case $ac_arg in
*\'*)
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
baseargs="$baseargs '$ac_arg'"
keep_next=$separate_arg
;;
*)
# Either a variable assignment, or a nonopt (triplet). Don't
# pass it down; let the Makefile handle this.
continue
;;
esac
done
# Remove the initial space we just introduced and, as these will be
# expanded by make, quote '$'.
baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
Daniel Jacobowitz
committed
# Add in --program-transform-name, after --program-prefix and
# --program-suffix have been applied to it. Autoconf has already
# doubled dollar signs and backslashes in program_transform_name; we want
# the backslashes un-doubled, and then the entire thing wrapped in single
# quotes, because this will be expanded first by make and then by the shell.
# Also, because we want to override the logic in subdir configure scripts to
# choose program_transform_name, replace any s,x,x, with s,y,y,.
sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
${program_transform_name}
EOF_SED
gcc_transform_name=`cat conftestsed.out`
rm -f conftestsed.out
baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
Ralf Wildenhues
committed
if test "$silent" = yes; then
baseargs="$baseargs --silent"
fi
Daniel Jacobowitz
committed
# For the build-side libraries, we just need to pretend we're native,
# and not use the same cache file. Multilibs are neither needed nor
# desired.
build_configargs="--cache-file=../config.cache ${baseargs}"
Nathanael Nerode
committed
# For host modules, accept cache file option, or specification as blank.
case "${cache_file}" in
"") # empty
cache_file_option="" ;;
/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
cache_file_option="--cache-file=${cache_file}" ;;
*) # relative path
cache_file_option="--cache-file=../${cache_file}" ;;
esac
# Host dirs don't like to share a cache file either, horribly enough.
# This seems to be due to autoconf 2.5x stupidity.
host_configargs="--cache-file=./config.cache ${extra_host_args} ${baseargs}"
target_configargs=${baseargs}
# Passing a --with-cross-host argument lets the target libraries know
# whether they are being built with a cross-compiler or being built
# native. However, it would be better to use other mechanisms to make the
# sorts of decisions they want to make on this basis. Please consider
# this option to be deprecated. FIXME.
if test x${is_cross_compiler} = xyes ; then
target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
if test x${enable_multilib} = x ; then
target_configargs="--enable-multilib ${target_configargs}"
# Pass --with-newlib if appropriate. Note that target_configdirs has
# changed from the earlier setting of with_newlib.
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
target_configargs="--with-newlib ${target_configargs}"
# Different target subdirs use different values of certain variables
# (notably CXX). Worse, multilibs use *lots* of different values.
# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
# it doesn't automatically accept command-line overrides of them.
# This means it's not safe for target subdirs to share a cache file,
# which is disgusting, but there you have it. Hopefully this can be
# fixed in future. It's still worthwhile to use a cache file for each
# directory. I think.
Mike Stump
committed
# Pass the appropriate --build, --host, --target and --cache-file arguments.
# We need to pass --target, as newer autoconf's requires consistency
# for target_alias and gcc doesn't manage it consistently.
target_configargs="--cache-file=./config.cache ${target_configargs}"
case " $target_configdirs " in
Alexandre Oliva
committed
*" newlib "*)
case " $target_configargs " in
Alexandre Oliva
committed
*" --with-newlib "*)
Alexandre Oliva
committed
*-cygwin*)
Corinna Vinschen
committed
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' ;;
Alexandre Oliva
committed
# If we're not building GCC, don't discard standard headers.
if test -d ${srcdir}/gcc; then
Alexandre Oliva
committed
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
Alexandre Oliva
committed
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/$(HOST_SUBDIR)/gcc/include'
Alexandre Oliva
committed
# 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
Alexandre Oliva
committed
fi
case "${target}-${is_cross_compiler}" in
i[[3456789]]86-*-linux*-no)
# Here host == target, so we don't need to build gcc,
# so we don't want to discard standard headers.
FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
;;
*)
# If we're building newlib, use its generic headers last, but search
# for any libc-related directories first (so make it the last -B
# switch).
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
Rask Ingemann Lambertsen
committed
# If we're building libgloss, find the startup file, simulator library
# and linker script.
case " $target_configdirs " in
*" libgloss "*)
# Look for startup file, simulator library and maybe linker script.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
# Look for libnosys.a in case the target needs it.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
# Most targets have the linker script in the source directory.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
;;
esac
Alexandre Oliva
committed
esac
;;
case "$target" in
*-mingw*)
# Can't be handled as Cygwin above since Mingw does not use newlib.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include' ;;
esac
Alexandre Oliva
committed
# Allow the user to override the flags for
# our build compiler if desired.
Mike Frysinger
committed
if test x"${build}" = x"${host}" ; then
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
fi
Alexandre Oliva
committed
# On Canadian crosses, we'll be searching the right directories for
# the previously-installed cross compiler, so don't bother to add
# flags for directories within the install tree of the compiler
# being built; programs in there won't even run.
if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
# Search for pre-installed headers if nothing else fits.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
Alexandre Oliva
committed
if test "x${use_gnu_ld}" = x &&
echo " ${configdirs} " | grep " ld " > /dev/null ; then
# Arrange for us to find uninstalled linker scripts.
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
# Search for other target-specific linker scripts and such.
case "${target}" in
mep*)
FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
;;
for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
do
eval fragval=\$$frag
if test $fragval != /dev/null; then
eval $frag=${srcdir}/$fragval
fi
done
AC_SUBST_FILE(host_makefile_frag)
AC_SUBST_FILE(target_makefile_frag)
AC_SUBST_FILE(alphaieee_frag)
AC_SUBST_FILE(ospace_frag)
# Miscellanea: directories, flags, etc.
AC_SUBST(RPATH_ENVVAR)
AC_SUBST(GCC_SHLIB_SUBDIR)
AC_SUBST(tooldir)
AC_SUBST(build_tooldir)
AC_SUBST(CONFIGURE_GDB_TK)
AC_SUBST(INSTALL_GDB_TK)
# Build module lists & subconfigure args.
AC_SUBST(build_configargs)
AC_SUBST(build_configdirs)
# Host module lists & subconfigure args.
AC_SUBST(host_configargs)
AC_SUBST(configdirs)
# Target module lists & subconfigure args.
AC_SUBST(target_configargs)
AC_SUBST(AR_FOR_BUILD)
AC_SUBST(AS_FOR_BUILD)
AC_SUBST(CFLAGS_FOR_BUILD)
AC_SUBST(CXXFLAGS_FOR_BUILD)
AC_SUBST(CXX_FOR_BUILD)
AC_SUBST(DLLTOOL_FOR_BUILD)
AC_SUBST(GCJ_FOR_BUILD)
AC_SUBST(GFORTRAN_FOR_BUILD)
AC_SUBST(LDFLAGS_FOR_BUILD)
AC_SUBST(LD_FOR_BUILD)
AC_SUBST(NM_FOR_BUILD)
AC_SUBST(RANLIB_FOR_BUILD)
AC_SUBST(WINDMC_FOR_BUILD)
AC_SUBST(WINDRES_FOR_BUILD)
AC_SUBST(config_shell)
Paolo Bonzini
committed
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
# Generate default definitions for YACC, M4, LEX and other programs that run
# on the build machine. These are used if the Makefile can't locate these
# programs in objdir.
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
case " $build_configdirs " in
*" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
*" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
esac
AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
case " $build_configdirs " in
*" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
esac
AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
case " $build_configdirs " in
*" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
esac
AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
case " $build_configdirs " in
*" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
*" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
esac
AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
case " $build_configdirs " in
*" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
esac
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
case " $build_configdirs " in
*" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
*)
changequote(,)
# For an installed makeinfo, we require it to be from texinfo 4.6 or
Paolo Bonzini
committed
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
| egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
Paolo Bonzini
committed
:
else
MAKEINFO="$MISSING makeinfo"
fi
;;
changequote([,])
esac
# FIXME: expect and dejagnu may become build tools?
AC_CHECK_PROGS(EXPECT, expect, expect)
case " $configdirs " in
*" expect "*)
test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
;;
esac
AC_CHECK_PROGS(RUNTEST, runtest, runtest)
case " $configdirs " in
*" dejagnu "*)
Dave Brolley
committed
test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
Paolo Bonzini
committed
;;
esac
NCN_STRICT_CHECK_TOOLS(AR, ar)
NCN_STRICT_CHECK_TOOLS(AS, as)
NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
NCN_STRICT_CHECK_TOOLS(LD, ld)
Paolo Bonzini
committed
NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
NCN_STRICT_CHECK_TOOLS(NM, nm)
NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, :)
Paolo Bonzini
committed
NCN_STRICT_CHECK_TOOLS(STRIP, strip, :)
NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
AC_SUBST(CC)
AC_SUBST(CXX)
AC_SUBST(CFLAGS)
AC_SUBST(CXXFLAGS)
Paolo Bonzini
committed
# Target tools.
AC_ARG_WITH([build-time-tools],
[ --with-build-time-tools=PATH
use given path to find target tools during the build],
[case x"$withval" in
x/*) ;;
*)
with_build_time_tools=
AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
;;
esac],
[with_build_time_tools=])
NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib, :)
ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
Paolo Bonzini
committed
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
[gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
c++)
GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
[gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
c++)
GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
[gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip])
GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
Paolo Bonzini
committed
AC_SUBST(FLAGS_FOR_TARGET)
AC_SUBST(RAW_CXX_FOR_TARGET)
Nathanael Nerode
committed
# Certain tools may need extra flags.
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
Paolo Bonzini
committed
# When building target libraries, except in a Canadian cross, we use
# the same toolchain as the compiler we just built.
COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
if test $host = $build; then
case " $configdirs " in
*" gcc "*)
COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
;;
esac
fi
AC_SUBST(COMPILER_AS_FOR_TARGET)
AC_SUBST(COMPILER_LD_FOR_TARGET)
AC_SUBST(COMPILER_NM_FOR_TARGET)
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
AC_ARG_ENABLE(maintainer-mode,
[ --enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer],
USE_MAINTAINER_MODE=$enableval,
USE_MAINTAINER_MODE=no)
AC_MSG_RESULT($USE_MAINTAINER_MODE)
AC_SUBST(MAINTAINER_MODE_TRUE)
AC_SUBST(MAINTAINER_MODE_FALSE)
if test "$USE_MAINTAINER_MODE" = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
else
MAINTAINER_MODE_TRUE='#'
MAINTAINER_MODE_FALSE=
fi
MAINT=$MAINTAINER_MODE_TRUE
AC_SUBST(MAINT)dnl
# ---------------------
# GCC bootstrap support
# ---------------------
# Stage specific cflags for build.
stage1_cflags="-g"
case $build in
vax-*-*)
case ${GCC} in
yes) stage1_cflags="-g -Wa,-J" ;;
*) stage1_cflags="-g -J" ;;
esac ;;
esac
# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
if test "$GCC" = yes; then
saved_CFLAGS="$CFLAGS"
# Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
CFLAGS="$CFLAGS -fkeep-inline-functions"
AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
AC_TRY_COMPILE([
#if (__GNUC__ < 3) \
|| (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
|| (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
#error http://gcc.gnu.org/PR29382
#endif
],,
[AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
[AC_MSG_RESULT([no])])
CFLAGS="$saved_CFLAGS"
fi
AC_SUBST(stage1_cflags)
# Enable --enable-checking in stage1 of the compiler.
AC_ARG_ENABLE(stage1-checking,
[ --enable-stage1-checking@<:@=all@:>@ choose additional checking for stage1
of the compiler],
[stage1_checking=--enable-checking=${enable_stage1_checking}],
Richard Guenther
committed
[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
stage1_checking=--enable-checking=yes,types
Richard Guenther
committed
stage1_checking=--enable-checking=$enable_checking,types
fi])
AC_SUBST(stage1_checking)
# Enable -Werror in bootstrap stage2 and later.
AC_ARG_ENABLE(werror,
[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
enable_werror=yes
else
enable_werror=no
fi])
Nathanael Nerode
committed
case ${enable_werror} in
yes) stage2_werror_flag="--enable-werror-always" ;;
*) stage2_werror_flag="" ;;
esac
Nathanael Nerode
committed
AC_SUBST(stage2_werror_flag)
# Flags needed to enable html installing and building
AC_ARG_WITH(datarootdir,
[ --with-datarootdir use datarootdir as the data root directory.],
[datarootdir="\${prefix}/${withval}"],
[datarootdir="\${prefix}/share"])
AC_ARG_WITH(docdir,
[ --with-docdir install documentation in this directory.],
[docdir="\${prefix}/${withval}"],
[docdir="\${datarootdir}/doc"])
Brooks Moses
committed
AC_ARG_WITH(pdfdir,
[ --with-pdfdir install pdf in this directory.],
Brooks Moses
committed
[pdfdir="\${prefix}/${withval}"],
[pdfdir="\${docdir}"])
[ --with-htmldir install html in this directory.],
[htmldir="\${prefix}/${withval}"],
[htmldir="\${docdir}"])
AC_SUBST(datarootdir)
AC_SUBST(docdir)
Brooks Moses
committed
AC_SUBST(pdfdir)