1 |
683 |
jeremybenn |
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
2 |
|
|
# 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
3 |
|
|
# Free Software Foundation, Inc.
|
4 |
|
|
#
|
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
|
7 |
|
|
# the Free Software Foundation; either version 3 of the License, or
|
8 |
|
|
# (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
|
16 |
|
|
# along with this program; see the file COPYING3. If not see
|
17 |
|
|
# .
|
18 |
|
|
|
19 |
|
|
##############################################################################
|
20 |
|
|
### WARNING: this file contains embedded tabs. Do not run untabify on this file.
|
21 |
|
|
|
22 |
|
|
m4_include(config/acx.m4)
|
23 |
|
|
m4_include(config/override.m4)
|
24 |
|
|
m4_include(config/proginstall.m4)
|
25 |
|
|
m4_include(config/elf.m4)
|
26 |
|
|
m4_include([libtool.m4])
|
27 |
|
|
m4_include([ltoptions.m4])
|
28 |
|
|
m4_include([ltsugar.m4])
|
29 |
|
|
m4_include([ltversion.m4])
|
30 |
|
|
m4_include([lt~obsolete.m4])
|
31 |
|
|
m4_include([config/cloog.m4])
|
32 |
|
|
|
33 |
|
|
AC_INIT(move-if-change)
|
34 |
|
|
AC_PREREQ(2.64)
|
35 |
|
|
AC_DISABLE_OPTION_CHECKING
|
36 |
|
|
|
37 |
|
|
progname=$0
|
38 |
|
|
# if PWD already has a value, it is probably wrong.
|
39 |
|
|
if 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.
|
43 |
|
|
TOPLEVEL_CONFIGURE_ARGUMENTS=
|
44 |
|
|
set -- "$progname" "$@"
|
45 |
|
|
for ac_arg
|
46 |
|
|
do
|
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"
|
56 |
|
|
done
|
57 |
|
|
if test "$silent" = yes; then
|
58 |
|
|
TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
|
59 |
|
|
fi
|
60 |
|
|
# Remove the initial space we just introduced and, as these will be
|
61 |
|
|
# expanded by make, quote '$'.
|
62 |
|
|
TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
|
63 |
|
|
AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
|
64 |
|
|
|
65 |
|
|
# Find the build, host, and target systems.
|
66 |
|
|
ACX_NONCANONICAL_BUILD
|
67 |
|
|
ACX_NONCANONICAL_HOST
|
68 |
|
|
ACX_NONCANONICAL_TARGET
|
69 |
|
|
|
70 |
|
|
dnl Autoconf 2.5x and later will set a default program prefix if
|
71 |
|
|
dnl --target was used, even if it was the same as --host. Disable
|
72 |
|
|
dnl that behavior. This must be done before AC_CANONICAL_SYSTEM
|
73 |
|
|
dnl to take effect.
|
74 |
|
|
test "$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 |
|
|
|
79 |
|
|
AC_CANONICAL_SYSTEM
|
80 |
|
|
AC_ARG_PROGRAM
|
81 |
|
|
|
82 |
|
|
m4_pattern_allow([^AS_FOR_TARGET$])dnl
|
83 |
|
|
m4_pattern_allow([^AS_FOR_BUILD$])dnl
|
84 |
|
|
|
85 |
|
|
# Get 'install' or 'install-sh' and its variants.
|
86 |
|
|
AC_PROG_INSTALL
|
87 |
|
|
ACX_PROG_LN
|
88 |
|
|
AC_PROG_LN_S
|
89 |
|
|
AC_PROG_SED
|
90 |
|
|
AC_PROG_AWK
|
91 |
|
|
|
92 |
|
|
srcpwd=`cd ${srcdir} ; ${PWDCMD-pwd}`
|
93 |
|
|
|
94 |
|
|
# We pass INSTALL explicitly to sub-makes. Make sure that it is not
|
95 |
|
|
# a relative path.
|
96 |
|
|
if test "$INSTALL" = "${srcdir}/install-sh -c"; then
|
97 |
|
|
INSTALL="${srcpwd}/install-sh -c"
|
98 |
|
|
fi
|
99 |
|
|
|
100 |
|
|
# Set srcdir to "." if that's what it is.
|
101 |
|
|
# This is important for multilib support.
|
102 |
|
|
pwd=`${PWDCMD-pwd}`
|
103 |
|
|
if test "${pwd}" = "${srcpwd}" ; then
|
104 |
|
|
srcdir=.
|
105 |
|
|
fi
|
106 |
|
|
|
107 |
|
|
topsrcdir=$srcpwd
|
108 |
|
|
|
109 |
|
|
extra_host_args=
|
110 |
|
|
|
111 |
|
|
### To add a new directory to the tree, first choose whether it is a target
|
112 |
|
|
### or a host dependent tool. Then put it into the appropriate list
|
113 |
|
|
### (library or tools, host or target), doing a dependency sort.
|
114 |
|
|
|
115 |
|
|
# Subdirs will be configured in the order listed in build_configdirs,
|
116 |
|
|
# configdirs, or target_configdirs; see the serialization section below.
|
117 |
|
|
|
118 |
|
|
# Dependency sorting is only needed when *configuration* must be done in
|
119 |
|
|
# a particular order. In all cases a dependency should be specified in
|
120 |
|
|
# the Makefile, whether or not it's implicitly specified here.
|
121 |
|
|
|
122 |
|
|
# Double entries in build_configdirs, configdirs, or target_configdirs may
|
123 |
|
|
# cause circular dependencies and break everything horribly.
|
124 |
|
|
|
125 |
|
|
# these library is used by various programs built for the build
|
126 |
|
|
# environment
|
127 |
|
|
#
|
128 |
|
|
build_libs="build-libiberty"
|
129 |
|
|
|
130 |
|
|
# these tools are built for the build environment
|
131 |
|
|
build_tools="build-texinfo build-flex build-bison build-m4 build-fixincludes"
|
132 |
|
|
|
133 |
|
|
# these libraries are used by various programs built for the host environment
|
134 |
|
|
#
|
135 |
|
|
host_libs="intl libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libelf libiconv"
|
136 |
|
|
|
137 |
|
|
# these tools are built for the host environment
|
138 |
|
|
# Note, the powerpc-eabi build depends on sim occurring before gdb in order to
|
139 |
|
|
# know that we are building the simulator.
|
140 |
|
|
# binutils, gas and ld appear in that order because it makes sense to run
|
141 |
|
|
# "make check" in that particular order.
|
142 |
|
|
# If --enable-gold is used, "gold" may replace "ld".
|
143 |
|
|
host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb gprof etc expect dejagnu m4 utils guile fastjar gnattools"
|
144 |
|
|
|
145 |
|
|
# libgcj represents the runtime libraries only used by gcj.
|
146 |
|
|
libgcj="target-libffi \
|
147 |
|
|
target-zlib \
|
148 |
|
|
target-libjava"
|
149 |
|
|
|
150 |
|
|
# these libraries are built for the target environment, and are built after
|
151 |
|
|
# the host libraries and the host tools (which may be a cross compiler)
|
152 |
|
|
# Note that libiberty is not a target library.
|
153 |
|
|
target_libraries="target-libgcc \
|
154 |
|
|
target-libgloss \
|
155 |
|
|
target-newlib \
|
156 |
|
|
target-libgomp \
|
157 |
|
|
target-libitm \
|
158 |
|
|
target-libstdc++-v3 \
|
159 |
|
|
target-libmudflap \
|
160 |
|
|
target-libssp \
|
161 |
|
|
target-libquadmath \
|
162 |
|
|
target-libgfortran \
|
163 |
|
|
target-boehm-gc \
|
164 |
|
|
${libgcj} \
|
165 |
|
|
target-libobjc \
|
166 |
|
|
target-libada \
|
167 |
|
|
target-libgo"
|
168 |
|
|
|
169 |
|
|
# these tools are built using the target libraries, and are intended to
|
170 |
|
|
# run only in the target environment
|
171 |
|
|
#
|
172 |
|
|
# note: any program that *uses* libraries that are in the "target_libraries"
|
173 |
|
|
# list belongs in this list.
|
174 |
|
|
#
|
175 |
|
|
target_tools="target-rda"
|
176 |
|
|
|
177 |
|
|
################################################################################
|
178 |
|
|
|
179 |
|
|
## All tools belong in one of the four categories, and are assigned above
|
180 |
|
|
## We assign ${configdirs} this way to remove all embedded newlines. This
|
181 |
|
|
## is important because configure will choke if they ever get through.
|
182 |
|
|
## ${configdirs} is directories we build using the host tools.
|
183 |
|
|
## ${target_configdirs} is directories we build using the target tools.
|
184 |
|
|
configdirs=`echo ${host_libs} ${host_tools}`
|
185 |
|
|
target_configdirs=`echo ${target_libraries} ${target_tools}`
|
186 |
|
|
build_configdirs=`echo ${build_libs} ${build_tools}`
|
187 |
|
|
|
188 |
|
|
m4_divert_text([PARSE_ARGS],
|
189 |
|
|
[case $srcdir in
|
190 |
|
|
*" "*)
|
191 |
|
|
m4_pushdef([AS_MESSAGE_LOG_FD], [])dnl
|
192 |
|
|
AC_MSG_ERROR([path to source, $srcdir, contains spaces])
|
193 |
|
|
m4_popdef([AS_MESSAGE_LOG_FD])dnl
|
194 |
|
|
;;
|
195 |
|
|
esac
|
196 |
|
|
ac_subdirs_all=`cd $srcdir && echo */configure | sed 's,/configure,,g'`
|
197 |
|
|
])
|
198 |
|
|
|
199 |
|
|
################################################################################
|
200 |
|
|
|
201 |
|
|
srcname="gnu development package"
|
202 |
|
|
|
203 |
|
|
# This gets set non-empty for some net releases of packages.
|
204 |
|
|
appdirs=""
|
205 |
|
|
|
206 |
|
|
# Define is_cross_compiler to save on calls to 'test'.
|
207 |
|
|
is_cross_compiler=
|
208 |
|
|
if test x"${host}" = x"${target}" ; then
|
209 |
|
|
is_cross_compiler=no
|
210 |
|
|
else
|
211 |
|
|
is_cross_compiler=yes
|
212 |
|
|
fi
|
213 |
|
|
|
214 |
|
|
# Find the build and target subdir names.
|
215 |
|
|
GCC_TOPLEV_SUBDIRS
|
216 |
|
|
# Be sure to cover against remnants of an in-tree build.
|
217 |
|
|
if test $srcdir != . && test -d $srcdir/host-${host_noncanonical}; then
|
218 |
|
|
AC_MSG_ERROR([building out of tree but $srcdir contains host-${host_noncanonical}.
|
219 |
|
|
Use a pristine source tree when building in a separate tree])
|
220 |
|
|
fi
|
221 |
|
|
|
222 |
|
|
# Skipdirs are removed silently.
|
223 |
|
|
skipdirs=
|
224 |
|
|
# Noconfigdirs are removed loudly.
|
225 |
|
|
noconfigdirs=""
|
226 |
|
|
|
227 |
|
|
use_gnu_ld=
|
228 |
|
|
# Make sure we don't let GNU ld be added if we didn't want it.
|
229 |
|
|
if test x$with_gnu_ld = xno ; then
|
230 |
|
|
use_gnu_ld=no
|
231 |
|
|
noconfigdirs="$noconfigdirs ld gold"
|
232 |
|
|
fi
|
233 |
|
|
|
234 |
|
|
use_gnu_as=
|
235 |
|
|
# Make sure we don't let GNU as be added if we didn't want it.
|
236 |
|
|
if test x$with_gnu_as = xno ; then
|
237 |
|
|
use_gnu_as=no
|
238 |
|
|
noconfigdirs="$noconfigdirs gas"
|
239 |
|
|
fi
|
240 |
|
|
|
241 |
|
|
use_included_zlib=
|
242 |
|
|
# Make sure we don't let ZLIB be added if we didn't want it.
|
243 |
|
|
if test x$with_system_zlib = xyes ; then
|
244 |
|
|
use_included_zlib=no
|
245 |
|
|
noconfigdirs="$noconfigdirs zlib"
|
246 |
|
|
fi
|
247 |
|
|
|
248 |
|
|
# some tools are so dependent upon X11 that if we're not building with X,
|
249 |
|
|
# it's not even worth trying to configure, much less build, that tool.
|
250 |
|
|
|
251 |
|
|
case ${with_x} in
|
252 |
|
|
yes | "") ;; # the default value for this tree is that X11 is available
|
253 |
|
|
no)
|
254 |
|
|
skipdirs="${skipdirs} tk itcl libgui"
|
255 |
|
|
# We won't be able to build gdbtk without X.
|
256 |
|
|
enable_gdbtk=no
|
257 |
|
|
;;
|
258 |
|
|
*) echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2 ;;
|
259 |
|
|
esac
|
260 |
|
|
|
261 |
|
|
# Some are only suitable for cross toolchains.
|
262 |
|
|
# Remove these if host=target.
|
263 |
|
|
cross_only="target-libgloss target-newlib target-opcodes"
|
264 |
|
|
|
265 |
|
|
case $is_cross_compiler in
|
266 |
|
|
no) skipdirs="${skipdirs} ${cross_only}" ;;
|
267 |
|
|
esac
|
268 |
|
|
|
269 |
|
|
# If both --with-headers and --with-libs are specified, default to
|
270 |
|
|
# --without-newlib.
|
271 |
|
|
if test x"${with_headers}" != x && test x"${with_headers}" != xno \
|
272 |
|
|
&& test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
|
273 |
|
|
if test x"${with_newlib}" = x ; then
|
274 |
|
|
with_newlib=no
|
275 |
|
|
fi
|
276 |
|
|
fi
|
277 |
|
|
|
278 |
|
|
# Recognize --with-newlib/--without-newlib.
|
279 |
|
|
case ${with_newlib} in
|
280 |
|
|
no) skipdirs="${skipdirs} target-newlib" ;;
|
281 |
|
|
yes) skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` ;;
|
282 |
|
|
esac
|
283 |
|
|
|
284 |
|
|
# Handle --enable-gold, --enable-ld.
|
285 |
|
|
# --disable-gold [--enable-ld]
|
286 |
|
|
# Build only ld. Default option.
|
287 |
|
|
# --enable-gold [--enable-ld]
|
288 |
|
|
# Build both gold and ld. Install gold as "ld.gold", install ld
|
289 |
|
|
# as "ld.bfd" and "ld".
|
290 |
|
|
# --enable-gold=default [--enable-ld]
|
291 |
|
|
# Build both gold and ld. Install gold as "ld.gold" and "ld",
|
292 |
|
|
# install ld as "ld.bfd".
|
293 |
|
|
# --enable-gold[=default] --disable-ld
|
294 |
|
|
# Build only gold, which is then installed as both "ld.gold" and "ld".
|
295 |
|
|
# --enable-gold --enable-ld=default
|
296 |
|
|
# Build both gold (installed as "ld.gold") and ld (installed as "ld"
|
297 |
|
|
# and ld.bfd).
|
298 |
|
|
# In other words, ld is default
|
299 |
|
|
# --enable-gold=default --enable-ld=default
|
300 |
|
|
# Error.
|
301 |
|
|
|
302 |
|
|
default_ld=
|
303 |
|
|
AC_ARG_ENABLE(gold,
|
304 |
|
|
[AS_HELP_STRING([[--enable-gold[=ARG]]],
|
305 |
|
|
[build gold @<:@ARG={default,yes,no}@:>@])],
|
306 |
|
|
ENABLE_GOLD=$enableval,
|
307 |
|
|
ENABLE_GOLD=no)
|
308 |
|
|
case "${ENABLE_GOLD}" in
|
309 |
|
|
yes|default)
|
310 |
|
|
# Check for ELF target.
|
311 |
|
|
is_elf=no
|
312 |
|
|
case "${target}" in
|
313 |
|
|
*-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
|
314 |
|
|
| *-*-linux* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
|
315 |
|
|
| *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
|
316 |
|
|
| *-*-solaris2* | *-*-nto*)
|
317 |
|
|
case "${target}" in
|
318 |
|
|
*-*-linux*aout* | *-*-linux*oldld*)
|
319 |
|
|
;;
|
320 |
|
|
*)
|
321 |
|
|
is_elf=yes
|
322 |
|
|
;;
|
323 |
|
|
esac
|
324 |
|
|
esac
|
325 |
|
|
|
326 |
|
|
if test "$is_elf" = "yes"; then
|
327 |
|
|
# Check for target supported by gold.
|
328 |
|
|
case "${target}" in
|
329 |
|
|
i?86-*-* | x86_64-*-* | sparc*-*-* | powerpc*-*-* | arm*-*-*)
|
330 |
|
|
configdirs="$configdirs gold"
|
331 |
|
|
if test x${ENABLE_GOLD} = xdefault; then
|
332 |
|
|
default_ld=gold
|
333 |
|
|
fi
|
334 |
|
|
ENABLE_GOLD=yes
|
335 |
|
|
;;
|
336 |
|
|
esac
|
337 |
|
|
fi
|
338 |
|
|
;;
|
339 |
|
|
no)
|
340 |
|
|
;;
|
341 |
|
|
*)
|
342 |
|
|
AC_MSG_ERROR([invalid --enable-gold argument])
|
343 |
|
|
;;
|
344 |
|
|
esac
|
345 |
|
|
|
346 |
|
|
AC_ARG_ENABLE(ld,
|
347 |
|
|
[AS_HELP_STRING([[--enable-ld[=ARG]]],
|
348 |
|
|
[build ld @<:@ARG={default,yes,no}@:>@])],
|
349 |
|
|
ENABLE_LD=$enableval,
|
350 |
|
|
ENABLE_LD=yes)
|
351 |
|
|
|
352 |
|
|
case "${ENABLE_LD}" in
|
353 |
|
|
default)
|
354 |
|
|
if test x${default_ld} != x; then
|
355 |
|
|
AC_MSG_ERROR([either gold or ld can be the default ld])
|
356 |
|
|
fi
|
357 |
|
|
;;
|
358 |
|
|
yes)
|
359 |
|
|
;;
|
360 |
|
|
no)
|
361 |
|
|
if test x${ENABLE_GOLD} != xyes; then
|
362 |
|
|
AC_MSG_WARN([neither ld nor gold are enabled])
|
363 |
|
|
fi
|
364 |
|
|
configdirs=`echo " ${configdirs} " | sed -e 's/ ld / /'`
|
365 |
|
|
;;
|
366 |
|
|
*)
|
367 |
|
|
AC_MSG_ERROR([invalid --enable-ld argument])
|
368 |
|
|
;;
|
369 |
|
|
esac
|
370 |
|
|
|
371 |
|
|
# Configure extra directories which are host specific
|
372 |
|
|
|
373 |
|
|
case "${host}" in
|
374 |
|
|
*-cygwin*)
|
375 |
|
|
configdirs="$configdirs libtermcap" ;;
|
376 |
|
|
esac
|
377 |
|
|
|
378 |
|
|
# A target can indicate whether a language isn't supported for some reason.
|
379 |
|
|
# Only spaces may be used in this macro; not newlines or tabs.
|
380 |
|
|
unsupported_languages=
|
381 |
|
|
|
382 |
|
|
# Remove more programs from consideration, based on the host or
|
383 |
|
|
# target this usually means that a port of the program doesn't
|
384 |
|
|
# exist yet.
|
385 |
|
|
|
386 |
|
|
case "${host}" in
|
387 |
|
|
i[[3456789]]86-*-msdosdjgpp*)
|
388 |
|
|
noconfigdirs="$noconfigdirs tcl tk itcl"
|
389 |
|
|
;;
|
390 |
|
|
esac
|
391 |
|
|
|
392 |
|
|
|
393 |
|
|
AC_ARG_ENABLE(libquadmath,
|
394 |
|
|
AS_HELP_STRING([--disable-libquadmath],
|
395 |
|
|
[do not build libquadmath directory]),
|
396 |
|
|
ENABLE_LIBQUADMATH=$enableval,
|
397 |
|
|
ENABLE_LIBQUADMATH=yes)
|
398 |
|
|
if test "${ENABLE_LIBQUADMATH}" = "no" ; then
|
399 |
|
|
noconfigdirs="$noconfigdirs target-libquadmath"
|
400 |
|
|
fi
|
401 |
|
|
|
402 |
|
|
|
403 |
|
|
AC_ARG_ENABLE(libquadmath-support,
|
404 |
|
|
AS_HELP_STRING([--disable-libquadmath-support],
|
405 |
|
|
[disable libquadmath support for Fortran]),
|
406 |
|
|
ENABLE_LIBQUADMATH_SUPPORT=$enableval,
|
407 |
|
|
ENABLE_LIBQUADMATH_SUPPORT=yes)
|
408 |
|
|
enable_libquadmath_support=
|
409 |
|
|
if test "${ENABLE_LIBQUADMATH_SUPPORT}" = "no" ; then
|
410 |
|
|
enable_libquadmath_support=no
|
411 |
|
|
fi
|
412 |
|
|
|
413 |
|
|
|
414 |
|
|
AC_ARG_ENABLE(libada,
|
415 |
|
|
[AS_HELP_STRING([--enable-libada], [build libada directory])],
|
416 |
|
|
ENABLE_LIBADA=$enableval,
|
417 |
|
|
ENABLE_LIBADA=yes)
|
418 |
|
|
if test "${ENABLE_LIBADA}" != "yes" ; then
|
419 |
|
|
noconfigdirs="$noconfigdirs gnattools"
|
420 |
|
|
fi
|
421 |
|
|
|
422 |
|
|
AC_ARG_ENABLE(libssp,
|
423 |
|
|
[AS_HELP_STRING([--enable-libssp], [build libssp directory])],
|
424 |
|
|
ENABLE_LIBSSP=$enableval,
|
425 |
|
|
ENABLE_LIBSSP=yes)
|
426 |
|
|
|
427 |
|
|
# Save it here so that, even in case of --enable-libgcj, if the Java
|
428 |
|
|
# front-end isn't enabled, we still get libgcj disabled.
|
429 |
|
|
libgcj_saved=$libgcj
|
430 |
|
|
case $enable_libgcj in
|
431 |
|
|
yes)
|
432 |
|
|
# If we reset it here, it won't get added to noconfigdirs in the
|
433 |
|
|
# target-specific build rules, so it will be forcibly enabled
|
434 |
|
|
# (unless the Java language itself isn't enabled).
|
435 |
|
|
libgcj=
|
436 |
|
|
;;
|
437 |
|
|
no)
|
438 |
|
|
# Make sure we get it printed in the list of not supported target libs.
|
439 |
|
|
# Don't disable libffi, though, other languages use it.
|
440 |
|
|
noconfigdirs="$noconfigdirs `echo ${libgcj} | sed -e 's/target-libffi//'`"
|
441 |
|
|
# Clear libgcj_saved so that even if java is enabled libffi won't be
|
442 |
|
|
# built.
|
443 |
|
|
libgcj_saved=
|
444 |
|
|
;;
|
445 |
|
|
esac
|
446 |
|
|
|
447 |
|
|
AC_ARG_ENABLE(static-libjava,
|
448 |
|
|
[AS_HELP_STRING([[--enable-static-libjava[=ARG]]],
|
449 |
|
|
[build static libjava @<:@default=no@:>@])],
|
450 |
|
|
ENABLE_STATIC_LIBJAVA=$enableval,
|
451 |
|
|
ENABLE_STATIC_LIBJAVA=no)
|
452 |
|
|
enable_static_libjava=
|
453 |
|
|
if test "${ENABLE_STATIC_LIBJAVA}" = "yes" ; then
|
454 |
|
|
enable_static_libjava=yes
|
455 |
|
|
fi
|
456 |
|
|
|
457 |
|
|
if test x$enable_static_libjava != xyes ; then
|
458 |
|
|
EXTRA_CONFIGARGS_LIBJAVA=--disable-static
|
459 |
|
|
fi
|
460 |
|
|
AC_SUBST(EXTRA_CONFIGARGS_LIBJAVA)
|
461 |
|
|
|
462 |
|
|
# Disable libmudflap on some systems.
|
463 |
|
|
if test x$enable_libmudflap = x ; then
|
464 |
|
|
case "${target}" in
|
465 |
|
|
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | bfin*-*-uclinux* | *-*-kopensolaris*-gnu)
|
466 |
|
|
# Enable libmudflap by default in GNU and friends.
|
467 |
|
|
;;
|
468 |
|
|
*-*-freebsd*)
|
469 |
|
|
# Enable libmudflap by default in FreeBSD.
|
470 |
|
|
;;
|
471 |
|
|
*)
|
472 |
|
|
# Disable it by default everywhere else.
|
473 |
|
|
noconfigdirs="$noconfigdirs target-libmudflap"
|
474 |
|
|
;;
|
475 |
|
|
esac
|
476 |
|
|
fi
|
477 |
|
|
|
478 |
|
|
# Disable libgomp on non POSIX hosted systems.
|
479 |
|
|
if test x$enable_libgomp = x ; then
|
480 |
|
|
# Enable libgomp by default on hosted POSIX systems.
|
481 |
|
|
case "${target}" in
|
482 |
|
|
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
|
483 |
|
|
;;
|
484 |
|
|
*-*-netbsd* | *-*-freebsd* | *-*-openbsd* | *-*-dragonfly*)
|
485 |
|
|
;;
|
486 |
|
|
*-*-solaris2* | *-*-irix6* | *-*-osf* | *-*-hpux11*)
|
487 |
|
|
;;
|
488 |
|
|
*-*-darwin* | *-*-aix*)
|
489 |
|
|
;;
|
490 |
|
|
*)
|
491 |
|
|
noconfigdirs="$noconfigdirs target-libgomp"
|
492 |
|
|
;;
|
493 |
|
|
esac
|
494 |
|
|
fi
|
495 |
|
|
|
496 |
|
|
# Disable libitm on unsupported systems.
|
497 |
|
|
if test -d ${srcdir}/libitm; then
|
498 |
|
|
if test x$enable_libitm = x; then
|
499 |
|
|
AC_MSG_CHECKING([for libitm support])
|
500 |
|
|
if (srcdir=${srcdir}/libitm; \
|
501 |
|
|
. ${srcdir}/configure.tgt; \
|
502 |
|
|
test -n "$UNSUPPORTED")
|
503 |
|
|
then
|
504 |
|
|
AC_MSG_RESULT([no])
|
505 |
|
|
noconfigdirs="$noconfigdirs target-libitm"
|
506 |
|
|
else
|
507 |
|
|
AC_MSG_RESULT([yes])
|
508 |
|
|
fi
|
509 |
|
|
fi
|
510 |
|
|
fi
|
511 |
|
|
|
512 |
|
|
# Disable libssp for some systems.
|
513 |
|
|
case "${target}" in
|
514 |
|
|
avr-*-*)
|
515 |
|
|
# No hosted I/O support.
|
516 |
|
|
noconfigdirs="$noconfigdirs target-libssp"
|
517 |
|
|
;;
|
518 |
|
|
powerpc-*-aix* | rs6000-*-aix*)
|
519 |
|
|
noconfigdirs="$noconfigdirs target-libssp"
|
520 |
|
|
;;
|
521 |
|
|
rl78-*-*)
|
522 |
|
|
# libssp uses a misaligned load to trigger a fault, but the RL78
|
523 |
|
|
# doesn't fault for those - instead, it gives a build-time error
|
524 |
|
|
# for explicit misaligned loads.
|
525 |
|
|
noconfigdirs="$noconfigdirs target-libssp"
|
526 |
|
|
;;
|
527 |
|
|
esac
|
528 |
|
|
|
529 |
|
|
# Disable libstdc++-v3 for some systems.
|
530 |
|
|
case "${target}" in
|
531 |
|
|
*-*-vxworks*)
|
532 |
|
|
# VxWorks uses the Dinkumware C++ library.
|
533 |
|
|
noconfigdirs="$noconfigdirs target-libstdc++-v3"
|
534 |
|
|
;;
|
535 |
|
|
arm*-wince-pe*)
|
536 |
|
|
# the C++ libraries don't build on top of CE's C libraries
|
537 |
|
|
noconfigdirs="$noconfigdirs target-libstdc++-v3"
|
538 |
|
|
;;
|
539 |
|
|
avr-*-*)
|
540 |
|
|
noconfigdirs="$noconfigdirs target-libstdc++-v3"
|
541 |
|
|
;;
|
542 |
|
|
esac
|
543 |
|
|
|
544 |
|
|
# Disable Fortran for some systems.
|
545 |
|
|
case "${target}" in
|
546 |
|
|
mmix-*-*)
|
547 |
|
|
# See .
|
548 |
|
|
unsupported_languages="$unsupported_languages fortran"
|
549 |
|
|
;;
|
550 |
|
|
esac
|
551 |
|
|
|
552 |
|
|
# Disable Java if libffi is not supported.
|
553 |
|
|
case "${target}" in
|
554 |
|
|
alpha*-*-*)
|
555 |
|
|
;;
|
556 |
|
|
arm*-*-*)
|
557 |
|
|
;;
|
558 |
|
|
cris-*-*)
|
559 |
|
|
;;
|
560 |
|
|
frv-*-*)
|
561 |
|
|
;;
|
562 |
|
|
hppa*-*-linux*)
|
563 |
|
|
;;
|
564 |
|
|
hppa*-*-hpux*)
|
565 |
|
|
;;
|
566 |
|
|
i?86-*-*)
|
567 |
|
|
;;
|
568 |
|
|
ia64*-*-*)
|
569 |
|
|
;;
|
570 |
|
|
m32r*-*-*)
|
571 |
|
|
;;
|
572 |
|
|
m68k-*-*)
|
573 |
|
|
;;
|
574 |
|
|
mips-sgi-irix6.* | mips*-*-rtems*)
|
575 |
|
|
;;
|
576 |
|
|
mips*-*-linux*)
|
577 |
|
|
;;
|
578 |
|
|
powerpc*-*-linux*)
|
579 |
|
|
;;
|
580 |
|
|
powerpc-*-darwin*)
|
581 |
|
|
;;
|
582 |
|
|
powerpc-*-aix* | rs6000-*-aix*)
|
583 |
|
|
;;
|
584 |
|
|
powerpc-*-freebsd*)
|
585 |
|
|
;;
|
586 |
|
|
powerpc64-*-freebsd*)
|
587 |
|
|
;;
|
588 |
|
|
powerpc*-*-rtems*)
|
589 |
|
|
;;
|
590 |
|
|
s390-*-* | s390x-*-*)
|
591 |
|
|
;;
|
592 |
|
|
sh-*-* | sh[[34]]*-*-*)
|
593 |
|
|
;;
|
594 |
|
|
sh64-*-* | sh5*-*-*)
|
595 |
|
|
;;
|
596 |
|
|
sparc*-*-*)
|
597 |
|
|
;;
|
598 |
|
|
x86_64-*-*)
|
599 |
|
|
;;
|
600 |
|
|
*-*-*)
|
601 |
|
|
unsupported_languages="$unsupported_languages java"
|
602 |
|
|
;;
|
603 |
|
|
esac
|
604 |
|
|
|
605 |
|
|
# Disable Java, libgcj or related libraries for some systems.
|
606 |
|
|
case "${target}" in
|
607 |
|
|
powerpc-*-darwin*)
|
608 |
|
|
;;
|
609 |
|
|
i[[3456789]]86-*-darwin*)
|
610 |
|
|
;;
|
611 |
|
|
x86_64-*-darwin[[912]]*)
|
612 |
|
|
;;
|
613 |
|
|
*-*-darwin*)
|
614 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
615 |
|
|
;;
|
616 |
|
|
*-*-netware*)
|
617 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
618 |
|
|
;;
|
619 |
|
|
*-*-rtems*)
|
620 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
621 |
|
|
;;
|
622 |
|
|
*-*-tpf*)
|
623 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
624 |
|
|
;;
|
625 |
|
|
*-*-uclinux*)
|
626 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
627 |
|
|
;;
|
628 |
|
|
*-*-vxworks*)
|
629 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
630 |
|
|
;;
|
631 |
|
|
alpha*-*-*vms*)
|
632 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
633 |
|
|
;;
|
634 |
|
|
arm-wince-pe)
|
635 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
636 |
|
|
;;
|
637 |
|
|
arm*-*-symbianelf*)
|
638 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
639 |
|
|
;;
|
640 |
|
|
bfin-*-*)
|
641 |
|
|
noconfigdirs="$noconfigdirs target-boehm-gc"
|
642 |
|
|
;;
|
643 |
|
|
cris-*-* | crisv32-*-*)
|
644 |
|
|
unsupported_languages="$unsupported_languages java"
|
645 |
|
|
case "${target}" in
|
646 |
|
|
*-*-linux*)
|
647 |
|
|
;;
|
648 |
|
|
*) # See PR46792 regarding target-libffi.
|
649 |
|
|
noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
|
650 |
|
|
esac
|
651 |
|
|
;;
|
652 |
|
|
hppa*64*-*-linux*)
|
653 |
|
|
# In this case, it's because the hppa64-linux target is for
|
654 |
|
|
# the kernel only at this point and has no libc, and thus no
|
655 |
|
|
# headers, crt*.o, etc., all of which are needed by these.
|
656 |
|
|
unsupported_languages="$unsupported_languages java"
|
657 |
|
|
;;
|
658 |
|
|
hppa*64*-*-hpux*)
|
659 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
660 |
|
|
;;
|
661 |
|
|
hppa*-hp-hpux11*)
|
662 |
|
|
;;
|
663 |
|
|
hppa*-*-hpux*)
|
664 |
|
|
# According to Alexandre Oliva , libjava won't
|
665 |
|
|
# build on HP-UX 10.20.
|
666 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
667 |
|
|
;;
|
668 |
|
|
ia64*-*-*vms*)
|
669 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
670 |
|
|
;;
|
671 |
|
|
i[[3456789]]86-w64-mingw*)
|
672 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
673 |
|
|
;;
|
674 |
|
|
i[[3456789]]86-*-mingw*)
|
675 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
676 |
|
|
;;
|
677 |
|
|
x86_64-*-mingw*)
|
678 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
679 |
|
|
;;
|
680 |
|
|
mmix-*-*)
|
681 |
|
|
noconfigdirs="$noconfigdirs target-libffi target-boehm-gc"
|
682 |
|
|
;;
|
683 |
|
|
powerpc-*-aix*)
|
684 |
|
|
# copied from rs6000-*-* entry
|
685 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
686 |
|
|
;;
|
687 |
|
|
rs6000-*-aix*)
|
688 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
689 |
|
|
;;
|
690 |
|
|
mips*-*-irix6*)
|
691 |
|
|
# Linking libjava exceeds command-line length limits on at least
|
692 |
|
|
# IRIX 6.2, but not on IRIX 6.5.
|
693 |
|
|
# Also, boehm-gc won't build on IRIX 6.5, according to Jeffrey Oldham
|
694 |
|
|
#
|
695 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
696 |
|
|
;;
|
697 |
|
|
*-*-lynxos*)
|
698 |
|
|
noconfigdirs="$noconfigdirs ${libgcj}"
|
699 |
|
|
;;
|
700 |
|
|
esac
|
701 |
|
|
|
702 |
|
|
# Default libgloss CPU subdirectory.
|
703 |
|
|
libgloss_dir="$target_cpu"
|
704 |
|
|
|
705 |
|
|
case "${target}" in
|
706 |
|
|
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
707 |
|
|
libgloss_dir=wince
|
708 |
|
|
;;
|
709 |
|
|
arm*-*-*)
|
710 |
|
|
libgloss_dir=arm
|
711 |
|
|
;;
|
712 |
|
|
cris-*-* | crisv32-*-*)
|
713 |
|
|
libgloss_dir=cris
|
714 |
|
|
;;
|
715 |
|
|
hppa*-*-*)
|
716 |
|
|
libgloss_dir=pa
|
717 |
|
|
;;
|
718 |
|
|
i[[3456789]]86-*-*)
|
719 |
|
|
libgloss_dir=i386
|
720 |
|
|
;;
|
721 |
|
|
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)
|
722 |
|
|
libgloss_dir=m68hc11
|
723 |
|
|
;;
|
724 |
|
|
m68*-*-* | fido-*-*)
|
725 |
|
|
libgloss_dir=m68k
|
726 |
|
|
;;
|
727 |
|
|
mips*-*-*)
|
728 |
|
|
libgloss_dir=mips
|
729 |
|
|
;;
|
730 |
|
|
powerpc*-*-*)
|
731 |
|
|
libgloss_dir=rs6000
|
732 |
|
|
;;
|
733 |
|
|
sparc*-*-*)
|
734 |
|
|
libgloss_dir=sparc
|
735 |
|
|
;;
|
736 |
|
|
esac
|
737 |
|
|
|
738 |
|
|
# Disable newlib and libgloss for various target OSes.
|
739 |
|
|
case "${target}" in
|
740 |
|
|
alpha*-dec-osf*)
|
741 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
742 |
|
|
;;
|
743 |
|
|
i[[3456789]]86-*-linux*)
|
744 |
|
|
# This section makes it possible to build newlib natively on linux.
|
745 |
|
|
# If we are using a cross compiler then don't configure newlib.
|
746 |
|
|
if test x${is_cross_compiler} != xno ; then
|
747 |
|
|
noconfigdirs="$noconfigdirs target-newlib"
|
748 |
|
|
fi
|
749 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
750 |
|
|
# If we are not using a cross compiler, do configure newlib.
|
751 |
|
|
# Note however, that newlib will only be configured in this situation
|
752 |
|
|
# if the --with-newlib option has been given, because otherwise
|
753 |
|
|
# 'target-newlib' will appear in skipdirs.
|
754 |
|
|
;;
|
755 |
|
|
i[[3456789]]86-*-rdos*)
|
756 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
757 |
|
|
;;
|
758 |
|
|
sh*-*-pe|mips*-*-pe|arm-wince-pe)
|
759 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
760 |
|
|
;;
|
761 |
|
|
sparc-*-sunos4*)
|
762 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
763 |
|
|
;;
|
764 |
|
|
*-*-aix*)
|
765 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
766 |
|
|
;;
|
767 |
|
|
*-*-beos*)
|
768 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
769 |
|
|
;;
|
770 |
|
|
*-*-chorusos)
|
771 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
772 |
|
|
;;
|
773 |
|
|
*-*-dragonfly*)
|
774 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
775 |
|
|
;;
|
776 |
|
|
*-*-freebsd*)
|
777 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
778 |
|
|
;;
|
779 |
|
|
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
|
780 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
781 |
|
|
;;
|
782 |
|
|
*-*-lynxos*)
|
783 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
784 |
|
|
;;
|
785 |
|
|
*-*-mingw*)
|
786 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
787 |
|
|
;;
|
788 |
|
|
*-*-netbsd*)
|
789 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
790 |
|
|
;;
|
791 |
|
|
*-*-netware*)
|
792 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
793 |
|
|
;;
|
794 |
|
|
*-*-tpf*)
|
795 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
796 |
|
|
;;
|
797 |
|
|
*-*-uclinux*)
|
798 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
799 |
|
|
;;
|
800 |
|
|
*-*-vxworks*)
|
801 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
802 |
|
|
;;
|
803 |
|
|
esac
|
804 |
|
|
|
805 |
|
|
case "${target}" in
|
806 |
|
|
*-*-chorusos)
|
807 |
|
|
;;
|
808 |
|
|
powerpc-*-darwin*)
|
809 |
|
|
noconfigdirs="$noconfigdirs ld gas gdb gprof"
|
810 |
|
|
noconfigdirs="$noconfigdirs sim target-rda"
|
811 |
|
|
;;
|
812 |
|
|
i[[3456789]]86-*-darwin*)
|
813 |
|
|
noconfigdirs="$noconfigdirs ld gprof"
|
814 |
|
|
noconfigdirs="$noconfigdirs sim target-rda"
|
815 |
|
|
;;
|
816 |
|
|
x86_64-*-darwin[[912]]*)
|
817 |
|
|
noconfigdirs="$noconfigdirs ld gas gprof"
|
818 |
|
|
noconfigdirs="$noconfigdirs sim target-rda"
|
819 |
|
|
;;
|
820 |
|
|
*-*-darwin*)
|
821 |
|
|
noconfigdirs="$noconfigdirs ld gas gdb gprof"
|
822 |
|
|
noconfigdirs="$noconfigdirs sim target-rda"
|
823 |
|
|
;;
|
824 |
|
|
*-*-dragonfly*)
|
825 |
|
|
;;
|
826 |
|
|
*-*-freebsd*)
|
827 |
|
|
if test "x$with_gmp" = x && test "x$with_gmp_dir" = x \
|
828 |
|
|
&& test -f /usr/local/include/gmp.h; then
|
829 |
|
|
with_gmp=/usr/local
|
830 |
|
|
fi
|
831 |
|
|
;;
|
832 |
|
|
*-*-kaos*)
|
833 |
|
|
# Remove unsupported stuff on all kaOS configurations.
|
834 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
835 |
|
|
;;
|
836 |
|
|
*-*-netbsd*)
|
837 |
|
|
;;
|
838 |
|
|
*-*-netware*)
|
839 |
|
|
;;
|
840 |
|
|
*-*-rtems*)
|
841 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
842 |
|
|
;;
|
843 |
|
|
# The tpf target doesn't support gdb yet.
|
844 |
|
|
*-*-tpf*)
|
845 |
|
|
noconfigdirs="$noconfigdirs gdb tcl tk libgui itcl"
|
846 |
|
|
;;
|
847 |
|
|
*-*-uclinux*)
|
848 |
|
|
noconfigdirs="$noconfigdirs target-rda"
|
849 |
|
|
;;
|
850 |
|
|
*-*-vxworks*)
|
851 |
|
|
;;
|
852 |
|
|
alpha*-dec-osf*)
|
853 |
|
|
# ld works, but does not support shared libraries.
|
854 |
|
|
# gas doesn't generate exception information.
|
855 |
|
|
noconfigdirs="$noconfigdirs gas ld"
|
856 |
|
|
;;
|
857 |
|
|
alpha*-*-*vms*)
|
858 |
|
|
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
|
859 |
|
|
;;
|
860 |
|
|
alpha*-*-*)
|
861 |
|
|
# newlib is not 64 bit ready
|
862 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
863 |
|
|
;;
|
864 |
|
|
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
865 |
|
|
noconfigdirs="$noconfigdirs tcl tk itcl libgui sim"
|
866 |
|
|
;;
|
867 |
|
|
arc-*-*)
|
868 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
869 |
|
|
;;
|
870 |
|
|
arm-*-pe*)
|
871 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
872 |
|
|
;;
|
873 |
|
|
arm-*-riscix*)
|
874 |
|
|
noconfigdirs="$noconfigdirs ld target-libgloss"
|
875 |
|
|
;;
|
876 |
|
|
c4x-*-* | tic4x-*-*)
|
877 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
878 |
|
|
;;
|
879 |
|
|
tic54x-*-*)
|
880 |
|
|
noconfigdirs="$noconfigdirs target-libgloss gdb"
|
881 |
|
|
;;
|
882 |
|
|
d10v-*-*)
|
883 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
884 |
|
|
;;
|
885 |
|
|
d30v-*-*)
|
886 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
887 |
|
|
;;
|
888 |
|
|
fr30-*-elf*)
|
889 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
890 |
|
|
;;
|
891 |
|
|
moxie-*-*)
|
892 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
893 |
|
|
;;
|
894 |
|
|
h8300*-*-*)
|
895 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
896 |
|
|
;;
|
897 |
|
|
h8500-*-*)
|
898 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
899 |
|
|
;;
|
900 |
|
|
hppa1.1-*-osf* | hppa1.1-*-bsd* )
|
901 |
|
|
;;
|
902 |
|
|
hppa*64*-*-linux*)
|
903 |
|
|
;;
|
904 |
|
|
hppa*-*-linux*)
|
905 |
|
|
;;
|
906 |
|
|
hppa*-*-*elf* | \
|
907 |
|
|
hppa*-*-lites* | \
|
908 |
|
|
hppa*-*-openbsd* | \
|
909 |
|
|
hppa*64*-*-*)
|
910 |
|
|
;;
|
911 |
|
|
hppa*-hp-hpux11*)
|
912 |
|
|
noconfigdirs="$noconfigdirs ld"
|
913 |
|
|
;;
|
914 |
|
|
hppa*-*-pro*)
|
915 |
|
|
;;
|
916 |
|
|
hppa*-*-*)
|
917 |
|
|
noconfigdirs="$noconfigdirs ld"
|
918 |
|
|
;;
|
919 |
|
|
i960-*-*)
|
920 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
921 |
|
|
;;
|
922 |
|
|
ia64*-*-elf*)
|
923 |
|
|
# No gdb support yet.
|
924 |
|
|
noconfigdirs="$noconfigdirs readline libgui itcl gdb"
|
925 |
|
|
;;
|
926 |
|
|
ia64*-**-hpux*)
|
927 |
|
|
# No ld support yet.
|
928 |
|
|
noconfigdirs="$noconfigdirs libgui itcl ld"
|
929 |
|
|
;;
|
930 |
|
|
ia64*-*-*vms*)
|
931 |
|
|
# No gdb or ld support yet.
|
932 |
|
|
noconfigdirs="$noconfigdirs readline libgui itcl gdb ld"
|
933 |
|
|
;;
|
934 |
|
|
i[[3456789]]86-w64-mingw*)
|
935 |
|
|
;;
|
936 |
|
|
i[[3456789]]86-*-mingw*)
|
937 |
|
|
target_configdirs="$target_configdirs target-winsup"
|
938 |
|
|
;;
|
939 |
|
|
*-*-cygwin*)
|
940 |
|
|
target_configdirs="$target_configdirs target-libtermcap target-winsup"
|
941 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
942 |
|
|
# always build newlib if winsup directory is present.
|
943 |
|
|
if test -d "$srcdir/winsup/cygwin"; then
|
944 |
|
|
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
|
945 |
|
|
elif test -d "$srcdir/newlib"; then
|
946 |
|
|
echo "Warning: winsup/cygwin is missing so newlib can't be built."
|
947 |
|
|
fi
|
948 |
|
|
;;
|
949 |
|
|
i[[3456789]]86-*-pe)
|
950 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
951 |
|
|
;;
|
952 |
|
|
i[[3456789]]86-*-sco3.2v5*)
|
953 |
|
|
# The linker does not yet know about weak symbols in COFF,
|
954 |
|
|
# and is not configured to handle mixed ELF and COFF.
|
955 |
|
|
noconfigdirs="$noconfigdirs ld target-libgloss"
|
956 |
|
|
;;
|
957 |
|
|
i[[3456789]]86-*-sco*)
|
958 |
|
|
noconfigdirs="$noconfigdirs gprof target-libgloss"
|
959 |
|
|
;;
|
960 |
|
|
i[[3456789]]86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*)
|
961 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
962 |
|
|
;;
|
963 |
|
|
i[[3456789]]86-*-sysv4*)
|
964 |
|
|
noconfigdirs="$noconfigdirs target-libgloss"
|
965 |
|
|
;;
|
966 |
|
|
i[[3456789]]86-*-beos*)
|
967 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
968 |
|
|
;;
|
969 |
|
|
i[[3456789]]86-*-rdos*)
|
970 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
971 |
|
|
;;
|
972 |
|
|
mmix-*-*)
|
973 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
974 |
|
|
;;
|
975 |
|
|
mt-*-*)
|
976 |
|
|
noconfigdirs="$noconfigdirs sim"
|
977 |
|
|
;;
|
978 |
|
|
powerpc-*-aix*)
|
979 |
|
|
# copied from rs6000-*-* entry
|
980 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
981 |
|
|
;;
|
982 |
|
|
powerpc*-*-winnt* | powerpc*-*-pe*)
|
983 |
|
|
target_configdirs="$target_configdirs target-winsup"
|
984 |
|
|
noconfigdirs="$noconfigdirs gdb tcl tk target-libgloss itcl"
|
985 |
|
|
# always build newlib.
|
986 |
|
|
skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
|
987 |
|
|
;;
|
988 |
|
|
# This is temporary until we can link against shared libraries
|
989 |
|
|
powerpcle-*-solaris*)
|
990 |
|
|
noconfigdirs="$noconfigdirs gdb sim tcl tk itcl"
|
991 |
|
|
;;
|
992 |
|
|
powerpc-*-beos*)
|
993 |
|
|
noconfigdirs="$noconfigdirs gdb"
|
994 |
|
|
;;
|
995 |
|
|
rs6000-*-lynxos*)
|
996 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
997 |
|
|
;;
|
998 |
|
|
rs6000-*-aix*)
|
999 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
1000 |
|
|
;;
|
1001 |
|
|
rs6000-*-*)
|
1002 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
1003 |
|
|
;;
|
1004 |
|
|
m68k-apollo-*)
|
1005 |
|
|
noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
|
1006 |
|
|
;;
|
1007 |
|
|
microblaze*)
|
1008 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
1009 |
|
|
;;
|
1010 |
|
|
mips*-sde-elf*)
|
1011 |
|
|
if test x$with_newlib = xyes; then
|
1012 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
1013 |
|
|
fi
|
1014 |
|
|
;;
|
1015 |
|
|
mips*-*-irix5*)
|
1016 |
|
|
noconfigdirs="$noconfigdirs gprof target-libgloss"
|
1017 |
|
|
;;
|
1018 |
|
|
mips*-*-irix6*)
|
1019 |
|
|
noconfigdirs="$noconfigdirs gprof target-libgloss"
|
1020 |
|
|
;;
|
1021 |
|
|
mips*-*-bsd*)
|
1022 |
|
|
noconfigdirs="$noconfigdirs gprof target-libgloss"
|
1023 |
|
|
;;
|
1024 |
|
|
mips*-*-linux*)
|
1025 |
|
|
;;
|
1026 |
|
|
mips*-*-*)
|
1027 |
|
|
noconfigdirs="$noconfigdirs gprof"
|
1028 |
|
|
;;
|
1029 |
|
|
sh-*-* | sh64-*-*)
|
1030 |
|
|
case "${target}" in
|
1031 |
|
|
sh*-*-elf)
|
1032 |
|
|
;;
|
1033 |
|
|
*)
|
1034 |
|
|
noconfigdirs="$noconfigdirs target-libgloss" ;;
|
1035 |
|
|
esac
|
1036 |
|
|
;;
|
1037 |
|
|
sparc-*-sunos4*)
|
1038 |
|
|
if test x${is_cross_compiler} = xno ; then
|
1039 |
|
|
use_gnu_ld=no
|
1040 |
|
|
fi
|
1041 |
|
|
;;
|
1042 |
|
|
tic6x-*-*)
|
1043 |
|
|
noconfigdirs="$noconfigdirs sim"
|
1044 |
|
|
;;
|
1045 |
|
|
tilepro-*-* | tilegx-*-*)
|
1046 |
|
|
noconfigdirs="$noconfigdirs sim"
|
1047 |
|
|
;;
|
1048 |
|
|
v810-*-*)
|
1049 |
|
|
noconfigdirs="$noconfigdirs bfd binutils gas gdb ld opcodes target-libgloss"
|
1050 |
|
|
;;
|
1051 |
|
|
vax-*-*)
|
1052 |
|
|
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
|
1053 |
|
|
;;
|
1054 |
|
|
esac
|
1055 |
|
|
|
1056 |
|
|
# If we aren't building newlib, then don't build libgloss, since libgloss
|
1057 |
|
|
# depends upon some newlib header files.
|
1058 |
|
|
case "${noconfigdirs}" in
|
1059 |
|
|
*target-libgloss*) ;;
|
1060 |
|
|
*target-newlib*) noconfigdirs="$noconfigdirs target-libgloss" ;;
|
1061 |
|
|
esac
|
1062 |
|
|
|
1063 |
|
|
# Work in distributions that contain no compiler tools, like Autoconf.
|
1064 |
|
|
host_makefile_frag=/dev/null
|
1065 |
|
|
if test -d ${srcdir}/config ; then
|
1066 |
|
|
case "${host}" in
|
1067 |
|
|
i[[3456789]]86-*-msdosdjgpp*)
|
1068 |
|
|
host_makefile_frag="config/mh-djgpp"
|
1069 |
|
|
;;
|
1070 |
|
|
*-cygwin*)
|
1071 |
|
|
ACX_CHECK_CYGWIN_CAT_WORKS
|
1072 |
|
|
host_makefile_frag="config/mh-cygwin"
|
1073 |
|
|
;;
|
1074 |
|
|
*-mingw*)
|
1075 |
|
|
host_makefile_frag="config/mh-mingw"
|
1076 |
|
|
;;
|
1077 |
|
|
hppa*-hp-hpux10*)
|
1078 |
|
|
host_makefile_frag="config/mh-pa-hpux10"
|
1079 |
|
|
;;
|
1080 |
|
|
hppa*-hp-hpux*)
|
1081 |
|
|
host_makefile_frag="config/mh-pa"
|
1082 |
|
|
;;
|
1083 |
|
|
hppa*-*)
|
1084 |
|
|
host_makefile_frag="config/mh-pa"
|
1085 |
|
|
;;
|
1086 |
|
|
*-*-darwin*)
|
1087 |
|
|
host_makefile_frag="config/mh-darwin"
|
1088 |
|
|
;;
|
1089 |
|
|
powerpc-*-aix*)
|
1090 |
|
|
host_makefile_frag="config/mh-ppc-aix"
|
1091 |
|
|
;;
|
1092 |
|
|
rs6000-*-aix*)
|
1093 |
|
|
host_makefile_frag="config/mh-ppc-aix"
|
1094 |
|
|
;;
|
1095 |
|
|
esac
|
1096 |
|
|
fi
|
1097 |
|
|
|
1098 |
|
|
if test "${build}" != "${host}" ; then
|
1099 |
|
|
AR_FOR_BUILD=${AR_FOR_BUILD-ar}
|
1100 |
|
|
AS_FOR_BUILD=${AS_FOR_BUILD-as}
|
1101 |
|
|
CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
|
1102 |
|
|
CXX_FOR_BUILD=${CXX_FOR_BUILD-g++}
|
1103 |
|
|
GCJ_FOR_BUILD=${GCJ_FOR_BUILD-gcj}
|
1104 |
|
|
GFORTRAN_FOR_BUILD=${GFORTRAN_FOR_BUILD-gfortran}
|
1105 |
|
|
GOC_FOR_BUILD=${GOC_FOR_BUILD-gccgo}
|
1106 |
|
|
DLLTOOL_FOR_BUILD=${DLLTOOL_FOR_BUILD-dlltool}
|
1107 |
|
|
LD_FOR_BUILD=${LD_FOR_BUILD-ld}
|
1108 |
|
|
NM_FOR_BUILD=${NM_FOR_BUILD-nm}
|
1109 |
|
|
RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD-ranlib}
|
1110 |
|
|
WINDRES_FOR_BUILD=${WINDRES_FOR_BUILD-windres}
|
1111 |
|
|
WINDMC_FOR_BUILD=${WINDMC_FOR_BUILD-windmc}
|
1112 |
|
|
else
|
1113 |
|
|
AR_FOR_BUILD="\$(AR)"
|
1114 |
|
|
AS_FOR_BUILD="\$(AS)"
|
1115 |
|
|
CC_FOR_BUILD="\$(CC)"
|
1116 |
|
|
CXX_FOR_BUILD="\$(CXX)"
|
1117 |
|
|
GCJ_FOR_BUILD="\$(GCJ)"
|
1118 |
|
|
GFORTRAN_FOR_BUILD="\$(GFORTRAN)"
|
1119 |
|
|
GOC_FOR_BUILD="\$(GOC)"
|
1120 |
|
|
DLLTOOL_FOR_BUILD="\$(DLLTOOL)"
|
1121 |
|
|
LD_FOR_BUILD="\$(LD)"
|
1122 |
|
|
NM_FOR_BUILD="\$(NM)"
|
1123 |
|
|
RANLIB_FOR_BUILD="\$(RANLIB)"
|
1124 |
|
|
WINDRES_FOR_BUILD="\$(WINDRES)"
|
1125 |
|
|
WINDMC_FOR_BUILD="\$(WINDMC)"
|
1126 |
|
|
fi
|
1127 |
|
|
|
1128 |
|
|
AC_PROG_CC
|
1129 |
|
|
AC_PROG_CXX
|
1130 |
|
|
|
1131 |
|
|
# We must set the default linker to the linker used by gcc for the correct
|
1132 |
|
|
# operation of libtool. If LD is not defined and we are using gcc, try to
|
1133 |
|
|
# set the LD default to the ld used by gcc.
|
1134 |
|
|
if test -z "$LD"; then
|
1135 |
|
|
if test "$GCC" = yes; then
|
1136 |
|
|
case $build in
|
1137 |
|
|
*-*-mingw*)
|
1138 |
|
|
gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
|
1139 |
|
|
*)
|
1140 |
|
|
gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
|
1141 |
|
|
esac
|
1142 |
|
|
case $gcc_prog_ld in
|
1143 |
|
|
# Accept absolute paths.
|
1144 |
|
|
[[\\/]* | [A-Za-z]:[\\/]*)]
|
1145 |
|
|
LD="$gcc_prog_ld" ;;
|
1146 |
|
|
esac
|
1147 |
|
|
fi
|
1148 |
|
|
fi
|
1149 |
|
|
|
1150 |
|
|
ACX_PROG_GNAT
|
1151 |
|
|
ACX_PROG_CMP_IGNORE_INITIAL
|
1152 |
|
|
|
1153 |
|
|
AC_ARG_ENABLE([bootstrap],
|
1154 |
|
|
[AS_HELP_STRING([--enable-bootstrap],
|
1155 |
|
|
[enable bootstrapping @<:@yes if native build@:>@])],,
|
1156 |
|
|
enable_bootstrap=default)
|
1157 |
|
|
|
1158 |
|
|
# Issue errors and warnings for invalid/strange bootstrap combinations.
|
1159 |
|
|
if test -r $srcdir/gcc/configure; then
|
1160 |
|
|
have_compiler=yes
|
1161 |
|
|
else
|
1162 |
|
|
have_compiler=no
|
1163 |
|
|
fi
|
1164 |
|
|
|
1165 |
|
|
case "$have_compiler:$host:$target:$enable_bootstrap" in
|
1166 |
|
|
*:*:*:no) ;;
|
1167 |
|
|
|
1168 |
|
|
# Default behavior. Enable bootstrap if we have a compiler
|
1169 |
|
|
# and we are in a native configuration.
|
1170 |
|
|
yes:$build:$build:default)
|
1171 |
|
|
enable_bootstrap=yes ;;
|
1172 |
|
|
|
1173 |
|
|
*:*:*:default)
|
1174 |
|
|
enable_bootstrap=no ;;
|
1175 |
|
|
|
1176 |
|
|
# We have a compiler and we are in a native configuration, bootstrap is ok
|
1177 |
|
|
yes:$build:$build:yes)
|
1178 |
|
|
;;
|
1179 |
|
|
|
1180 |
|
|
# Other configurations, but we have a compiler. Assume the user knows
|
1181 |
|
|
# what he's doing.
|
1182 |
|
|
yes:*:*:yes)
|
1183 |
|
|
AC_MSG_WARN([trying to bootstrap a cross compiler])
|
1184 |
|
|
;;
|
1185 |
|
|
|
1186 |
|
|
# No compiler: if they passed --enable-bootstrap explicitly, fail
|
1187 |
|
|
no:*:*:yes)
|
1188 |
|
|
AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
|
1189 |
|
|
|
1190 |
|
|
# Fail if wrong command line
|
1191 |
|
|
*)
|
1192 |
|
|
AC_MSG_ERROR([invalid option for --enable-bootstrap])
|
1193 |
|
|
;;
|
1194 |
|
|
esac
|
1195 |
|
|
|
1196 |
|
|
# See if we are building gcc with C++.
|
1197 |
|
|
AC_ARG_ENABLE(build-with-cxx,
|
1198 |
|
|
[AS_HELP_STRING([--enable-build-with-cxx],
|
1199 |
|
|
[build with C++ compiler instead of C compiler])],
|
1200 |
|
|
ENABLE_BUILD_WITH_CXX=$enableval,
|
1201 |
|
|
ENABLE_BUILD_WITH_CXX=no)
|
1202 |
|
|
|
1203 |
|
|
# Build stage1 with C and build stages 2 and 3 with C++.
|
1204 |
|
|
AC_ARG_ENABLE(build-poststage1-with-cxx,
|
1205 |
|
|
[AS_HELP_STRING([--enable-build-poststage1-with-cxx],
|
1206 |
|
|
[build stages 2 and 3 with C++, not C])],
|
1207 |
|
|
ENABLE_BUILD_POSTSTAGE1_WITH_CXX=$enableval,
|
1208 |
|
|
ENABLE_BUILD_POSTSTAGE1_WITH_CXX=yes)
|
1209 |
|
|
|
1210 |
|
|
# Used for setting $lt_cv_objdir
|
1211 |
|
|
_LT_CHECK_OBJDIR
|
1212 |
|
|
|
1213 |
|
|
# Check for GMP, MPFR and MPC
|
1214 |
|
|
gmplibs="-lmpc -lmpfr -lgmp"
|
1215 |
|
|
gmpinc=
|
1216 |
|
|
have_gmp=no
|
1217 |
|
|
|
1218 |
|
|
# Specify a location for mpc
|
1219 |
|
|
# check for this first so it ends up on the link line before mpfr.
|
1220 |
|
|
AC_ARG_WITH(mpc,
|
1221 |
|
|
[AS_HELP_STRING([--with-mpc=PATH],
|
1222 |
|
|
[specify prefix directory for installed MPC package.
|
1223 |
|
|
Equivalent to --with-mpc-include=PATH/include
|
1224 |
|
|
plus --with-mpc-lib=PATH/lib])])
|
1225 |
|
|
AC_ARG_WITH(mpc-include,
|
1226 |
|
|
[AS_HELP_STRING([--with-mpc-include=PATH],
|
1227 |
|
|
[specify directory for installed MPC include files])])
|
1228 |
|
|
AC_ARG_WITH(mpc-lib,
|
1229 |
|
|
[AS_HELP_STRING([--with-mpc-lib=PATH],
|
1230 |
|
|
[specify directory for the installed MPC library])])
|
1231 |
|
|
|
1232 |
|
|
if test "x$with_mpc" != x; then
|
1233 |
|
|
gmplibs="-L$with_mpc/lib $gmplibs"
|
1234 |
|
|
gmpinc="-I$with_mpc/include $gmpinc"
|
1235 |
|
|
fi
|
1236 |
|
|
if test "x$with_mpc_include" != x; then
|
1237 |
|
|
gmpinc="-I$with_mpc_include $gmpinc"
|
1238 |
|
|
fi
|
1239 |
|
|
if test "x$with_mpc_lib" != x; then
|
1240 |
|
|
gmplibs="-L$with_mpc_lib $gmplibs"
|
1241 |
|
|
fi
|
1242 |
|
|
if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then
|
1243 |
|
|
gmplibs='-L$$r/$(HOST_SUBDIR)/mpc/src/'"$lt_cv_objdir $gmplibs"
|
1244 |
|
|
gmpinc='-I$$s/mpc/src '"$gmpinc"
|
1245 |
|
|
# Do not test the mpc version. Assume that it is sufficient, since
|
1246 |
|
|
# it is in the source tree, and the library has not been built yet
|
1247 |
|
|
# but it would be included on the link line in the version check below
|
1248 |
|
|
# hence making the test fail.
|
1249 |
|
|
have_gmp=yes
|
1250 |
|
|
fi
|
1251 |
|
|
|
1252 |
|
|
# Specify a location for mpfr
|
1253 |
|
|
# check for this first so it ends up on the link line before gmp.
|
1254 |
|
|
AC_ARG_WITH(mpfr-dir,
|
1255 |
|
|
[AS_HELP_STRING([--with-mpfr-dir=PATH], [this option has been REMOVED])],
|
1256 |
|
|
[AC_MSG_ERROR([The --with-mpfr-dir=PATH option has been removed.
|
1257 |
|
|
Use --with-mpfr=PATH or --with-mpfr-include=PATH plus --with-mpfr-lib=PATH])])
|
1258 |
|
|
|
1259 |
|
|
AC_ARG_WITH(mpfr,
|
1260 |
|
|
[AS_HELP_STRING([--with-mpfr=PATH],
|
1261 |
|
|
[specify prefix directory for installed MPFR package.
|
1262 |
|
|
Equivalent to --with-mpfr-include=PATH/include
|
1263 |
|
|
plus --with-mpfr-lib=PATH/lib])])
|
1264 |
|
|
AC_ARG_WITH(mpfr-include,
|
1265 |
|
|
[AS_HELP_STRING([--with-mpfr-include=PATH],
|
1266 |
|
|
[specify directory for installed MPFR include files])])
|
1267 |
|
|
AC_ARG_WITH(mpfr-lib,
|
1268 |
|
|
[AS_HELP_STRING([--with-mpfr-lib=PATH],
|
1269 |
|
|
[specify directory for the installed MPFR library])])
|
1270 |
|
|
|
1271 |
|
|
if test "x$with_mpfr" != x; then
|
1272 |
|
|
gmplibs="-L$with_mpfr/lib $gmplibs"
|
1273 |
|
|
gmpinc="-I$with_mpfr/include $gmpinc"
|
1274 |
|
|
fi
|
1275 |
|
|
if test "x$with_mpfr_include" != x; then
|
1276 |
|
|
gmpinc="-I$with_mpfr_include $gmpinc"
|
1277 |
|
|
fi
|
1278 |
|
|
if test "x$with_mpfr_lib" != x; then
|
1279 |
|
|
gmplibs="-L$with_mpfr_lib $gmplibs"
|
1280 |
|
|
fi
|
1281 |
|
|
if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then
|
1282 |
|
|
gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir $gmplibs"
|
1283 |
|
|
gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc"
|
1284 |
|
|
extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr --with-mpfr-lib=$$r/$(HOST_SUBDIR)/mpfr/'"$lt_cv_objdir"
|
1285 |
|
|
# Do not test the mpfr version. Assume that it is sufficient, since
|
1286 |
|
|
# it is in the source tree, and the library has not been built yet
|
1287 |
|
|
# but it would be included on the link line in the version check below
|
1288 |
|
|
# hence making the test fail.
|
1289 |
|
|
have_gmp=yes
|
1290 |
|
|
fi
|
1291 |
|
|
|
1292 |
|
|
# Specify a location for gmp
|
1293 |
|
|
AC_ARG_WITH(gmp-dir,
|
1294 |
|
|
[AS_HELP_STRING([--with-gmp-dir=PATH], [this option has been REMOVED])],
|
1295 |
|
|
[AC_MSG_ERROR([The --with-gmp-dir=PATH option has been removed.
|
1296 |
|
|
Use --with-gmp=PATH or --with-gmp-include=PATH plus --with-gmp-lib=PATH])])
|
1297 |
|
|
|
1298 |
|
|
AC_ARG_WITH(gmp,
|
1299 |
|
|
[AS_HELP_STRING([--with-gmp=PATH],
|
1300 |
|
|
[specify prefix directory for the installed GMP package.
|
1301 |
|
|
Equivalent to --with-gmp-include=PATH/include
|
1302 |
|
|
plus --with-gmp-lib=PATH/lib])])
|
1303 |
|
|
AC_ARG_WITH(gmp-include,
|
1304 |
|
|
[AS_HELP_STRING([--with-gmp-include=PATH],
|
1305 |
|
|
[specify directory for installed GMP include files])])
|
1306 |
|
|
AC_ARG_WITH(gmp-lib,
|
1307 |
|
|
[AS_HELP_STRING([--with-gmp-lib=PATH],
|
1308 |
|
|
[specify directory for the installed GMP library])])
|
1309 |
|
|
|
1310 |
|
|
|
1311 |
|
|
if test "x$with_gmp" != x; then
|
1312 |
|
|
gmplibs="-L$with_gmp/lib $gmplibs"
|
1313 |
|
|
gmpinc="-I$with_gmp/include $gmpinc"
|
1314 |
|
|
fi
|
1315 |
|
|
if test "x$with_gmp_include" != x; then
|
1316 |
|
|
gmpinc="-I$with_gmp_include $gmpinc"
|
1317 |
|
|
fi
|
1318 |
|
|
if test "x$with_gmp_lib" != x; then
|
1319 |
|
|
gmplibs="-L$with_gmp_lib $gmplibs"
|
1320 |
|
|
fi
|
1321 |
|
|
if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then
|
1322 |
|
|
gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir $gmplibs"
|
1323 |
|
|
gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc"
|
1324 |
|
|
extra_mpfr_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
|
1325 |
|
|
extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp --with-gmp-lib=$$r/$(HOST_SUBDIR)/gmp/'"$lt_cv_objdir"
|
1326 |
|
|
# Do not test the gmp version. Assume that it is sufficient, since
|
1327 |
|
|
# it is in the source tree, and the library has not been built yet
|
1328 |
|
|
# but it would be included on the link line in the version check below
|
1329 |
|
|
# hence making the test fail.
|
1330 |
|
|
have_gmp=yes
|
1331 |
|
|
fi
|
1332 |
|
|
|
1333 |
|
|
if test -d ${srcdir}/gcc && test "x$have_gmp" = xno; then
|
1334 |
|
|
have_gmp=yes
|
1335 |
|
|
saved_CFLAGS="$CFLAGS"
|
1336 |
|
|
CFLAGS="$CFLAGS $gmpinc"
|
1337 |
|
|
# Check for the recommended and required versions of GMP.
|
1338 |
|
|
AC_MSG_CHECKING([for the correct version of gmp.h])
|
1339 |
|
|
AC_TRY_COMPILE([#include "gmp.h"],[
|
1340 |
|
|
#define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
|
1341 |
|
|
#define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
|
1342 |
|
|
#if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,2,0)
|
1343 |
|
|
choke me
|
1344 |
|
|
#endif
|
1345 |
|
|
], [AC_TRY_COMPILE([#include ],[
|
1346 |
|
|
#define GCC_GMP_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
|
1347 |
|
|
#define GCC_GMP_VERSION GCC_GMP_VERSION_NUM(__GNU_MP_VERSION,__GNU_MP_VERSION_MINOR,__GNU_MP_VERSION_PATCHLEVEL)
|
1348 |
|
|
#if GCC_GMP_VERSION < GCC_GMP_VERSION_NUM(4,3,2)
|
1349 |
|
|
choke me
|
1350 |
|
|
#endif
|
1351 |
|
|
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
|
1352 |
|
|
[AC_MSG_RESULT([no]); have_gmp=no])
|
1353 |
|
|
|
1354 |
|
|
# If we have GMP, check the MPFR version.
|
1355 |
|
|
if test x"$have_gmp" = xyes; then
|
1356 |
|
|
# Check for the recommended and required versions of MPFR.
|
1357 |
|
|
AC_MSG_CHECKING([for the correct version of mpfr.h])
|
1358 |
|
|
AC_TRY_COMPILE([#include
|
1359 |
|
|
#include ],[
|
1360 |
|
|
#if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1)
|
1361 |
|
|
choke me
|
1362 |
|
|
#endif
|
1363 |
|
|
], [AC_TRY_COMPILE([#include
|
1364 |
|
|
#include ],[
|
1365 |
|
|
#if MPFR_VERSION < MPFR_VERSION_NUM(2,4,2)
|
1366 |
|
|
choke me
|
1367 |
|
|
#endif
|
1368 |
|
|
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
|
1369 |
|
|
[AC_MSG_RESULT([no]); have_gmp=no])
|
1370 |
|
|
fi
|
1371 |
|
|
|
1372 |
|
|
# Check for the MPC header version.
|
1373 |
|
|
if test x"$have_gmp" = xyes ; then
|
1374 |
|
|
# Check for the recommended and required versions of MPC.
|
1375 |
|
|
AC_MSG_CHECKING([for the correct version of mpc.h])
|
1376 |
|
|
AC_TRY_COMPILE([#include ],[
|
1377 |
|
|
#if MPC_VERSION < MPC_VERSION_NUM(0,8,0)
|
1378 |
|
|
choke me
|
1379 |
|
|
#endif
|
1380 |
|
|
], [AC_TRY_COMPILE([#include ],[
|
1381 |
|
|
#if MPC_VERSION < MPC_VERSION_NUM(0,8,1)
|
1382 |
|
|
choke me
|
1383 |
|
|
#endif
|
1384 |
|
|
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])],
|
1385 |
|
|
[AC_MSG_RESULT([no]); have_gmp=no])
|
1386 |
|
|
fi
|
1387 |
|
|
|
1388 |
|
|
# Now check the MPFR library.
|
1389 |
|
|
if test x"$have_gmp" = xyes; then
|
1390 |
|
|
saved_LIBS="$LIBS"
|
1391 |
|
|
LIBS="$LIBS $gmplibs"
|
1392 |
|
|
AC_MSG_CHECKING([for the correct version of the gmp/mpfr/mpc libraries])
|
1393 |
|
|
AC_TRY_LINK([#include ],[
|
1394 |
|
|
mpfr_t n;
|
1395 |
|
|
mpfr_t x;
|
1396 |
|
|
mpc_t c;
|
1397 |
|
|
int t;
|
1398 |
|
|
mpfr_init (n);
|
1399 |
|
|
mpfr_init (x);
|
1400 |
|
|
mpfr_atan2 (n, n, x, GMP_RNDN);
|
1401 |
|
|
mpfr_erfc (n, x, GMP_RNDN);
|
1402 |
|
|
mpfr_subnormalize (x, t, GMP_RNDN);
|
1403 |
|
|
mpfr_clear(n);
|
1404 |
|
|
mpfr_clear(x);
|
1405 |
|
|
mpc_init2 (c, 53);
|
1406 |
|
|
mpc_set_ui_ui (c, 1, 1, MPC_RNDNN);
|
1407 |
|
|
mpc_cosh (c, c, MPC_RNDNN);
|
1408 |
|
|
mpc_pow (c, c, c, MPC_RNDNN);
|
1409 |
|
|
mpc_acosh (c, c, MPC_RNDNN);
|
1410 |
|
|
mpc_clear (c);
|
1411 |
|
|
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
|
1412 |
|
|
LIBS="$saved_LIBS"
|
1413 |
|
|
fi
|
1414 |
|
|
|
1415 |
|
|
CFLAGS="$saved_CFLAGS"
|
1416 |
|
|
|
1417 |
|
|
# The library versions listed in the error message below should match
|
1418 |
|
|
# the HARD-minimums enforced above.
|
1419 |
|
|
if test x$have_gmp != xyes; then
|
1420 |
|
|
AC_MSG_ERROR([Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
|
1421 |
|
|
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
|
1422 |
|
|
their locations. Source code for these libraries can be found at
|
1423 |
|
|
their respective hosting sites as well as at
|
1424 |
|
|
ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also
|
1425 |
|
|
http://gcc.gnu.org/install/prerequisites.html for additional info. If
|
1426 |
|
|
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
|
1427 |
|
|
make sure that you have installed both the libraries and the header
|
1428 |
|
|
files. They may be located in separate packages.])
|
1429 |
|
|
fi
|
1430 |
|
|
fi
|
1431 |
|
|
|
1432 |
|
|
# Flags needed for both GMP, MPFR and/or MPC.
|
1433 |
|
|
AC_SUBST(gmplibs)
|
1434 |
|
|
AC_SUBST(gmpinc)
|
1435 |
|
|
AC_SUBST(extra_mpfr_configure_flags)
|
1436 |
|
|
AC_SUBST(extra_mpc_gmp_configure_flags)
|
1437 |
|
|
AC_SUBST(extra_mpc_mpfr_configure_flags)
|
1438 |
|
|
|
1439 |
|
|
# Allow host libstdc++ to be specified for static linking with PPL.
|
1440 |
|
|
AC_ARG_WITH(host-libstdcxx,
|
1441 |
|
|
[AS_HELP_STRING([--with-host-libstdcxx=L],
|
1442 |
|
|
[use linker arguments L to link with libstdc++
|
1443 |
|
|
when linking with PPL])])
|
1444 |
|
|
|
1445 |
|
|
case $with_host_libstdcxx in
|
1446 |
|
|
no|yes)
|
1447 |
|
|
AC_MSG_ERROR([-with-host-libstdcxx needs an argument])
|
1448 |
|
|
;;
|
1449 |
|
|
esac
|
1450 |
|
|
|
1451 |
|
|
# Linker flags to use for stage1 or when not boostrapping.
|
1452 |
|
|
AC_ARG_WITH(stage1-ldflags,
|
1453 |
|
|
[AS_HELP_STRING([--with-stage1-ldflags=FLAGS], [linker flags for stage1])],
|
1454 |
|
|
[if test "$withval" = "no" -o "$withval" = "yes"; then
|
1455 |
|
|
stage1_ldflags=
|
1456 |
|
|
else
|
1457 |
|
|
stage1_ldflags=$withval
|
1458 |
|
|
fi],
|
1459 |
|
|
[stage1_ldflags=])
|
1460 |
|
|
AC_SUBST(stage1_ldflags)
|
1461 |
|
|
|
1462 |
|
|
# Libraries to use for stage1 or when not bootstrapping.
|
1463 |
|
|
AC_ARG_WITH(stage1-libs,
|
1464 |
|
|
[AS_HELP_STRING([--with-stage1-libs=LIBS], [libraries for stage1])],
|
1465 |
|
|
[if test "$withval" = "no" -o "$withval" = "yes"; then
|
1466 |
|
|
stage1_libs=
|
1467 |
|
|
else
|
1468 |
|
|
stage1_libs=$withval
|
1469 |
|
|
fi],
|
1470 |
|
|
[stage1_libs=$with_host_libstdcxx])
|
1471 |
|
|
AC_SUBST(stage1_libs)
|
1472 |
|
|
|
1473 |
|
|
# Libraries to use for stage2 and later builds. This defaults to the
|
1474 |
|
|
# argument passed to --with-host-libstdcxx.
|
1475 |
|
|
AC_ARG_WITH(boot-libs,
|
1476 |
|
|
[AS_HELP_STRING([--with-boot-libs=LIBS], [libraries for stage2 and later])],
|
1477 |
|
|
[if test "$withval" = "no" -o "$withval" = "yes"; then
|
1478 |
|
|
poststage1_libs=
|
1479 |
|
|
else
|
1480 |
|
|
poststage1_libs=$withval
|
1481 |
|
|
fi],
|
1482 |
|
|
[poststage1_libs=$with_host_libstdcxx])
|
1483 |
|
|
AC_SUBST(poststage1_libs)
|
1484 |
|
|
|
1485 |
|
|
# Linker flags to use for stage2 and later builds.
|
1486 |
|
|
AC_ARG_WITH(boot-ldflags,
|
1487 |
|
|
[AS_HELP_STRING([--with-boot-ldflags=FLAGS],
|
1488 |
|
|
[linker flags for stage2 and later])],
|
1489 |
|
|
[if test "$withval" = "no" -o "$withval" = "yes"; then
|
1490 |
|
|
poststage1_ldflags=
|
1491 |
|
|
else
|
1492 |
|
|
poststage1_ldflags=$withval
|
1493 |
|
|
fi],
|
1494 |
|
|
[poststage1_ldflags=
|
1495 |
|
|
# In stages 2 and 3, default to linking libstdc++ and libgcc
|
1496 |
|
|
# statically. But if the user explicitly specified the libraries to
|
1497 |
|
|
# use, trust that they are doing what they want.
|
1498 |
|
|
if test "$poststage1_libs" = ""; then
|
1499 |
|
|
poststage1_ldflags="-static-libstdc++ -static-libgcc"
|
1500 |
|
|
fi])
|
1501 |
|
|
AC_SUBST(poststage1_ldflags)
|
1502 |
|
|
|
1503 |
|
|
# Check for PPL
|
1504 |
|
|
ppllibs=
|
1505 |
|
|
pplinc=
|
1506 |
|
|
pwllib=
|
1507 |
|
|
|
1508 |
|
|
AC_ARG_WITH(ppl,
|
1509 |
|
|
[AS_HELP_STRING([--with-ppl=PATH],
|
1510 |
|
|
[specify prefix directory for the installed PPL package.
|
1511 |
|
|
Equivalent to --with-ppl-include=PATH/include
|
1512 |
|
|
plus --with-ppl-lib=PATH/lib])])
|
1513 |
|
|
AC_ARG_WITH(ppl-include,
|
1514 |
|
|
[AS_HELP_STRING([--with-ppl-include=PATH],
|
1515 |
|
|
[specify directory for installed PPL include files])])
|
1516 |
|
|
AC_ARG_WITH(ppl-lib,
|
1517 |
|
|
[AS_HELP_STRING([--with-ppl-lib=PATH],
|
1518 |
|
|
[specify directory for the installed PPL library])])
|
1519 |
|
|
|
1520 |
|
|
AC_ARG_ENABLE(ppl-version-check,
|
1521 |
|
|
[AS_HELP_STRING([--disable-ppl-version-check],
|
1522 |
|
|
[disable check for PPL version])])
|
1523 |
|
|
|
1524 |
|
|
case $with_ppl in
|
1525 |
|
|
yes | no | "")
|
1526 |
|
|
;;
|
1527 |
|
|
*)
|
1528 |
|
|
ppllibs="-L$with_ppl/lib"
|
1529 |
|
|
pplinc="-I$with_ppl/include $pplinc"
|
1530 |
|
|
if test -d "$with_ppl/lib" && test -d "$with_ppl/include"; then
|
1531 |
|
|
with_ppl=yes
|
1532 |
|
|
else
|
1533 |
|
|
AC_MSG_ERROR([cannot find directories "$with_ppl/lib" or "$with_ppl/include"])
|
1534 |
|
|
fi
|
1535 |
|
|
;;
|
1536 |
|
|
esac
|
1537 |
|
|
|
1538 |
|
|
if test x"$with_ppl_include" != x; then
|
1539 |
|
|
pplinc="-I$with_ppl_include $pplinc"
|
1540 |
|
|
with_ppl=yes
|
1541 |
|
|
fi
|
1542 |
|
|
|
1543 |
|
|
if test "x$with_ppl_lib" != x; then
|
1544 |
|
|
ppllibs="-L$with_ppl_lib"
|
1545 |
|
|
with_ppl=yes
|
1546 |
|
|
fi
|
1547 |
|
|
|
1548 |
|
|
if test x"$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then
|
1549 |
|
|
if test x"$enable_watchdog" = xyes; then
|
1550 |
|
|
pwllib="-lpwl"
|
1551 |
|
|
fi
|
1552 |
|
|
ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/interfaces/C/'"$lt_cv_objdir"' -L$$r/$(HOST_SUBDIR)/ppl/src/'"$lt_cv_objdir"
|
1553 |
|
|
pplinc='-I$$r/$(HOST_SUBDIR)/ppl/src -I$$r/$(HOST_SUBDIR)/ppl/interfaces/C '
|
1554 |
|
|
enable_ppl_version_check=no
|
1555 |
|
|
with_ppl=yes
|
1556 |
|
|
fi
|
1557 |
|
|
|
1558 |
|
|
if test "x$with_ppl" != xno; then
|
1559 |
|
|
if test "x$pwllib" = x; then
|
1560 |
|
|
saved_LIBS="$LIBS"
|
1561 |
|
|
LIBS="$LIBS $ppllibs -lstdc++ -lm"
|
1562 |
|
|
AC_CHECK_LIB(pwl, PWL_handle_timeout, [pwllib="-lpwl"])
|
1563 |
|
|
LIBS="$saved_LIBS"
|
1564 |
|
|
fi
|
1565 |
|
|
|
1566 |
|
|
ppllibs="$ppllibs -lppl_c -lppl $pwllib -lgmpxx"
|
1567 |
|
|
|
1568 |
|
|
if test "$enable_ppl_version_check" != no; then
|
1569 |
|
|
saved_CFLAGS="$CFLAGS"
|
1570 |
|
|
CFLAGS="$CFLAGS $pplinc $gmpinc"
|
1571 |
|
|
AC_MSG_CHECKING([for version 0.11 (revision 0 or later) of PPL])
|
1572 |
|
|
AC_TRY_COMPILE([#include "ppl_c.h"],[
|
1573 |
|
|
#if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
|
1574 |
|
|
choke me
|
1575 |
|
|
#endif
|
1576 |
|
|
], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); ppllibs= ; pplinc= ; with_ppl=no ])
|
1577 |
|
|
CFLAGS="$saved_CFLAGS"
|
1578 |
|
|
fi
|
1579 |
|
|
fi
|
1580 |
|
|
|
1581 |
|
|
# Flags needed for PPL
|
1582 |
|
|
AC_SUBST(ppllibs)
|
1583 |
|
|
AC_SUBST(pplinc)
|
1584 |
|
|
|
1585 |
|
|
|
1586 |
|
|
# Check for CLOOG
|
1587 |
|
|
|
1588 |
|
|
dnl Provide configure switches and initialize clooginc & clooglibs
|
1589 |
|
|
dnl with user input.
|
1590 |
|
|
CLOOG_INIT_FLAGS
|
1591 |
|
|
if test "x$with_ppl" = "xno"; then
|
1592 |
|
|
dnl Only execute fail-action, if CLooG has been requested.
|
1593 |
|
|
CLOOG_REQUESTED([graphite_requested=yes], [graphite_requested=no])
|
1594 |
|
|
if test "${graphite_requested}" = yes; then
|
1595 |
|
|
AC_MSG_ERROR([Unable to find a usable PPL. See config.log for details.])
|
1596 |
|
|
fi
|
1597 |
|
|
with_cloog=no
|
1598 |
|
|
fi
|
1599 |
|
|
if test "x${with_cloog}" = x && test "x${with_cloog_include}" = x \
|
1600 |
|
|
&& test "x${with_cloog_lib}" = x && test -d ${srcdir}/cloog; then
|
1601 |
|
|
clooglibs='-L$$r/$(HOST_SUBDIR)/cloog/'"$lt_cv_objdir"' '
|
1602 |
|
|
clooginc='-I$$r/$(HOST_SUBDIR)/cloog/include -I$$s/cloog/include '
|
1603 |
|
|
fi
|
1604 |
|
|
if test "x$with_cloog" != "xno"; then
|
1605 |
|
|
dnl The minimal version of CLooG required for Graphite.
|
1606 |
|
|
dnl
|
1607 |
|
|
dnl If we use CLooG-Legacy, the provided version information is
|
1608 |
|
|
dnl ignored.
|
1609 |
|
|
CLOOG_CHECK_VERSION(0,16,1)
|
1610 |
|
|
|
1611 |
|
|
dnl Only execute fail-action, if CLooG has been requested.
|
1612 |
|
|
CLOOG_IF_FAILED([
|
1613 |
|
|
AC_MSG_ERROR([Unable to find a usable CLooG. See config.log for details.])])
|
1614 |
|
|
fi
|
1615 |
|
|
|
1616 |
|
|
# Check for LTO support.
|
1617 |
|
|
AC_ARG_ENABLE(lto,
|
1618 |
|
|
[AS_HELP_STRING([--enable-lto], [enable link time optimization support])],
|
1619 |
|
|
enable_lto=$enableval,
|
1620 |
|
|
enable_lto=yes; default_enable_lto=yes)
|
1621 |
|
|
|
1622 |
|
|
ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
|
1623 |
|
|
build_lto_plugin=yes
|
1624 |
|
|
],[if test x"$default_enable_lto" = x"yes" ; then
|
1625 |
|
|
case $target in
|
1626 |
|
|
*-apple-darwin9* | *-cygwin* | *-mingw*) ;;
|
1627 |
|
|
# On other non-ELF platforms, LTO has yet to be validated.
|
1628 |
|
|
*) enable_lto=no ;;
|
1629 |
|
|
esac
|
1630 |
|
|
else
|
1631 |
|
|
# Apart from ELF platforms, only Windows and Darwin support LTO so far.
|
1632 |
|
|
# It would also be nice to check the binutils support, but we don't
|
1633 |
|
|
# have gcc_GAS_CHECK_FEATURE available here. For now, we'll just
|
1634 |
|
|
# warn during gcc/ subconfigure; unless you're bootstrapping with
|
1635 |
|
|
# -flto it won't be needed until after installation anyway.
|
1636 |
|
|
case $target in
|
1637 |
|
|
*-cygwin* | *-mingw* | *-apple-darwin*) ;;
|
1638 |
|
|
*) if test x"$enable_lto" = x"yes"; then
|
1639 |
|
|
AC_MSG_ERROR([LTO support is not enabled for this target.])
|
1640 |
|
|
fi
|
1641 |
|
|
;;
|
1642 |
|
|
esac
|
1643 |
|
|
fi
|
1644 |
|
|
# Among non-ELF, only Windows platforms support the lto-plugin so far.
|
1645 |
|
|
# Build it unless LTO was explicitly disabled.
|
1646 |
|
|
case $target in
|
1647 |
|
|
*-cygwin* | *-mingw*) build_lto_plugin=$enable_lto ;;
|
1648 |
|
|
*) ;;
|
1649 |
|
|
esac
|
1650 |
|
|
])
|
1651 |
|
|
|
1652 |
|
|
|
1653 |
|
|
# By default, C is the only stage 1 language.
|
1654 |
|
|
stage1_languages=,c,
|
1655 |
|
|
|
1656 |
|
|
# Target libraries that we bootstrap.
|
1657 |
|
|
bootstrap_target_libs=,target-libgcc,
|
1658 |
|
|
|
1659 |
|
|
# Figure out what language subdirectories are present.
|
1660 |
|
|
# Look if the user specified --enable-languages="..."; if not, use
|
1661 |
|
|
# the environment variable $LANGUAGES if defined. $LANGUAGES might
|
1662 |
|
|
# go away some day.
|
1663 |
|
|
# NB: embedded tabs in this IF block -- do not untabify
|
1664 |
|
|
if test -d ${srcdir}/gcc; then
|
1665 |
|
|
if test x"${enable_languages+set}" != xset; then
|
1666 |
|
|
if test x"${LANGUAGES+set}" = xset; then
|
1667 |
|
|
enable_languages="${LANGUAGES}"
|
1668 |
|
|
echo configure.in: warning: setting LANGUAGES is deprecated, use --enable-languages instead 1>&2
|
1669 |
|
|
else
|
1670 |
|
|
enable_languages=all
|
1671 |
|
|
fi
|
1672 |
|
|
else
|
1673 |
|
|
if test x"${enable_languages}" = x ||
|
1674 |
|
|
test x"${enable_languages}" = xyes;
|
1675 |
|
|
then
|
1676 |
|
|
echo configure.in: --enable-languages needs at least one language argument 1>&2
|
1677 |
|
|
exit 1
|
1678 |
|
|
fi
|
1679 |
|
|
fi
|
1680 |
|
|
enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
|
1681 |
|
|
|
1682 |
|
|
# 'f95' is the old name for the 'fortran' language. We issue a warning
|
1683 |
|
|
# and make the substitution.
|
1684 |
|
|
case ,${enable_languages}, in
|
1685 |
|
|
*,f95,*)
|
1686 |
|
|
echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
|
1687 |
|
|
enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
|
1688 |
|
|
;;
|
1689 |
|
|
esac
|
1690 |
|
|
|
1691 |
|
|
# If bootstrapping, then using --enable-build-with-cxx or
|
1692 |
|
|
# --enable-build-poststage1-with-cxx requires enabling C++.
|
1693 |
|
|
case ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" in
|
1694 |
|
|
*,c++,*:*:*) ;;
|
1695 |
|
|
*:*,yes,*:yes)
|
1696 |
|
|
if test -f ${srcdir}/gcc/cp/config-lang.in; then
|
1697 |
|
|
enable_languages="${enable_languages},c++"
|
1698 |
|
|
else
|
1699 |
|
|
AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or --enable-build-poststage1-with-cxx requires c++ sources])
|
1700 |
|
|
fi
|
1701 |
|
|
;;
|
1702 |
|
|
esac
|
1703 |
|
|
|
1704 |
|
|
# First scan to see if an enabled language requires some other language.
|
1705 |
|
|
# We assume that a given config-lang.in will list all the language
|
1706 |
|
|
# front ends it requires, even if some are required indirectly.
|
1707 |
|
|
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
1708 |
|
|
case ${lang_frag} in
|
1709 |
|
|
..) ;;
|
1710 |
|
|
# The odd quoting in the next line works around
|
1711 |
|
|
# an apparent bug in bash 1.12 on linux.
|
1712 |
|
|
${srcdir}/gcc/[[*]]/config-lang.in) ;;
|
1713 |
|
|
*)
|
1714 |
|
|
# From the config-lang.in, get $language, $lang_requires, and
|
1715 |
|
|
# $lang_requires_boot_languages.
|
1716 |
|
|
language=
|
1717 |
|
|
lang_requires=
|
1718 |
|
|
lang_requires_boot_languages=
|
1719 |
|
|
. ${lang_frag}
|
1720 |
|
|
for other in ${lang_requires} ${lang_requires_boot_languages}; do
|
1721 |
|
|
case ,${enable_languages}, in
|
1722 |
|
|
*,$other,*) ;;
|
1723 |
|
|
*,all,*) ;;
|
1724 |
|
|
*,$language,*)
|
1725 |
|
|
echo " \`$other' language required by \`$language'; enabling" 1>&2
|
1726 |
|
|
enable_languages="${enable_languages},${other}"
|
1727 |
|
|
;;
|
1728 |
|
|
esac
|
1729 |
|
|
done
|
1730 |
|
|
for other in ${lang_requires_boot_languages} ; do
|
1731 |
|
|
if test "$other" != "c"; then
|
1732 |
|
|
case ,${enable_stage1_languages}, in
|
1733 |
|
|
*,$other,*) ;;
|
1734 |
|
|
*,all,*) ;;
|
1735 |
|
|
*)
|
1736 |
|
|
case ,${enable_languages}, in
|
1737 |
|
|
*,$language,*)
|
1738 |
|
|
echo " '$other' language required by '$language' in stage 1; enabling" 1>&2
|
1739 |
|
|
enable_stage1_languages="$enable_stage1_languages,${other}"
|
1740 |
|
|
;;
|
1741 |
|
|
esac
|
1742 |
|
|
;;
|
1743 |
|
|
esac
|
1744 |
|
|
fi
|
1745 |
|
|
done
|
1746 |
|
|
;;
|
1747 |
|
|
esac
|
1748 |
|
|
done
|
1749 |
|
|
|
1750 |
|
|
new_enable_languages=,c,
|
1751 |
|
|
|
1752 |
|
|
# If LTO is enabled, add the LTO front end.
|
1753 |
|
|
extra_host_libiberty_configure_flags=
|
1754 |
|
|
if test "$enable_lto" = "yes" ; then
|
1755 |
|
|
case ,${enable_languages}, in
|
1756 |
|
|
*,lto,*) ;;
|
1757 |
|
|
*) enable_languages="${enable_languages},lto" ;;
|
1758 |
|
|
esac
|
1759 |
|
|
if test "${build_lto_plugin}" = "yes" ; then
|
1760 |
|
|
configdirs="$configdirs lto-plugin"
|
1761 |
|
|
extra_host_libiberty_configure_flags=--enable-shared
|
1762 |
|
|
fi
|
1763 |
|
|
fi
|
1764 |
|
|
AC_SUBST(extra_host_libiberty_configure_flags)
|
1765 |
|
|
|
1766 |
|
|
missing_languages=`echo ",$enable_languages," | sed -e s/,all,/,/ -e s/,c,/,/ `
|
1767 |
|
|
potential_languages=,c,
|
1768 |
|
|
|
1769 |
|
|
enabled_target_libs=
|
1770 |
|
|
disabled_target_libs=
|
1771 |
|
|
|
1772 |
|
|
for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do
|
1773 |
|
|
case ${lang_frag} in
|
1774 |
|
|
..) ;;
|
1775 |
|
|
# The odd quoting in the next line works around
|
1776 |
|
|
# an apparent bug in bash 1.12 on linux.
|
1777 |
|
|
${srcdir}/gcc/[[*]]/config-lang.in) ;;
|
1778 |
|
|
*)
|
1779 |
|
|
# From the config-lang.in, get $language, $target_libs,
|
1780 |
|
|
# $lang_dirs, $boot_language, and $build_by_default
|
1781 |
|
|
language=
|
1782 |
|
|
target_libs=
|
1783 |
|
|
lang_dirs=
|
1784 |
|
|
subdir_requires=
|
1785 |
|
|
boot_language=no
|
1786 |
|
|
build_by_default=yes
|
1787 |
|
|
. ${lang_frag}
|
1788 |
|
|
if test x${language} = x; then
|
1789 |
|
|
echo "${lang_frag} doesn't set \$language." 1>&2
|
1790 |
|
|
exit 1
|
1791 |
|
|
fi
|
1792 |
|
|
|
1793 |
|
|
if test "$language" = "c++"; then
|
1794 |
|
|
if test "$ENABLE_BUILD_WITH_CXX" = "yes" \
|
1795 |
|
|
|| test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then
|
1796 |
|
|
boot_language=yes
|
1797 |
|
|
fi
|
1798 |
|
|
fi
|
1799 |
|
|
|
1800 |
|
|
case ,${enable_languages}, in
|
1801 |
|
|
*,${language},*)
|
1802 |
|
|
# Language was explicitly selected; include it.
|
1803 |
|
|
add_this_lang=yes
|
1804 |
|
|
;;
|
1805 |
|
|
*,all,*)
|
1806 |
|
|
# 'all' was selected, select it if it is a default language
|
1807 |
|
|
add_this_lang=${build_by_default}
|
1808 |
|
|
;;
|
1809 |
|
|
*)
|
1810 |
|
|
add_this_lang=no
|
1811 |
|
|
;;
|
1812 |
|
|
esac
|
1813 |
|
|
|
1814 |
|
|
# Disable languages that need other directories if these aren't available.
|
1815 |
|
|
for i in $subdir_requires; do
|
1816 |
|
|
test -f "$srcdir/gcc/$i/config-lang.in" && continue
|
1817 |
|
|
case ,${enable_languages}, in
|
1818 |
|
|
*,${language},*)
|
1819 |
|
|
# Specifically requested language; tell them.
|
1820 |
|
|
AC_MSG_ERROR([The gcc/$i directory contains parts of $language but is missing])
|
1821 |
|
|
;;
|
1822 |
|
|
*)
|
1823 |
|
|
# Silently disable.
|
1824 |
|
|
add_this_lang=unsupported
|
1825 |
|
|
;;
|
1826 |
|
|
esac
|
1827 |
|
|
done
|
1828 |
|
|
|
1829 |
|
|
# Disable Ada if no preexisting GNAT is available.
|
1830 |
|
|
case ,${enable_languages},:${language}:${have_gnat} in
|
1831 |
|
|
*,${language},*:ada:no)
|
1832 |
|
|
# Specifically requested language; tell them.
|
1833 |
|
|
AC_MSG_ERROR([GNAT is required to build $language])
|
1834 |
|
|
;;
|
1835 |
|
|
*:ada:no)
|
1836 |
|
|
# Silently disable.
|
1837 |
|
|
add_this_lang=unsupported
|
1838 |
|
|
;;
|
1839 |
|
|
esac
|
1840 |
|
|
|
1841 |
|
|
# Disable a language that is unsupported by the target.
|
1842 |
|
|
case " $unsupported_languages " in
|
1843 |
|
|
*" $language "*)
|
1844 |
|
|
add_this_lang=unsupported
|
1845 |
|
|
;;
|
1846 |
|
|
esac
|
1847 |
|
|
|
1848 |
|
|
case $add_this_lang in
|
1849 |
|
|
unsupported)
|
1850 |
|
|
# Remove language-dependent dirs.
|
1851 |
|
|
disabled_target_libs="$disabled_target_libs $target_libs"
|
1852 |
|
|
noconfigdirs="$noconfigdirs $lang_dirs"
|
1853 |
|
|
;;
|
1854 |
|
|
no)
|
1855 |
|
|
# Remove language-dependent dirs; still show language as supported.
|
1856 |
|
|
disabled_target_libs="$disabled_target_libs $target_libs"
|
1857 |
|
|
noconfigdirs="$noconfigdirs $lang_dirs"
|
1858 |
|
|
potential_languages="${potential_languages}${language},"
|
1859 |
|
|
;;
|
1860 |
|
|
yes)
|
1861 |
|
|
new_enable_languages="${new_enable_languages}${language},"
|
1862 |
|
|
potential_languages="${potential_languages}${language},"
|
1863 |
|
|
missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
|
1864 |
|
|
enabled_target_libs="$enabled_target_libs $target_libs"
|
1865 |
|
|
case "${boot_language}:,$enable_stage1_languages," in
|
1866 |
|
|
yes:* | *:*,$language,* | *:*,yes, | *:*,all,)
|
1867 |
|
|
# Add to (comma-separated) list of stage 1 languages.
|
1868 |
|
|
case ",$stage1_languages," in
|
1869 |
|
|
*,$language,* | ,yes, | ,all,) ;;
|
1870 |
|
|
*) stage1_languages="${stage1_languages}${language}," ;;
|
1871 |
|
|
esac
|
1872 |
|
|
# We need to bootstrap any supporting libraries.
|
1873 |
|
|
bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
|
1874 |
|
|
;;
|
1875 |
|
|
esac
|
1876 |
|
|
;;
|
1877 |
|
|
esac
|
1878 |
|
|
;;
|
1879 |
|
|
esac
|
1880 |
|
|
done
|
1881 |
|
|
|
1882 |
|
|
# Add target libraries which are only needed for disabled languages
|
1883 |
|
|
# to noconfigdirs.
|
1884 |
|
|
if test -n "$disabled_target_libs"; then
|
1885 |
|
|
for dir in $disabled_target_libs; do
|
1886 |
|
|
case " $enabled_target_libs " in
|
1887 |
|
|
*" ${dir} "*) ;;
|
1888 |
|
|
*) noconfigdirs="$noconfigdirs $dir" ;;
|
1889 |
|
|
esac
|
1890 |
|
|
done
|
1891 |
|
|
fi
|
1892 |
|
|
|
1893 |
|
|
AC_ARG_ENABLE(stage1-languages,
|
1894 |
|
|
[AS_HELP_STRING([[--enable-stage1-languages[=all]]],
|
1895 |
|
|
[choose additional languages to build during
|
1896 |
|
|
stage1. Mostly useful for compiler development])],
|
1897 |
|
|
[case ,${enable_stage1_languages}, in
|
1898 |
|
|
,no,|,,)
|
1899 |
|
|
# Set it to something that will have no effect in the loop below
|
1900 |
|
|
enable_stage1_languages=c ;;
|
1901 |
|
|
,yes,)
|
1902 |
|
|
enable_stage1_languages=`echo $new_enable_languages | \
|
1903 |
|
|
sed -e "s/^,//" -e "s/,$//" ` ;;
|
1904 |
|
|
*,all,*)
|
1905 |
|
|
enable_stage1_languages=`echo ,$enable_stage1_languages, | \
|
1906 |
|
|
sed -e "s/,all,/$new_enable_languages/" -e "s/^,//" -e "s/,$//" ` ;;
|
1907 |
|
|
esac
|
1908 |
|
|
|
1909 |
|
|
# Add "good" languages from enable_stage1_languages to stage1_languages,
|
1910 |
|
|
# while "bad" languages go in missing_languages. Leave no duplicates.
|
1911 |
|
|
for i in `echo $enable_stage1_languages | sed 's/,/ /g' `; do
|
1912 |
|
|
case $potential_languages in
|
1913 |
|
|
*,$i,*)
|
1914 |
|
|
case $stage1_languages in
|
1915 |
|
|
*,$i,*) ;;
|
1916 |
|
|
*) stage1_languages="$stage1_languages$i," ;;
|
1917 |
|
|
esac ;;
|
1918 |
|
|
*)
|
1919 |
|
|
case $missing_languages in
|
1920 |
|
|
*,$i,*) ;;
|
1921 |
|
|
*) missing_languages="$missing_languages$i," ;;
|
1922 |
|
|
esac ;;
|
1923 |
|
|
esac
|
1924 |
|
|
done])
|
1925 |
|
|
|
1926 |
|
|
# Remove leading/trailing commas that were added for simplicity
|
1927 |
|
|
potential_languages=`echo "$potential_languages" | sed -e "s/^,//" -e "s/,$//"`
|
1928 |
|
|
missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
|
1929 |
|
|
stage1_languages=`echo "$stage1_languages" | sed -e "s/^,//" -e "s/,$//"`
|
1930 |
|
|
new_enable_languages=`echo "$new_enable_languages" | sed -e "s/^,//" -e "s/,$//"`
|
1931 |
|
|
|
1932 |
|
|
if test "x$missing_languages" != x; then
|
1933 |
|
|
AC_MSG_ERROR([
|
1934 |
|
|
The following requested languages could not be built: ${missing_languages}
|
1935 |
|
|
Supported languages are: ${potential_languages}])
|
1936 |
|
|
fi
|
1937 |
|
|
if test "x$new_enable_languages" != "x$enable_languages"; then
|
1938 |
|
|
echo The following languages will be built: ${new_enable_languages}
|
1939 |
|
|
enable_languages="$new_enable_languages"
|
1940 |
|
|
fi
|
1941 |
|
|
|
1942 |
|
|
AC_SUBST(stage1_languages)
|
1943 |
|
|
ac_configure_args=`echo " $ac_configure_args" | sed -e "s/ '--enable-languages=[[^ ]]*'//g" -e "s/$/ '--enable-languages="$enable_languages"'/" `
|
1944 |
|
|
fi
|
1945 |
|
|
|
1946 |
|
|
# Handle --disable- generically.
|
1947 |
|
|
for dir in $configdirs $build_configdirs $target_configdirs ; do
|
1948 |
|
|
dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g`
|
1949 |
|
|
varname=`echo $dirname | sed -e s/+/_/g`
|
1950 |
|
|
if eval test x\${enable_${varname}} "=" xno ; then
|
1951 |
|
|
noconfigdirs="$noconfigdirs $dir"
|
1952 |
|
|
fi
|
1953 |
|
|
done
|
1954 |
|
|
|
1955 |
|
|
# Check for Boehm's garbage collector
|
1956 |
|
|
AC_ARG_ENABLE(objc-gc,
|
1957 |
|
|
[AS_HELP_STRING([--enable-objc-gc],
|
1958 |
|
|
[enable use of Boehm's garbage collector with the
|
1959 |
|
|
GNU Objective-C runtime])],
|
1960 |
|
|
[case ,${enable_languages},:${enable_objc_gc}:${noconfigdirs} in
|
1961 |
|
|
*,objc,*:*:yes:*target-boehm-gc*)
|
1962 |
|
|
AC_MSG_ERROR([Boehm's garbage collector was requested yet not supported in this configuration])
|
1963 |
|
|
;;
|
1964 |
|
|
esac])
|
1965 |
|
|
|
1966 |
|
|
# Make sure we only build Boehm's garbage collector if required.
|
1967 |
|
|
case ,${enable_languages},:${enable_objc_gc} in
|
1968 |
|
|
*,objc,*:yes)
|
1969 |
|
|
# Keep target-boehm-gc if requested for Objective-C.
|
1970 |
|
|
;;
|
1971 |
|
|
*)
|
1972 |
|
|
# Otherwise remove target-boehm-gc depending on target-libjava.
|
1973 |
|
|
if echo " ${noconfigdirs} " | grep "target-libjava" >/dev/null 2>&1; then
|
1974 |
|
|
noconfigdirs="$noconfigdirs target-boehm-gc"
|
1975 |
|
|
fi
|
1976 |
|
|
;;
|
1977 |
|
|
esac
|
1978 |
|
|
|
1979 |
|
|
# Disable libitm if we're not building C++
|
1980 |
|
|
case ,${enable_languages}, in
|
1981 |
|
|
*,c++,*) ;;
|
1982 |
|
|
*)
|
1983 |
|
|
noconfigdirs="$noconfigdirs target-libitm"
|
1984 |
|
|
;;
|
1985 |
|
|
esac
|
1986 |
|
|
|
1987 |
|
|
# Remove the entries in $skipdirs and $noconfigdirs from $configdirs,
|
1988 |
|
|
# $build_configdirs and $target_configdirs.
|
1989 |
|
|
# If we have the source for $noconfigdirs entries, add them to $notsupp.
|
1990 |
|
|
|
1991 |
|
|
notsupp=""
|
1992 |
|
|
for dir in . $skipdirs $noconfigdirs ; do
|
1993 |
|
|
dirname=`echo $dir | sed -e s/target-//g -e s/build-//g`
|
1994 |
|
|
if test $dir != . && echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
1995 |
|
|
configdirs=`echo " ${configdirs} " | sed -e "s/ ${dir} / /"`
|
1996 |
|
|
if test -r $srcdir/$dirname/configure ; then
|
1997 |
|
|
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
1998 |
|
|
true
|
1999 |
|
|
else
|
2000 |
|
|
notsupp="$notsupp $dir"
|
2001 |
|
|
fi
|
2002 |
|
|
fi
|
2003 |
|
|
fi
|
2004 |
|
|
if test $dir != . && echo " ${build_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
2005 |
|
|
build_configdirs=`echo " ${build_configdirs} " | sed -e "s/ ${dir} / /"`
|
2006 |
|
|
if test -r $srcdir/$dirname/configure ; then
|
2007 |
|
|
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
2008 |
|
|
true
|
2009 |
|
|
else
|
2010 |
|
|
notsupp="$notsupp $dir"
|
2011 |
|
|
fi
|
2012 |
|
|
fi
|
2013 |
|
|
fi
|
2014 |
|
|
if test $dir != . && echo " ${target_configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
2015 |
|
|
target_configdirs=`echo " ${target_configdirs} " | sed -e "s/ ${dir} / /"`
|
2016 |
|
|
if test -r $srcdir/$dirname/configure ; then
|
2017 |
|
|
if echo " ${skipdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
2018 |
|
|
true
|
2019 |
|
|
else
|
2020 |
|
|
notsupp="$notsupp $dir"
|
2021 |
|
|
fi
|
2022 |
|
|
fi
|
2023 |
|
|
fi
|
2024 |
|
|
done
|
2025 |
|
|
|
2026 |
|
|
# Quietly strip out all directories which aren't configurable in this tree.
|
2027 |
|
|
# This relies on all configurable subdirectories being autoconfiscated, which
|
2028 |
|
|
# is now the case.
|
2029 |
|
|
build_configdirs_all="$build_configdirs"
|
2030 |
|
|
build_configdirs=
|
2031 |
|
|
for i in ${build_configdirs_all} ; do
|
2032 |
|
|
j=`echo $i | sed -e s/build-//g`
|
2033 |
|
|
if test -f ${srcdir}/$j/configure ; then
|
2034 |
|
|
build_configdirs="${build_configdirs} $i"
|
2035 |
|
|
fi
|
2036 |
|
|
done
|
2037 |
|
|
|
2038 |
|
|
configdirs_all="$configdirs"
|
2039 |
|
|
configdirs=
|
2040 |
|
|
for i in ${configdirs_all} ; do
|
2041 |
|
|
if test -f ${srcdir}/$i/configure ; then
|
2042 |
|
|
configdirs="${configdirs} $i"
|
2043 |
|
|
fi
|
2044 |
|
|
done
|
2045 |
|
|
|
2046 |
|
|
target_configdirs_all="$target_configdirs"
|
2047 |
|
|
target_configdirs=
|
2048 |
|
|
for i in ${target_configdirs_all} ; do
|
2049 |
|
|
j=`echo $i | sed -e s/target-//g`
|
2050 |
|
|
if test -f ${srcdir}/$j/configure ; then
|
2051 |
|
|
target_configdirs="${target_configdirs} $i"
|
2052 |
|
|
fi
|
2053 |
|
|
done
|
2054 |
|
|
|
2055 |
|
|
# Produce a warning message for the subdirs we can't configure.
|
2056 |
|
|
# This isn't especially interesting in the Cygnus tree, but in the individual
|
2057 |
|
|
# FSF releases, it's important to let people know when their machine isn't
|
2058 |
|
|
# supported by the one or two programs in a package.
|
2059 |
|
|
|
2060 |
|
|
if test -n "${notsupp}" && test -z "${norecursion}" ; then
|
2061 |
|
|
# If $appdirs is non-empty, at least one of those directories must still
|
2062 |
|
|
# be configured, or we error out. (E.g., if the gas release supports a
|
2063 |
|
|
# specified target in some subdirs but not the gas subdir, we shouldn't
|
2064 |
|
|
# pretend that all is well.)
|
2065 |
|
|
if test -n "$appdirs" ; then
|
2066 |
|
|
for dir in $appdirs ; do
|
2067 |
|
|
if test -r $dir/Makefile.in ; then
|
2068 |
|
|
if echo " ${configdirs} " | grep " ${dir} " >/dev/null 2>&1; then
|
2069 |
|
|
appdirs=""
|
2070 |
|
|
break
|
2071 |
|
|
fi
|
2072 |
|
|
if echo " ${target_configdirs} " | grep " target-${dir} " >/dev/null 2>&1; then
|
2073 |
|
|
appdirs=""
|
2074 |
|
|
break
|
2075 |
|
|
fi
|
2076 |
|
|
fi
|
2077 |
|
|
done
|
2078 |
|
|
if test -n "$appdirs" ; then
|
2079 |
|
|
echo "*** This configuration is not supported by this package." 1>&2
|
2080 |
|
|
exit 1
|
2081 |
|
|
fi
|
2082 |
|
|
fi
|
2083 |
|
|
# Okay, some application will build, or we don't care to check. Still
|
2084 |
|
|
# notify of subdirs not getting built.
|
2085 |
|
|
echo "*** This configuration is not supported in the following subdirectories:" 1>&2
|
2086 |
|
|
echo " ${notsupp}" 1>&2
|
2087 |
|
|
echo " (Any other directories should still work fine.)" 1>&2
|
2088 |
|
|
fi
|
2089 |
|
|
|
2090 |
|
|
case "$host" in
|
2091 |
|
|
*msdosdjgpp*)
|
2092 |
|
|
enable_gdbtk=no ;;
|
2093 |
|
|
esac
|
2094 |
|
|
|
2095 |
|
|
# To find our prefix, in gcc_cv_tool_prefix.
|
2096 |
|
|
ACX_TOOL_DIRS
|
2097 |
|
|
|
2098 |
|
|
copy_dirs=
|
2099 |
|
|
|
2100 |
|
|
AC_ARG_WITH([build-sysroot],
|
2101 |
|
|
[AS_HELP_STRING([--with-build-sysroot=SYSROOT],
|
2102 |
|
|
[use sysroot as the system root during the build])],
|
2103 |
|
|
[if test x"$withval" != x ; then
|
2104 |
|
|
SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
|
2105 |
|
|
fi],
|
2106 |
|
|
[SYSROOT_CFLAGS_FOR_TARGET=])
|
2107 |
|
|
AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
|
2108 |
|
|
|
2109 |
|
|
AC_ARG_WITH([debug-prefix-map],
|
2110 |
|
|
[AS_HELP_STRING([--with-debug-prefix-map='A=B C=D ...'],
|
2111 |
|
|
[map A to B, C to D ... in debug information])],
|
2112 |
|
|
[if test x"$withval" != x; then
|
2113 |
|
|
DEBUG_PREFIX_CFLAGS_FOR_TARGET=
|
2114 |
|
|
for debug_map in $withval; do
|
2115 |
|
|
DEBUG_PREFIX_CFLAGS_FOR_TARGET="$DEBUG_PREFIX_CFLAGS_FOR_TARGET -fdebug-prefix-map=$debug_map"
|
2116 |
|
|
done
|
2117 |
|
|
fi],
|
2118 |
|
|
[DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
|
2119 |
|
|
AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
|
2120 |
|
|
|
2121 |
|
|
# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
|
2122 |
|
|
# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
|
2123 |
|
|
# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
|
2124 |
|
|
# We want to ensure that TARGET libraries (which we know are built with
|
2125 |
|
|
# gcc) are built with "-O2 -g", so include those options when setting
|
2126 |
|
|
# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
|
2127 |
|
|
if test "x$CFLAGS_FOR_TARGET" = x; then
|
2128 |
|
|
CFLAGS_FOR_TARGET=$CFLAGS
|
2129 |
|
|
case " $CFLAGS " in
|
2130 |
|
|
*" -O2 "*) ;;
|
2131 |
|
|
*) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
|
2132 |
|
|
esac
|
2133 |
|
|
case " $CFLAGS " in
|
2134 |
|
|
*" -g "* | *" -g3 "*) ;;
|
2135 |
|
|
*) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
|
2136 |
|
|
esac
|
2137 |
|
|
fi
|
2138 |
|
|
AC_SUBST(CFLAGS_FOR_TARGET)
|
2139 |
|
|
|
2140 |
|
|
if test "x$CXXFLAGS_FOR_TARGET" = x; then
|
2141 |
|
|
CXXFLAGS_FOR_TARGET=$CXXFLAGS
|
2142 |
|
|
case " $CXXFLAGS " in
|
2143 |
|
|
*" -O2 "*) ;;
|
2144 |
|
|
*) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
|
2145 |
|
|
esac
|
2146 |
|
|
case " $CXXFLAGS " in
|
2147 |
|
|
*" -g "* | *" -g3 "*) ;;
|
2148 |
|
|
*) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
|
2149 |
|
|
esac
|
2150 |
|
|
fi
|
2151 |
|
|
AC_SUBST(CXXFLAGS_FOR_TARGET)
|
2152 |
|
|
|
2153 |
|
|
AC_SUBST(LDFLAGS_FOR_TARGET)
|
2154 |
|
|
|
2155 |
|
|
# Handle --with-headers=XXX. If the value is not "yes", the contents of
|
2156 |
|
|
# the named directory are copied to $(tooldir)/sys-include.
|
2157 |
|
|
if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
|
2158 |
|
|
if test x${is_cross_compiler} = xno ; then
|
2159 |
|
|
echo 1>&2 '***' --with-headers is only supported when cross compiling
|
2160 |
|
|
exit 1
|
2161 |
|
|
fi
|
2162 |
|
|
if test x"${with_headers}" != xyes ; then
|
2163 |
|
|
x=${gcc_cv_tool_prefix}
|
2164 |
|
|
copy_dirs="${copy_dirs} ${with_headers} $x/${target_noncanonical}/sys-include"
|
2165 |
|
|
fi
|
2166 |
|
|
fi
|
2167 |
|
|
|
2168 |
|
|
# Handle --with-libs=XXX. If the value is not "yes", the contents of
|
2169 |
|
|
# the name directories are copied to $(tooldir)/lib. Multiple directories
|
2170 |
|
|
# are permitted.
|
2171 |
|
|
if test x"${with_libs}" != x && test x"${with_libs}" != xno ; then
|
2172 |
|
|
if test x${is_cross_compiler} = xno ; then
|
2173 |
|
|
echo 1>&2 '***' --with-libs is only supported when cross compiling
|
2174 |
|
|
exit 1
|
2175 |
|
|
fi
|
2176 |
|
|
if test x"${with_libs}" != xyes ; then
|
2177 |
|
|
# Copy the libraries in reverse order, so that files in the first named
|
2178 |
|
|
# library override files in subsequent libraries.
|
2179 |
|
|
x=${gcc_cv_tool_prefix}
|
2180 |
|
|
for l in ${with_libs}; do
|
2181 |
|
|
copy_dirs="$l $x/${target_noncanonical}/lib ${copy_dirs}"
|
2182 |
|
|
done
|
2183 |
|
|
fi
|
2184 |
|
|
fi
|
2185 |
|
|
|
2186 |
|
|
# Set with_gnu_as, with_gnu_ld, and with_system_zlib as appropriate.
|
2187 |
|
|
#
|
2188 |
|
|
# This is done by determining whether or not the appropriate directory
|
2189 |
|
|
# is available, and by checking whether or not specific configurations
|
2190 |
|
|
# have requested that this magic not happen.
|
2191 |
|
|
#
|
2192 |
|
|
# The command line options always override the explicit settings in
|
2193 |
|
|
# configure.in, and the settings in configure.in override this magic.
|
2194 |
|
|
#
|
2195 |
|
|
# If the default for a toolchain is to use GNU as and ld, and you don't
|
2196 |
|
|
# want to do that, then you should use the --without-gnu-as and
|
2197 |
|
|
# --without-gnu-ld options for the configure script. Similarly, if
|
2198 |
|
|
# the default is to use the included zlib and you don't want to do that,
|
2199 |
|
|
# you should use the --with-system-zlib option for the configure script.
|
2200 |
|
|
|
2201 |
|
|
if test x${use_gnu_as} = x &&
|
2202 |
|
|
echo " ${configdirs} " | grep " gas " > /dev/null 2>&1 ; then
|
2203 |
|
|
with_gnu_as=yes
|
2204 |
|
|
extra_host_args="$extra_host_args --with-gnu-as"
|
2205 |
|
|
fi
|
2206 |
|
|
|
2207 |
|
|
if test x${use_gnu_ld} = x &&
|
2208 |
|
|
echo " ${configdirs} " | egrep " (go)?ld " > /dev/null 2>&1 ; then
|
2209 |
|
|
with_gnu_ld=yes
|
2210 |
|
|
extra_host_args="$extra_host_args --with-gnu-ld"
|
2211 |
|
|
fi
|
2212 |
|
|
|
2213 |
|
|
if test x${use_included_zlib} = x &&
|
2214 |
|
|
echo " ${configdirs} " | grep " zlib " > /dev/null 2>&1 ; then
|
2215 |
|
|
:
|
2216 |
|
|
else
|
2217 |
|
|
with_system_zlib=yes
|
2218 |
|
|
extra_host_args="$extra_host_args --with-system-zlib"
|
2219 |
|
|
fi
|
2220 |
|
|
|
2221 |
|
|
# If using newlib, add --with-newlib to the extra_host_args so that gcc/configure
|
2222 |
|
|
# can detect this case.
|
2223 |
|
|
|
2224 |
|
|
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " target-newlib " > /dev/null 2>&1 ; then
|
2225 |
|
|
with_newlib=yes
|
2226 |
|
|
extra_host_args="$extra_host_args --with-newlib"
|
2227 |
|
|
fi
|
2228 |
|
|
|
2229 |
|
|
# Handle ${copy_dirs}
|
2230 |
|
|
set fnord ${copy_dirs}
|
2231 |
|
|
shift
|
2232 |
|
|
while test $# != 0 ; do
|
2233 |
|
|
if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
|
2234 |
|
|
:
|
2235 |
|
|
else
|
2236 |
|
|
echo Copying $1 to $2
|
2237 |
|
|
|
2238 |
|
|
# Use the install script to create the directory and all required
|
2239 |
|
|
# parent directories.
|
2240 |
|
|
if test -d $2 ; then
|
2241 |
|
|
:
|
2242 |
|
|
else
|
2243 |
|
|
echo >config.temp
|
2244 |
|
|
${srcdir}/install-sh -c -m 644 config.temp $2/COPIED
|
2245 |
|
|
fi
|
2246 |
|
|
|
2247 |
|
|
# Copy the directory, assuming we have tar.
|
2248 |
|
|
# FIXME: Should we use B in the second tar? Not all systems support it.
|
2249 |
|
|
(cd $1; tar -cf - .) | (cd $2; tar -xpf -)
|
2250 |
|
|
|
2251 |
|
|
# It is the responsibility of the user to correctly adjust all
|
2252 |
|
|
# symlinks. If somebody can figure out how to handle them correctly
|
2253 |
|
|
# here, feel free to add the code.
|
2254 |
|
|
|
2255 |
|
|
echo $1 > $2/COPIED
|
2256 |
|
|
fi
|
2257 |
|
|
shift; shift
|
2258 |
|
|
done
|
2259 |
|
|
|
2260 |
|
|
# Determine a target-dependent exec_prefix that the installed
|
2261 |
|
|
# gcc will search in. Keep this list sorted by triplet, with
|
2262 |
|
|
# the *-*-osname triplets last.
|
2263 |
|
|
md_exec_prefix=
|
2264 |
|
|
case "${target}" in
|
2265 |
|
|
i[[34567]]86-pc-msdosdjgpp*)
|
2266 |
|
|
md_exec_prefix=/dev/env/DJDIR/bin
|
2267 |
|
|
;;
|
2268 |
|
|
*-*-hpux* | \
|
2269 |
|
|
*-*-nto-qnx* | \
|
2270 |
|
|
*-*-solaris2*)
|
2271 |
|
|
md_exec_prefix=/usr/ccs/bin
|
2272 |
|
|
;;
|
2273 |
|
|
esac
|
2274 |
|
|
|
2275 |
|
|
extra_arflags_for_target=
|
2276 |
|
|
extra_nmflags_for_target=
|
2277 |
|
|
extra_ranlibflags_for_target=
|
2278 |
|
|
target_makefile_frag=/dev/null
|
2279 |
|
|
case "${target}" in
|
2280 |
|
|
spu-*-*)
|
2281 |
|
|
target_makefile_frag="config/mt-spu"
|
2282 |
|
|
;;
|
2283 |
|
|
mips*-sde-elf*)
|
2284 |
|
|
target_makefile_frag="config/mt-sde"
|
2285 |
|
|
;;
|
2286 |
|
|
mipsisa*-*-elfoabi*)
|
2287 |
|
|
target_makefile_frag="config/mt-mips-elfoabi"
|
2288 |
|
|
;;
|
2289 |
|
|
mips*-*-*linux* | mips*-*-gnu*)
|
2290 |
|
|
target_makefile_frag="config/mt-mips-gnu"
|
2291 |
|
|
;;
|
2292 |
|
|
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
|
2293 |
|
|
target_makefile_frag="config/mt-gnu"
|
2294 |
|
|
;;
|
2295 |
|
|
*-*-aix4.[[3456789]]* | *-*-aix[[56789]].*)
|
2296 |
|
|
# nm and ar from AIX 4.3 and above require -X32_64 flag to all ar and nm
|
2297 |
|
|
# commands to handle both 32-bit and 64-bit objects. These flags are
|
2298 |
|
|
# harmless if we're using GNU nm or ar.
|
2299 |
|
|
extra_arflags_for_target=" -X32_64"
|
2300 |
|
|
extra_nmflags_for_target=" -B -X32_64"
|
2301 |
|
|
;;
|
2302 |
|
|
esac
|
2303 |
|
|
|
2304 |
|
|
alphaieee_frag=/dev/null
|
2305 |
|
|
case $target in
|
2306 |
|
|
alpha*-*-*)
|
2307 |
|
|
# This just makes sure to use the -mieee option to build target libs.
|
2308 |
|
|
# This should probably be set individually by each library.
|
2309 |
|
|
alphaieee_frag="config/mt-alphaieee"
|
2310 |
|
|
;;
|
2311 |
|
|
esac
|
2312 |
|
|
|
2313 |
|
|
# If --enable-target-optspace always use -Os instead of -O2 to build
|
2314 |
|
|
# the target libraries, similarly if it is not specified, use -Os
|
2315 |
|
|
# on selected platforms.
|
2316 |
|
|
ospace_frag=/dev/null
|
2317 |
|
|
case "${enable_target_optspace}:${target}" in
|
2318 |
|
|
yes:*)
|
2319 |
|
|
ospace_frag="config/mt-ospace"
|
2320 |
|
|
;;
|
2321 |
|
|
:d30v-*)
|
2322 |
|
|
ospace_frag="config/mt-d30v"
|
2323 |
|
|
;;
|
2324 |
|
|
:m32r-* | :d10v-* | :fr30-*)
|
2325 |
|
|
ospace_frag="config/mt-ospace"
|
2326 |
|
|
;;
|
2327 |
|
|
no:* | :*)
|
2328 |
|
|
;;
|
2329 |
|
|
*)
|
2330 |
|
|
echo "*** bad value \"${enable_target_optspace}\" for --enable-target-optspace flag; ignored" 1>&2
|
2331 |
|
|
;;
|
2332 |
|
|
esac
|
2333 |
|
|
|
2334 |
|
|
# Default to using --with-stabs for certain targets.
|
2335 |
|
|
if test x${with_stabs} = x ; then
|
2336 |
|
|
case "${target}" in
|
2337 |
|
|
mips*-*-irix[[56]]*)
|
2338 |
|
|
;;
|
2339 |
|
|
mips*-*-* | alpha*-*-osf*)
|
2340 |
|
|
with_stabs=yes;
|
2341 |
|
|
extra_host_args="${extra_host_args} --with-stabs"
|
2342 |
|
|
;;
|
2343 |
|
|
esac
|
2344 |
|
|
fi
|
2345 |
|
|
|
2346 |
|
|
# Some systems (e.g., one of the i386-aix systems the gas testers are
|
2347 |
|
|
# using) don't handle "\$" correctly, so don't use it here.
|
2348 |
|
|
tooldir='${exec_prefix}'/${target_noncanonical}
|
2349 |
|
|
build_tooldir=${tooldir}
|
2350 |
|
|
|
2351 |
|
|
# Create a .gdbinit file which runs the one in srcdir
|
2352 |
|
|
# and tells GDB to look there for source files.
|
2353 |
|
|
|
2354 |
|
|
if test -r ${srcdir}/.gdbinit ; then
|
2355 |
|
|
case ${srcdir} in
|
2356 |
|
|
.) ;;
|
2357 |
|
|
*) cat > ./.gdbinit <
|
2358 |
|
|
# ${NO_EDIT}
|
2359 |
|
|
dir ${srcdir}
|
2360 |
|
|
dir .
|
2361 |
|
|
source ${srcdir}/.gdbinit
|
2362 |
|
|
EOF
|
2363 |
|
|
;;
|
2364 |
|
|
esac
|
2365 |
|
|
fi
|
2366 |
|
|
|
2367 |
|
|
# Make sure that the compiler is able to generate an executable. If it
|
2368 |
|
|
# can't, we are probably in trouble. We don't care whether we can run the
|
2369 |
|
|
# executable--we might be using a cross compiler--we only care whether it
|
2370 |
|
|
# can be created. At this point the main configure script has set CC.
|
2371 |
|
|
we_are_ok=no
|
2372 |
|
|
echo "int main () { return 0; }" > conftest.c
|
2373 |
|
|
${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c
|
2374 |
|
|
if test $? = 0 ; then
|
2375 |
|
|
if test -s conftest || test -s conftest.exe ; then
|
2376 |
|
|
we_are_ok=yes
|
2377 |
|
|
fi
|
2378 |
|
|
fi
|
2379 |
|
|
case $we_are_ok in
|
2380 |
|
|
no)
|
2381 |
|
|
echo 1>&2 "*** The command '${CC} -o conftest ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} conftest.c' failed."
|
2382 |
|
|
echo 1>&2 "*** You must set the environment variable CC to a working compiler."
|
2383 |
|
|
rm -f conftest*
|
2384 |
|
|
exit 1
|
2385 |
|
|
;;
|
2386 |
|
|
esac
|
2387 |
|
|
rm -f conftest*
|
2388 |
|
|
|
2389 |
|
|
# Decide which environment variable is used to find dynamic libraries.
|
2390 |
|
|
case "${host}" in
|
2391 |
|
|
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
|
2392 |
|
|
*-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
|
2393 |
|
|
*-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
|
2394 |
|
|
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
|
2395 |
|
|
esac
|
2396 |
|
|
|
2397 |
|
|
# On systems where the dynamic library environment variable is PATH,
|
2398 |
|
|
# gcc/ will put dynamic libraries into a subdirectory to avoid adding
|
2399 |
|
|
# built executables to PATH.
|
2400 |
|
|
if test "$RPATH_ENVVAR" = PATH; then
|
2401 |
|
|
GCC_SHLIB_SUBDIR=/shlib
|
2402 |
|
|
else
|
2403 |
|
|
GCC_SHLIB_SUBDIR=
|
2404 |
|
|
fi
|
2405 |
|
|
|
2406 |
|
|
# Record target_configdirs and the configure arguments for target and
|
2407 |
|
|
# build configuration in Makefile.
|
2408 |
|
|
target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
|
2409 |
|
|
build_configdirs=`echo "${build_configdirs}" | sed -e 's/build-//g'`
|
2410 |
|
|
|
2411 |
|
|
# If we are building libgomp, bootstrap it.
|
2412 |
|
|
if echo " ${target_configdirs} " | grep " libgomp " > /dev/null 2>&1 ; then
|
2413 |
|
|
bootstrap_target_libs=${bootstrap_target_libs}target-libgomp,
|
2414 |
|
|
fi
|
2415 |
|
|
|
2416 |
|
|
# Determine whether gdb needs tk/tcl or not.
|
2417 |
|
|
# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
|
2418 |
|
|
# and in that case we want gdb to be built without tk. Ugh!
|
2419 |
|
|
# In fact I believe gdb is the *only* package directly dependent on tk,
|
2420 |
|
|
# so we should be able to put the 'maybe's in unconditionally and
|
2421 |
|
|
# leave out the maybe dependencies when enable_gdbtk is false. I'm not
|
2422 |
|
|
# 100% sure that that's safe though.
|
2423 |
|
|
|
2424 |
|
|
gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-libgui"
|
2425 |
|
|
case "$enable_gdbtk" in
|
2426 |
|
|
no)
|
2427 |
|
|
GDB_TK="" ;;
|
2428 |
|
|
yes)
|
2429 |
|
|
GDB_TK="${gdb_tk}" ;;
|
2430 |
|
|
*)
|
2431 |
|
|
# Only add the dependency on gdbtk when GDBtk is part of the gdb
|
2432 |
|
|
# distro. Eventually someone will fix this and move Insight, nee
|
2433 |
|
|
# gdbtk to a separate directory.
|
2434 |
|
|
if test -d ${srcdir}/gdb/gdbtk ; then
|
2435 |
|
|
GDB_TK="${gdb_tk}"
|
2436 |
|
|
else
|
2437 |
|
|
GDB_TK=""
|
2438 |
|
|
fi
|
2439 |
|
|
;;
|
2440 |
|
|
esac
|
2441 |
|
|
CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
|
2442 |
|
|
INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
|
2443 |
|
|
|
2444 |
|
|
# Strip out unwanted targets.
|
2445 |
|
|
|
2446 |
|
|
# While at that, we remove Makefiles if we were started for recursive
|
2447 |
|
|
# configuration, so that the top-level Makefile reconfigures them,
|
2448 |
|
|
# like we used to do when configure itself was recursive.
|
2449 |
|
|
|
2450 |
|
|
# Loop over modules. We used to use the "$extrasub" feature from Autoconf
|
2451 |
|
|
# but now we're fixing up the Makefile ourselves with the additional
|
2452 |
|
|
# commands passed to AC_CONFIG_FILES. Use separate variables
|
2453 |
|
|
# extrasub-{build,host,target} not because there is any reason to split
|
2454 |
|
|
# the substitutions up that way, but only to remain below the limit of
|
2455 |
|
|
# 99 commands in a script, for HP-UX sed.
|
2456 |
|
|
# Do not nest @if/@endif pairs, because configure will not warn you at all.
|
2457 |
|
|
|
2458 |
|
|
case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in
|
2459 |
|
|
yes:yes:*\ gold\ *:*,c++,*) ;;
|
2460 |
|
|
yes:yes:*\ gold\ *:*)
|
2461 |
|
|
AC_MSG_ERROR([in a combined tree, bootstrapping with --enable-gold requires c++ in stage1_languages])
|
2462 |
|
|
;;
|
2463 |
|
|
esac
|
2464 |
|
|
|
2465 |
|
|
# Adjust the toplevel makefile according to whether bootstrap was selected.
|
2466 |
|
|
case $enable_bootstrap in
|
2467 |
|
|
yes)
|
2468 |
|
|
bootstrap_suffix=bootstrap
|
2469 |
|
|
BUILD_CONFIG=bootstrap-debug
|
2470 |
|
|
;;
|
2471 |
|
|
no)
|
2472 |
|
|
bootstrap_suffix=no-bootstrap
|
2473 |
|
|
BUILD_CONFIG=
|
2474 |
|
|
;;
|
2475 |
|
|
esac
|
2476 |
|
|
|
2477 |
|
|
AC_MSG_CHECKING(for default BUILD_CONFIG)
|
2478 |
|
|
|
2479 |
|
|
AC_ARG_WITH([build-config],
|
2480 |
|
|
[AS_HELP_STRING([--with-build-config='NAME NAME2...'],
|
2481 |
|
|
[use config/NAME.mk build configuration])],
|
2482 |
|
|
[case $with_build_config in
|
2483 |
|
|
yes) with_build_config= ;;
|
2484 |
|
|
no) with_build_config= BUILD_CONFIG= ;;
|
2485 |
|
|
esac])
|
2486 |
|
|
|
2487 |
|
|
if test "x${with_build_config}" != x; then
|
2488 |
|
|
BUILD_CONFIG=$with_build_config
|
2489 |
|
|
else
|
2490 |
|
|
case $BUILD_CONFIG in
|
2491 |
|
|
bootstrap-debug)
|
2492 |
|
|
if echo "int f (void) { return 0; }" > conftest.c &&
|
2493 |
|
|
${CC} -c conftest.c &&
|
2494 |
|
|
mv conftest.o conftest.o.g0 &&
|
2495 |
|
|
${CC} -c -g conftest.c &&
|
2496 |
|
|
mv conftest.o conftest.o.g &&
|
2497 |
|
|
${srcdir}/contrib/compare-debug conftest.o.g0 conftest.o.g > /dev/null 2>&1; then
|
2498 |
|
|
:
|
2499 |
|
|
else
|
2500 |
|
|
BUILD_CONFIG=
|
2501 |
|
|
fi
|
2502 |
|
|
rm -f conftest.c conftest.o conftest.o.g0 conftest.o.g
|
2503 |
|
|
;;
|
2504 |
|
|
esac
|
2505 |
|
|
fi
|
2506 |
|
|
AC_MSG_RESULT($BUILD_CONFIG)
|
2507 |
|
|
AC_SUBST(BUILD_CONFIG)
|
2508 |
|
|
|
2509 |
|
|
extrasub_build=
|
2510 |
|
|
for module in ${build_configdirs} ; do
|
2511 |
|
|
if test -z "${no_recursion}" \
|
2512 |
|
|
&& test -f ${build_subdir}/${module}/Makefile; then
|
2513 |
|
|
echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
|
2514 |
|
|
rm -f ${build_subdir}/${module}/Makefile
|
2515 |
|
|
fi
|
2516 |
|
|
extrasub_build="$extrasub_build
|
2517 |
|
|
/^@if build-$module\$/d
|
2518 |
|
|
/^@endif build-$module\$/d
|
2519 |
|
|
/^@if build-$module-$bootstrap_suffix\$/d
|
2520 |
|
|
/^@endif build-$module-$bootstrap_suffix\$/d"
|
2521 |
|
|
done
|
2522 |
|
|
extrasub_host=
|
2523 |
|
|
for module in ${configdirs} ; do
|
2524 |
|
|
if test -z "${no_recursion}"; then
|
2525 |
|
|
for file in stage*-${module}/Makefile prev-${module}/Makefile ${module}/Makefile; do
|
2526 |
|
|
if test -f ${file}; then
|
2527 |
|
|
echo 1>&2 "*** removing ${file} to force reconfigure"
|
2528 |
|
|
rm -f ${file}
|
2529 |
|
|
fi
|
2530 |
|
|
done
|
2531 |
|
|
fi
|
2532 |
|
|
extrasub_host="$extrasub_host
|
2533 |
|
|
/^@if $module\$/d
|
2534 |
|
|
/^@endif $module\$/d
|
2535 |
|
|
/^@if $module-$bootstrap_suffix\$/d
|
2536 |
|
|
/^@endif $module-$bootstrap_suffix\$/d"
|
2537 |
|
|
done
|
2538 |
|
|
extrasub_target=
|
2539 |
|
|
for module in ${target_configdirs} ; do
|
2540 |
|
|
if test -z "${no_recursion}" \
|
2541 |
|
|
&& test -f ${target_subdir}/${module}/Makefile; then
|
2542 |
|
|
echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
|
2543 |
|
|
rm -f ${target_subdir}/${module}/Makefile
|
2544 |
|
|
fi
|
2545 |
|
|
|
2546 |
|
|
# We only bootstrap target libraries listed in bootstrap_target_libs.
|
2547 |
|
|
case $bootstrap_target_libs in
|
2548 |
|
|
*,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;;
|
2549 |
|
|
*) target_bootstrap_suffix=no-bootstrap ;;
|
2550 |
|
|
esac
|
2551 |
|
|
|
2552 |
|
|
extrasub_target="$extrasub_target
|
2553 |
|
|
/^@if target-$module\$/d
|
2554 |
|
|
/^@endif target-$module\$/d
|
2555 |
|
|
/^@if target-$module-$target_bootstrap_suffix\$/d
|
2556 |
|
|
/^@endif target-$module-$target_bootstrap_suffix\$/d"
|
2557 |
|
|
done
|
2558 |
|
|
|
2559 |
|
|
# Do the final fixup along with target modules.
|
2560 |
|
|
extrasub_target="$extrasub_target
|
2561 |
|
|
/^@if /,/^@endif /d"
|
2562 |
|
|
|
2563 |
|
|
# Create the serialization dependencies. This uses a temporary file.
|
2564 |
|
|
|
2565 |
|
|
AC_ARG_ENABLE([serial-configure],
|
2566 |
|
|
[AS_HELP_STRING([[--enable-serial-[{host,target,build}-]configure]],
|
2567 |
|
|
[force sequential configuration of
|
2568 |
|
|
sub-packages for the host, target or build
|
2569 |
|
|
machine, or all sub-packages])])
|
2570 |
|
|
|
2571 |
|
|
case ${enable_serial_configure} in
|
2572 |
|
|
yes)
|
2573 |
|
|
enable_serial_build_configure=yes
|
2574 |
|
|
enable_serial_host_configure=yes
|
2575 |
|
|
enable_serial_target_configure=yes
|
2576 |
|
|
;;
|
2577 |
|
|
esac
|
2578 |
|
|
|
2579 |
|
|
# These force 'configure's to be done one at a time, to avoid problems
|
2580 |
|
|
# with contention over a shared config.cache.
|
2581 |
|
|
rm -f serdep.tmp
|
2582 |
|
|
echo '# serdep.tmp' > serdep.tmp
|
2583 |
|
|
olditem=
|
2584 |
|
|
test "x${enable_serial_build_configure}" = xyes &&
|
2585 |
|
|
for item in ${build_configdirs} ; do
|
2586 |
|
|
case ${olditem} in
|
2587 |
|
|
"") ;;
|
2588 |
|
|
*) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
|
2589 |
|
|
esac
|
2590 |
|
|
olditem=${item}
|
2591 |
|
|
done
|
2592 |
|
|
olditem=
|
2593 |
|
|
test "x${enable_serial_host_configure}" = xyes &&
|
2594 |
|
|
for item in ${configdirs} ; do
|
2595 |
|
|
case ${olditem} in
|
2596 |
|
|
"") ;;
|
2597 |
|
|
*) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
|
2598 |
|
|
esac
|
2599 |
|
|
olditem=${item}
|
2600 |
|
|
done
|
2601 |
|
|
olditem=
|
2602 |
|
|
test "x${enable_serial_target_configure}" = xyes &&
|
2603 |
|
|
for item in ${target_configdirs} ; do
|
2604 |
|
|
case ${olditem} in
|
2605 |
|
|
"") ;;
|
2606 |
|
|
*) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
|
2607 |
|
|
esac
|
2608 |
|
|
olditem=${item}
|
2609 |
|
|
done
|
2610 |
|
|
serialization_dependencies=serdep.tmp
|
2611 |
|
|
AC_SUBST_FILE(serialization_dependencies)
|
2612 |
|
|
|
2613 |
|
|
# Base args. Strip norecursion, cache-file, srcdir, host, build,
|
2614 |
|
|
# target, nonopt, and variable assignments. These are the ones we
|
2615 |
|
|
# might not want to pass down to subconfigures. The exception being
|
2616 |
|
|
# --cache-file=/dev/null, which is used to turn off the use of cache
|
2617 |
|
|
# files altogether, and which should be passed on to subconfigures.
|
2618 |
|
|
# Also strip program-prefix, program-suffix, and program-transform-name,
|
2619 |
|
|
# so that we can pass down a consistent program-transform-name.
|
2620 |
|
|
baseargs=
|
2621 |
|
|
tbaseargs=
|
2622 |
|
|
keep_next=no
|
2623 |
|
|
skip_next=no
|
2624 |
|
|
eval "set -- $ac_configure_args"
|
2625 |
|
|
for ac_arg
|
2626 |
|
|
do
|
2627 |
|
|
if test X"$skip_next" = X"yes"; then
|
2628 |
|
|
skip_next=no
|
2629 |
|
|
continue
|
2630 |
|
|
fi
|
2631 |
|
|
if test X"$keep_next" = X"yes"; then
|
2632 |
|
|
case $ac_arg in
|
2633 |
|
|
*\'*)
|
2634 |
|
|
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
|
2635 |
|
|
esac
|
2636 |
|
|
baseargs="$baseargs '$ac_arg'"
|
2637 |
|
|
tbaseargs="$tbaseargs '$ac_arg'"
|
2638 |
|
|
keep_next=no
|
2639 |
|
|
continue
|
2640 |
|
|
fi
|
2641 |
|
|
|
2642 |
|
|
# Handle separated arguments. Based on the logic generated by
|
2643 |
|
|
# autoconf 2.59.
|
2644 |
|
|
case $ac_arg in
|
2645 |
|
|
*=* | --config-cache | -C | -disable-* | --disable-* \
|
2646 |
|
|
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
|
2647 |
|
|
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
|
2648 |
|
|
| -with-* | --with-* | -without-* | --without-* | --x)
|
2649 |
|
|
separate_arg=no
|
2650 |
|
|
;;
|
2651 |
|
|
-*)
|
2652 |
|
|
separate_arg=yes
|
2653 |
|
|
;;
|
2654 |
|
|
*)
|
2655 |
|
|
separate_arg=no
|
2656 |
|
|
;;
|
2657 |
|
|
esac
|
2658 |
|
|
|
2659 |
|
|
skip_targ=no
|
2660 |
|
|
case $ac_arg in
|
2661 |
|
|
changequote(,)
|
2662 |
|
|
--with-* | --without-*)
|
2663 |
|
|
libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
|
2664 |
|
|
|
2665 |
|
|
case $libopt in
|
2666 |
|
|
*[-_]include)
|
2667 |
|
|
lib=`echo "$libopt" | sed 's,[-_]include$,,'`
|
2668 |
|
|
;;
|
2669 |
|
|
*[-_]lib)
|
2670 |
|
|
lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
|
2671 |
|
|
;;
|
2672 |
|
|
*)
|
2673 |
|
|
lib=$libopt
|
2674 |
|
|
;;
|
2675 |
|
|
esac
|
2676 |
|
|
changequote([,])
|
2677 |
|
|
|
2678 |
|
|
case $lib in
|
2679 |
|
|
mpc | mpfr | gmp | ppl | cloog)
|
2680 |
|
|
# If we're processing --with-$lib, --with-$lib-include or
|
2681 |
|
|
# --with-$lib-lib, for one of the libs above, and target is
|
2682 |
|
|
# different from host, don't pass the current argument to any
|
2683 |
|
|
# target library's configure.
|
2684 |
|
|
if test x$is_cross_compiler = xyes; then
|
2685 |
|
|
skip_targ=yes
|
2686 |
|
|
fi
|
2687 |
|
|
;;
|
2688 |
|
|
esac
|
2689 |
|
|
;;
|
2690 |
|
|
esac
|
2691 |
|
|
|
2692 |
|
|
case "$ac_arg" in
|
2693 |
|
|
--cache-file=/dev/null | \
|
2694 |
|
|
-cache-file=/dev/null )
|
2695 |
|
|
# Handled here to avoid the test to skip args below.
|
2696 |
|
|
baseargs="$baseargs '$ac_arg'"
|
2697 |
|
|
tbaseargs="$tbaseargs '$ac_arg'"
|
2698 |
|
|
# Assert: $separate_arg should always be no.
|
2699 |
|
|
keep_next=$separate_arg
|
2700 |
|
|
;;
|
2701 |
|
|
--no*)
|
2702 |
|
|
continue
|
2703 |
|
|
;;
|
2704 |
|
|
--c* | \
|
2705 |
|
|
--sr* | \
|
2706 |
|
|
--ho* | \
|
2707 |
|
|
--bu* | \
|
2708 |
|
|
--t* | \
|
2709 |
|
|
--program-* | \
|
2710 |
|
|
-cache_file* | \
|
2711 |
|
|
-srcdir* | \
|
2712 |
|
|
-host* | \
|
2713 |
|
|
-build* | \
|
2714 |
|
|
-target* | \
|
2715 |
|
|
-program-prefix* | \
|
2716 |
|
|
-program-suffix* | \
|
2717 |
|
|
-program-transform-name* )
|
2718 |
|
|
skip_next=$separate_arg
|
2719 |
|
|
continue
|
2720 |
|
|
;;
|
2721 |
|
|
-*)
|
2722 |
|
|
# An option. Add it.
|
2723 |
|
|
case $ac_arg in
|
2724 |
|
|
*\'*)
|
2725 |
|
|
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
|
2726 |
|
|
esac
|
2727 |
|
|
baseargs="$baseargs '$ac_arg'"
|
2728 |
|
|
if test X"$skip_targ" = Xno; then
|
2729 |
|
|
tbaseargs="$tbaseargs '$ac_arg'"
|
2730 |
|
|
fi
|
2731 |
|
|
keep_next=$separate_arg
|
2732 |
|
|
;;
|
2733 |
|
|
*)
|
2734 |
|
|
# Either a variable assignment, or a nonopt (triplet). Don't
|
2735 |
|
|
# pass it down; let the Makefile handle this.
|
2736 |
|
|
continue
|
2737 |
|
|
;;
|
2738 |
|
|
esac
|
2739 |
|
|
done
|
2740 |
|
|
# Remove the initial space we just introduced and, as these will be
|
2741 |
|
|
# expanded by make, quote '$'.
|
2742 |
|
|
baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
|
2743 |
|
|
|
2744 |
|
|
# Add in --program-transform-name, after --program-prefix and
|
2745 |
|
|
# --program-suffix have been applied to it. Autoconf has already
|
2746 |
|
|
# doubled dollar signs and backslashes in program_transform_name; we want
|
2747 |
|
|
# the backslashes un-doubled, and then the entire thing wrapped in single
|
2748 |
|
|
# quotes, because this will be expanded first by make and then by the shell.
|
2749 |
|
|
# Also, because we want to override the logic in subdir configure scripts to
|
2750 |
|
|
# choose program_transform_name, replace any s,x,x, with s,y,y,.
|
2751 |
|
|
sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" < conftestsed.out
|
2752 |
|
|
${program_transform_name}
|
2753 |
|
|
EOF_SED
|
2754 |
|
|
gcc_transform_name=`cat conftestsed.out`
|
2755 |
|
|
rm -f conftestsed.out
|
2756 |
|
|
baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
|
2757 |
|
|
tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
|
2758 |
|
|
if test "$silent" = yes; then
|
2759 |
|
|
baseargs="$baseargs --silent"
|
2760 |
|
|
tbaseargs="$tbaseargs --silent"
|
2761 |
|
|
fi
|
2762 |
|
|
baseargs="$baseargs --disable-option-checking"
|
2763 |
|
|
tbaseargs="$tbaseargs --disable-option-checking"
|
2764 |
|
|
|
2765 |
|
|
# Record and document user additions to sub configure arguments.
|
2766 |
|
|
AC_ARG_VAR([build_configargs],
|
2767 |
|
|
[additional configure arguments for build directories])
|
2768 |
|
|
AC_ARG_VAR([host_configargs],
|
2769 |
|
|
[additional configure arguments for host directories])
|
2770 |
|
|
AC_ARG_VAR([target_configargs],
|
2771 |
|
|
[additional configure arguments for target directories])
|
2772 |
|
|
|
2773 |
|
|
# For the build-side libraries, we just need to pretend we're native,
|
2774 |
|
|
# and not use the same cache file. Multilibs are neither needed nor
|
2775 |
|
|
# desired.
|
2776 |
|
|
build_configargs="$build_configargs --cache-file=../config.cache ${baseargs}"
|
2777 |
|
|
|
2778 |
|
|
# For host modules, accept cache file option, or specification as blank.
|
2779 |
|
|
case "${cache_file}" in
|
2780 |
|
|
"") # empty
|
2781 |
|
|
cache_file_option="" ;;
|
2782 |
|
|
/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
|
2783 |
|
|
cache_file_option="--cache-file=${cache_file}" ;;
|
2784 |
|
|
*) # relative path
|
2785 |
|
|
cache_file_option="--cache-file=../${cache_file}" ;;
|
2786 |
|
|
esac
|
2787 |
|
|
|
2788 |
|
|
# Host dirs don't like to share a cache file either, horribly enough.
|
2789 |
|
|
# This seems to be due to autoconf 2.5x stupidity.
|
2790 |
|
|
host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
|
2791 |
|
|
|
2792 |
|
|
target_configargs="$target_configargs ${tbaseargs}"
|
2793 |
|
|
|
2794 |
|
|
# Passing a --with-cross-host argument lets the target libraries know
|
2795 |
|
|
# whether they are being built with a cross-compiler or being built
|
2796 |
|
|
# native. However, it would be better to use other mechanisms to make the
|
2797 |
|
|
# sorts of decisions they want to make on this basis. Please consider
|
2798 |
|
|
# this option to be deprecated. FIXME.
|
2799 |
|
|
if test x${is_cross_compiler} = xyes ; then
|
2800 |
|
|
target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}"
|
2801 |
|
|
fi
|
2802 |
|
|
|
2803 |
|
|
# Default to --enable-multilib.
|
2804 |
|
|
if test x${enable_multilib} = x ; then
|
2805 |
|
|
target_configargs="--enable-multilib ${target_configargs}"
|
2806 |
|
|
fi
|
2807 |
|
|
|
2808 |
|
|
# Pass --with-newlib if appropriate. Note that target_configdirs has
|
2809 |
|
|
# changed from the earlier setting of with_newlib.
|
2810 |
|
|
if test x${with_newlib} != xno && echo " ${target_configdirs} " | grep " newlib " > /dev/null 2>&1 && test -d ${srcdir}/newlib ; then
|
2811 |
|
|
target_configargs="--with-newlib ${target_configargs}"
|
2812 |
|
|
fi
|
2813 |
|
|
|
2814 |
|
|
# Different target subdirs use different values of certain variables
|
2815 |
|
|
# (notably CXX). Worse, multilibs use *lots* of different values.
|
2816 |
|
|
# Worse yet, autoconf 2.5x makes some of these 'precious', meaning that
|
2817 |
|
|
# it doesn't automatically accept command-line overrides of them.
|
2818 |
|
|
# This means it's not safe for target subdirs to share a cache file,
|
2819 |
|
|
# which is disgusting, but there you have it. Hopefully this can be
|
2820 |
|
|
# fixed in future. It's still worthwhile to use a cache file for each
|
2821 |
|
|
# directory. I think.
|
2822 |
|
|
|
2823 |
|
|
# Pass the appropriate --build, --host, --target and --cache-file arguments.
|
2824 |
|
|
# We need to pass --target, as newer autoconf's requires consistency
|
2825 |
|
|
# for target_alias and gcc doesn't manage it consistently.
|
2826 |
|
|
target_configargs="--cache-file=./config.cache ${target_configargs}"
|
2827 |
|
|
|
2828 |
|
|
FLAGS_FOR_TARGET=
|
2829 |
|
|
case " $target_configdirs " in
|
2830 |
|
|
*" newlib "*)
|
2831 |
|
|
case " $target_configargs " in
|
2832 |
|
|
*" --with-newlib "*)
|
2833 |
|
|
case "$target" in
|
2834 |
|
|
*-cygwin*)
|
2835 |
|
|
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'
|
2836 |
|
|
;;
|
2837 |
|
|
esac
|
2838 |
|
|
|
2839 |
|
|
# If we're not building GCC, don't discard standard headers.
|
2840 |
|
|
if test -d ${srcdir}/gcc; then
|
2841 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -nostdinc'
|
2842 |
|
|
|
2843 |
|
|
if test "${build}" != "${host}"; then
|
2844 |
|
|
# On Canadian crosses, CC_FOR_TARGET will have already been set
|
2845 |
|
|
# by `configure', so we won't have an opportunity to add -Bgcc/
|
2846 |
|
|
# to it. This is right: we don't want to search that directory
|
2847 |
|
|
# for binaries, but we want the header files in there, so add
|
2848 |
|
|
# them explicitly.
|
2849 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include -isystem $$r/$(HOST_SUBDIR)/gcc/include-fixed'
|
2850 |
|
|
|
2851 |
|
|
# Someone might think of using the pre-installed headers on
|
2852 |
|
|
# Canadian crosses, in case the installed compiler is not fully
|
2853 |
|
|
# compatible with the compiler being built. In this case, it
|
2854 |
|
|
# would be better to flag an error than risking having
|
2855 |
|
|
# incompatible object files being constructed. We can't
|
2856 |
|
|
# guarantee that an error will be flagged, but let's hope the
|
2857 |
|
|
# compiler will do it, when presented with incompatible header
|
2858 |
|
|
# files.
|
2859 |
|
|
fi
|
2860 |
|
|
fi
|
2861 |
|
|
|
2862 |
|
|
case "${target}-${is_cross_compiler}" in
|
2863 |
|
|
i[[3456789]]86-*-linux*-no)
|
2864 |
|
|
# Here host == target, so we don't need to build gcc,
|
2865 |
|
|
# so we don't want to discard standard headers.
|
2866 |
|
|
FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'`
|
2867 |
|
|
;;
|
2868 |
|
|
*)
|
2869 |
|
|
# If we're building newlib, use its generic headers last, but search
|
2870 |
|
|
# for any libc-related directories first (so make it the last -B
|
2871 |
|
|
# switch).
|
2872 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/newlib/ -isystem $$r/$(TARGET_SUBDIR)/newlib/targ-include -isystem $$s/newlib/libc/include'
|
2873 |
|
|
|
2874 |
|
|
# If we're building libgloss, find the startup file, simulator library
|
2875 |
|
|
# and linker script.
|
2876 |
|
|
case " $target_configdirs " in
|
2877 |
|
|
*" libgloss "*)
|
2878 |
|
|
# Look for startup file, simulator library and maybe linker script.
|
2879 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$$r/$(TARGET_SUBDIR)/libgloss/'"$libgloss_dir"
|
2880 |
|
|
# Look for libnosys.a in case the target needs it.
|
2881 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/libgloss/libnosys'
|
2882 |
|
|
# Most targets have the linker script in the source directory.
|
2883 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$s/libgloss/'"$libgloss_dir"
|
2884 |
|
|
;;
|
2885 |
|
|
esac
|
2886 |
|
|
;;
|
2887 |
|
|
esac
|
2888 |
|
|
;;
|
2889 |
|
|
esac
|
2890 |
|
|
;;
|
2891 |
|
|
esac
|
2892 |
|
|
|
2893 |
|
|
case "$target" in
|
2894 |
|
|
x86_64-*mingw* | *-w64-mingw*)
|
2895 |
|
|
# MinGW-w64 does not use newlib, nor does it use winsup. It may,
|
2896 |
|
|
# however, use a symlink named 'mingw' in ${prefix} .
|
2897 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L${prefix}/${target}/lib -L${prefix}/mingw/lib -isystem ${prefix}/${target}/include -isystem ${prefix}/mingw/include'
|
2898 |
|
|
;;
|
2899 |
|
|
*-mingw*)
|
2900 |
|
|
# MinGW can't be handled as Cygwin above since it does not use newlib.
|
2901 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup/mingw -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/mingw/include -isystem $$s/winsup/w32api/include'
|
2902 |
|
|
;;
|
2903 |
|
|
esac
|
2904 |
|
|
|
2905 |
|
|
# Allow the user to override the flags for
|
2906 |
|
|
# our build compiler if desired.
|
2907 |
|
|
if test x"${build}" = x"${host}" ; then
|
2908 |
|
|
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
|
2909 |
|
|
CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
|
2910 |
|
|
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
|
2911 |
|
|
fi
|
2912 |
|
|
|
2913 |
|
|
# On Canadian crosses, we'll be searching the right directories for
|
2914 |
|
|
# the previously-installed cross compiler, so don't bother to add
|
2915 |
|
|
# flags for directories within the install tree of the compiler
|
2916 |
|
|
# being built; programs in there won't even run.
|
2917 |
|
|
if test "${build}" = "${host}" && test -d ${srcdir}/gcc; then
|
2918 |
|
|
# Search for pre-installed headers if nothing else fits.
|
2919 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -B$(build_tooldir)/bin/ -B$(build_tooldir)/lib/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include'
|
2920 |
|
|
fi
|
2921 |
|
|
|
2922 |
|
|
if test "x${use_gnu_ld}" = x &&
|
2923 |
|
|
echo " ${configdirs} " | grep " ld " > /dev/null ; then
|
2924 |
|
|
# Arrange for us to find uninstalled linker scripts.
|
2925 |
|
|
FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
|
2926 |
|
|
fi
|
2927 |
|
|
|
2928 |
|
|
# Search for other target-specific linker scripts and such.
|
2929 |
|
|
case "${target}" in
|
2930 |
|
|
mep*)
|
2931 |
|
|
FLAGS_FOR_TARGET="$FLAGS_FOR_TARGET -mlibrary"
|
2932 |
|
|
;;
|
2933 |
|
|
esac
|
2934 |
|
|
|
2935 |
|
|
# Makefile fragments.
|
2936 |
|
|
for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
|
2937 |
|
|
do
|
2938 |
|
|
eval fragval=\$$frag
|
2939 |
|
|
if test $fragval != /dev/null; then
|
2940 |
|
|
eval $frag=${srcdir}/$fragval
|
2941 |
|
|
fi
|
2942 |
|
|
done
|
2943 |
|
|
AC_SUBST_FILE(host_makefile_frag)
|
2944 |
|
|
AC_SUBST_FILE(target_makefile_frag)
|
2945 |
|
|
AC_SUBST_FILE(alphaieee_frag)
|
2946 |
|
|
AC_SUBST_FILE(ospace_frag)
|
2947 |
|
|
|
2948 |
|
|
# Miscellanea: directories, flags, etc.
|
2949 |
|
|
AC_SUBST(RPATH_ENVVAR)
|
2950 |
|
|
AC_SUBST(GCC_SHLIB_SUBDIR)
|
2951 |
|
|
AC_SUBST(tooldir)
|
2952 |
|
|
AC_SUBST(build_tooldir)
|
2953 |
|
|
AC_SUBST(CONFIGURE_GDB_TK)
|
2954 |
|
|
AC_SUBST(GDB_TK)
|
2955 |
|
|
AC_SUBST(INSTALL_GDB_TK)
|
2956 |
|
|
|
2957 |
|
|
# Build module lists & subconfigure args.
|
2958 |
|
|
AC_SUBST(build_configargs)
|
2959 |
|
|
AC_SUBST(build_configdirs)
|
2960 |
|
|
|
2961 |
|
|
# Host module lists & subconfigure args.
|
2962 |
|
|
AC_SUBST(host_configargs)
|
2963 |
|
|
AC_SUBST(configdirs)
|
2964 |
|
|
AC_SUBST(target_configdirs)
|
2965 |
|
|
|
2966 |
|
|
# Target module lists & subconfigure args.
|
2967 |
|
|
AC_SUBST(target_configargs)
|
2968 |
|
|
|
2969 |
|
|
|
2970 |
|
|
# Build tools.
|
2971 |
|
|
AC_SUBST(AR_FOR_BUILD)
|
2972 |
|
|
AC_SUBST(AS_FOR_BUILD)
|
2973 |
|
|
AC_SUBST(CC_FOR_BUILD)
|
2974 |
|
|
AC_SUBST(CFLAGS_FOR_BUILD)
|
2975 |
|
|
AC_SUBST(CXXFLAGS_FOR_BUILD)
|
2976 |
|
|
AC_SUBST(CXX_FOR_BUILD)
|
2977 |
|
|
AC_SUBST(DLLTOOL_FOR_BUILD)
|
2978 |
|
|
AC_SUBST(GCJ_FOR_BUILD)
|
2979 |
|
|
AC_SUBST(GFORTRAN_FOR_BUILD)
|
2980 |
|
|
AC_SUBST(GOC_FOR_BUILD)
|
2981 |
|
|
AC_SUBST(LDFLAGS_FOR_BUILD)
|
2982 |
|
|
AC_SUBST(LD_FOR_BUILD)
|
2983 |
|
|
AC_SUBST(NM_FOR_BUILD)
|
2984 |
|
|
AC_SUBST(RANLIB_FOR_BUILD)
|
2985 |
|
|
AC_SUBST(WINDMC_FOR_BUILD)
|
2986 |
|
|
AC_SUBST(WINDRES_FOR_BUILD)
|
2987 |
|
|
|
2988 |
|
|
# Generate default definitions for YACC, M4, LEX and other programs that run
|
2989 |
|
|
# on the build machine. These are used if the Makefile can't locate these
|
2990 |
|
|
# programs in objdir.
|
2991 |
|
|
MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
|
2992 |
|
|
|
2993 |
|
|
AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
|
2994 |
|
|
case " $build_configdirs " in
|
2995 |
|
|
*" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
|
2996 |
|
|
esac
|
2997 |
|
|
|
2998 |
|
|
AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
|
2999 |
|
|
case " $build_configdirs " in
|
3000 |
|
|
*" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
|
3001 |
|
|
esac
|
3002 |
|
|
|
3003 |
|
|
AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
|
3004 |
|
|
case " $build_configdirs " in
|
3005 |
|
|
*" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
|
3006 |
|
|
esac
|
3007 |
|
|
|
3008 |
|
|
AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
|
3009 |
|
|
case " $build_configdirs " in
|
3010 |
|
|
*" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
|
3011 |
|
|
*" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
|
3012 |
|
|
esac
|
3013 |
|
|
|
3014 |
|
|
AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
|
3015 |
|
|
case " $build_configdirs " in
|
3016 |
|
|
*" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
|
3017 |
|
|
esac
|
3018 |
|
|
|
3019 |
|
|
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
|
3020 |
|
|
case " $build_configdirs " in
|
3021 |
|
|
*" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
|
3022 |
|
|
*)
|
3023 |
|
|
changequote(,)
|
3024 |
|
|
# For an installed makeinfo, we require it to be from texinfo 4.7 or
|
3025 |
|
|
# higher, else we use the "missing" dummy.
|
3026 |
|
|
if ${MAKEINFO} --version \
|
3027 |
|
|
| egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
|
3028 |
|
|
:
|
3029 |
|
|
else
|
3030 |
|
|
MAKEINFO="$MISSING makeinfo"
|
3031 |
|
|
fi
|
3032 |
|
|
;;
|
3033 |
|
|
changequote([,])
|
3034 |
|
|
esac
|
3035 |
|
|
|
3036 |
|
|
# FIXME: expect and dejagnu may become build tools?
|
3037 |
|
|
|
3038 |
|
|
AC_CHECK_PROGS(EXPECT, expect, expect)
|
3039 |
|
|
case " $configdirs " in
|
3040 |
|
|
*" expect "*)
|
3041 |
|
|
test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
|
3042 |
|
|
;;
|
3043 |
|
|
esac
|
3044 |
|
|
|
3045 |
|
|
AC_CHECK_PROGS(RUNTEST, runtest, runtest)
|
3046 |
|
|
case " $configdirs " in
|
3047 |
|
|
*" dejagnu "*)
|
3048 |
|
|
test $host = $build && RUNTEST='$$s/$(HOST_SUBDIR)/dejagnu/runtest'
|
3049 |
|
|
;;
|
3050 |
|
|
esac
|
3051 |
|
|
|
3052 |
|
|
|
3053 |
|
|
# Host tools.
|
3054 |
|
|
NCN_STRICT_CHECK_TOOLS(AR, ar)
|
3055 |
|
|
NCN_STRICT_CHECK_TOOLS(AS, as)
|
3056 |
|
|
NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
|
3057 |
|
|
NCN_STRICT_CHECK_TOOLS(LD, ld)
|
3058 |
|
|
NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
|
3059 |
|
|
NCN_STRICT_CHECK_TOOLS(NM, nm)
|
3060 |
|
|
NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, true)
|
3061 |
|
|
NCN_STRICT_CHECK_TOOLS(STRIP, strip, true)
|
3062 |
|
|
NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
|
3063 |
|
|
NCN_STRICT_CHECK_TOOLS(WINDMC, windmc)
|
3064 |
|
|
NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
|
3065 |
|
|
NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
|
3066 |
|
|
NCN_STRICT_CHECK_TOOLS(READELF, readelf)
|
3067 |
|
|
AC_SUBST(CC)
|
3068 |
|
|
AC_SUBST(CXX)
|
3069 |
|
|
AC_SUBST(CFLAGS)
|
3070 |
|
|
AC_SUBST(CXXFLAGS)
|
3071 |
|
|
|
3072 |
|
|
# Target tools.
|
3073 |
|
|
AC_ARG_WITH([build-time-tools],
|
3074 |
|
|
[AS_HELP_STRING([--with-build-time-tools=PATH],
|
3075 |
|
|
[use given path to find target tools during the build])],
|
3076 |
|
|
[case x"$withval" in
|
3077 |
|
|
x/*) ;;
|
3078 |
|
|
*)
|
3079 |
|
|
with_build_time_tools=
|
3080 |
|
|
AC_MSG_WARN([argument to --with-build-time-tools must be an absolute path])
|
3081 |
|
|
;;
|
3082 |
|
|
esac],
|
3083 |
|
|
[with_build_time_tools=])
|
3084 |
|
|
|
3085 |
|
|
NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
|
3086 |
|
|
NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
|
3087 |
|
|
NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
|
3088 |
|
|
NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
|
3089 |
|
|
NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
|
3090 |
|
|
NCN_STRICT_CHECK_TARGET_TOOLS(GOC_FOR_TARGET, gccgo)
|
3091 |
|
|
|
3092 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(AR_FOR_TARGET, ar)
|
3093 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(AS_FOR_TARGET, as)
|
3094 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(DLLTOOL_FOR_TARGET, dlltool)
|
3095 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(LD_FOR_TARGET, ld)
|
3096 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(LIPO_FOR_TARGET, lipo)
|
3097 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(NM_FOR_TARGET, nm)
|
3098 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(OBJDUMP_FOR_TARGET, objdump)
|
3099 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(RANLIB_FOR_TARGET, ranlib)
|
3100 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(READELF_FOR_TARGET, readelf)
|
3101 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(STRIP_FOR_TARGET, strip)
|
3102 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDRES_FOR_TARGET, windres)
|
3103 |
|
|
ACX_CHECK_INSTALLED_TARGET_TOOL(WINDMC_FOR_TARGET, windmc)
|
3104 |
|
|
|
3105 |
|
|
RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
|
3106 |
|
|
|
3107 |
|
|
GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
|
3108 |
|
|
GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
|
3109 |
|
|
GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
|
3110 |
|
|
dnl see comments for CXX_FOR_TARGET_FLAG_TO_PASS
|
3111 |
|
|
GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
|
3112 |
|
|
[gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `if test -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags; then $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes; else echo -funconfigured-libstdc++-v3 ; fi` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
|
3113 |
|
|
c++)
|
3114 |
|
|
GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
|
3115 |
|
|
[gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
|
3116 |
|
|
c++)
|
3117 |
|
|
GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
|
3118 |
|
|
GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
|
3119 |
|
|
GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
|
3120 |
|
|
[gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
|
3121 |
|
|
GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
|
3122 |
|
|
[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
|
3123 |
|
|
GCC_TARGET_TOOL(gccgo, GOC_FOR_TARGET, GOC,
|
3124 |
|
|
[gcc/gccgo -B$$r/$(HOST_SUBDIR)/gcc/], go)
|
3125 |
|
|
GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
|
3126 |
|
|
GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
|
3127 |
|
|
GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
|
3128 |
|
|
GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
|
3129 |
|
|
GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
|
3130 |
|
|
GCC_TARGET_TOOL(readelf, READELF_FOR_TARGET, READELF, [binutils/readelf])
|
3131 |
|
|
GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip-new])
|
3132 |
|
|
GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
|
3133 |
|
|
GCC_TARGET_TOOL(windmc, WINDMC_FOR_TARGET, WINDMC, [binutils/windmc])
|
3134 |
|
|
|
3135 |
|
|
AC_SUBST(FLAGS_FOR_TARGET)
|
3136 |
|
|
AC_SUBST(RAW_CXX_FOR_TARGET)
|
3137 |
|
|
|
3138 |
|
|
# Certain tools may need extra flags.
|
3139 |
|
|
AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
|
3140 |
|
|
RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
|
3141 |
|
|
NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
|
3142 |
|
|
|
3143 |
|
|
# When building target libraries, except in a Canadian cross, we use
|
3144 |
|
|
# the same toolchain as the compiler we just built.
|
3145 |
|
|
COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
|
3146 |
|
|
COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
|
3147 |
|
|
COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
|
3148 |
|
|
if test $host = $build; then
|
3149 |
|
|
case " $configdirs " in
|
3150 |
|
|
*" gcc "*)
|
3151 |
|
|
COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
|
3152 |
|
|
COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
|
3153 |
|
|
COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
|
3154 |
|
|
;;
|
3155 |
|
|
esac
|
3156 |
|
|
fi
|
3157 |
|
|
|
3158 |
|
|
AC_SUBST(COMPILER_AS_FOR_TARGET)
|
3159 |
|
|
AC_SUBST(COMPILER_LD_FOR_TARGET)
|
3160 |
|
|
AC_SUBST(COMPILER_NM_FOR_TARGET)
|
3161 |
|
|
|
3162 |
|
|
AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
3163 |
|
|
AC_ARG_ENABLE(maintainer-mode,
|
3164 |
|
|
[AS_HELP_STRING([--enable-maintainer-mode],
|
3165 |
|
|
[enable make rules and dependencies not useful
|
3166 |
|
|
(and sometimes confusing) to the casual installer])],
|
3167 |
|
|
USE_MAINTAINER_MODE=$enableval,
|
3168 |
|
|
USE_MAINTAINER_MODE=no)
|
3169 |
|
|
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
3170 |
|
|
AC_SUBST(MAINTAINER_MODE_TRUE)
|
3171 |
|
|
AC_SUBST(MAINTAINER_MODE_FALSE)
|
3172 |
|
|
if test "$USE_MAINTAINER_MODE" = yes; then
|
3173 |
|
|
MAINTAINER_MODE_TRUE=
|
3174 |
|
|
MAINTAINER_MODE_FALSE='#'
|
3175 |
|
|
else
|
3176 |
|
|
MAINTAINER_MODE_TRUE='#'
|
3177 |
|
|
MAINTAINER_MODE_FALSE=
|
3178 |
|
|
fi
|
3179 |
|
|
MAINT=$MAINTAINER_MODE_TRUE
|
3180 |
|
|
AC_SUBST(MAINT)dnl
|
3181 |
|
|
|
3182 |
|
|
# ---------------------
|
3183 |
|
|
# GCC bootstrap support
|
3184 |
|
|
# ---------------------
|
3185 |
|
|
|
3186 |
|
|
# Stage specific cflags for build.
|
3187 |
|
|
stage1_cflags="-g"
|
3188 |
|
|
case $build in
|
3189 |
|
|
vax-*-*)
|
3190 |
|
|
case ${GCC} in
|
3191 |
|
|
yes) stage1_cflags="-g -Wa,-J" ;;
|
3192 |
|
|
*) stage1_cflags="-g -J" ;;
|
3193 |
|
|
esac ;;
|
3194 |
|
|
esac
|
3195 |
|
|
|
3196 |
|
|
# This is aimed to mimic bootstrap with a non-GCC compiler to catch problems.
|
3197 |
|
|
if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then
|
3198 |
|
|
saved_CFLAGS="$CFLAGS"
|
3199 |
|
|
|
3200 |
|
|
# Pass -fkeep-inline-functions for stage 1 if the GCC version supports it.
|
3201 |
|
|
CFLAGS="$CFLAGS -fkeep-inline-functions"
|
3202 |
|
|
AC_MSG_CHECKING([whether -fkeep-inline-functions is supported])
|
3203 |
|
|
AC_TRY_COMPILE([
|
3204 |
|
|
#if (__GNUC__ < 3) \
|
3205 |
|
|
|| (__GNUC__ == 3 && (__GNUC_MINOR__ < 3 \
|
3206 |
|
|
|| (__GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 1)))
|
3207 |
|
|
#error http://gcc.gnu.org/PR29382
|
3208 |
|
|
#endif
|
3209 |
|
|
],,
|
3210 |
|
|
[AC_MSG_RESULT([yes]); stage1_cflags="$stage1_cflags -fkeep-inline-functions"],
|
3211 |
|
|
[AC_MSG_RESULT([no])])
|
3212 |
|
|
|
3213 |
|
|
CFLAGS="$saved_CFLAGS"
|
3214 |
|
|
fi
|
3215 |
|
|
|
3216 |
|
|
AC_SUBST(stage1_cflags)
|
3217 |
|
|
|
3218 |
|
|
# Enable --enable-checking in stage1 of the compiler.
|
3219 |
|
|
AC_ARG_ENABLE(stage1-checking,
|
3220 |
|
|
[AS_HELP_STRING([[--enable-stage1-checking[=all]]],
|
3221 |
|
|
[choose additional checking for stage1 of the compiler])],
|
3222 |
|
|
[stage1_checking=--enable-checking=${enable_stage1_checking}],
|
3223 |
|
|
[if test "x$enable_checking" = xno || test "x$enable_checking" = x; then
|
3224 |
|
|
stage1_checking=--enable-checking=yes,types
|
3225 |
|
|
else
|
3226 |
|
|
stage1_checking=--enable-checking=$enable_checking,types
|
3227 |
|
|
fi])
|
3228 |
|
|
AC_SUBST(stage1_checking)
|
3229 |
|
|
|
3230 |
|
|
# Enable -Werror in bootstrap stage2 and later.
|
3231 |
|
|
AC_ARG_ENABLE(werror,
|
3232 |
|
|
[AS_HELP_STRING([--enable-werror],
|
3233 |
|
|
[enable -Werror in bootstrap stage2 and later])], [],
|
3234 |
|
|
[if test -d ${srcdir}/gcc && test x"`cat $srcdir/gcc/DEV-PHASE`" = xexperimental; then
|
3235 |
|
|
enable_werror=yes
|
3236 |
|
|
else
|
3237 |
|
|
enable_werror=no
|
3238 |
|
|
fi])
|
3239 |
|
|
case ${enable_werror} in
|
3240 |
|
|
yes) stage2_werror_flag="--enable-werror-always" ;;
|
3241 |
|
|
*) stage2_werror_flag="" ;;
|
3242 |
|
|
esac
|
3243 |
|
|
AC_SUBST(stage2_werror_flag)
|
3244 |
|
|
|
3245 |
|
|
# If using ENABLE_BUILD_POSTSTAGE1_WITH_CXX, pass
|
3246 |
|
|
# --enable-build-with-cxx after stage1.
|
3247 |
|
|
if test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then
|
3248 |
|
|
POSTSTAGE1_CONFIGURE_FLAGS=--enable-build-with-cxx
|
3249 |
|
|
else
|
3250 |
|
|
POSTSTAGE1_CONFIGURE_FLAGS=
|
3251 |
|
|
fi
|
3252 |
|
|
AC_SUBST(POSTSTAGE1_CONFIGURE_FLAGS)
|
3253 |
|
|
|
3254 |
|
|
# Specify what files to not compare during bootstrap.
|
3255 |
|
|
|
3256 |
|
|
compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*"
|
3257 |
|
|
case "$target" in
|
3258 |
|
|
hppa*64*-*-hpux*) ;;
|
3259 |
|
|
hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;;
|
3260 |
|
|
esac
|
3261 |
|
|
case " $configdirs " in
|
3262 |
|
|
*" ppl "*) compare_exclusions="$compare_exclusions | ppl/src/ppl-config.o" ;;
|
3263 |
|
|
esac
|
3264 |
|
|
AC_SUBST(compare_exclusions)
|
3265 |
|
|
|
3266 |
|
|
AC_CONFIG_FILES([Makefile],
|
3267 |
|
|
[sed "$extrasub_build" Makefile |
|
3268 |
|
|
sed "$extrasub_host" |
|
3269 |
|
|
sed "$extrasub_target" > mf$$
|
3270 |
|
|
mv -f mf$$ Makefile],
|
3271 |
|
|
[extrasub_build="$extrasub_build"
|
3272 |
|
|
extrasub_host="$extrasub_host"
|
3273 |
|
|
extrasub_target="$extrasub_target"])
|
3274 |
|
|
AC_OUTPUT
|