Add support for DragonFlyBSD target.
[binutils.git] / configure.ac
Commit [+]AuthorDateLineData
6f26604e Joseph Myers2007-02-17 13:33:57 +00001# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +00002# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
8241ae6a Rainer Orth2010-03-04 17:12:46 +00003# Free Software Foundation, Inc.
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00004#
5# This file is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License as published by
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00007# the Free Software Foundation; either version 3 of the License, or
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00008# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful, but
11# WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
14#
15# You should have received a copy of the GNU General Public License
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +000016# along with this program; see the file COPYING3. If not see
17# <http://www.gnu.org/licenses/>.
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +000018
19##############################################################################
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +000020### WARNING: this file contains embedded tabs. Do not run untabify on this file.
21
f9daac20
PB
Paolo Bonzini2008-04-18 11:07:31 +000022m4_include(config/acx.m4)
23m4_include(config/override.m4)
88d79584 Ralf Wildenhues2008-03-17 22:17:33 +000024m4_include(config/proginstall.m4)
fb2bfeb9 Nick Clifton2010-02-15 10:37:54 +000025m4_include(config/elf.m4)
0dc14d6b ghazi2010-01-08 15:59:17 +000026m4_include([libtool.m4])
27m4_include([ltoptions.m4])
28m4_include([ltsugar.m4])
29m4_include([ltversion.m4])
30m4_include([lt~obsolete.m4])
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +000031m4_include([config/cloog.m4])
41b12876 Paolo Bonzini2004-06-09 08:32:35 +000032
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +000033AC_INIT(move-if-change)
11a21fd5 Ralf Wildenhues2009-08-24 19:12:57 +000034AC_PREREQ(2.64)
5f90edae Ralf Wildenhues2009-08-19 22:21:10 +000035AC_DISABLE_OPTION_CHECKING
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +000036
c6f5e520
RW
Ralf Wildenhues2008-06-16 21:38:13 +000037progname=$0
38# if PWD already has a value, it is probably wrong.
39if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
40
41# Export original configure arguments for use by sub-configures.
42# Quote arguments with shell meta charatcers.
43TOPLEVEL_CONFIGURE_ARGUMENTS=
44set -- "$progname" "$@"
45for ac_arg
46do
47 case "$ac_arg" in
48 *" "*|*" "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
49 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
50 # if the argument is of the form -foo=baz, quote the baz part only
51 ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
52 *) ;;
53 esac
54 # Add the quoted argument to the list.
55 TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
56done
57if test "$silent" = yes; then
58 TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
59fi
60# Remove the initial space we just introduced and, as these will be
61# expanded by make, quote '$'.
62TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
63AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
64
b4857d46
DJ
Daniel Jacobowitz2007-02-09 15:15:38 +000065# Find the build, host, and target systems.
66ACX_NONCANONICAL_BUILD
67ACX_NONCANONICAL_HOST
68ACX_NONCANONICAL_TARGET
69
70dnl Autoconf 2.5x and later will set a default program prefix if
71dnl --target was used, even if it was the same as --host. Disable
72dnl that behavior. This must be done before AC_CANONICAL_SYSTEM
73dnl to take effect.
74test "$host_noncanonical" = "$target_noncanonical" &&
75 test "$program_prefix$program_suffix$program_transform_name" = \
76 NONENONEs,x,x, &&
77 program_transform_name=s,y,y,
78
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +000079AC_CANONICAL_SYSTEM
80AC_ARG_PROGRAM
81
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +000082m4_pattern_allow([^AS_FOR_TARGET$])dnl
aa56f6fc Paolo Bonzini2007-10-01 07:55:48 +000083m4_pattern_allow([^AS_FOR_BUILD$])dnl
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +000084
a3d49e06
NN
Nathanael Nerode2003-07-13 20:49:42 +000085# Get 'install' or 'install-sh' and its variants.
86AC_PROG_INSTALL
41b12876 Paolo Bonzini2004-06-09 08:32:35 +000087ACX_PROG_LN
c898fe15 Paolo Bonzini2004-05-24 11:08:48 +000088AC_PROG_LN_S
bd7ec9f4
PB
Paolo Bonzini2009-09-02 07:05:02 +000089AC_PROG_SED
90AC_PROG_AWK
a3d49e06 Nathanael Nerode2003-07-13 20:49:42 +000091
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +000092### we might need to use some other shell than /bin/sh for running subshells
93### If we are on Windows, search for the shell. This will permit people
94### to not have /bin/sh, but to be able to see /SOME/PATH/sh configure
95### without also having to set CONFIG_SHELL. This code will work when
96### using bash, which sets OSTYPE.
97case "${OSTYPE}" in
98*win32*)
99 if test x${CONFIG_SHELL} = x ; then
100 if test ! -f /bin/sh ; then
101 if test x${SHELL} != x && test -f ${SHELL} ; then
102 CONFIG_SHELL=${SHELL}
103 export CONFIG_SHELL
104 else
105 for prog in sh sh.exe bash bash.exe; do
106 IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:"
107 for dir in $PATH; do
108 test -z "$dir" && dir=.
109 if test -f $dir/$prog; then
110 CONFIG_SHELL=$dir/$prog
111 export CONFIG_SHELL
112 break
113 fi
114 done
115 IFS="$save_ifs"
116 test -n "${CONFIG_SHELL}" && break
117 done
118 fi
119 fi
120 fi
121 ;;
122esac
123
124config_shell=${CONFIG_SHELL-/bin/sh}
125
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +0000126moveifchange=${srcdir}/move-if-change
127
11665738
DJ
Daniel Jacobowitz2004-10-23 20:30:02 +0000128srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
129
130# We pass INSTALL explicitly to sub-makes. Make sure that it is not
131# a relative path.
132if test "$INSTALL" = "${srcdir}/install-sh -c"; then
133 INSTALL="${srcpwd}/install-sh -c"
134fi
135
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +0000136# Set srcdir to "." if that's what it is.
137# This is important for multilib support.
138pwd=`${PWDCMD-pwd}`
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +0000139if test "${pwd}" = "${srcpwd}" ; then
140 srcdir=.
141fi
142
143topsrcdir=$srcpwd
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000144
9d29e253 Nathanael Nerode2002-12-03 04:46:25 +0000145extra_host_args=
4bee1f8b Richard Sandiford2004-12-02 11:09:36 +0000146
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000147### To add a new directory to the tree, first choose whether it is a target
148### or a host dependent tool. Then put it into the appropriate list
151066ef Nathanael Nerode2002-12-03 22:54:00 +0000149### (library or tools, host or target), doing a dependency sort.
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000150
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +0000151# Subdirs will be configured in the order listed in build_configdirs,
152# configdirs, or target_configdirs; see the serialization section below.
153
154# Dependency sorting is only needed when *configuration* must be done in
155# a particular order. In all cases a dependency should be specified in
156# the Makefile, whether or not it's implicitly specified here.
157
158# Double entries in build_configdirs, configdirs, or target_configdirs may
159# cause circular dependencies and break everything horribly.
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000160
94ae5205
PB
Paolo Bonzini2004-07-02 07:56:07 +0000161# these library is used by various programs built for the build
162# environment
163#
164build_libs="build-libiberty"
165
166# these tools are built for the build environment
abf146c2 Paolo Bonzini2004-08-31 10:16:19 +0000167build_tools="build-texinfo build-byacc build-flex build-bison build-m4 build-fixincludes"
94ae5205 Paolo Bonzini2004-07-02 07:56:07 +0000168
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000169# these libraries are used by various programs built for the host environment
170#
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +0000171host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000172
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000173# these tools are built for the host environment
174# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
175# know that we are building the simulator.
102b5f52
NN
Nathanael Nerode2002-12-03 23:34:20 +0000176# binutils, gas and ld appear in that order because it makes sense to run
177# "make check" in that particular order.
e2a383fc Nick Clifton2010-04-27 14:24:35 +0000178# If --enable-gold is used, "gold" may replace "ld".
0f4b6f3d Doug Evans2009-06-26 17:19:07 +0000179host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc cgen sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
a34f73d3
DD
DJ Delorie2002-04-15 21:18:09 +0000180
181# libgcj represents the runtime libraries only used by gcj.
182libgcj="target-libffi \
a34f73d3
DD
DJ Delorie2002-04-15 21:18:09 +0000183 target-zlib \
184 target-qthreads \
185 target-libjava"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000186
187# these libraries are built for the target environment, and are built after
188# the host libraries and the host tools (which may be a cross compiler)
189#
64d2e903
DJ
Daniel Jacobowitz2007-02-13 21:33:14 +0000190target_libraries="target-libgcc \
191 target-libiberty \
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000192 target-libgloss \
193 target-newlib \
3231c155 DJ Delorie2007-09-20 21:56:16 +0000194 target-libgomp \
24b73019 Nathanael Nerode2003-03-04 07:48:06 +0000195 target-libstdc++-v3 \
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000196 target-libmudflap \
d495763b DJ Delorie2005-07-11 16:48:34 +0000197 target-libssp \
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +0000198 target-libquadmath \
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000199 target-libgfortran \
b61051ca Carlos O'Donell2006-06-07 22:33:16 +0000200 target-boehm-gc \
702fd3c2 Nathanael Nerode2003-01-19 23:45:39 +0000201 ${libgcj} \
c154dc63 DJ Delorie2004-02-10 17:57:02 +0000202 target-libobjc \
0f514ac3
ILT
Ian Lance Taylor2010-11-19 22:06:26 +0000203 target-libada \
204 target-libgo"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000205
84d12c2e
NN
Nathanael Nerode2003-06-26 20:19:41 +0000206# these tools are built using the target libraries, and are intended to
207# run only in the target environment
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000208#
84d12c2e Nathanael Nerode2003-06-26 20:19:41 +0000209# note: any program that *uses* libraries that are in the "target_libraries"
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000210# list belongs in this list.
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000211#
09fa9903 Joseph Myers2011-03-25 11:36:41 +0000212target_tools="target-examples target-gperf target-rda"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000213
214################################################################################
215
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000216## All tools belong in one of the four categories, and are assigned above
217## We assign ${configdirs} this way to remove all embedded newlines. This
218## is important because configure will choke if they ever get through.
219## ${configdirs} is directories we build using the host tools.
220## ${target_configdirs} is directories we build using the target tools.
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000221configdirs=`echo ${host_libs} ${host_tools}`
84d12c2e Nathanael Nerode2003-06-26 20:19:41 +0000222target_configdirs=`echo ${target_libraries} ${target_tools}`
abf146c2 Paolo Bonzini2004-08-31 10:16:19 +0000223build_configdirs=`echo ${build_libs} ${build_tools}`
74770921 Nathanael Nerode2003-05-18 15:49:06 +0000224
49bba271 Paolo Bonzini2008-01-31 10:39:43 +0000225m4_divert_text([PARSE_ARGS],
1c6c55fc
AM
Alan Modra2010-11-02 00:22:10 +0000226[case $srcdir in
227 *" "*)
228m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl
229 AC_MSG_ERROR([path to source, $srcdir, contains spaces])
230m4_popdef([AS_MESSAGE_LOG_FD])dnl
231 ;;
232esac
233ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
49bba271
PB
Paolo Bonzini2008-01-31 10:39:43 +0000234])
235
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000236################################################################################
237
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000238srcname="gnu development package"
239
240# This gets set non-empty for some net releases of packages.
241appdirs=""
242
a5dc7af4
DD
DJ Delorie2002-06-19 23:39:41 +0000243# Define is_cross_compiler to save on calls to 'test'.
244is_cross_compiler=
245if test x"${host}" = x"${target}" ; then
246 is_cross_compiler=no
247else
248 is_cross_compiler=yes
249fi
250
760927f9 Nathanael Nerode2003-07-28 03:27:46 +0000251# Find the build and target subdir names.
74770921 Nathanael Nerode2003-05-18 15:49:06 +0000252GCC_TOPLEV_SUBDIRS
04c1587f
RW
Ralf Wildenhues2009-09-22 18:00:40 +0000253# Be sure to cover against remnants of an in-tree build.
254if test $srcdir != . && test -d $srcdir/host-${host_noncanonical}; then
255 AC_MSG_ERROR([building out of tree but $srcdir contains host-${host_noncanonical}.
256Use a pristine source tree when building in a separate tree])
257fi
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000258
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000259# Skipdirs are removed silently.
260skipdirs=
261# Noconfigdirs are removed loudly.
262noconfigdirs=""
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000263
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000264use_gnu_ld=
265# Make sure we don't let GNU ld be added if we didn't want it.
266if test x$with_gnu_ld = xno ; then
267 use_gnu_ld=no
ba69a653 Ian Lance Taylor2008-03-21 15:42:41 +0000268 noconfigdirs="$noconfigdirs ld gold"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000269fi
270
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000271use_gnu_as=
272# Make sure we don't let GNU as be added if we didn't want it.
273if test x$with_gnu_as = xno ; then
274 use_gnu_as=no
275 noconfigdirs="$noconfigdirs gas"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000276fi
277
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +0000278use_included_zlib=
279# Make sure we don't let ZLIB be added if we didn't want it.
280if test x$with_system_zlib = xyes ; then
281 use_included_zlib=no
282 noconfigdirs="$noconfigdirs zlib"
283fi
284
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000285# some tools are so dependent upon X11 that if we're not building with X,
286# it's not even worth trying to configure, much less build, that tool.
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000287
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000288case ${with_x} in
289 yes | "") ;; # the default value for this tree is that X11 is available
ba1df0db DJ Delorie2002-07-03 23:35:31 +0000290 no)
9982725a Nathanael Nerode2004-08-12 22:59:53 +0000291 skipdirs="${skipdirs} tk itcl libgui"
ba1df0db
DD
DJ Delorie2002-07-03 23:35:31 +0000292 # We won't be able to build gdbtk without X.
293 enable_gdbtk=no
294 ;;
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000295 *) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
296esac
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000297
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000298# Some are only suitable for cross toolchains.
643f9795
NN
Nathanael Nerode2002-09-24 23:01:30 +0000299# Remove these if host=target.
300cross_only="target-libgloss target-newlib target-opcodes"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000301
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +0000302case $is_cross_compiler in
303 no) skipdirs="${skipdirs} ${cross_only}" ;;
a99e7b1c DJ Delorie2002-07-01 23:12:32 +0000304esac
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000305
bcc2201f
DD
DJ Delorie2002-06-19 23:47:55 +0000306# If both --with-headers and --with-libs are specified, default to
307# --without-newlib.
f389016e
RS
Richard Sandiford2004-09-29 11:43:26 +0000308if test x"${with_headers}" != x && test x"${with_headers}" != xno \
309 && test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
bcc2201f
DD
DJ Delorie2002-06-19 23:47:55 +0000310 if test x"${with_newlib}" = x ; then
311 with_newlib=no
312 fi
313fi
314
315# Recognize --with-newlib/--without-newlib.
316case ${with_newlib} in
317 no) skipdirs="${skipdirs} target-newlib" ;;
318 yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
319esac
320
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000321# Handle --enable-gold, --enable-ld.
322# --disable-gold [--enable-ld]
323# Build only ld. Default option.
e1cffffd
L
H.J. Lu2010-11-23 18:10:12 +0000324# --enable-gold [--enable-ld]
325# Build both gold and ld. Install gold as "ld.gold", install ld
326# as "ld.bfd" and "ld".
327# --enable-gold=default [--enable-ld]
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000328# Build both gold and ld. Install gold as "ld.gold" and "ld",
329# install ld as "ld.bfd".
330# --enable-gold[=default] --disable-ld
331# Build only gold, which is then installed as both "ld.gold" and "ld".
332# --enable-gold --enable-ld=default
e1cffffd
L
H.J. Lu2010-11-23 18:10:12 +0000333# Build both gold (installed as "ld.gold") and ld (installed as "ld"
334# and ld.bfd).
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000335# In other words, ld is default
336# --enable-gold=default --enable-ld=default
337# Error.
338
339default_ld=
ba69a653 Ian Lance Taylor2008-03-21 15:42:41 +0000340AC_ARG_ENABLE(gold,
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +0000341[AS_HELP_STRING([[--enable-gold[=ARG]]],
342 [build gold @<:@ARG={default,yes,no}@:>@])],
ba69a653
ILT
Ian Lance Taylor2008-03-21 15:42:41 +0000343ENABLE_GOLD=$enableval,
344ENABLE_GOLD=no)
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000345case "${ENABLE_GOLD}" in
346 yes|default)
e2a383fc
NC
Nick Clifton2010-04-27 14:24:35 +0000347 # Check for ELF target.
348 is_elf=no
349 case "${target}" in
350 *-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
351 | *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
9f9a0b1a
NC
Nick Clifton2011-03-28 11:18:20 +0000352 | *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
353 | *-*-solaris2* | *-*-nto*)
e2a383fc
NC
Nick Clifton2010-04-27 14:24:35 +0000354 case "${target}" in
355 *-*-linux*aout* | *-*-linux*oldld*)
356 ;;
357 *)
358 is_elf=yes
359 ;;
360 esac
361 esac
362
363 if test "$is_elf" = "yes"; then
364 # Check for target supported by gold.
ba69a653 Ian Lance Taylor2008-03-21 15:42:41 +0000365 case "${target}" in
e2a383fc Nick Clifton2010-04-27 14:24:35 +0000366 i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*)
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000367 configdirs="$configdirs gold"
368 if test x${ENABLE_GOLD} = xdefault; then
369 default_ld=gold
370 fi
e2a383fc Nick Clifton2010-04-27 14:24:35 +0000371 ENABLE_GOLD=yes
ba69a653
ILT
Ian Lance Taylor2008-03-21 15:42:41 +0000372 ;;
373 esac
e2a383fc
NC
Nick Clifton2010-04-27 14:24:35 +0000374 fi
375 ;;
376 no)
377 ;;
378 *)
379 AC_MSG_ERROR([invalid --enable-gold argument])
380 ;;
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000381esac
382
383AC_ARG_ENABLE(ld,
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +0000384[AS_HELP_STRING([[--enable-ld[=ARG]]],
385 [build ld @<:@ARG={default,yes,no}@:>@])],
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000386ENABLE_LD=$enableval,
387ENABLE_LD=yes)
388
389case "${ENABLE_LD}" in
390 default)
e1cffffd H.J. Lu2010-11-23 18:10:12 +0000391 if test x${default_ld} != x; then
1ea28f93
NC
Nick Clifton2010-11-23 13:39:56 +0000392 AC_MSG_ERROR([either gold or ld can be the default ld])
393 fi
394 ;;
395 yes)
396 ;;
397 no)
398 if test x${ENABLE_GOLD} != xyes; then
399 AC_MSG_WARN([neither ld nor gold are enabled])
400 fi
401 configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
402 ;;
403 *)
404 AC_MSG_ERROR([invalid --enable-ld argument])
405 ;;
406esac
ba69a653 Ian Lance Taylor2008-03-21 15:42:41 +0000407
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000408# Configure extra directories which are host specific
409
410case "${host}" in
a99e7b1c DJ Delorie2002-07-01 23:12:32 +0000411 *-cygwin*)
270b87d7 Nathanael Nerode2002-12-01 12:01:26 +0000412 configdirs="$configdirs libtermcap" ;;
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000413esac
414
289c423e
HPN
Hans-Peter Nilsson2005-06-07 00:04:15 +0000415# A target can indicate whether a language isn't supported for some reason.
416# Only spaces may be used in this macro; not newlines or tabs.
417unsupported_languages=
418
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000419# Remove more programs from consideration, based on the host or
420# target this usually means that a port of the program doesn't
421# exist yet.
422
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000423case "${host}" in
978da6ab Joseph Myers2011-03-24 16:52:09 +0000424 i[[3456789]]86-*-msdosdjgpp*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000425 noconfigdirs="$noconfigdirs tcl tk itcl libffi"
2cef6320 Nathanael Nerode2003-03-05 01:50:53 +0000426 ;;
71b3a17e Nick Clifton2007-01-09 07:36:09 +0000427 x86_64-*-mingw*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000428 noconfigdirs="$noconfigdirs newlib"
71b3a17e Nick Clifton2007-01-09 07:36:09 +0000429 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000430 i[[3456789]]86-*-mingw32*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000431 noconfigdirs="$noconfigdirs newlib"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000432 ;;
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000433esac
434
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000435
3e9685e0
PB
Paolo Bonzini2010-12-10 12:09:34 +0000436AC_ARG_ENABLE(libquadmath,
437AS_HELP_STRING([--disable-libquadmath],
438 [do not build libquadmath directory]),
439ENABLE_LIBQUADMATH=$enableval,
440ENABLE_LIBQUADMATH=yes)
441if test "${ENABLE_LIBQUADMATH}" = "no" ; then
442 noconfigdirs="$noconfigdirs target-libquadmath"
443fi
444
445
446AC_ARG_ENABLE(libquadmath-support,
447AS_HELP_STRING([--disable-libquadmath-support],
448 [disable libquadmath support for Fortran]),
449ENABLE_LIBQUADMATH_SUPPORT=$enableval,
450ENABLE_LIBQUADMATH_SUPPORT=yes)
451enable_libquadmath_support=
452if test "${ENABLE_LIBQUADMATH_SUPPORT}" = "no" ; then
453 enable_libquadmath_support=no
454fi
455
456
c154dc63 DJ Delorie2004-02-10 17:57:02 +0000457AC_ARG_ENABLE(libada,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +0000458[AS_HELP_STRING([--enable-libada], [build libada directory])],
c154dc63
DD
DJ Delorie2004-02-10 17:57:02 +0000459ENABLE_LIBADA=$enableval,
460ENABLE_LIBADA=yes)
461if test "${ENABLE_LIBADA}" != "yes" ; then
65cdce55 Paolo Bonzini2005-02-28 14:07:03 +0000462 noconfigdirs="$noconfigdirs gnattools"
c154dc63
DD
DJ Delorie2004-02-10 17:57:02 +0000463fi
464
4c1250b7 Kazu Hirata2005-07-07 02:24:02 +0000465AC_ARG_ENABLE(libssp,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +0000466[AS_HELP_STRING([--enable-libssp], [build libssp directory])],
4c1250b7
KH
Kazu Hirata2005-07-07 02:24:02 +0000467ENABLE_LIBSSP=$enableval,
468ENABLE_LIBSSP=yes)
4c1250b7 Kazu Hirata2005-07-07 02:24:02 +0000469
ee0e2d6d
AO
Alexandre Oliva2001-04-25 21:41:21 +0000470# Save it here so that, even in case of --enable-libgcj, if the Java
471# front-end isn't enabled, we still get libgcj disabled.
472libgcj_saved=$libgcj
473case $enable_libgcj in
474yes)
475 # If we reset it here, it won't get added to noconfigdirs in the
476 # target-specific build rules, so it will be forcibly enabled
477 # (unless the Java language itself isn't enabled).
478 libgcj=
479 ;;
480no)
481 # Make sure we get it printed in the list of not supported target libs.
2c99bdde
ILT
Ian Lance Taylor2010-11-21 01:56:29 +0000482 # Don't disable libffi, though, other languages use it.
483 noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
da39a909
ILT
Ian Lance Taylor2010-12-10 14:50:10 +0000484 # Clear libgcj_saved so that even if java is enabled libffi won't be
485 # built.
486 libgcj_saved=
ee0e2d6d
AO
Alexandre Oliva2001-04-25 21:41:21 +0000487 ;;
488esac
489
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000490
d32ede9b
PB
Paolo Bonzini2006-03-14 16:10:08 +0000491# Disable libmudflap on some systems.
492if test x$enable_libmudflap = x ; then
b8af70d8 Paolo Bonzini2004-07-12 12:03:42 +0000493 case "${target}" in
18f438bf Joseph Myers2009-03-16 13:29:49 +0000494 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
3f58b799 Nathanael Nerode2004-08-03 20:54:19 +0000495 # Enable libmudflap by default in GNU and friends.
b8af70d8
PB
Paolo Bonzini2004-07-12 12:03:42 +0000496 ;;
497 *-*-freebsd*)
498 # Enable libmudflap by default in FreeBSD.
499 ;;
500 *)
501 # Disable it by default everywhere else.
502 noconfigdirs="$noconfigdirs target-libmudflap"
503 ;;
504 esac
d32ede9b Paolo Bonzini2006-03-14 16:10:08 +0000505fi
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000506
d32ede9b
PB
Paolo Bonzini2006-03-14 16:10:08 +0000507# Disable libgomp on non POSIX hosted systems.
508if test x$enable_libgomp = x ; then
af19e8df
PB
Paolo Bonzini2006-02-14 09:29:42 +0000509 # Enable libgomp by default on hosted POSIX systems.
510 case "${target}" in
18f438bf Joseph Myers2009-03-16 13:29:49 +0000511 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
af19e8df Paolo Bonzini2006-02-14 09:29:42 +0000512 ;;
9f9a0b1a Nick Clifton2011-03-28 11:18:20 +0000513 *-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
af19e8df Paolo Bonzini2006-02-14 09:29:42 +0000514 ;;
3702b526 Paolo Bonzini2006-07-03 07:58:12 +0000515 *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
af19e8df
PB
Paolo Bonzini2006-02-14 09:29:42 +0000516 ;;
517 *-*-darwin* | *-*-aix*)
518 ;;
519 *)
520 noconfigdirs="$noconfigdirs target-libgomp"
521 ;;
522 esac
d32ede9b Paolo Bonzini2006-03-14 16:10:08 +0000523fi
af19e8df Paolo Bonzini2006-02-14 09:29:42 +0000524
b5328549
DD
DJ Delorie2007-09-11 00:22:05 +0000525# Default libgloss CPU subdirectory.
526libgloss_dir="$target_cpu"
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000527
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000528case "${target}" in
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000529 *-*-chorusos)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000530 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000531 ;;
1aeaca04 Joel Brobecker2009-03-16 17:00:47 +0000532 powerpc-*-darwin*)
faf74d07 Tristan Gingold2008-08-28 10:44:31 +0000533 noconfigdirs="$noconfigdirs ld gas gdb gprof"
0d72aab6 Geoffrey Keating2005-07-07 01:14:34 +0000534 noconfigdirs="$noconfigdirs sim target-rda"
efe51691 Geoffrey Keating2003-02-16 01:24:56 +0000535 ;;
4e8d0a7d
TG
Tristan Gingold2009-07-02 08:24:01 +0000536 i[[3456789]]86-*-darwin*)
537 noconfigdirs="$noconfigdirs ld gprof"
538 noconfigdirs="$noconfigdirs sim target-rda"
539 ;;
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +0000540 x86_64-*-darwin[[912]]*)
6450fc81
TG
Tristan Gingold2008-11-27 15:20:39 +0000541 noconfigdirs="$noconfigdirs ld gas gprof"
542 noconfigdirs="$noconfigdirs sim target-rda"
543 ;;
bc93f304 Geoffrey Keating2003-08-20 00:51:25 +0000544 *-*-darwin*)
5e3d7b1b H.J. Lu2005-09-30 14:50:57 +0000545 noconfigdirs="$noconfigdirs ld gas gdb gprof"
0d72aab6 Geoffrey Keating2005-07-07 01:14:34 +0000546 noconfigdirs="$noconfigdirs sim target-rda"
1a352bf3 David Ayers2006-06-13 14:46:59 +0000547 noconfigdirs="$noconfigdirs ${libgcj}"
bc93f304 Geoffrey Keating2003-08-20 00:51:25 +0000548 ;;
9f9a0b1a
NC
Nick Clifton2011-03-28 11:18:20 +0000549 *-*-dragonfly*)
550 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
551 ;;
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +0000552 *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000553 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
972a35a0 DJ Delorie2002-04-10 02:13:43 +0000554 ;;
622d96d2 Jim Wilson2004-08-17 22:09:17 +0000555 *-*-freebsd*)
c324ef04
DD
DJ Delorie2004-05-13 18:14:28 +0000556 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
557 if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
558 && test -f /usr/local/include/gmp.h; then
559 with_gmp=/usr/local
560 fi
561
562 # Skip some stuff that's unsupported on some FreeBSD configurations.
563 case "${target}" in
564 i*86-*-*) ;;
565 alpha*-*-*) ;;
fb2bfeb9 Nick Clifton2010-02-15 10:37:54 +0000566 x86_64-*-*) ;;
c324ef04 DJ Delorie2004-05-13 18:14:28 +0000567 *)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000568 noconfigdirs="$noconfigdirs ${libgcj}"
c324ef04
DD
DJ Delorie2004-05-13 18:14:28 +0000569 ;;
570 esac
571 ;;
f225a020
NC
Nick Clifton2003-02-24 16:47:04 +0000572 *-*-kaos*)
573 # Remove unsupported stuff on all kaOS configurations.
09fa9903 Joseph Myers2011-03-25 11:36:41 +0000574 skipdirs="target-libiberty ${libgcj} target-libstdc++-v3"
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000575 skipdirs="$skipdirs target-libobjc"
f225a020
NC
Nick Clifton2003-02-24 16:47:04 +0000576 skipdirs="$skipdirs zlib fastjar target-libjava target-boehm-gc target-zlib"
577 noconfigdirs="$noconfigdirs target-libgloss"
578 ;;
98aec473
JT
Jason Thorpe2002-01-27 02:14:43 +0000579 *-*-netbsd*)
580 # Skip some stuff on all NetBSD configurations.
e76db214 Nathanael Nerode2002-09-21 16:35:47 +0000581 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss"
98aec473
JT
Jason Thorpe2002-01-27 02:14:43 +0000582
583 # Skip some stuff that's unsupported on some NetBSD configurations.
584 case "${target}" in
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000585 i*86-*-netbsdelf*) ;;
1d15adc0 DJ Delorie2003-04-17 21:30:52 +0000586 arm*-*-netbsdelf*) ;;
98aec473 Jason Thorpe2002-01-27 02:14:43 +0000587 *)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000588 noconfigdirs="$noconfigdirs ${libgcj}"
98aec473
JT
Jason Thorpe2002-01-27 02:14:43 +0000589 ;;
590 esac
591 ;;
bcbb2166 Richard Henderson2004-09-03 19:09:39 +0000592 *-*-netware*)
09fa9903 Joseph Myers2011-03-25 11:36:41 +0000593 noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000594 ;;
595 *-*-rtems*)
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +0000596 skipdirs="${skipdirs} target-libiberty"
1a352bf3 David Ayers2006-06-13 14:46:59 +0000597 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000598 ;;
e192705c
EC
Eric Christopher2005-07-14 00:12:07 +0000599 # The tpf target doesn't support gdb yet.
600 *-*-tpf*)
09fa9903 Joseph Myers2011-03-25 11:36:41 +0000601 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} gdb tcl tk libgui itcl"
e192705c Eric Christopher2005-07-14 00:12:07 +0000602 ;;
075e0191 DJ Delorie2003-12-22 00:59:55 +0000603 *-*-uclinux*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000604 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
075e0191 DJ Delorie2003-12-22 00:59:55 +0000605 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000606 *-*-vxworks*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000607 noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000608 ;;
609 alpha*-dec-osf*)
629692ad DJ Delorie2002-05-13 21:16:43 +0000610 # ld works, but does not support shared libraries.
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000611 # newlib is not 64 bit ready.
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000612 # gas doesn't generate exception information.
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000613 noconfigdirs="$noconfigdirs gas ld target-newlib target-libgloss"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000614 ;;
615 alpha*-*-*vms*)
0bfd4803 Tristan Gingold2010-04-14 09:28:48 +0000616 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
a34f73d3
DD
DJ Delorie2002-04-15 21:18:09 +0000617 ;;
618 alpha*-*-linux*)
619 # newlib is not 64 bit ready
620 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000621 ;;
622 alpha*-*-*)
623 # newlib is not 64 bit ready
1a352bf3 David Ayers2006-06-13 14:46:59 +0000624 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000625 ;;
695d6ab0 Alexandre Oliva2003-07-10 05:04:25 +0000626 am33_2.0-*-linux*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000627 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
695d6ab0 Alexandre Oliva2003-07-10 05:04:25 +0000628 ;;
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000629 sh-*-linux*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000630 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000631 ;;
95ef4278 Nick Clifton2000-02-23 01:26:59 +0000632 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000633 noconfigdirs="$noconfigdirs ${libgcj}"
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000634 noconfigdirs="$noconfigdirs target-libiberty"
9982725a Nathanael Nerode2004-08-12 22:59:53 +0000635 noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
95ef4278 Nick Clifton2000-02-23 01:26:59 +0000636 # the C++ libraries don't build on top of CE's C libraries
24b73019 Nathanael Nerode2003-03-04 07:48:06 +0000637 noconfigdirs="$noconfigdirs target-libstdc++-v3"
e76db214 Nathanael Nerode2002-09-21 16:35:47 +0000638 noconfigdirs="$noconfigdirs target-newlib"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000639 libgloss_dir=wince
95ef4278 Nick Clifton2000-02-23 01:26:59 +0000640 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000641 arc-*-*)
cc8ebeb6 Joseph Myers2011-03-22 20:01:13 +0000642 noconfigdirs="$noconfigdirs target-libgloss"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000643 ;;
6144e37e Joseph Myers2011-03-24 13:25:45 +0000644 arm-*-coff)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000645 noconfigdirs="$noconfigdirs ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000646 libgloss_dir=arm
fcca862a Nathanael Nerode2002-09-29 15:59:34 +0000647 ;;
6144e37e Joseph Myers2011-03-24 13:25:45 +0000648 arm-*-elf* | arm*-*-eabi* )
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000649 noconfigdirs="$noconfigdirs target-libffi"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000650 libgloss_dir=arm
fcca862a Nathanael Nerode2002-09-29 15:59:34 +0000651 ;;
5f223913 Kazu Hirata2005-10-09 16:35:55 +0000652 arm*-*-linux-gnueabi)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000653 noconfigdirs="$noconfigdirs"
a1871941
DD
DJ Delorie2007-06-28 19:31:44 +0000654 case ${with_newlib} in
655 no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
656 esac
b5328549 DJ Delorie2007-09-11 00:22:05 +0000657 libgloss_dir=arm
5f223913 Kazu Hirata2005-10-09 16:35:55 +0000658 ;;
4ea06277 Mark Mitchell2004-08-04 16:12:06 +0000659 arm*-*-symbianelf*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000660 noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000661 libgloss_dir=arm
4ea06277 Mark Mitchell2004-08-04 16:12:06 +0000662 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000663 arm-*-pe*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000664 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000665 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000666 arm-*-riscix*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000667 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000668 ;;
d9bdba24 Marek Michalkiewicz2002-05-28 20:06:27 +0000669 avr-*-*)
f9daac20 Paolo Bonzini2008-04-18 11:07:31 +0000670 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj} target-libssp"
d9bdba24 Marek Michalkiewicz2002-05-28 20:06:27 +0000671 ;;
38d078df Catherine Moore2005-10-03 15:11:13 +0000672 bfin-*-*)
e5718861 Jie Zhang2009-09-16 00:45:55 +0000673 unsupported_languages="$unsupported_languages java"
f876bec8 Andreas Schwab2011-01-21 13:29:46 +0000674 noconfigdirs="$noconfigdirs target-boehm-gc"
2ffec1bb Bernd Schmidt2005-10-17 12:54:34 +0000675 if test x${is_cross_compiler} != xno ; then
38d078df
CM
Catherine Moore2005-10-03 15:11:13 +0000676 target_configdirs="${target_configdirs} target-bsp target-cygmon"
677 fi
678 ;;
7eb00b6f Nick Clifton2002-10-07 16:40:56 +0000679 c4x-*-* | tic4x-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000680 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
38edf6c2
NC
Nick Clifton2000-11-25 00:21:40 +0000681 ;;
682 c54x*-*-* | tic54x-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000683 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000684 ;;
ba0e3c30
NC
Nick Clifton2008-04-18 08:45:05 +0000685 cr16-*-*)
686 noconfigdirs="$noconfigdirs ${libgcj} gdb"
687 ;;
d9590f73 Hans-Peter Nilsson2005-01-29 04:24:23 +0000688 cris-*-* | crisv32-*-*)
289c423e Hans-Peter Nilsson2005-06-07 00:04:15 +0000689 unsupported_languages="$unsupported_languages java"
d9590f73 Hans-Peter Nilsson2005-01-29 04:24:23 +0000690 case "${target}" in
62be5938 Paolo Bonzini2005-04-29 14:00:03 +0000691 *-*-aout)
b8f152af David Edelsohn2005-09-20 03:13:02 +0000692 unsupported_languages="$unsupported_languages fortran"
289c423e Hans-Peter Nilsson2005-06-07 00:04:15 +0000693 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
2c03a9a7
HPN
Hans-Peter Nilsson2010-12-06 01:55:25 +0000694 *-*-elf) # See PR46792 regarding target-libffi.
695 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
62be5938 Paolo Bonzini2005-04-29 14:00:03 +0000696 *-*-linux*)
2561dbe5 Hans-Peter Nilsson2005-06-07 09:33:44 +0000697 noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
d9590f73 Hans-Peter Nilsson2005-01-29 04:24:23 +0000698 *)
b8f152af David Edelsohn2005-09-20 03:13:02 +0000699 unsupported_languages="$unsupported_languages fortran"
1a352bf3 David Ayers2006-06-13 14:46:59 +0000700 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
d9590f73 Hans-Peter Nilsson2005-01-29 04:24:23 +0000701 esac
b5328549 DJ Delorie2007-09-11 00:22:05 +0000702 libgloss_dir=cris
38edf6c2 Nick Clifton2000-11-25 00:21:40 +0000703 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000704 d10v-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000705 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000706 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000707 d30v-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000708 noconfigdirs="$noconfigdirs ${libgcj} gdb"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000709 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000710 fr30-*-elf*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000711 noconfigdirs="$noconfigdirs ${libgcj} gdb"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000712 ;;
0fa7bbc1 Dave Brolley2002-06-18 21:34:27 +0000713 frv-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000714 noconfigdirs="$noconfigdirs ${libgcj}"
0fa7bbc1 Dave Brolley2002-06-18 21:34:27 +0000715 ;;
dd0adf18
NC
Nick Clifton2009-04-16 15:39:48 +0000716 moxie-*-*)
717 noconfigdirs="$noconfigdirs ${libgcj}"
718 noconfigdirs="$noconfigdirs gprof"
719 ;;
0344c957 Jeff Holcomb2001-09-03 19:47:48 +0000720 h8300*-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000721 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
0344c957 Jeff Holcomb2001-09-03 19:47:48 +0000722 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000723 h8500-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000724 noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000725 ;;
b610827e Aaron W. LaFramboise2004-10-26 20:39:00 +0000726 hppa1.1-*-osf* | hppa1.1-*-bsd* )
b610827e Aaron W. LaFramboise2004-10-26 20:39:00 +0000727 ;;
6144e37e Joseph Myers2011-03-24 13:25:45 +0000728 hppa*64*-*-linux*)
a34f73d3
DD
DJ Delorie2002-04-15 21:18:09 +0000729 # In this case, it's because the hppa64-linux target is for
730 # the kernel only at this point and has no libc, and thus no
731 # headers, crt*.o, etc., all of which are needed by these.
732 noconfigdirs="$noconfigdirs target-zlib"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000733 ;;
fd59509b Joseph Myers2011-03-22 20:04:36 +0000734 hppa*-*-linux*)
803e39b1 Dave Anglin2004-11-26 23:57:58 +0000735 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000736 hppa*-*-*elf* | \
8285bb33 Jeff Law2000-05-18 16:58:06 +0000737 hppa*-*-lites* | \
919f5b3d Nick Clifton2002-08-06 09:18:28 +0000738 hppa*-*-openbsd* | \
8285bb33 Jeff Law2000-05-18 16:58:06 +0000739 hppa*64*-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000740 noconfigdirs="$noconfigdirs ${libgcj}"
b61051ca
CD
Carlos O'Donell2006-06-07 22:33:16 +0000741 ;;
742 hppa*-hp-hpux11*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000743 noconfigdirs="$noconfigdirs ld"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000744 ;;
b5328549
DD
DJ Delorie2007-09-11 00:22:05 +0000745 hppa*-*-pro*)
746 libgloss_dir=pa
747 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000748 hppa*-*-*)
f64796b8
AO
Alexandre Oliva2001-04-26 05:32:29 +0000749 # According to Alexandre Oliva <aoliva@redhat.com>, libjava won't
750 # build on HP-UX 10.20.
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000751 noconfigdirs="$noconfigdirs ld ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000752 ;;
a0a71b82 Hans-Peter Nilsson2003-06-23 00:40:23 +0000753 i960-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000754 noconfigdirs="$noconfigdirs ${libgcj} gdb"
a0a71b82 Hans-Peter Nilsson2003-06-23 00:40:23 +0000755 ;;
bb43cc50
JW
Jim Wilson2000-05-11 04:27:08 +0000756 ia64*-*-elf*)
757 # No gdb support yet.
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000758 noconfigdirs="$noconfigdirs readline libgui itcl gdb"
bb43cc50 Jim Wilson2000-05-11 04:27:08 +0000759 ;;
b7aff601 Nick Clifton2002-01-11 09:29:18 +0000760 ia64*-**-hpux*)
148cf39a
JB
Joel Brobecker2011-01-13 16:24:07 +0000761 # No ld support yet.
762 noconfigdirs="$noconfigdirs ${libgcj} libgui itcl ld"
b7aff601 Nick Clifton2002-01-11 09:29:18 +0000763 ;;
165e00bb
NC
Nick Clifton2009-01-15 12:55:46 +0000764 ia64*-*-*vms*)
765 # No gdb or ld support yet.
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000766 noconfigdirs="$noconfigdirs ${libgcj} readline libgui itcl gdb ld"
165e00bb Nick Clifton2009-01-15 12:55:46 +0000767 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000768 i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000769 noconfigdirs="$noconfigdirs ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000770 libgloss_dir=i386
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000771 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000772 i[[3456789]]86-*-linux*)
5a1301ea
HPN
Hans-Peter Nilsson2002-10-24 23:31:47 +0000773 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
774 # not build java stuff by default.
775 case "${target}" in
776 *-*-*libc1*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000777 noconfigdirs="$noconfigdirs ${libgcj}";;
5a1301ea
HPN
Hans-Peter Nilsson2002-10-24 23:31:47 +0000778 esac
779
999f0f7f
TF
Thomas Fitzsimmons2002-05-01 20:42:00 +0000780 # This section makes it possible to build newlib natively on linux.
781 # If we are using a cross compiler then don't configure newlib.
35d04257 Thomas Fitzsimmons2002-05-01 21:32:32 +0000782 if test x${is_cross_compiler} != xno ; then
2cef6320 Nathanael Nerode2003-03-05 01:50:53 +0000783 noconfigdirs="$noconfigdirs target-newlib"
999f0f7f
TF
Thomas Fitzsimmons2002-05-01 20:42:00 +0000784 fi
785 noconfigdirs="$noconfigdirs target-libgloss"
786 # If we are not using a cross compiler, do configure newlib.
787 # Note however, that newlib will only be configured in this situation
788 # if the --with-newlib option has been given, because otherwise
789 # 'target-newlib' will appear in skipdirs.
999f0f7f Thomas Fitzsimmons2002-05-01 20:42:00 +0000790 ;;
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +0000791 i[[3456789]]86-w64-mingw*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000792 noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}"
8a9ff3b4
AO
Alexandre Oliva2009-11-16 18:42:35 +0000793 ;;
794 i[[3456789]]86-*-mingw*)
7fe5f697 Corinna Vinschen2006-08-30 13:14:18 +0000795 target_configdirs="$target_configdirs target-winsup"
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000796 noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}"
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +0000797 ;;
71b3a17e Nick Clifton2007-01-09 07:36:09 +0000798 x86_64-*-mingw*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000799 noconfigdirs="$noconfigdirs target-libgloss target-newlib ${libgcj}"
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +0000800 ;;
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000801 *-*-cygwin*)
802 target_configdirs="$target_configdirs target-libtermcap target-winsup"
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000803 noconfigdirs="$noconfigdirs target-libgloss"
57e9867e Corinna Vinschen2004-06-17 07:56:46 +0000804 # always build newlib if winsup directory is present.
7fe5f697 Corinna Vinschen2006-08-30 13:14:18 +0000805 if test -d "$srcdir/winsup/cygwin"; then
57e9867e Corinna Vinschen2004-06-17 07:56:46 +0000806 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
ca299d48 DJ Delorie2004-10-12 23:40:03 +0000807 elif test -d "$srcdir/newlib"; then
7fe5f697 Corinna Vinschen2006-08-30 13:14:18 +0000808 echo "Warning: winsup/cygwin is missing so newlib can't be built."
57e9867e Corinna Vinschen2004-06-17 07:56:46 +0000809 fi
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +0000810 ;;
fd59509b Joseph Myers2011-03-22 20:04:36 +0000811 i[[3456789]]86-*-interix* )
b610827e Aaron W. LaFramboise2004-10-26 20:39:00 +0000812 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000813 i[[3456789]]86-*-pe)
cc8ebeb6 Joseph Myers2011-03-22 20:01:13 +0000814 noconfigdirs="$noconfigdirs target-libgloss"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000815 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000816 i[[3456789]]86-*-sco3.2v5*)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000817 # The linker does not yet know about weak symbols in COFF,
818 # and is not configured to handle mixed ELF and COFF.
1a352bf3 David Ayers2006-06-13 14:46:59 +0000819 noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000820 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000821 i[[3456789]]86-*-sco*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000822 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000823 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000824 i[[3456789]]86-*-solaris2*)
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000825 noconfigdirs="$noconfigdirs target-libgloss"
826 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000827 i[[3456789]]86-*-sysv4*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000828 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000829 ;;
9b117aa1 DJ Delorie2003-05-19 18:12:19 +0000830 i[[3456789]]86-*-beos*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000831 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
2cef6320 Nathanael Nerode2003-03-05 01:50:53 +0000832 ;;
4afe48d7 Nick Clifton2005-12-27 17:42:45 +0000833 i[[3456789]]86-*-rdos*)
3affd36c
PB
Paolo Bonzini2006-01-04 13:11:22 +0000834 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
835 ;;
a0a71b82 Hans-Peter Nilsson2003-06-23 00:40:23 +0000836 m32r-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000837 noconfigdirs="$noconfigdirs ${libgcj}"
a0a71b82 Hans-Peter Nilsson2003-06-23 00:40:23 +0000838 ;;
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000839 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
cc8ebeb6 Joseph Myers2011-03-22 20:01:13 +0000840 noconfigdirs="$noconfigdirs target-libiberty"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000841 libgloss_dir=m68hc11
83fba11d Nick Clifton2000-10-30 21:12:29 +0000842 ;;
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000843 m68k-*-elf*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000844 noconfigdirs="$noconfigdirs ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000845 ;;
846 m68k-*-coff*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000847 noconfigdirs="$noconfigdirs ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000848 ;;
b5328549
DD
DJ Delorie2007-09-11 00:22:05 +0000849 m68*-*-* | fido-*-*)
850 libgloss_dir=m68k
851 ;;
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000852 mmix-*-*)
289c423e Hans-Peter Nilsson2005-06-07 00:04:15 +0000853 noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
b8f152af David Edelsohn2005-09-20 03:13:02 +0000854 unsupported_languages="$unsupported_languages fortran java"
a34f73d3 DJ Delorie2002-04-15 21:18:09 +0000855 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000856 mn10200-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000857 noconfigdirs="$noconfigdirs ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000858 ;;
859 mn10300-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000860 noconfigdirs="$noconfigdirs ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000861 ;;
4a9dedb9 Nathan Sidwell2005-12-12 11:25:08 +0000862 mt-*-*)
08aed5b9
AH
Aldy Hernandez2005-06-02 19:56:31 +0000863 noconfigdirs="$noconfigdirs sim"
864 ;;
fdcec456
RW
Ralf Wildenhues2011-01-02 16:40:07 +0000865 picochip-*-*)
866 noconfigdirs="$noconfigdirs target-libiberty"
867 ;;
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000868 powerpc-*-aix*)
869 # copied from rs6000-*-* entry
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +0000870 noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000871 ;;
6144e37e Joseph Myers2011-03-24 13:25:45 +0000872 powerpc*-*-winnt* | powerpc*-*-pe*)
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000873 target_configdirs="$target_configdirs target-winsup"
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000874 noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000875 # always build newlib.
876 skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
877 ;;
878 # This is temporary until we can link against shared libraries
879 powerpcle-*-solaris*)
d2eb1969 Joseph Myers2011-03-25 13:08:19 +0000880 noconfigdirs="$noconfigdirs gdb sim tcl tk itcl ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000881 libgloss_dir=rs6000
f500da10
JM
Jason Merrill2000-07-22 08:20:10 +0000882 ;;
883 powerpc-*-beos*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000884 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000885 ;;
886 powerpc-*-eabi)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000887 noconfigdirs="$noconfigdirs ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000888 libgloss_dir=rs6000
b610827e
AL
Aaron W. LaFramboise2004-10-26 20:39:00 +0000889 ;;
890 powerpc-*-eabi* | powerpcle-*-eabi* | powerpc-*-rtems* )
b5328549 DJ Delorie2007-09-11 00:22:05 +0000891 libgloss_dir=rs6000
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000892 ;;
893 rs6000-*-lynxos*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000894 noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000895 ;;
896 rs6000-*-aix*)
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +0000897 noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000898 ;;
899 rs6000-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000900 noconfigdirs="$noconfigdirs gprof ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000901 ;;
902 m68k-apollo-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000903 noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000904 ;;
6ba2feed Nick Clifton2009-08-06 17:46:43 +0000905 microblaze*)
fcbaee8e Ralf Wildenhues2010-10-02 14:42:47 +0000906 noconfigdirs="$noconfigdirs gprof target-libssp ${libgcj}"
6ba2feed Nick Clifton2009-08-06 17:46:43 +0000907 ;;
5e15f2a4
RS
Richard Sandiford2007-09-14 14:51:36 +0000908 mips*-sde-elf*)
909 skipdirs="$skipdirs target-libiberty"
910 noconfigdirs="$noconfigdirs ${libgcj}"
911 if test x$with_newlib = xyes; then
912 noconfigdirs="$noconfigdirs gprof"
913 fi
914 libgloss_dir=mips
915 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000916 mips*-*-irix5*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000917 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000918 ;;
919 mips*-*-irix6*)
f64796b8
AO
Alexandre Oliva2001-04-26 05:32:29 +0000920 # Linking libjava exceeds command-line length limits on at least
921 # IRIX 6.2, but not on IRIX 6.5.
922 # Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
923 # <oldham@codesourcery.com>
1a352bf3 David Ayers2006-06-13 14:46:59 +0000924 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000925 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000926 mips*-*-bsd*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000927 noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000928 ;;
b6fb9842 H.J. Lu2002-03-07 17:47:03 +0000929 mips*-*-linux*)
eb86c089 DJ Delorie2002-07-30 23:15:26 +0000930 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
b6fb9842 H.J. Lu2002-03-07 17:47:03 +0000931 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000932 mips*-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000933 noconfigdirs="$noconfigdirs gprof ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000934 libgloss_dir=mips
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000935 ;;
936 romp-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000937 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000938 ;;
43359b19 Joern Rennecke2004-12-16 19:51:28 +0000939 sh-*-* | sh64-*-*)
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +0000940 case "${target}" in
941 sh*-*-elf)
942 noconfigdirs="$noconfigdirs ${libgcj}" ;;
943 *)
944 noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;;
945 esac
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000946 ;;
b5328549
DD
DJ Delorie2007-09-11 00:22:05 +0000947 sparclet-*-aout* | sparc86x-*-*)
948 libgloss_dir=sparc
949 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000950 sparc-*-elf*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000951 noconfigdirs="$noconfigdirs ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000952 ;;
953 sparc64-*-elf*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000954 noconfigdirs="$noconfigdirs ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000955 libgloss_dir=sparc
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000956 ;;
957 sparclite-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000958 noconfigdirs="$noconfigdirs ${libgcj}"
b5328549 DJ Delorie2007-09-11 00:22:05 +0000959 libgloss_dir=sparc
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000960 ;;
961 sparc-*-sunos4*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000962 noconfigdirs="$noconfigdirs ${libgcj}"
43416498 DJ Delorie2002-04-30 03:17:27 +0000963 if test x${is_cross_compiler} != xno ; then
91560355 DJ Delorie2002-07-08 20:43:20 +0000964 noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000965 else
966 use_gnu_ld=no
967 fi
968 ;;
5846ec18 Eric Botcazou2005-02-21 12:29:05 +0000969 sparc-*-solaris2.[[0-6]] | sparc-*-solaris2.[[0-6]].*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000970 noconfigdirs="$noconfigdirs ${libgcj}"
5846ec18 Eric Botcazou2005-02-21 12:29:05 +0000971 ;;
a41a8ed9 Alexandre Oliva2002-05-05 18:58:17 +0000972 sparc-*-solaris* | sparc64-*-solaris* | sparcv9-*-solaris*)
f64796b8 Alexandre Oliva2001-04-26 05:32:29 +0000973 ;;
9c770025
JM
Joseph Myers2010-03-23 16:05:34 +0000974 tic6x-*-*)
975 noconfigdirs="$noconfigdirs gdb sim ${libgcj}"
976 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000977 v810-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000978 noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libstdc++-v3 opcodes target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000979 ;;
a37e2475
NC
Nick Clifton2010-07-23 14:52:41 +0000980 v850*-*-*)
981 noconfigdirs="$noconfigdirs ${libgcj}"
d7f8dc19 Nick Clifton2000-03-06 18:09:38 +0000982 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000983 vax-*-vms)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000984 noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss ${libgcj}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +0000985 ;;
986 vax-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000987 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
794ff287 Ian Lance Taylor2000-02-28 04:20:22 +0000988 ;;
631dd598 Bob Wilson2008-02-01 18:32:06 +0000989 xtensa*-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000990 noconfigdirs="$noconfigdirs ${libgcj}"
23636703 Bob Wilson2003-07-10 05:00:47 +0000991 ;;
a99e7b1c DJ Delorie2002-07-01 23:12:32 +0000992 ip2k-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000993 noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
a99e7b1c DJ Delorie2002-07-01 23:12:32 +0000994 ;;
18f438bf Joseph Myers2009-03-16 13:29:49 +0000995 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
eb86c089
DD
DJ Delorie2002-07-30 23:15:26 +0000996 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
997 ;;
aa2289c2 Richard Henderson1999-05-03 07:29:11 +0000998 *-*-lynxos*)
1a352bf3 David Ayers2006-06-13 14:46:59 +0000999 noconfigdirs="$noconfigdirs target-newlib target-libgloss ${libgcj}"
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00001000 ;;
a34f73d3 DJ Delorie2002-04-15 21:18:09 +00001001 *-*-*)
1a352bf3 David Ayers2006-06-13 14:46:59 +00001002 noconfigdirs="$noconfigdirs ${libgcj}"
a34f73d3 DJ Delorie2002-04-15 21:18:09 +00001003 ;;
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00001004esac
1005
1006# If we aren't building newlib, then don't build libgloss, since libgloss
1007# depends upon some newlib header files.
1008case "${noconfigdirs}" in
1009 *target-libgloss*) ;;
1010 *target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00001011esac
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00001012
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00001013# Work in distributions that contain no compiler tools, like Autoconf.
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00001014host_makefile_frag=/dev/null
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00001015if test -d ${srcdir}/config ; then
1016case "${host}" in
9b117aa1 DJ Delorie2003-05-19 18:12:19 +00001017 i[[3456789]]86-*-msdosdjgpp*)
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00001018 host_makefile_frag="config/mh-djgpp"
1019 ;;
1020 *-cygwin*)
e2880a73 Nick Clifton2008-04-04 11:45:58 +00001021 ACX_CHECK_CYGWIN_CAT_WORKS
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00001022 host_makefile_frag="config/mh-cygwin"
1023 ;;
00ec6c9f Nick Clifton2008-04-04 11:15:58 +00001024 *-mingw*)
9f3fb301 Andrew Haley2007-09-11 13:10:20 +00001025 host_makefile_frag="config/mh-mingw"
71b3a17e Nick Clifton2007-01-09 07:36:09 +00001026 ;;
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00001027 *-interix*)
1028 host_makefile_frag="config/mh-interix"
1029 ;;
10e1e235 Paolo Bonzini2008-07-30 15:03:57 +00001030 hppa*-hp-hpux10*)
10e1e235 Paolo Bonzini2008-07-30 15:03:57 +00001031 host_makefile_frag="config/mh-pa-hpux10"
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00001032 ;;
978da6ab Joseph Myers2011-03-24 16:52:09 +00001033 hppa*-hp-hpux*)
10e1e235
PB
Paolo Bonzini2008-07-30 15:03:57 +00001034 host_makefile_frag="config/mh-pa"
1035 ;;
1036 hppa*-*)
1037 host_makefile_frag="config/mh-pa"
1038 ;;
0f514ac3
ILT
Ian Lance Taylor2010-11-19 22:06:26 +00001039 *-*-darwin*)
1040 host_makefile_frag="config/mh-darwin"
1552e056 Paolo Bonzini2004-09-01 07:48:07 +00001041 ;;
224e0de8
PB
Paolo Bonzini2005-12-19 17:33:45 +00001042 powerpc-*-aix*)
1043 host_makefile_frag="config/mh-ppc-aix"
1044 ;;
1045 rs6000-*-aix*)
1046 host_makefile_frag="config/mh-ppc-aix"
1047 ;;
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00001048esac
1049fi
1050
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001051if test "${build}" != "${host}" ; then
aa56f6fc
PB
Paolo Bonzini2007-10-01 07:55:48 +00001052 AR_FOR_BUILD=${AR_FOR_BUILD-ar}
1053 AS_FOR_BUILD=${AS_FOR_BUILD-as}
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001054 CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
aa56f6fc
PB
Paolo Bonzini2007-10-01 07:55:48 +00001055 CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
1056 GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
1057 GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001058 GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
aa56f6fc
PB
Paolo Bonzini2007-10-01 07:55:48 +00001059 DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
1060 LD_FOR_BUILD=${LD_FOR_BUILD-ld}
1061 NM_FOR_BUILD=${NM_FOR_BUILD-nm}
1062 RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
1063 WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
1064 WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001065else
aa56f6fc
PB
Paolo Bonzini2007-10-01 07:55:48 +00001066 AR_FOR_BUILD="\$(AR)"
1067 AS_FOR_BUILD="\$(AS)"
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001068 CC_FOR_BUILD="\$(CC)"
aa56f6fc
PB
Paolo Bonzini2007-10-01 07:55:48 +00001069 CXX_FOR_BUILD="\$(CXX)"
1070 GCJ_FOR_BUILD="\$(GCJ)"
1071 GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001072 GOC_FOR_BUILD="\$(GOC)"
aa56f6fc
PB
Paolo Bonzini2007-10-01 07:55:48 +00001073 DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
1074 LD_FOR_BUILD="\$(LD)"
1075 NM_FOR_BUILD="\$(NM)"
1076 RANLIB_FOR_BUILD="\$(RANLIB)"
1077 WINDRES_FOR_BUILD="\$(WINDRES)"
1078 WINDMC_FOR_BUILD="\$(WINDMC)"
b65bd5bb Daniel Jacobowitz2007-02-13 14:40:31 +00001079fi
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001080
b65bd5bb
DJ
Daniel Jacobowitz2007-02-13 14:40:31 +00001081AC_PROG_CC
1082AC_PROG_CXX
1083
1084# We must set the default linker to the linker used by gcc for the correct
1085# operation of libtool. If LD is not defined and we are using gcc, try to
1086# set the LD default to the ld used by gcc.
1087if test -z "$LD"; then
1088 if test "$GCC" = yes; then
1089 case $build in
1090 *-*-mingw*)
1091 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
1092 *)
1093 gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
1094 esac
1095 case $gcc_prog_ld in
1096 # Accept absolute paths.
1097 [[\\/]* | [A-Za-z]:[\\/]*)]
1098 LD="$gcc_prog_ld" ;;
1099 esac
1100 fi
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001101fi
1102
1103ACX_PROG_GNAT
adabaa2c DJ Delorie2004-04-27 18:25:01 +00001104ACX_PROG_CMP_IGNORE_INITIAL
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001105
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001106# See if we are building gcc with C++.
1107AC_ARG_ENABLE(build-with-cxx,
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001108[AS_HELP_STRING([--enable-build-with-cxx],
1109 [build with C++ compiler instead of C compiler])],
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001110ENABLE_BUILD_WITH_CXX=$enableval,
1111ENABLE_BUILD_WITH_CXX=no)
1112
0dc14d6b ghazi2010-01-08 15:59:17 +00001113# Used for setting $lt_cv_objdir
1114_LT_CHECK_OBJDIR
1115
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001116# Check for GMP, MPFR and MPC
e0127382 ghazi2009-12-07 20:24:59 +00001117gmplibs="-lmpc -lmpfr -lgmp"
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001118gmpinc=
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001119have_gmp=no
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001120
1121# Specify a location for mpc
1122# check for this first so it ends up on the link line before mpfr.
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001123AC_ARG_WITH(mpc,
1124[AS_HELP_STRING([--with-mpc=PATH],
1125 [specify prefix directory for installed MPC package.
1126 Equivalent to --with-mpc-include=PATH/include
1127 plus --with-mpc-lib=PATH/lib])])
1128AC_ARG_WITH(mpc-include,
1129[AS_HELP_STRING([--with-mpc-include=PATH],
1130 [specify directory for installed MPC include files])])
1131AC_ARG_WITH(mpc-lib,
1132[AS_HELP_STRING([--with-mpc-lib=PATH],
1133 [specify directory for the installed MPC library])])
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001134
1135if test "x$with_mpc" != x; then
e0127382 ghazi2009-12-07 20:24:59 +00001136 gmplibs="-L$with_mpc/lib $gmplibs"
1137 gmpinc="-I$with_mpc/include $gmpinc"
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001138fi
1139if test "x$with_mpc_include" != x; then
e0127382 ghazi2009-12-07 20:24:59 +00001140 gmpinc="-I$with_mpc_include $gmpinc"
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001141fi
1142if test "x$with_mpc_lib" != x; then
e0127382 ghazi2009-12-07 20:24:59 +00001143 gmplibs="-L$with_mpc_lib $gmplibs"
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001144fi
1145if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
0dc14d6b ghazi2010-01-08 15:59:17 +00001146 gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
e0127382 ghazi2009-12-07 20:24:59 +00001147 gmpinc='-I$$s/mpc/src '"$gmpinc"
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001148 # Do not test the mpc version. Assume that it is sufficient, since
1149 # it is in the source tree, and the library has not been built yet
1150 # but it would be included on the link line in the version check below
1151 # hence making the test fail.
e0127382 ghazi2009-12-07 20:24:59 +00001152 have_gmp=yes
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001153fi
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001154
72e59a41
DD
DJ Delorie2004-08-11 17:32:56 +00001155# Specify a location for mpfr
1156# check for this first so it ends up on the link line before gmp.
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001157AC_ARG_WITH(mpfr-dir,
1158[AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])],
1159[AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
1160Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])])
1161
1162AC_ARG_WITH(mpfr,
1163[AS_HELP_STRING([--with-mpfr=PATH],
1164 [specify prefix directory for installed MPFR package.
1165 Equivalent to --with-mpfr-include=PATH/include
1166 plus --with-mpfr-lib=PATH/lib])])
1167AC_ARG_WITH(mpfr-include,
1168[AS_HELP_STRING([--with-mpfr-include=PATH],
1169 [specify directory for installed MPFR include files])])
1170AC_ARG_WITH(mpfr-lib,
1171[AS_HELP_STRING([--with-mpfr-lib=PATH],
1172 [specify directory for the installed MPFR library])])
72e59a41
DD
DJ Delorie2004-08-11 17:32:56 +00001173
1174if test "x$with_mpfr" != x; then
1175 gmplibs="-L$with_mpfr/lib $gmplibs"
e0127382 ghazi2009-12-07 20:24:59 +00001176 gmpinc="-I$with_mpfr/include $gmpinc"
72e59a41 DJ Delorie2004-08-11 17:32:56 +00001177fi
841f963e Paolo Bonzini2006-12-19 12:52:58 +00001178if test "x$with_mpfr_include" != x; then
e0127382 ghazi2009-12-07 20:24:59 +00001179 gmpinc="-I$with_mpfr_include $gmpinc"
841f963e
PB
Paolo Bonzini2006-12-19 12:52:58 +00001180fi
1181if test "x$with_mpfr_lib" != x; then
1182 gmplibs="-L$with_mpfr_lib $gmplibs"
1183fi
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001184if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
0dc14d6b ghazi2010-01-08 15:59:17 +00001185 gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001186 gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
0dc14d6b ghazi2010-01-08 15:59:17 +00001187 extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
df145479
PB
Paolo Bonzini2007-01-11 11:22:52 +00001188 # Do not test the mpfr version. Assume that it is sufficient, since
1189 # it is in the source tree, and the library has not been built yet
1190 # but it would be included on the link line in the version check below
1191 # hence making the test fail.
1192 have_gmp=yes
1193fi
72e59a41 DJ Delorie2004-08-11 17:32:56 +00001194
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001195# Specify a location for gmp
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001196AC_ARG_WITH(gmp-dir,
1197[AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])],
1198[AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
1199Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])])
1200
1201AC_ARG_WITH(gmp,
1202[AS_HELP_STRING([--with-gmp=PATH],
1203 [specify prefix directory for the installed GMP package.
1204 Equivalent to --with-gmp-include=PATH/include
1205 plus --with-gmp-lib=PATH/lib])])
1206AC_ARG_WITH(gmp-include,
1207[AS_HELP_STRING([--with-gmp-include=PATH],
1208 [specify directory for installed GMP include files])])
1209AC_ARG_WITH(gmp-lib,
1210[AS_HELP_STRING([--with-gmp-lib=PATH],
1211 [specify directory for the installed GMP library])])
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001212
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001213
72e59a41
DD
DJ Delorie2004-08-11 17:32:56 +00001214if test "x$with_gmp" != x; then
1215 gmplibs="-L$with_gmp/lib $gmplibs"
1216 gmpinc="-I$with_gmp/include $gmpinc"
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001217fi
841f963e
PB
Paolo Bonzini2006-12-19 12:52:58 +00001218if test "x$with_gmp_include" != x; then
1219 gmpinc="-I$with_gmp_include $gmpinc"
1220fi
1221if test "x$with_gmp_lib" != x; then
1222 gmplibs="-L$with_gmp_lib $gmplibs"
1223fi
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001224if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
0dc14d6b ghazi2010-01-08 15:59:17 +00001225 gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001226 gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
fcbaee8e Ralf Wildenhues2010-10-02 14:42:47 +00001227 extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
0dc14d6b ghazi2010-01-08 15:59:17 +00001228 extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
df145479
PB
Paolo Bonzini2007-01-11 11:22:52 +00001229 # Do not test the gmp version. Assume that it is sufficient, since
1230 # it is in the source tree, and the library has not been built yet
1231 # but it would be included on the link line in the version check below
1232 # hence making the test fail.
1233 have_gmp=yes
1234fi
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001235
f33c2db1 Paolo Bonzini2007-01-11 15:23:41 +00001236if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
df145479
PB
Paolo Bonzini2007-01-11 11:22:52 +00001237 have_gmp=yes
1238 saved_CFLAGS="$CFLAGS"
1239 CFLAGS="$CFLAGS $gmpinc"
720fea7b ghazi2010-01-31 18:40:33 +00001240 # Check for the recommended and required versions of GMP.
1241 AC_MSG_CHECKING([for the correct version of gmp.h])
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001242 AC_TRY_COMPILE([#include "gmp.h"],[
720fea7b ghazi2010-01-31 18:40:33 +00001243 #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1244 #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1245 #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0)
8b1d3cdb DJ Delorie2006-11-14 23:26:39 +00001246 choke me
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001247 #endif
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00001248 ], [AC_TRY_COMPILE([#include <gmp.h>],[
720fea7b ghazi2010-01-31 18:40:33 +00001249 #define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1250 #define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
1251 #if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
1252 choke me
1253 #endif
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00001254 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
720fea7b ghazi2010-01-31 18:40:33 +00001255 [AC_MSG_RESULT([no]); have_gmp=no])
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001256
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001257 # If we have GMP, check the MPFR version.
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001258 if test x"$have_gmp" = xyes; then
720fea7b ghazi2010-01-31 18:40:33 +00001259 # Check for the recommended and required versions of MPFR.
1260 AC_MSG_CHECKING([for the correct version of mpfr.h])
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001261 AC_TRY_COMPILE([#include <gmp.h>
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001262 #include <mpfr.h>],[
79bc1d4d H.J. Lu2009-04-09 15:54:10 +00001263 #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1)
df145479
PB
Paolo Bonzini2007-01-11 11:22:52 +00001264 choke me
1265 #endif
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00001266 ], [AC_TRY_COMPILE([#include <gmp.h>
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001267 #include <mpfr.h>],[
720fea7b ghazi2010-01-31 18:40:33 +00001268 #if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001269 choke me
1270 #endif
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00001271 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001272 [AC_MSG_RESULT([no]); have_gmp=no])
1273 fi
1274
1275 # Check for the MPC header version.
e0127382 ghazi2009-12-07 20:24:59 +00001276 if test x"$have_gmp" = xyes ; then
720fea7b ghazi2010-01-31 18:40:33 +00001277 # Check for the recommended and required versions of MPC.
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001278 AC_MSG_CHECKING([for the correct version of mpc.h])
1279 AC_TRY_COMPILE([#include <mpc.h>],[
720fea7b ghazi2010-01-31 18:40:33 +00001280 #if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001281 choke me
1282 #endif
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00001283 ], [AC_TRY_COMPILE([#include <mpc.h>],[
720fea7b ghazi2010-01-31 18:40:33 +00001284 #if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
1285 choke me
1286 #endif
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00001287 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
720fea7b ghazi2010-01-31 18:40:33 +00001288 [AC_MSG_RESULT([no]); have_gmp=no])
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001289 fi
1290
1291 # Now check the MPFR library.
1292 if test x"$have_gmp" = xyes; then
1293 saved_LIBS="$LIBS"
1294 LIBS="$LIBS $gmplibs"
e0127382 ghazi2009-12-07 20:24:59 +00001295 AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
1296 AC_TRY_LINK([#include <mpc.h>],[
71e6ccd3
DD
DJ Delorie2007-03-05 23:19:10 +00001297 mpfr_t n;
1298 mpfr_t x;
e0127382 ghazi2009-12-07 20:24:59 +00001299 mpc_t c;
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001300 int t;
71e6ccd3
DD
DJ Delorie2007-03-05 23:19:10 +00001301 mpfr_init (n);
1302 mpfr_init (x);
df145479
PB
Paolo Bonzini2007-01-11 11:22:52 +00001303 mpfr_atan2 (n, n, x, GMP_RNDN);
1304 mpfr_erfc (n, x, GMP_RNDN);
1305 mpfr_subnormalize (x, t, GMP_RNDN);
e0127382 ghazi2009-12-07 20:24:59 +00001306 mpfr_clear(n);
1307 mpfr_clear(x);
1308 mpc_init2 (c, 53);
1309 mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
1310 mpc_cosh (c, c, MPC_RNDNN);
1311 mpc_pow (c, c, c, MPC_RNDNN);
1312 mpc_acosh (c, c, MPC_RNDNN);
1313 mpc_clear (c);
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001314 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
1315 LIBS="$saved_LIBS"
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001316 fi
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001317
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001318 CFLAGS="$saved_CFLAGS"
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001319
720fea7b ghazi2010-01-31 18:40:33 +00001320# The library versions listed in the error message below should match
1321# the HARD-minimums enforced above.
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001322 if test x$have_gmp != xyes; then
720fea7b ghazi2010-01-31 18:40:33 +00001323 AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
e0127382 ghazi2009-12-07 20:24:59 +00001324Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
1325their locations. Source code for these libraries can be found at
1326their respective hosting sites as well as at
1327ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
1328http://gcc.gnu.org/install/prerequisites.html for additional info. If
1329you obtained GMP, MPFR and/or MPC from a vendor distribution package,
1330make sure that you have installed both the libraries and the header
1331files. They may be located in separate packages.])
df145479 Paolo Bonzini2007-01-11 11:22:52 +00001332 fi
8b1d3cdb
DD
DJ Delorie2006-11-14 23:26:39 +00001333fi
1334
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001335# Flags needed for both GMP, MPFR and/or MPC.
c324ef04
DD
DJ Delorie2004-05-13 18:14:28 +00001336AC_SUBST(gmplibs)
1337AC_SUBST(gmpinc)
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001338AC_SUBST(extra_mpfr_configure_flags)
1339AC_SUBST(extra_mpc_gmp_configure_flags)
1340AC_SUBST(extra_mpc_mpfr_configure_flags)
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001341
18f438bf Joseph Myers2009-03-16 13:29:49 +00001342# Allow host libstdc++ to be specified for static linking with PPL.
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001343AC_ARG_WITH(host-libstdcxx,
1344[AS_HELP_STRING([--with-host-libstdcxx=L],
1345 [use linker arguments L to link with libstdc++
1346 when linking with PPL])])
18f438bf
JM
Joseph Myers2009-03-16 13:29:49 +00001347
1348case $with_host_libstdcxx in
1349 no|yes)
1350 AC_MSG_ERROR([-with-host-libstdcxx needs an argument])
1351 ;;
1352esac
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001353
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001354# Linker flags to use for stage1 or when not boostrapping.
1355AC_ARG_WITH(stage1-ldflags,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +00001356[AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])],
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001357[if test "$withval" = "no" -o "$withval" = "yes"; then
1358 stage1_ldflags=
1359 else
1360 stage1_ldflags=$withval
1361 fi],
1362[stage1_ldflags=])
1363AC_SUBST(stage1_ldflags)
1364
1365# Libraries to use for stage1 or when not bootstrapping.
1366AC_ARG_WITH(stage1-libs,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +00001367[AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])],
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001368[if test "$withval" = "no" -o "$withval" = "yes"; then
1369 stage1_libs=
1370 else
1371 stage1_libs=$withval
1372 fi],
1373[stage1_libs=$with_host_libstdcxx])
1374AC_SUBST(stage1_libs)
1375
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001376# Libraries to use for stage2 and later builds. This defaults to the
1377# argument passed to --with-host-libstdcxx.
1378AC_ARG_WITH(boot-libs,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +00001379[AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])],
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001380[if test "$withval" = "no" -o "$withval" = "yes"; then
1381 poststage1_libs=
1382 else
1383 poststage1_libs=$withval
1384 fi],
1385[poststage1_libs=$with_host_libstdcxx])
1386AC_SUBST(poststage1_libs)
1387
fb2bfeb9
NC
Nick Clifton2010-02-15 10:37:54 +00001388# Linker flags to use for stage2 and later builds.
1389AC_ARG_WITH(boot-ldflags,
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001390[AS_HELP_STRING([--with-boot-ldflags=FLAGS],
1391 [linker flags for stage2 and later])],
fb2bfeb9
NC
Nick Clifton2010-02-15 10:37:54 +00001392[if test "$withval" = "no" -o "$withval" = "yes"; then
1393 poststage1_ldflags=
1394 else
1395 poststage1_ldflags=$withval
1396 fi],
1397[poststage1_ldflags=
a87a3ebf
ILT
Ian Lance Taylor2010-12-07 21:20:22 +00001398 # In stages 2 and 3, default to linking libstdc++ and libgcc
1399 # statically. But if the user explicitly specified the libraries to
1400 # use, trust that they are doing what they want.
1401 if test "$poststage1_libs" = ""; then
fb2bfeb9
NC
Nick Clifton2010-02-15 10:37:54 +00001402 poststage1_ldflags="-static-libstdc++ -static-libgcc"
1403 fi])
1404AC_SUBST(poststage1_ldflags)
1405
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001406# Check for PPL
ca135635 spop2011-03-02 03:49:37 +00001407ppllibs=
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001408pplinc=
ca135635 spop2011-03-02 03:49:37 +00001409pwllib=
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001410
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001411AC_ARG_WITH(ppl,
1412[AS_HELP_STRING([--with-ppl=PATH],
1413 [specify prefix directory for the installed PPL package.
1414 Equivalent to --with-ppl-include=PATH/include
1415 plus --with-ppl-lib=PATH/lib])])
1416AC_ARG_WITH(ppl-include,
1417[AS_HELP_STRING([--with-ppl-include=PATH],
1418 [specify directory for installed PPL include files])])
1419AC_ARG_WITH(ppl-lib,
1420[AS_HELP_STRING([--with-ppl-lib=PATH],
1421 [specify directory for the installed PPL library])])
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001422
ca135635 spop2011-03-02 03:49:37 +00001423AC_ARG_ENABLE(ppl-version-check,
1424[AS_HELP_STRING([--disable-ppl-version-check],
1425 [disable check for PPL version])])
1426
1427case $with_ppl in
1428 yes | no | "")
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +00001429 ;;
18f438bf Joseph Myers2009-03-16 13:29:49 +00001430 *)
ca135635 spop2011-03-02 03:49:37 +00001431 ppllibs="-L$with_ppl/lib"
18f438bf Joseph Myers2009-03-16 13:29:49 +00001432 pplinc="-I$with_ppl/include $pplinc"
ca135635 spop2011-03-02 03:49:37 +00001433 if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then
1434 with_ppl=yes
1435 else
1436 AC_MSG_ERROR([cannot find directories "$with_ppl/lib" or "$with_ppl/include"])
1437 fi
18f438bf
JM
Joseph Myers2009-03-16 13:29:49 +00001438 ;;
1439esac
ca135635 spop2011-03-02 03:49:37 +00001440
1441if test x"$with_ppl_include" != x; then
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001442 pplinc="-I$with_ppl_include $pplinc"
ca135635 spop2011-03-02 03:49:37 +00001443 with_ppl=yes
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001444fi
ca135635 spop2011-03-02 03:49:37 +00001445
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001446if test "x$with_ppl_lib" != x; then
ca135635 spop2011-03-02 03:49:37 +00001447 ppllibs="-L$with_ppl_lib"
1448 with_ppl=yes
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001449fi
ca135635 spop2011-03-02 03:49:37 +00001450
1451if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
1452 if test x"$enable_watchdog" = xyes; then
1453 pwllib="-lpwl"
1454 fi
1455 ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"
8a9ff3b4
AO
Alexandre Oliva2009-11-16 18:42:35 +00001456 pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
1457 enable_ppl_version_check=no
ca135635 spop2011-03-02 03:49:37 +00001458 with_ppl=yes
7bac15d5
JM
Joseph Myers2008-11-27 17:14:58 +00001459fi
1460
dccd4d9a spop2011-03-04 04:21:33 +00001461if test "x$with_ppl" != xno; then
ca135635 spop2011-03-02 03:49:37 +00001462 if test "x$pwllib" = x; then
eaee9f7d
RO
Rainer Orth2011-03-21 13:03:33 +00001463 saved_LIBS="$LIBS"
1464 LIBS="$LIBS $ppllibs -lstdc++ -lm"
1465 AC_CHECK_LIB(pwl, PWL_handle_timeout, [pwllib="-lpwl"])
1466 LIBS="$saved_LIBS"
ca135635 spop2011-03-02 03:49:37 +00001467 fi
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001468
ca135635 spop2011-03-02 03:49:37 +00001469 ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx"
1470
1471 if test "$enable_ppl_version_check" != no; then
1472 saved_CFLAGS="$CFLAGS"
1473 CFLAGS="$CFLAGS $pplinc $gmpinc"
1474 AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL])
1475 AC_TRY_COMPILE([#include "ppl_c.h"],[
1476 #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
1477 choke me
1478 #endif
1479 ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
1480 CFLAGS="$saved_CFLAGS"
1481 fi
7bac15d5
JM
Joseph Myers2008-11-27 17:14:58 +00001482fi
1483
1484# Flags needed for PPL
1485AC_SUBST(ppllibs)
1486AC_SUBST(pplinc)
1487
1488
1489# Check for CLOOG
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001490
0f514ac3
ILT
Ian Lance Taylor2010-11-19 22:06:26 +00001491dnl Provide configure switches and initialize clooginc & clooglibs
1492dnl with user input.
1493CLOOG_INIT_FLAGS
8a9ff3b4 Alexandre Oliva2009-11-16 18:42:35 +00001494if test "x$with_ppl" = "xno"; then
53fdd8d0
RW
Ralf Wildenhues2011-02-12 14:40:07 +00001495 dnl Only execute fail-action, if CLooG has been requested.
1496 CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
1497 if test "${graphite_requested}" = yes; then
1498 AC_MSG_ERROR([Unable to find a usable PPL. See config.log for details.])
1499 fi
8a9ff3b4
AO
Alexandre Oliva2009-11-16 18:42:35 +00001500 with_cloog=no
1501fi
0f514ac3
ILT
Ian Lance Taylor2010-11-19 22:06:26 +00001502if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
1503 && test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
1504 clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
1505 clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001506fi
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001507if test "x$with_cloog" != "xno"; then
53fdd8d0 Ralf Wildenhues2011-02-12 14:40:07 +00001508 dnl The minimal version of CLooG required for Graphite.
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001509 dnl
53fdd8d0
RW
Ralf Wildenhues2011-02-12 14:40:07 +00001510 dnl If we use CLooG-Legacy, the provided version information is
1511 dnl ignored.
1512 CLOOG_CHECK_VERSION(0,16,1)
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001513
53fdd8d0 Ralf Wildenhues2011-02-12 14:40:07 +00001514 dnl Only execute fail-action, if CLooG has been requested.
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001515 CLOOG_IF_FAILED([
53fdd8d0 Ralf Wildenhues2011-02-12 14:40:07 +00001516 AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
7bac15d5
JM
Joseph Myers2008-11-27 17:14:58 +00001517fi
1518
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +00001519# Check for LTO support.
1520AC_ARG_ENABLE(lto,
f876bec8 Andreas Schwab2011-01-21 13:29:46 +00001521[AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +00001522enable_lto=$enableval,
1523enable_lto=yes; default_enable_lto=yes)
1524
21abf3f4
DK
Dave Korn2010-11-03 14:27:05 +00001525ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
1526 build_lto_plugin=yes
1527],[if test x"$default_enable_lto" = x"yes" ; then
fcbaee8e Ralf Wildenhues2010-10-02 14:42:47 +00001528 case $target in
220ad659 Paolo Bonzini2011-03-24 17:31:09 +00001529 *-apple-darwin9 | *-cygwin* | *-mingw*) ;;
21abf3f4 Dave Korn2010-11-03 14:27:05 +00001530 # On other non-ELF platforms, LTO has yet to be validated.
fcbaee8e
RW
Ralf Wildenhues2010-10-02 14:42:47 +00001531 *) enable_lto=no ;;
1532 esac
a7dcea04 Dave Korn2010-05-26 05:16:30 +00001533 else
fcbaee8e
RW
Ralf Wildenhues2010-10-02 14:42:47 +00001534 # Apart from ELF platforms, only Windows and Darwin support LTO so far.
1535 # It would also be nice to check the binutils support, but we don't
a7dcea04
DK
Dave Korn2010-05-26 05:16:30 +00001536 # have gcc_GAS_CHECK_FEATURE available here. For now, we'll just
1537 # warn during gcc/ subconfigure; unless you're bootstrapping with
1538 # -flto it won't be needed until after installation anyway.
1539 case $target in
e153c175 Dave Korn2010-10-07 20:50:01 +00001540 *-cygwin* | *-mingw* | *-apple-darwin*) ;;
a7dcea04
DK
Dave Korn2010-05-26 05:16:30 +00001541 *) if test x"$enable_lto" = x"yes"; then
1542 AC_MSG_ERROR([LTO support is not enabled for this target.])
1543 fi
1544 ;;
1545 esac
1546 fi
e153c175 Dave Korn2010-10-07 20:50:01 +00001547 # Among non-ELF, only Windows platforms support the lto-plugin so far.
21abf3f4 Dave Korn2010-11-03 14:27:05 +00001548 # Build it unless LTO was explicitly disabled.
e153c175 Dave Korn2010-10-07 20:50:01 +00001549 case $target in
21abf3f4 Dave Korn2010-11-03 14:27:05 +00001550 *-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
e153c175
DK
Dave Korn2010-10-07 20:50:01 +00001551 *) ;;
1552 esac
21abf3f4 Dave Korn2010-11-03 14:27:05 +00001553])
e7756c92 Ian Lance Taylor2009-10-07 05:57:48 +00001554
7bac15d5 Joseph Myers2008-11-27 17:14:58 +00001555
8f99423f Nathanael Nerode2004-03-16 22:21:55 +00001556# By default, C is the only stage 1 language.
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001557stage1_languages=,c,
e2f179b8 Nathanael Nerode2004-03-16 00:04:59 +00001558
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001559# Target libraries that we bootstrap.
bc03e8d9 Joern Rennecke2010-01-25 18:06:22 +00001560bootstrap_target_libs=,target-libgcc,
df9f4176 Ralf Wildenhues2009-08-19 19:49:26 +00001561
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001562# Figure out what language subdirectories are present.
1563# Look if the user specified --enable-languages="..."; if not, use
1564# the environment variable $LANGUAGES if defined. $LANGUAGES might
1565# go away some day.
1566# NB: embedded tabs in this IF block -- do not untabify
1567if test -d ${srcdir}/gcc; then
1568 if test x"${enable_languages+set}" != xset; then
1569 if test x"${LANGUAGES+set}" = xset; then
1570 enable_languages="${LANGUAGES}"
1571 echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
1572 else
1573 enable_languages=all
1574 fi
1575 else
1576 if test x"${enable_languages}" = x ||
1577 test x"${enable_languages}" = xyes;
1578 then
1579 echo configure.in: --enable-languages needs at least one language argument 1>&2
1580 exit 1
1581 fi
1582 fi
1583 enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
1584
b8f152af
DE
David Edelsohn2005-09-20 03:13:02 +00001585 # 'f95' is the old name for the 'fortran' language. We issue a warning
1586 # and make the substitution.
1587 case ,${enable_languages}, in
1588 *,f95,*)
1589 echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
1590 enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
1591 ;;
1592 esac
1593
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001594 # First scan to see if an enabled language requires some other language.
1595 # We assume that a given config-lang.in will list all the language
1596 # front ends it requires, even if some are required indirectly.
1597 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1598 case ${lang_frag} in
1599 ..) ;;
1600 # The odd quoting in the next line works around
1601 # an apparent bug in bash 1.12 on linux.
1602 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1603 *)
0f514ac3
ILT
Ian Lance Taylor2010-11-19 22:06:26 +00001604 # From the config-lang.in, get $language, $lang_requires, and
1605 # $lang_requires_boot_languages.
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001606 language=
1607 lang_requires=
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001608 lang_requires_boot_languages=
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001609 . ${lang_frag}
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00001610 for other in ${lang_requires} ${lang_requires_boot_languages}; do
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001611 case ,${enable_languages}, in
1612 *,$other,*) ;;
1613 *,all,*) ;;
1614 *,$language,*)
1615 echo " \`$other' language required by \`$language'; enabling" 1>&2
1616 enable_languages="${enable_languages},${other}"
1617 ;;
1618 esac
1619 done
0f514ac3
ILT
Ian Lance Taylor2010-11-19 22:06:26 +00001620 for other in ${lang_requires_boot_languages} ; do
1621 if test "$other" != "c"; then
1622 case ,${enable_stage1_languages}, in
1623 *,$other,*) ;;
1624 *,all,*) ;;
1625 *)
1626 case ,${enable_languages}, in
1627 *,$language,*)
1628 echo " '$other' language required by '$language' in stage 1; enabling" 1>&2
1629 enable_stage1_languages="$enable_stage1_languages,${other}"
1630 ;;
1631 esac
1632 ;;
1633 esac
1634 fi
1635 done
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001636 ;;
1637 esac
1638 done
1639
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001640 new_enable_languages=,c,
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +00001641
1642 # If LTO is enabled, add the LTO front end.
1643 extra_host_libiberty_configure_flags=
1644 if test "$enable_lto" = "yes" ; then
2684de40
RW
Ralf Wildenhues2009-10-13 03:32:18 +00001645 case ,${enable_languages}, in
1646 *,lto,*) ;;
1647 *) enable_languages="${enable_languages},lto" ;;
1648 esac
e153c175 Dave Korn2010-10-07 20:50:01 +00001649 if test "${build_lto_plugin}" = "yes" ; then
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +00001650 configdirs="$configdirs lto-plugin"
1651 extra_host_libiberty_configure_flags=--enable-shared
1652 fi
1653 fi
1654 AC_SUBST(extra_host_libiberty_configure_flags)
1655
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001656 missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001657 potential_languages=,c,
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001658
2c99bdde
ILT
Ian Lance Taylor2010-11-21 01:56:29 +00001659 enabled_target_libs=
1660 disabled_target_libs=
1661
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001662 for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
1663 case ${lang_frag} in
1664 ..) ;;
1665 # The odd quoting in the next line works around
1666 # an apparent bug in bash 1.12 on linux.
1667 ${srcdir}/gcc/[[*]]/config-lang.in) ;;
1668 *)
1669 # From the config-lang.in, get $language, $target_libs,
e2f179b8 Nathanael Nerode2004-03-16 00:04:59 +00001670 # $lang_dirs, $boot_language, and $build_by_default
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001671 language=
1672 target_libs=
1673 lang_dirs=
3702b526 Paolo Bonzini2006-07-03 07:58:12 +00001674 subdir_requires=
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001675 boot_language=no
1676 build_by_default=yes
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001677 . ${lang_frag}
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001678 if test x${language} = x; then
1679 echo "${lang_frag} doesn't set \$language." 1>&2
1680 exit 1
1681 fi
1682
8a9ff3b4
AO
Alexandre Oliva2009-11-16 18:42:35 +00001683 if test "$language" = "c++" \
1684 && test "$ENABLE_BUILD_WITH_CXX" = "yes"; then
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001685 boot_language=yes
1686 fi
1687
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001688 case ,${enable_languages}, in
1689 *,${language},*)
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001690 # Language was explicitly selected; include it.
1691 add_this_lang=yes
1692 ;;
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001693 *,all,*)
1694 # 'all' was selected, select it if it is a default language
1695 add_this_lang=${build_by_default}
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001696 ;;
1697 *)
1698 add_this_lang=no
1699 ;;
1700 esac
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001701
3702b526 Paolo Bonzini2006-07-03 07:58:12 +00001702 # Disable languages that need other directories if these aren't available.
3ca07af7 Paolo Bonzini2006-07-03 11:22:03 +00001703 for i in $subdir_requires; do
bd81283a Paolo Bonzini2006-07-03 09:26:24 +00001704 test -f "$srcdir/gcc/$i/config-lang.in" && continue
3702b526
PB
Paolo Bonzini2006-07-03 07:58:12 +00001705 case ,${enable_languages}, in
1706 *,${language},*)
1707 # Specifically requested language; tell them.
1708 AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
1709 ;;
1710 *)
1711 # Silently disable.
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001712 add_this_lang=unsupported
3702b526
PB
Paolo Bonzini2006-07-03 07:58:12 +00001713 ;;
1714 esac
1715 done
1716
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001717 # Disable Ada if no preexisting GNAT is available.
1718 case ,${enable_languages},:${language}:${have_gnat} in
1719 *,${language},*:ada:no)
1720 # Specifically requested language; tell them.
1721 AC_MSG_ERROR([GNAT is required to build $language])
1722 ;;
1723 *:ada:no)
1724 # Silently disable.
1725 add_this_lang=unsupported
1726 ;;
1727 esac
1728
289c423e
HPN
Hans-Peter Nilsson2005-06-07 00:04:15 +00001729 # Disable a language that is unsupported by the target.
1730 case " $unsupported_languages " in
1731 *" $language "*)
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001732 add_this_lang=unsupported
289c423e
HPN
Hans-Peter Nilsson2005-06-07 00:04:15 +00001733 ;;
1734 esac
1735
c324ef04 DJ Delorie2004-05-13 18:14:28 +00001736 case $add_this_lang in
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001737 unsupported)
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001738 # Remove language-dependent dirs.
2c99bdde
ILT
Ian Lance Taylor2010-11-21 01:56:29 +00001739 disabled_target_libs="$disabled_target_libs $target_libs"
1740 noconfigdirs="$noconfigdirs $lang_dirs"
e2f179b8 Nathanael Nerode2004-03-16 00:04:59 +00001741 ;;
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001742 no)
1743 # Remove language-dependent dirs; still show language as supported.
2c99bdde
ILT
Ian Lance Taylor2010-11-21 01:56:29 +00001744 disabled_target_libs="$disabled_target_libs $target_libs"
1745 noconfigdirs="$noconfigdirs $lang_dirs"
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001746 potential_languages="${potential_languages}${language},"
1747 ;;
1748 yes)
1749 new_enable_languages="${new_enable_languages}${language},"
1750 potential_languages="${potential_languages}${language},"
e2f179b8 Nathanael Nerode2004-03-16 00:04:59 +00001751 missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
2c99bdde Ian Lance Taylor2010-11-21 01:56:29 +00001752 enabled_target_libs="$enabled_target_libs $target_libs"
ef3a40bc
RW
Ralf Wildenhues2009-09-21 20:31:02 +00001753 case "${boot_language}:,$enable_stage1_languages," in
1754 yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
f1e42d10 Nathanael Nerode2004-03-22 11:59:20 +00001755 # Add to (comma-separated) list of stage 1 languages.
ef3a40bc
RW
Ralf Wildenhues2009-09-21 20:31:02 +00001756 case ",$stage1_languages," in
1757 *,$language,* | ,yes, | ,all,) ;;
1758 *) stage1_languages="${stage1_languages}${language}," ;;
1759 esac
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00001760 # We need to bootstrap any supporting libraries.
1761 bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
e2f179b8
NN
Nathanael Nerode2004-03-16 00:04:59 +00001762 ;;
1763 esac
1764 ;;
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001765 esac
1766 ;;
1767 esac
1768 done
1769
2c99bdde
ILT
Ian Lance Taylor2010-11-21 01:56:29 +00001770 # Add target libraries which are only needed for disabled languages
1771 # to noconfigdirs.
1772 if test -n "$disabled_target_libs"; then
1773 for dir in $disabled_target_libs; do
1774 case " $enabled_target_libs " in
1775 *" ${dir} "*) ;;
1776 *) noconfigdirs="$noconfigdirs $dir" ;;
1777 esac
1778 done
1779 fi
1780
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001781 AC_ARG_ENABLE(stage1-languages,
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001782 [AS_HELP_STRING([[--enable-stage1-languages[=all]]],
1783 [choose additional languages to build during
1784 stage1. Mostly useful for compiler development])],
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001785 [case ,${enable_stage1_languages}, in
1786 ,no,|,,)
1787 # Set it to something that will have no effect in the loop below
1788 enable_stage1_languages=c ;;
1789 ,yes,)
1790 enable_stage1_languages=`echo $new_enable_languages | \
1791 sed -e "s/^,//" -e "s/,$//" ` ;;
1792 *,all,*)
1793 enable_stage1_languages=`echo ,$enable_stage1_languages, | \
1794 sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
1795 esac
1796
1797 # Add "good" languages from enable_stage1_languages to stage1_languages,
1798 # while "bad" languages go in missing_languages. Leave no duplicates.
1799 for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
1800 case $potential_languages in
1801 *,$i,*)
1802 case $stage1_languages in
1803 *,$i,*) ;;
1804 *) stage1_languages="$stage1_languages$i," ;;
1805 esac ;;
1806 *)
1807 case $missing_languages in
1808 *,$i,*) ;;
1809 *) missing_languages="$missing_languages$i," ;;
1810 esac ;;
1811 esac
1812 done])
1813
1814 # Remove leading/trailing commas that were added for simplicity
1815 potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
bb01df65 Nathanael Nerode2004-03-13 05:54:47 +00001816 missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001817 stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
1818 new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
1819
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001820 if test "x$missing_languages" != x; then
1821 AC_MSG_ERROR([
81c350f6 Paul Brook2005-05-19 20:25:24 +00001822The following requested languages could not be built: ${missing_languages}
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001823Supported languages are: ${potential_languages}])
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001824 fi
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001825 if test "x$new_enable_languages" != "x$enable_languages"; then
1826 echo The following languages will be built: ${new_enable_languages}
011ea92c Paolo Bonzini2006-12-29 17:09:59 +00001827 enable_languages="$new_enable_languages"
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001828 fi
011ea92c
PB
Paolo Bonzini2006-12-29 17:09:59 +00001829
1830 AC_SUBST(stage1_languages)
4e0ecea1 Alexandre Oliva2007-02-18 22:46:28 +00001831 ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001832fi
1833
d32ede9b
PB
Paolo Bonzini2006-03-14 16:10:08 +00001834# Handle --disable-<component> generically.
1835for dir in $configdirs $build_configdirs $target_configdirs ; do
1836 dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
49bba271
PB
Paolo Bonzini2008-01-31 10:39:43 +00001837 varname=`echo $dirname | sed -e s/+/_/g`
1838 if eval test x\${enable_${varname}} "=" xno ; then
d32ede9b
PB
Paolo Bonzini2006-03-14 16:10:08 +00001839 noconfigdirs="$noconfigdirs $dir"
1840 fi
1841done
1842
b61051ca
CD
Carlos O'Donell2006-06-07 22:33:16 +00001843# Check for Boehm's garbage collector
1844AC_ARG_ENABLE(objc-gc,
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00001845[AS_HELP_STRING([--enable-objc-gc],
1846 [enable use of Boehm's garbage collector with the
1847 GNU Objective-C runtime])],
b61051ca
CD
Carlos O'Donell2006-06-07 22:33:16 +00001848[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
1849 *,objc,*:*:yes:*target-boehm-gc*)
1850 AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
1851 ;;
1852esac])
1853
1854# Make sure we only build Boehm's garbage collector if required.
cdd63c03
DA
David Ayers2006-06-20 08:45:35 +00001855case ,${enable_languages},:${enable_objc_gc} in
1856 *,objc,*:yes)
b61051ca
CD
Carlos O'Donell2006-06-07 22:33:16 +00001857 # Keep target-boehm-gc if requested for Objective-C.
1858 ;;
b61051ca Carlos O'Donell2006-06-07 22:33:16 +00001859 *)
cdd63c03
DA
David Ayers2006-06-20 08:45:35 +00001860 # Otherwise remove target-boehm-gc depending on target-libjava.
1861 if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
1862 noconfigdirs="$noconfigdirs target-boehm-gc"
1863 fi
b61051ca
CD
Carlos O'Donell2006-06-07 22:33:16 +00001864 ;;
1865esac
1866
b610827e
AL
Aaron W. LaFramboise2004-10-26 20:39:00 +00001867# Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
1868# $build_configdirs and $target_configdirs.
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001869# If we have the source for $noconfigdirs entries, add them to $notsupp.
1870
1871notsupp=""
1872for dir in . $skipdirs $noconfigdirs ; do
b610827e Aaron W. LaFramboise2004-10-26 20:39:00 +00001873 dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001874 if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1875 configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
1876 if test -r $srcdir/$dirname/configure ; then
1877 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1878 true
1879 else
1880 notsupp="$notsupp $dir"
1881 fi
1882 fi
1883 fi
b610827e
AL
Aaron W. LaFramboise2004-10-26 20:39:00 +00001884 if test $dir != . && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1885 build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
1886 if test -r $srcdir/$dirname/configure ; then
1887 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1888 true
1889 else
1890 notsupp="$notsupp $dir"
1891 fi
1892 fi
1893 fi
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001894 if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1895 target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
1896 if test -r $srcdir/$dirname/configure ; then
1897 if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1898 true
1899 else
1900 notsupp="$notsupp $dir"
1901 fi
1902 fi
1903 fi
1904done
1905
1906# Sometimes the tools are distributed with libiberty but with no other
1907# libraries. In that case, we don't want to build target-libiberty.
c8f13250 Nick Clifton2007-01-09 14:09:57 +00001908# Don't let libgcc imply libiberty either.
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00001909if test -n "${target_configdirs}" ; then
c8f13250 Nick Clifton2007-01-09 14:09:57 +00001910 libgcc=
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001911 others=
1912 for i in `echo ${target_configdirs} | sed -e s/target-//g` ; do
c8f13250
NC
Nick Clifton2007-01-09 14:09:57 +00001913 if test "$i" = "libgcc"; then
1914 libgcc=target-libgcc
1915 elif test "$i" != "libiberty" ; then
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001916 if test -r $srcdir/$i/configure ; then
1917 others=yes;
1918 break;
1919 fi
1920 fi
1921 done
1922 if test -z "${others}" ; then
c8f13250 Nick Clifton2007-01-09 14:09:57 +00001923 target_configdirs=$libgcc
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001924 fi
1925fi
1926
1927# Quietly strip out all directories which aren't configurable in this tree.
1928# This relies on all configurable subdirectories being autoconfiscated, which
1929# is now the case.
94ae5205
PB
Paolo Bonzini2004-07-02 07:56:07 +00001930build_configdirs_all="$build_configdirs"
1931build_configdirs=
1932for i in ${build_configdirs_all} ; do
1933 j=`echo $i | sed -e s/build-//g`
1934 if test -f ${srcdir}/$j/configure ; then
1935 build_configdirs="${build_configdirs} $i"
1936 fi
1937done
1938
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001939configdirs_all="$configdirs"
1940configdirs=
1941for i in ${configdirs_all} ; do
1942 if test -f ${srcdir}/$i/configure ; then
1943 configdirs="${configdirs} $i"
1944 fi
1945done
94ae5205 Paolo Bonzini2004-07-02 07:56:07 +00001946
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001947target_configdirs_all="$target_configdirs"
1948target_configdirs=
1949for i in ${target_configdirs_all} ; do
1950 j=`echo $i | sed -e s/target-//g`
1951 if test -f ${srcdir}/$j/configure ; then
1952 target_configdirs="${target_configdirs} $i"
1953 fi
1954done
1955
1956# Produce a warning message for the subdirs we can't configure.
1957# This isn't especially interesting in the Cygnus tree, but in the individual
1958# FSF releases, it's important to let people know when their machine isn't
1959# supported by the one or two programs in a package.
1960
1961if test -n "${notsupp}" && test -z "${norecursion}" ; then
1962 # If $appdirs is non-empty, at least one of those directories must still
1963 # be configured, or we error out. (E.g., if the gas release supports a
1964 # specified target in some subdirs but not the gas subdir, we shouldn't
1965 # pretend that all is well.)
1966 if test -n "$appdirs" ; then
1967 for dir in $appdirs ; do
1968 if test -r $dir/Makefile.in ; then
1969 if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
1970 appdirs=""
1971 break
1972 fi
94ae5205 Paolo Bonzini2004-07-02 07:56:07 +00001973 if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001974 appdirs=""
1975 break
1976 fi
1977 fi
1978 done
1979 if test -n "$appdirs" ; then
1980 echo "*** This configuration is not supported by this package." 1>&2
1981 exit 1
1982 fi
1983 fi
1984 # Okay, some application will build, or we don't care to check. Still
1985 # notify of subdirs not getting built.
1986 echo "*** This configuration is not supported in the following subdirectories:" 1>&2
1987 echo " ${notsupp}" 1>&2
1988 echo " (Any other directories should still work fine.)" 1>&2
1989fi
1990
1991case "$host" in
1992 *msdosdjgpp*)
1993 enable_gdbtk=no ;;
1994esac
1995
b65bd5bb
DJ
Daniel Jacobowitz2007-02-13 14:40:31 +00001996# To find our prefix, in gcc_cv_tool_prefix.
1997ACX_TOOL_DIRS
1998
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00001999copy_dirs=
2000
c59148ba Mark Mitchell2005-07-27 18:00:57 +00002001AC_ARG_WITH([build-sysroot],
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00002002 [AS_HELP_STRING([--with-build-sysroot=SYSROOT],
2003 [use sysroot as the system root during the build])],
c59148ba
MM
Mark Mitchell2005-07-27 18:00:57 +00002004 [if test x"$withval" != x ; then
2005 SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
2006 fi],
2007 [SYSROOT_CFLAGS_FOR_TARGET=])
2008AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
2009
8cdd51d0 Joseph Myers2007-08-18 15:19:10 +00002010AC_ARG_WITH([debug-prefix-map],
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00002011 [AS_HELP_STRING([--with-debug-prefix-map='A=B C=D ...'],
2012 [map A to B, C to D ... in debug information])],
8cdd51d0
JM
Joseph Myers2007-08-18 15:19:10 +00002013 [if test x"$withval" != x; then
2014 DEBUG_PREFIX_CFLAGS_FOR_TARGET=
2015 for debug_map in $withval; do
2016 DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
2017 done
2018 fi],
2019 [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
2020AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
2021
c62e1512
PB
Paolo Bonzini2008-02-20 14:26:59 +00002022# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
2023# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
2024# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
2025# We want to ensure that TARGET libraries (which we know are built with
2026# gcc) are built with "-O2 -g", so include those options when setting
2027# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
2028if test "x$CFLAGS_FOR_TARGET" = x; then
2029 CFLAGS_FOR_TARGET=$CFLAGS
2030 case " $CFLAGS " in
2031 *" -O2 "*) ;;
2032 *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
2033 esac
2034 case " $CFLAGS " in
2035 *" -g "* | *" -g3 "*) ;;
2036 *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
2037 esac
2038fi
2039AC_SUBST(CFLAGS_FOR_TARGET)
2040
2041if test "x$CXXFLAGS_FOR_TARGET" = x; then
2042 CXXFLAGS_FOR_TARGET=$CXXFLAGS
2043 case " $CXXFLAGS " in
2044 *" -O2 "*) ;;
2045 *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
2046 esac
2047 case " $CXXFLAGS " in
2048 *" -g "* | *" -g3 "*) ;;
2049 *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
2050 esac
2051fi
2052AC_SUBST(CXXFLAGS_FOR_TARGET)
2053
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00002054# Handle --with-headers=XXX. If the value is not "yes", the contents of
2055# the named directory are copied to $(tooldir)/sys-include.
2056if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
2057 if test x${is_cross_compiler} = xno ; then
2058 echo 1>&2 '***' --with-headers is only supported when cross compiling
2059 exit 1
2060 fi
2061 if test x"${with_headers}" != xyes ; then
b65bd5bb Daniel Jacobowitz2007-02-13 14:40:31 +00002062 x=${gcc_cv_tool_prefix}
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002063 copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00002064 fi
2065fi
2066
2067# Handle --with-libs=XXX. If the value is not "yes", the contents of
2068# the name directories are copied to $(tooldir)/lib. Multiple directories
2069# are permitted.
2070if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
2071 if test x${is_cross_compiler} = xno ; then
2072 echo 1>&2 '***' --with-libs is only supported when cross compiling
2073 exit 1
2074 fi
2075 if test x"${with_libs}" != xyes ; then
2076 # Copy the libraries in reverse order, so that files in the first named
2077 # library override files in subsequent libraries.
b65bd5bb Daniel Jacobowitz2007-02-13 14:40:31 +00002078 x=${gcc_cv_tool_prefix}
e9b3be9b Nathanael Nerode2004-03-11 05:15:36 +00002079 for l in ${with_libs}; do
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002080 copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00002081 done
2082 fi
2083fi
2084
e7756c92 Ian Lance Taylor2009-10-07 05:57:48 +00002085# Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002086#
2087# This is done by determining whether or not the appropriate directory
2088# is available, and by checking whether or not specific configurations
2089# have requested that this magic not happen.
2090#
2091# The command line options always override the explicit settings in
2092# configure.in, and the settings in configure.in override this magic.
2093#
2094# If the default for a toolchain is to use GNU as and ld, and you don't
2095# want to do that, then you should use the --without-gnu-as and
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +00002096# --without-gnu-ld options for the configure script. Similarly, if
2097# the default is to use the included zlib and you don't want to do that,
2098# you should use the --with-system-zlib option for the configure script.
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002099
2100if test x${use_gnu_as} = x &&
2101 echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
2102 with_gnu_as=yes
2103 extra_host_args="$extra_host_args --with-gnu-as"
2104fi
2105
2106if test x${use_gnu_ld} = x &&
ba69a653 Ian Lance Taylor2008-03-21 15:42:41 +00002107 echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002108 with_gnu_ld=yes
2109 extra_host_args="$extra_host_args --with-gnu-ld"
2110fi
2111
e7756c92
ILT
Ian Lance Taylor2009-10-07 05:57:48 +00002112if test x${use_included_zlib} = x &&
2113 echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
2114 :
2115else
2116 with_system_zlib=yes
2117 extra_host_args="$extra_host_args --with-system-zlib"
2118fi
2119
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002120# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
2121# can detect this case.
2122
2123if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
2124 with_newlib=yes
2125 extra_host_args="$extra_host_args --with-newlib"
2126fi
2127
e9b3be9b
NN
Nathanael Nerode2004-03-11 05:15:36 +00002128# Handle ${copy_dirs}
2129set fnord ${copy_dirs}
2130shift
2131while test $# != 0 ; do
2132 if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
2133 :
2134 else
2135 echo Copying $1 to $2
2136
2137 # Use the install script to create the directory and all required
2138 # parent directories.
2139 if test -d $2 ; then
2140 :
2141 else
2142 echo >config.temp
2143 ${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
2144 fi
2145
2146 # Copy the directory, assuming we have tar.
2147 # FIXME: Should we use B in the second tar? Not all systems support it.
2148 (cd $1; tar -cf - .) | (cd $2; tar -xpf -)
2149
2150 # It is the responsibility of the user to correctly adjust all
2151 # symlinks. If somebody can figure out how to handle them correctly
2152 # here, feel free to add the code.
2153
2154 echo $1 > $2/COPIED
2155 fi
2156 shift; shift
2157done
2158
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002159# Determine a target-dependent exec_prefix that the installed
2160# gcc will search in. Keep this list sorted by triplet, with
2161# the *-*-osname triplets last.
2162md_exec_prefix=
2163case "${target}" in
2164 alpha*-*-*vms*)
2165 md_exec_prefix=/gnu/lib/gcc-lib
2166 ;;
4bf72cd9 DJ Delorie2007-07-11 19:12:27 +00002167 i[[34567]]86-pc-msdosdjgpp*)
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002168 md_exec_prefix=/dev/env/DJDIR/bin
2169 ;;
4bf72cd9 DJ Delorie2007-07-11 19:12:27 +00002170 i[[34567]]86-*-sco3.2v5*)
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002171 if test $with_gnu_as = yes; then
2172 md_exec_prefix=/usr/gnu/bin
2173 else
2174 md_exec_prefix=/usr/ccs/bin/elf
2175 fi
2176 ;;
2177
2178 mn10300-*-* | \
2179 powerpc-*-chorusos* | \
2180 powerpc*-*-eabi* | \
2181 powerpc*-*-sysv* | \
2182 powerpc*-*-kaos* | \
2183 s390x-ibm-tpf*)
2184 md_exec_prefix=/usr/ccs/bin
2185 ;;
2186 sparc64-*-elf*)
2187 ;;
2188 v850*-*-*)
2189 md_exec_prefix=/usr/ccs/bin
2190 ;;
631dd598 Bob Wilson2008-02-01 18:32:06 +00002191 xtensa*-*-elf*)
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002192 ;;
2193
2194 *-*-beos* | \
2195 *-*-elf* | \
2196 *-*-hpux* | \
2197 *-*-netware* | \
2198 *-*-nto-qnx* | \
2199 *-*-rtems* | \
2200 *-*-solaris2* | \
4bf72cd9 DJ Delorie2007-07-11 19:12:27 +00002201 *-*-sysv[[45]]* | \
13274690
PB
Paolo Bonzini2006-01-26 18:56:02 +00002202 *-*-vxworks* | \
2203 *-wrs-windiss)
2204 md_exec_prefix=/usr/ccs/bin
2205 ;;
2206esac
2207
857ffdcf
NN
Nathanael Nerode2002-11-29 21:38:33 +00002208extra_arflags_for_target=
2209extra_nmflags_for_target=
3909364b Nathanael Nerode2002-12-23 17:53:41 +00002210extra_ranlibflags_for_target=
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002211target_makefile_frag=/dev/null
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00002212case "${target}" in
d44224c7
AM
Alan Modra2006-12-11 06:47:57 +00002213 spu-*-*)
2214 target_makefile_frag="config/mt-spu"
2215 ;;
89d67ed6
RS
Richard Sandiford2007-08-17 13:15:24 +00002216 mips*-sde-elf*)
2217 target_makefile_frag="config/mt-sde"
2218 ;;
b194c993
RS
Richard Sandiford2007-09-20 20:03:31 +00002219 mipsisa*-*-elfoabi*)
2220 target_makefile_frag="config/mt-mips-elfoabi"
2221 ;;
7ee757fb
RS
Richard Sandiford2008-08-16 06:47:17 +00002222 mips*-*-*linux* | mips*-*-gnu*)
2223 target_makefile_frag="config/mt-mips-gnu"
2224 ;;
18f438bf Joseph Myers2009-03-16 13:29:49 +00002225 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
3f58b799 Nathanael Nerode2004-08-03 20:54:19 +00002226 target_makefile_frag="config/mt-gnu"
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00002227 ;;
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002228 *-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
857ffdcf
NN
Nathanael Nerode2002-11-29 21:38:33 +00002229 # nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
2230 # commands to handle both 32-bit and 64-bit objects. These flags are
2231 # harmless if we're using GNU nm or ar.
2232 extra_arflags_for_target=" -X32_64"
2233 extra_nmflags_for_target=" -B -X32_64"
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00002234 ;;
5c59e477
JM
Joseph Myers2010-03-23 14:30:59 +00002235 *-*-darwin[[3-9]]*)
2236 # ranlib before Darwin10 requires the -c flag to look at common symbols.
3909364b
NN
Nathanael Nerode2002-12-23 17:53:41 +00002237 extra_ranlibflags_for_target=" -c"
2238 ;;
432594a5
DD
DJ Delorie2002-07-03 03:23:47 +00002239esac
2240
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002241alphaieee_frag=/dev/null
432594a5
DD
DJ Delorie2002-07-03 03:23:47 +00002242case $target in
2243 alpha*-*-*)
2244 # This just makes sure to use the -mieee option to build target libs.
2245 # This should probably be set individually by each library.
2246 alphaieee_frag="config/mt-alphaieee"
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002247 ;;
2248esac
40c211e5 DJ Delorie2002-04-17 20:24:22 +00002249
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002250# If --enable-target-optspace always use -Os instead of -O2 to build
2251# the target libraries, similarly if it is not specified, use -Os
2252# on selected platforms.
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002253ospace_frag=/dev/null
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002254case "${enable_target_optspace}:${target}" in
2255 yes:*)
432594a5 DJ Delorie2002-07-03 03:23:47 +00002256 ospace_frag="config/mt-ospace"
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002257 ;;
2258 :d30v-*)
432594a5 DJ Delorie2002-07-03 03:23:47 +00002259 ospace_frag="config/mt-d30v"
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002260 ;;
2261 :m32r-* | :d10v-* | :fr30-*)
432594a5 DJ Delorie2002-07-03 03:23:47 +00002262 ospace_frag="config/mt-ospace"
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002263 ;;
2264 no:* | :*)
2265 ;;
2266 *)
2267 echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
2268 ;;
2269esac
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002270
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002271# Default to using --with-stabs for certain targets.
2272if test x${with_stabs} = x ; then
2273 case "${target}" in
b221af3c DJ Delorie2004-02-06 00:50:48 +00002274 mips*-*-irix[[56]]*)
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002275 ;;
2276 mips*-*-* | alpha*-*-osf*)
2277 with_stabs=yes;
9d29e253 Nathanael Nerode2002-12-03 04:46:25 +00002278 extra_host_args="${extra_host_args} --with-stabs"
a99e7b1c
DD
DJ Delorie2002-07-01 23:12:32 +00002279 ;;
2280 esac
2281fi
2282
2283# hpux11 in 64bit mode has libraries in a weird place. Arrange to find
2284# them automatically.
2285case "${host}" in
2286 hppa*64*-*-hpux11*)
9d29e253 Nathanael Nerode2002-12-03 04:46:25 +00002287 extra_host_args="$extra_host_args -x-libraries=/usr/lib/pa20_64 -x-includes=/usr/X11R6/include"
a99e7b1c DJ Delorie2002-07-01 23:12:32 +00002288 ;;
e24b3c1b
DD
DJ Delorie2002-05-13 20:55:25 +00002289esac
2290
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +00002291# Some systems (e.g., one of the i386-aix systems the gas testers are
2292# using) don't handle "\$" correctly, so don't use it here.
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002293tooldir='${exec_prefix}'/${target_noncanonical}
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +00002294build_tooldir=${tooldir}
2295
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +00002296# Create a .gdbinit file which runs the one in srcdir
2297# and tells GDB to look there for source files.
2298
2299if test -r ${srcdir}/.gdbinit ; then
2300 case ${srcdir} in
2301 .) ;;
2302 *) cat > ./.gdbinit <<EOF
2303# ${NO_EDIT}
2304dir ${srcdir}
2305dir .
2306source ${srcdir}/.gdbinit
2307EOF
2308 ;;
2309 esac
2310fi
2311
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002312# Make sure that the compiler is able to generate an executable. If it
2313# can't, we are probably in trouble. We don't care whether we can run the
2314# executable--we might be using a cross compiler--we only care whether it
2315# can be created. At this point the main configure script has set CC.
43416498 DJ Delorie2002-04-30 03:17:27 +00002316we_are_ok=no
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002317echo "int main () { return 0; }" > conftest.c
2318${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
43416498
DD
DJ Delorie2002-04-30 03:17:27 +00002319if test $? = 0 ; then
2320 if test -s conftest || test -s conftest.exe ; then
2321 we_are_ok=yes
2322 fi
2323fi
2324case $we_are_ok in
2325 no)
2326 echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
2327 echo 1>&2 "*** You must set the environment variable CC to a working compiler."
2328 rm -f conftest*
2329 exit 1
2330 ;;
2331esac
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002332rm -f conftest*
2333
2334# The Solaris /usr/ucb/cc compiler does not appear to work.
2335case "${host}" in
2336 sparc-sun-solaris2*)
2337 CCBASE="`echo ${CC-cc} | sed 's/ .*$//'`"
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002338 if test "`type $CCBASE | sed 's/^[[^/]]*//'`" = "/usr/ucb/cc" ; then
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002339 could_use=
43416498
DD
DJ Delorie2002-04-30 03:17:27 +00002340 test -d /opt/SUNWspro/bin && could_use="/opt/SUNWspro/bin"
2341 if test -d /opt/cygnus/bin ; then
2342 if test "$could_use" = "" ; then
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002343 could_use="/opt/cygnus/bin"
2344 else
2345 could_use="$could_use or /opt/cygnus/bin"
2346 fi
2347 fi
43416498 DJ Delorie2002-04-30 03:17:27 +00002348 if test "$could_use" = "" ; then
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002349 echo "Warning: compilation may fail because you're using"
2350 echo "/usr/ucb/cc. You should change your PATH or CC "
2351 echo "variable and rerun configure."
2352 else
2353 echo "Warning: compilation may fail because you're using"
2354 echo "/usr/ucb/cc, when you should use the C compiler from"
2355 echo "$could_use. You should change your"
2356 echo "PATH or CC variable and rerun configure."
2357 fi
2358 fi
2359 ;;
2360esac
2361
e80a402c Aaron W. LaFramboise2008-09-04 02:18:16 +00002362# Decide which environment variable is used to find dynamic libraries.
571ce9e2
NN
Nathanael Nerode2002-10-03 19:08:53 +00002363case "${host}" in
2364 *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
978da6ab Joseph Myers2011-03-24 16:52:09 +00002365 *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
e80a402c Aaron W. LaFramboise2008-09-04 02:18:16 +00002366 *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
571ce9e2
NN
Nathanael Nerode2002-10-03 19:08:53 +00002367 *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
2368esac
571ce9e2 Nathanael Nerode2002-10-03 19:08:53 +00002369
e80a402c Aaron W. LaFramboise2008-09-04 02:18:16 +00002370# On systems where the dynamic library environment variable is PATH,
7bac15d5
JM
Joseph Myers2008-11-27 17:14:58 +00002371# gcc/ will put dynamic libraries into a subdirectory to avoid adding
2372# built executables to PATH.
e80a402c
AL
Aaron W. LaFramboise2008-09-04 02:18:16 +00002373if test "$RPATH_ENVVAR" = PATH; then
2374 GCC_SHLIB_SUBDIR=/shlib
2375else
2376 GCC_SHLIB_SUBDIR=
2377fi
2378
270b87d7
NN
Nathanael Nerode2002-12-01 12:01:26 +00002379# Record target_configdirs and the configure arguments for target and
2380# build configuration in Makefile.
2381target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
94ae5205 Paolo Bonzini2004-07-02 07:56:07 +00002382build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
e1e195f8 Nathanael Nerode2002-12-02 03:24:13 +00002383
bc03e8d9
JR
Joern Rennecke2010-01-25 18:06:22 +00002384# If we are building libgomp, bootstrap it.
2385if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
2386 bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
2387fi
2388
e1e195f8
NN
Nathanael Nerode2002-12-02 03:24:13 +00002389# Determine whether gdb needs tk/tcl or not.
2390# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
2391# and in that case we want gdb to be built without tk. Ugh!
2392# In fact I believe gdb is the *only* package directly dependent on tk,
2393# so we should be able to put the 'maybe's in unconditionally and
2394# leave out the maybe dependencies when enable_gdbtk is false. I'm not
2395# 100% sure that that's safe though.
a0b0d776 Andrew Cagney2003-01-06 18:36:08 +00002396
9982725a Nathanael Nerode2004-08-12 22:59:53 +00002397gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
e1e195f8
NN
Nathanael Nerode2002-12-02 03:24:13 +00002398case "$enable_gdbtk" in
2399 no)
2400 GDB_TK="" ;;
a0b0d776
AC
Andrew Cagney2003-01-06 18:36:08 +00002401 yes)
2402 GDB_TK="${gdb_tk}" ;;
e1e195f8 Nathanael Nerode2002-12-02 03:24:13 +00002403 *)
a0b0d776
AC
Andrew Cagney2003-01-06 18:36:08 +00002404 # Only add the dependency on gdbtk when GDBtk is part of the gdb
2405 # distro. Eventually someone will fix this and move Insight, nee
2406 # gdbtk to a separate directory.
2407 if test -d ${srcdir}/gdb/gdbtk ; then
2408 GDB_TK="${gdb_tk}"
2409 else
2410 GDB_TK=""
2411 fi
2412 ;;
e1e195f8 Nathanael Nerode2002-12-02 03:24:13 +00002413esac
0cd505f3
DJ
Daniel Jacobowitz2005-11-11 21:45:22 +00002414CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
2415INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
e1e195f8 Nathanael Nerode2002-12-02 03:24:13 +00002416
3102e9e5 Paolo Bonzini2004-05-21 19:08:54 +00002417# Strip out unwanted targets.
74770921
NN
Nathanael Nerode2003-05-18 15:49:06 +00002418
2419# While at that, we remove Makefiles if we were started for recursive
2420# configuration, so that the top-level Makefile reconfigures them,
2421# like we used to do when configure itself was recursive.
74770921 Nathanael Nerode2003-05-18 15:49:06 +00002422
4ab6d979
RW
Ralf Wildenhues2009-09-08 17:55:50 +00002423# Loop over modules. We used to use the "$extrasub" feature from Autoconf
2424# but now we're fixing up the Makefile ourselves with the additional
2425# commands passed to AC_CONFIG_FILES. Use separate variables
2426# extrasub-{build,host,target} not because there is any reason to split
2427# the substitutions up that way, but only to remain below the limit of
2428# 99 commands in a script, for HP-UX sed.
2429# Do not nest @if/@endif pairs, because configure will not warn you at all.
74770921 Nathanael Nerode2003-05-18 15:49:06 +00002430
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002431AC_ARG_ENABLE([bootstrap],
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00002432[AS_HELP_STRING([--enable-bootstrap],
2433 [enable bootstrapping @<:@yes if native build@:>@])],,
2ba35682
PB
Paolo Bonzini2004-08-30 08:05:42 +00002434enable_bootstrap=default)
2435
2436# Issue errors and warnings for invalid/strange bootstrap combinations.
2437case "$configdirs" in
2438 *gcc*) have_compiler=yes ;;
2439 *) have_compiler=no ;;
2440esac
2441
2442case "$have_compiler:$host:$target:$enable_bootstrap" in
2443 *:*:*:no) ;;
2444
5269ec6c Paolo Bonzini2005-12-14 18:00:22 +00002445 # Default behavior. Enable bootstrap if we have a compiler
2ba35682
PB
Paolo Bonzini2004-08-30 08:05:42 +00002446 # and we are in a native configuration.
2447 yes:$build:$build:default)
5269ec6c Paolo Bonzini2005-12-14 18:00:22 +00002448 enable_bootstrap=yes ;;
2ba35682
PB
Paolo Bonzini2004-08-30 08:05:42 +00002449
2450 *:*:*:default)
2451 enable_bootstrap=no ;;
2452
2453 # We have a compiler and we are in a native configuration, bootstrap is ok
3affd36c Paolo Bonzini2006-01-04 13:11:22 +00002454 yes:$build:$build:yes)
2ba35682
PB
Paolo Bonzini2004-08-30 08:05:42 +00002455 ;;
2456
2457 # Other configurations, but we have a compiler. Assume the user knows
2458 # what he's doing.
3affd36c Paolo Bonzini2006-01-04 13:11:22 +00002459 yes:*:*:yes)
2ba35682
PB
Paolo Bonzini2004-08-30 08:05:42 +00002460 AC_MSG_WARN([trying to bootstrap a cross compiler])
2461 ;;
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002462
2ba35682 Paolo Bonzini2004-08-30 08:05:42 +00002463 # No compiler: if they passed --enable-bootstrap explicitly, fail
3affd36c Paolo Bonzini2006-01-04 13:11:22 +00002464 no:*:*:yes)
2ba35682
PB
Paolo Bonzini2004-08-30 08:05:42 +00002465 AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
2466
2467 # Fail if wrong command line
2468 *)
2469 AC_MSG_ERROR([invalid option for --enable-bootstrap])
2470 ;;
2471esac
2472
ef45ac8a
RW
Ralf Wildenhues2009-09-21 19:25:05 +00002473case ",$enable_languages,:$ENABLE_BUILD_WITH_CXX:$enable_bootstrap" in
2474 *,c++,*:yes:yes) ;;
2475 *:yes:yes)
2476 AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx requires c++ in --enable-languages])
2477 ;;
2478esac
2479
b50a8508
RW
Ralf Wildenhues2009-09-21 20:32:59 +00002480case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
2481 yes:yes:*\ gold\ *:*,c++,*) ;;
2482 yes:yes:*\ gold\ *:*)
2483 AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
2484 ;;
2485esac
2486
2ba35682 Paolo Bonzini2004-08-30 08:05:42 +00002487# Adjust the toplevel makefile according to whether bootstrap was selected.
d2f4997c Alexandre Oliva2009-09-07 00:44:08 +00002488case $enable_bootstrap in
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002489 yes)
d2f4997c
AO
Alexandre Oliva2009-09-07 00:44:08 +00002490 bootstrap_suffix=bootstrap
2491 BUILD_CONFIG=bootstrap-debug
2492 ;;
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002493 no)
d2f4997c
AO
Alexandre Oliva2009-09-07 00:44:08 +00002494 bootstrap_suffix=no-bootstrap
2495 BUILD_CONFIG=
2496 ;;
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002497esac
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002498
d2f4997c
AO
Alexandre Oliva2009-09-07 00:44:08 +00002499AC_MSG_CHECKING(for default BUILD_CONFIG)
2500
2501AC_ARG_WITH([build-config],
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00002502 [AS_HELP_STRING([--with-build-config='NAME NAME2...'],
2503 [use config/NAME.mk build configuration])],
d2f4997c
AO
Alexandre Oliva2009-09-07 00:44:08 +00002504 [case $with_build_config in
2505 yes) with_build_config= ;;
2506 no) with_build_config= BUILD_CONFIG= ;;
2507 esac])
2508
2509if test "x${with_build_config}" != x; then
2510 BUILD_CONFIG=$with_build_config
2511else
2512 case $BUILD_CONFIG in
2513 bootstrap-debug)
2514 if echo "int f (void) { return 0; }" > conftest.c &&
2515 ${CC} -c conftest.c &&
2516 mv conftest.o conftest.o.g0 &&
2517 ${CC} -c -g conftest.c &&
2518 mv conftest.o conftest.o.g &&
e123a549 Ralf Wildenhues2010-06-01 17:28:06 +00002519 ${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
d2f4997c
AO
Alexandre Oliva2009-09-07 00:44:08 +00002520 :
2521 else
2522 BUILD_CONFIG=
2523 fi
2524 rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
2525 ;;
2526 esac
2527fi
2528AC_MSG_RESULT($BUILD_CONFIG)
2529AC_SUBST(BUILD_CONFIG)
2530
4ab6d979 Ralf Wildenhues2009-09-08 17:55:50 +00002531extrasub_build=
94ae5205 Paolo Bonzini2004-07-02 07:56:07 +00002532for module in ${build_configdirs} ; do
74770921
NN
Nathanael Nerode2003-05-18 15:49:06 +00002533 if test -z "${no_recursion}" \
2534 && test -f ${build_subdir}/${module}/Makefile; then
2535 echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
2536 rm -f ${build_subdir}/${module}/Makefile
2537 fi
4ab6d979 Ralf Wildenhues2009-09-08 17:55:50 +00002538 extrasub_build="$extrasub_build
3102e9e5 Paolo Bonzini2004-05-21 19:08:54 +00002539/^@if build-$module\$/d
aa55fc49
CF
Christopher Faylor2004-06-03 04:57:38 +00002540/^@endif build-$module\$/d
2541/^@if build-$module-$bootstrap_suffix\$/d
2542/^@endif build-$module-$bootstrap_suffix\$/d"
74770921 Nathanael Nerode2003-05-18 15:49:06 +00002543done
4ab6d979 Ralf Wildenhues2009-09-08 17:55:50 +00002544extrasub_host=
74770921 Nathanael Nerode2003-05-18 15:49:06 +00002545for module in ${configdirs} ; do
3affd36c Paolo Bonzini2006-01-04 13:11:22 +00002546 if test -z "${no_recursion}"; then
c3581a4c Ian Lance Taylor2006-12-27 23:46:00 +00002547 for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
3affd36c
PB
Paolo Bonzini2006-01-04 13:11:22 +00002548 if test -f ${file}; then
2549 echo 1>&2 "*** removing ${file} to force reconfigure"
2550 rm -f ${file}
2551 fi
2552 done
74770921 Nathanael Nerode2003-05-18 15:49:06 +00002553 fi
4ab6d979 Ralf Wildenhues2009-09-08 17:55:50 +00002554 extrasub_host="$extrasub_host
3102e9e5 Paolo Bonzini2004-05-21 19:08:54 +00002555/^@if $module\$/d
aa55fc49
CF
Christopher Faylor2004-06-03 04:57:38 +00002556/^@endif $module\$/d
2557/^@if $module-$bootstrap_suffix\$/d
2558/^@endif $module-$bootstrap_suffix\$/d"
74770921 Nathanael Nerode2003-05-18 15:49:06 +00002559done
4ab6d979 Ralf Wildenhues2009-09-08 17:55:50 +00002560extrasub_target=
74770921
NN
Nathanael Nerode2003-05-18 15:49:06 +00002561for module in ${target_configdirs} ; do
2562 if test -z "${no_recursion}" \
2563 && test -f ${target_subdir}/${module}/Makefile; then
2564 echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
2565 rm -f ${target_subdir}/${module}/Makefile
2566 fi
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00002567
2568 # We only bootstrap target libraries listed in bootstrap_target_libs.
2569 case $bootstrap_target_libs in
2570 *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
2571 *) target_bootstrap_suffix=no-bootstrap ;;
2572 esac
2573
4ab6d979 Ralf Wildenhues2009-09-08 17:55:50 +00002574 extrasub_target="$extrasub_target
3102e9e5 Paolo Bonzini2004-05-21 19:08:54 +00002575/^@if target-$module\$/d
aa55fc49 Christopher Faylor2004-06-03 04:57:38 +00002576/^@endif target-$module\$/d
df9f4176
RW
Ralf Wildenhues2009-08-19 19:49:26 +00002577/^@if target-$module-$target_bootstrap_suffix\$/d
2578/^@endif target-$module-$target_bootstrap_suffix\$/d"
e1e195f8 Nathanael Nerode2002-12-02 03:24:13 +00002579done
1827fda3 Paolo Bonzini2004-06-01 07:42:22 +00002580
4ab6d979
RW
Ralf Wildenhues2009-09-08 17:55:50 +00002581# Do the final fixup along with target modules.
2582extrasub_target="$extrasub_target
3102e9e5 Paolo Bonzini2004-05-21 19:08:54 +00002583/^@if /,/^@endif /d"
e1e195f8 Nathanael Nerode2002-12-02 03:24:13 +00002584
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002585# Create the serialization dependencies. This uses a temporary file.
2586
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002587AC_ARG_ENABLE([serial-configure],
f876bec8
AS
Andreas Schwab2011-01-21 13:29:46 +00002588[AS_HELP_STRING([[--enable-serial-[{host,target,build}-]configure]],
2589 [force sequential configuration of
2590 sub-packages for the host, target or build
2591 machine, or all sub-packages])])
1d446471
DD
DJ Delorie2003-06-12 16:06:52 +00002592
2593case ${enable_serial_configure} in
2594 yes)
2595 enable_serial_build_configure=yes
2596 enable_serial_host_configure=yes
2597 enable_serial_target_configure=yes
2598 ;;
2599esac
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002600
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002601# These force 'configure's to be done one at a time, to avoid problems
2602# with contention over a shared config.cache.
2603rm -f serdep.tmp
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002604echo '# serdep.tmp' > serdep.tmp
151066ef Nathanael Nerode2002-12-03 22:54:00 +00002605olditem=
1d446471 DJ Delorie2003-06-12 16:06:52 +00002606test "x${enable_serial_build_configure}" = xyes &&
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002607for item in ${build_configdirs} ; do
2608 case ${olditem} in
2609 "") ;;
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002610 *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002611 esac
2612 olditem=${item}
2613done
2614olditem=
1d446471 DJ Delorie2003-06-12 16:06:52 +00002615test "x${enable_serial_host_configure}" = xyes &&
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002616for item in ${configdirs} ; do
2617 case ${olditem} in
2618 "") ;;
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002619 *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002620 esac
2621 olditem=${item}
2622done
2623olditem=
1d446471 DJ Delorie2003-06-12 16:06:52 +00002624test "x${enable_serial_target_configure}" = xyes &&
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002625for item in ${target_configdirs} ; do
2626 case ${olditem} in
2627 "") ;;
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002628 *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
151066ef
NN
Nathanael Nerode2002-12-03 22:54:00 +00002629 esac
2630 olditem=${item}
2631done
09c8cf6e
NN
Nathanael Nerode2002-12-28 07:09:15 +00002632serialization_dependencies=serdep.tmp
2633AC_SUBST_FILE(serialization_dependencies)
151066ef Nathanael Nerode2002-12-03 22:54:00 +00002634
3d05b4cc Alexandre Oliva2002-12-29 19:05:04 +00002635# Base args. Strip norecursion, cache-file, srcdir, host, build,
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002636# target, nonopt, and variable assignments. These are the ones we
4e7a3b53
NC
Nick Clifton2009-09-25 19:25:04 +00002637# might not want to pass down to subconfigures. The exception being
2638# --cache-file=/dev/null, which is used to turn off the use of cache
2639# files altogether, and which should be passed on to subconfigures.
2640# Also strip program-prefix, program-suffix, and program-transform-name,
2641# so that we can pass down a consistent program-transform-name.
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002642baseargs=
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002643tbaseargs=
b4857d46
DJ
Daniel Jacobowitz2007-02-09 15:15:38 +00002644keep_next=no
2645skip_next=no
2646eval "set -- $ac_configure_args"
a4342775
DJ
Daniel Jacobowitz2007-02-09 22:35:45 +00002647for ac_arg
2648do
b4857d46
DJ
Daniel Jacobowitz2007-02-09 15:15:38 +00002649 if test X"$skip_next" = X"yes"; then
2650 skip_next=no
2651 continue
2652 fi
2653 if test X"$keep_next" = X"yes"; then
2654 case $ac_arg in
2655 *\'*)
2656 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2657 esac
2658 baseargs="$baseargs '$ac_arg'"
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002659 tbaseargs="$tbaseargs '$ac_arg'"
b4857d46
DJ
Daniel Jacobowitz2007-02-09 15:15:38 +00002660 keep_next=no
2661 continue
2662 fi
2663
2664 # Handle separated arguments. Based on the logic generated by
2665 # autoconf 2.59.
2666 case $ac_arg in
2667 *=* | --config-cache | -C | -disable-* | --disable-* \
2668 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2669 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2670 | -with-* | --with-* | -without-* | --without-* | --x)
2671 separate_arg=no
2672 ;;
2673 -*)
2674 separate_arg=yes
2675 ;;
2676 *)
2677 separate_arg=no
2678 ;;
2679 esac
2680
1da8c838
AO
Alexandre Oliva2011-01-31 05:26:01 +00002681 skip_targ=no
2682 case $ac_arg in
2683changequote(,)
2684 --with-* | --without-*)
2685 libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
2686
2687 case $libopt in
2688 *[-_]include)
2689 lib=`echo "$libopt" | sed 's,[-_]include$,,'`
2690 ;;
2691 *[-_]lib)
2692 lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
2693 ;;
2694 *)
2695 lib=$libopt
2696 ;;
2697 esac
2698changequote([,])
2699
2700 case $lib in
2701 mpc | mpfr | gmp | ppl | cloog)
2702 # If we're processing --with-$lib, --with-$lib-include or
2703 # --with-$lib-lib, for one of the libs above, and target is
2704 # different from host, don't pass the current argument to any
2705 # target library's configure.
2706 if test x$is_cross_compiler = xyes; then
2707 skip_targ=yes
2708 fi
2709 ;;
2710 esac
2711 ;;
2712 esac
2713
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002714 case "$ac_arg" in
4e7a3b53
NC
Nick Clifton2009-09-25 19:25:04 +00002715 --cache-file=/dev/null | \
2716 -cache-file=/dev/null )
2717 # Handled here to avoid the test to skip args below.
2718 baseargs="$baseargs '$ac_arg'"
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002719 tbaseargs="$tbaseargs '$ac_arg'"
4e7a3b53
NC
Nick Clifton2009-09-25 19:25:04 +00002720 # Assert: $separate_arg should always be no.
2721 keep_next=$separate_arg
2722 ;;
b4857d46
DJ
Daniel Jacobowitz2007-02-09 15:15:38 +00002723 --no*)
2724 continue
2725 ;;
2726 --c* | \
2727 --sr* | \
2728 --ho* | \
2729 --bu* | \
2730 --t* | \
2731 --program-* | \
2732 -cache_file* | \
2733 -srcdir* | \
2734 -host* | \
2735 -build* | \
2736 -target* | \
2737 -program-prefix* | \
2738 -program-suffix* | \
2739 -program-transform-name* )
2740 skip_next=$separate_arg
2741 continue
2742 ;;
2743 -*)
2744 # An option. Add it.
2745 case $ac_arg in
2746 *\'*)
2747 ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2748 esac
2749 baseargs="$baseargs '$ac_arg'"
1da8c838
AO
Alexandre Oliva2011-01-31 05:26:01 +00002750 if test X"$skip_targ" = Xno; then
2751 tbaseargs="$tbaseargs '$ac_arg'"
2752 fi
b4857d46
DJ
Daniel Jacobowitz2007-02-09 15:15:38 +00002753 keep_next=$separate_arg
2754 ;;
2755 *)
2756 # Either a variable assignment, or a nonopt (triplet). Don't
2757 # pass it down; let the Makefile handle this.
2758 continue
2759 ;;
2760 esac
2761done
2762# Remove the initial space we just introduced and, as these will be
2763# expanded by make, quote '$'.
2764baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
aa2289c2 Richard Henderson1999-05-03 07:29:11 +00002765
8c0b99bb
DJ
Daniel Jacobowitz2003-09-21 19:31:18 +00002766# Add in --program-transform-name, after --program-prefix and
2767# --program-suffix have been applied to it. Autoconf has already
2768# doubled dollar signs and backslashes in program_transform_name; we want
2769# the backslashes un-doubled, and then the entire thing wrapped in single
2770# quotes, because this will be expanded first by make and then by the shell.
2771# Also, because we want to override the logic in subdir configure scripts to
2772# choose program_transform_name, replace any s,x,x, with s,y,y,.
2773sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
2774${program_transform_name}
2775EOF_SED
2776gcc_transform_name=`cat conftestsed.out`
2777rm -f conftestsed.out
2778baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002779tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
4eaf9f5e
BE
Ben Elliston2007-08-13 01:32:36 +00002780if test "$silent" = yes; then
2781 baseargs="$baseargs --silent"
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002782 tbaseargs="$tbaseargs --silent"
4eaf9f5e Ben Elliston2007-08-13 01:32:36 +00002783fi
5f90edae Ralf Wildenhues2009-08-19 22:21:10 +00002784baseargs="$baseargs --disable-option-checking"
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002785tbaseargs="$tbaseargs --disable-option-checking"
8c0b99bb Daniel Jacobowitz2003-09-21 19:31:18 +00002786
34b1b2ab
RW
Ralf Wildenhues2010-10-02 14:54:05 +00002787# Record and document user additions to sub configure arguments.
2788AC_ARG_VAR([build_configargs],
2789 [additional configure arguments for build directories])
2790AC_ARG_VAR([host_configargs],
2791 [additional configure arguments for host directories])
2792AC_ARG_VAR([target_configargs],
2793 [additional configure arguments for target directories])
2794
87bcda62
DD
DJ Delorie2001-11-28 19:55:01 +00002795# For the build-side libraries, we just need to pretend we're native,
2796# and not use the same cache file. Multilibs are neither needed nor
2797# desired.
34b1b2ab Ralf Wildenhues2010-10-02 14:54:05 +00002798build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}"
2b5efcd0 DJ Delorie2002-05-13 21:11:50 +00002799
9d29e253
NN
Nathanael Nerode2002-12-03 04:46:25 +00002800# For host modules, accept cache file option, or specification as blank.
2801case "${cache_file}" in
2802"") # empty
2803 cache_file_option="" ;;
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002804/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
9d29e253
NN
Nathanael Nerode2002-12-03 04:46:25 +00002805 cache_file_option="--cache-file=${cache_file}" ;;
2806*) # relative path
2807 cache_file_option="--cache-file=../${cache_file}" ;;
2808esac
2809
00262b5f
NN
Nathanael Nerode2004-01-05 00:50:42 +00002810# Host dirs don't like to share a cache file either, horribly enough.
2811# This seems to be due to autoconf 2.5x stupidity.
34b1b2ab Ralf Wildenhues2010-10-02 14:54:05 +00002812host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
9d29e253 Nathanael Nerode2002-12-03 04:46:25 +00002813
1da8c838 Alexandre Oliva2011-01-31 05:26:01 +00002814target_configargs="$target_configargs ${tbaseargs}"
87bcda62 DJ Delorie2001-11-28 19:55:01 +00002815
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002816# Passing a --with-cross-host argument lets the target libraries know
2817# whether they are being built with a cross-compiler or being built
2818# native. However, it would be better to use other mechanisms to make the
2819# sorts of decisions they want to make on this basis. Please consider
2820# this option to be deprecated. FIXME.
43416498 DJ Delorie2002-04-30 03:17:27 +00002821if test x${is_cross_compiler} = xyes ; then
b4857d46 Daniel Jacobowitz2007-02-09 15:15:38 +00002822 target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002823fi
2824
33406faf
RW
Ralf Wildenhues2010-04-08 19:44:08 +00002825# Default to --enable-multilib.
2826if test x${enable_multilib} = x ; then
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002827 target_configargs="--enable-multilib ${target_configargs}"
33406faf Ralf Wildenhues2010-04-08 19:44:08 +00002828fi
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002829
2830# Pass --with-newlib if appropriate. Note that target_configdirs has
2831# changed from the earlier setting of with_newlib.
43416498 DJ Delorie2002-04-30 03:17:27 +00002832if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002833 target_configargs="--with-newlib ${target_configargs}"
aa2289c2
RH
Richard Henderson1999-05-03 07:29:11 +00002834fi
2835
36d6aada
NN
Nathanael Nerode2004-01-03 18:24:38 +00002836# Different target subdirs use different values of certain variables
2837# (notably CXX). Worse, multilibs use *lots* of different values.
2838# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
2839# it doesn't automatically accept command-line overrides of them.
2840# This means it's not safe for target subdirs to share a cache file,
2841# which is disgusting, but there you have it. Hopefully this can be
2842# fixed in future. It's still worthwhile to use a cache file for each
2843# directory. I think.
2844
8c0b6919
MS
Mike Stump2005-05-05 01:36:32 +00002845# Pass the appropriate --build, --host, --target and --cache-file arguments.
2846# We need to pass --target, as newer autoconf's requires consistency
2847# for target_alias and gcc doesn't manage it consistently.
df145479 Paolo Bonzini2007-01-11 11:22:52 +00002848target_configargs="--cache-file=./config.cache ${target_configargs}"
87bcda62 DJ Delorie2001-11-28 19:55:01 +00002849
310d0a3c Alexandre Oliva2000-07-28 02:10:36 +00002850FLAGS_FOR_TARGET=
1722644b DJ Delorie2002-07-11 20:14:41 +00002851case " $target_configdirs " in
a34f73d3 DJ Delorie2002-04-15 21:18:09 +00002852 *" newlib "*)
09c8cf6e Nathanael Nerode2002-12-28 07:09:15 +00002853 case " $target_configargs " in
a34f73d3 DJ Delorie2002-04-15 21:18:09 +00002854 *" --with-newlib "*)
310d0a3c Alexandre Oliva2000-07-28 02:10:36 +00002855 case "$target" in
8a9ff3b4
AO
Alexandre Oliva2009-11-16 18:42:35 +00002856 *-cygwin*)
2857 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'
2858 ;;
310d0a3c
AO
Alexandre Oliva2000-07-28 02:10:36 +00002859 esac
2860
f0973d24 Alexandre Oliva2000-09-02 07:24:51 +00002861 # If we're not building GCC, don't discard standard headers.
9a1d0035 DJ Delorie2002-06-19 23:57:41 +00002862 if test -d ${srcdir}/gcc; then
16aa4da8 DJ Delorie2000-08-02 18:56:20 +00002863 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
f0973d24
AO
Alexandre Oliva2000-09-02 07:24:51 +00002864
2865 if test "${build}" != "${host}"; then
2866 # On Canadian crosses, CC_FOR_TARGET will have already been set
2867 # by `configure', so we won't have an opportunity to add -Bgcc/
2868 # to it. This is right: we don't want to search that directory
2869 # for binaries, but we want the header files in there, so add
2870 # them explicitly.
0f514ac3 Ian Lance Taylor2010-11-19 22:06:26 +00002871 FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
f0973d24
AO
Alexandre Oliva2000-09-02 07:24:51 +00002872
2873 # Someone might think of using the pre-installed headers on
2874 # Canadian crosses, in case the installed compiler is not fully
2875 # compatible with the compiler being built. In this case, it
2876 # would be better to flag an error than risking having
2877 # incompatible object files being constructed. We can't
2878 # guarantee that an error will be flagged, but let's hope the
2879 # compiler will do it, when presented with incompatible header
2880 # files.
2881 fi
16aa4da8
DD
DJ Delorie2000-08-02 18:56:20 +00002882 fi
2883
5a5f28e6 Thomas Fitzsimmons2001-12-13 23:57:00 +00002884 case "${target}-${is_cross_compiler}" in
9b117aa1 DJ Delorie2003-05-19 18:12:19 +00002885 i[[3456789]]86-*-linux*-no)
5a5f28e6
TF
Thomas Fitzsimmons2001-12-13 23:57:00 +00002886 # Here host == target, so we