]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/configure.in
extend.texi: Improve documentation of volatile asms.
[thirdparty/gcc.git] / gcc / configure.in
CommitLineData
46f18e7b
RK
1# configure.in for GNU CC
2# Process this file with autoconf to generate a configuration script.
3
fd939e46 4# Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
46f18e7b
RK
5
6#This file is part of GNU CC.
7
8#GNU CC is free software; you can redistribute it and/or modify
9#it under the terms of the GNU General Public License as published by
10#the Free Software Foundation; either version 2, or (at your option)
11#any later version.
12
13#GNU CC is distributed in the hope that it will be useful,
14#but WITHOUT ANY WARRANTY; without even the implied warranty of
15#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16#GNU General Public License for more details.
17
18#You should have received a copy of the GNU General Public License
19#along with GNU CC; see the file COPYING. If not, write to
20#the Free Software Foundation, 59 Temple Place - Suite 330,
21#Boston, MA 02111-1307, USA.
22
23# Initialization and defaults
890ad3ea 24AC_PREREQ(2.13)
46f18e7b 25AC_INIT(tree.c)
b7cb92ad 26AC_CONFIG_HEADER(auto-host.h:config.in)
cdcc6a01 27
46f18e7b
RK
28remove=rm
29hard_link=ln
30symbolic_link='ln -s'
31copy=cp
32
75a39864
JL
33# Check for bogus environment variables.
34# Test if LIBRARY_PATH contains the notation for the current directory
35# since this would lead to problems installing/building glibc.
36# LIBRARY_PATH contains the current directory if one of the following
37# is true:
38# - one of the terminals (":" and ";") is the first or last sign
39# - two terminals occur directly after each other
40# - the path contains an element with a dot in it
41AC_MSG_CHECKING(LIBRARY_PATH variable)
42changequote(,)dnl
43case ${LIBRARY_PATH} in
44 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
45 library_path_setting="contains current directory"
46 ;;
47 *)
48 library_path_setting="ok"
49 ;;
50esac
51changequote([,])dnl
52AC_MSG_RESULT($library_path_setting)
53if test "$library_path_setting" != "ok"; then
54AC_MSG_ERROR([
55*** LIBRARY_PATH shouldn't contain the current directory when
079bd08e 56*** building gcc. Please change the environment variable
75a39864
JL
57*** and run configure again.])
58fi
59
60# Test if GCC_EXEC_PREFIX contains the notation for the current directory
61# since this would lead to problems installing/building glibc.
62# GCC_EXEC_PREFIX contains the current directory if one of the following
63# is true:
64# - one of the terminals (":" and ";") is the first or last sign
65# - two terminals occur directly after each other
66# - the path contains an element with a dot in it
67AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
68changequote(,)dnl
69case ${GCC_EXEC_PREFIX} in
70 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
71 gcc_exec_prefix_setting="contains current directory"
72 ;;
73 *)
74 gcc_exec_prefix_setting="ok"
75 ;;
76esac
77changequote([,])dnl
78AC_MSG_RESULT($gcc_exec_prefix_setting)
79if test "$gcc_exec_prefix_setting" != "ok"; then
80AC_MSG_ERROR([
81*** GCC_EXEC_PREFIX shouldn't contain the current directory when
079bd08e 82*** building gcc. Please change the environment variable
75a39864
JL
83*** and run configure again.])
84fi
85
46f18e7b
RK
86# Check for additional parameters
87
88# With GNU ld
89AC_ARG_WITH(gnu-ld,
90[ --with-gnu-ld arrange to work with GNU ld.],
df6faf79
JW
91gnu_ld_flag="$with_gnu_ld",
92gnu_ld_flag=no)
46f18e7b 93
ab339d62
AO
94# With pre-defined ld
95AC_ARG_WITH(ld,
96[ --with-ld arrange to use the specified ld (full pathname).],
3ccc3a56
AO
97DEFAULT_LINKER="$with_ld")
98if test x"${DEFAULT_LINKER+set}" = x"set"; then
99 if test ! -x "$DEFAULT_LINKER"; then
100 AC_MSG_WARN([cannot execute: $DEFAULT_LINKER: check --with-ld or env. var. DEFAULT_LINKER])
e154a394 101 elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
ab339d62
AO
102 gnu_ld_flag=yes
103 fi
119d24d1
KG
104 AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
105 [Define to enable the use of a default linker.])
ab339d62
AO
106fi
107
46f18e7b
RK
108# With GNU as
109AC_ARG_WITH(gnu-as,
4d8392b7 110[ --with-gnu-as arrange to work with GNU as.],
df6faf79
JW
111gas_flag="$with_gnu_as",
112gas_flag=no)
46f18e7b 113
ab339d62
AO
114AC_ARG_WITH(as,
115[ --with-as arrange to use the specified as (full pathname).],
3ccc3a56
AO
116DEFAULT_ASSEMBLER="$with_as")
117if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
118 if test ! -x "$DEFAULT_ASSEMBLER"; then
119 AC_MSG_WARN([cannot execute: $DEFAULT_ASSEMBLER: check --with-as or env. var. DEFAULT_ASSEMBLER])
e154a394 120 elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
ab339d62
AO
121 gas_flag=yes
122 fi
119d24d1
KG
123 AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
124 [Define to enable the use of a default assembler.])
3ccc3a56 125fi
ab339d62 126
46f18e7b
RK
127# With stabs
128AC_ARG_WITH(stabs,
129[ --with-stabs arrange to use stabs instead of host debug format.],
535b86ce 130stabs="$with_stabs",
46f18e7b
RK
131stabs=no)
132
133# With ELF
134AC_ARG_WITH(elf,
135[ --with-elf arrange to use ELF instead of host debug format.],
535b86ce 136elf="$with_elf",
46f18e7b
RK
137elf=no)
138
4d8392b7 139# Specify the local prefix
4e88d51b 140local_prefix=
4d8392b7
RK
141AC_ARG_WITH(local-prefix,
142[ --with-local-prefix=DIR specifies directory to put local include.],
4e88d51b
JM
143[case "${withval}" in
144yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
145no) ;;
146*) local_prefix=$with_local_prefix ;;
147esac])
4d8392b7
RK
148
149# Default local prefix if it is empty
75bffa71 150if test x$local_prefix = x; then
4d8392b7
RK
151 local_prefix=/usr/local
152fi
153
8f8d3278
NC
154# Don't set gcc_gxx_include_dir to gxx_include_dir since that's only
155# passed in by the toplevel make and thus we'd get different behavior
156# depending on where we built the sources.
157gcc_gxx_include_dir=
9514f0d1
RK
158# Specify the g++ header file directory
159AC_ARG_WITH(gxx-include-dir,
160[ --with-gxx-include-dir=DIR
161 specifies directory to put g++ header files.],
4e88d51b
JM
162[case "${withval}" in
163yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
164no) ;;
8f8d3278 165*) gcc_gxx_include_dir=$with_gxx_include_dir ;;
4e88d51b
JM
166esac])
167
8f8d3278 168if test x${gcc_gxx_include_dir} = x; then
4e88d51b 169 if test x${enable_version_specific_runtime_libs} = xyes; then
8f8d3278 170 gcc_gxx_include_dir='${libsubdir}/include/g++'
4e88d51b 171 else
a270b446 172 topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
de82584d 173changequote(<<, >>)dnl
e2187d3b 174 gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/"${libstdcxx_incdir}
de82584d 175changequote([, ])dnl
4e88d51b
JM
176 fi
177fi
46f18e7b 178
39d6f2e8
MM
179# Determine whether or not multilibs are enabled.
180AC_ARG_ENABLE(multilib,
181[ --enable-multilib enable library support for multiple ABIs],
182[], [enable_multilib=yes])
183AC_SUBST(enable_multilib)
184
a494747c
MM
185# Enable expensive internal checks
186AC_ARG_ENABLE(checking,
f4524c9e
ZW
187[ --enable-checking[=LIST]
188 enable expensive run-time checks. With LIST,
189 enable only specific categories of checks.
190 Categories are: misc,tree,rtl,gc,gcac; default
59f406b7 191 is misc,tree,gc],
119d24d1
KG
192[ac_checking=
193ac_tree_checking=
194ac_rtl_checking=
195ac_gc_checking=
196ac_gc_always_collect=
197case "${enableval}" in
51d0e20c 198yes) ac_checking=1 ; ac_tree_checking=1 ; ac_gc_checking=1 ;;
4e88d51b 199no) ;;
59f406b7 200*) IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
f4524c9e
ZW
201 set fnord $enableval; shift
202 IFS="$ac_save_IFS"
c62e45ad
KG
203 for check
204 do
f4524c9e 205 case $check in
119d24d1
KG
206 misc) ac_checking=1 ;;
207 tree) ac_tree_checking=1 ;;
208 rtl) ac_rtl_checking=1 ;;
209 gc) ac_gc_checking=1 ;;
210 gcac) ac_gc_always_collect=1 ;;
f4524c9e
ZW
211 *) AC_MSG_ERROR(unknown check category $check) ;;
212 esac
213 done
214 ;;
119d24d1 215esac
51d0e20c
AJ
216],
217# Enable some checks by default for development versions of GCC
218[ac_checking=1; ac_tree_checking=1; ac_gc_checking=1;])
119d24d1
KG
219if test x$ac_checking != x ; then
220 AC_DEFINE(ENABLE_CHECKING, 1,
221[Define if you want more run-time sanity checks. This one gets a grab
222 bag of miscellaneous but relatively cheap checks.])
223fi
224if test x$ac_tree_checking != x ; then
225 AC_DEFINE(ENABLE_TREE_CHECKING, 1,
226[Define if you want all operations on trees (the basic data
227 structure of the front ends) to be checked for dynamic type safety
228 at runtime. This is moderately expensive.])
229fi
230if test x$ac_rtl_checking != x ; then
231 AC_DEFINE(ENABLE_RTL_CHECKING, 1,
232[Define if you want all operations on RTL (the basic data structure
233 of the optimizer and back end) to be checked for dynamic type safety
234 at runtime. This is quite expensive.])
235fi
236if test x$ac_gc_checking != x ; then
237 AC_DEFINE(ENABLE_GC_CHECKING, 1,
238[Define if you want the garbage collector to do object poisoning and
239 other memory allocation checks. This is quite expensive.])
240fi
241if test x$ac_gc_always_collect != x ; then
242 AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
243[Define if you want the garbage collector to operate in maximally
244 paranoid mode, validating the entire heap and collecting garbage at
245 every opportunity. This is extremely expensive.])
246fi
51d0e20c 247
a494747c 248
3ecc3258
ZW
249AC_ARG_ENABLE(cpp,
250[ --disable-cpp don't provide a user-visible C preprocessor.],
251[], [enable_cpp=yes])
252
253AC_ARG_WITH(cpp_install_dir,
254[ --with-cpp-install-dir=DIR
255 install the user visible C preprocessor in DIR
256 (relative to PREFIX) as well as PREFIX/bin.],
257[if test x$withval = xyes; then
258 AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
259elif test x$withval != xno; then
260 cpp_install_dir=$withval
261fi])
262
c5c76735
JL
263# Enable Multibyte Characters for C/C++
264AC_ARG_ENABLE(c-mbchar,
265[ --enable-c-mbchar Enable multibyte characters for C and C++.],
2618c083 266if test x$enable_c_mbchar != xno; then
9ec7291f
ZW
267 AC_DEFINE(MULTIBYTE_CHARS, 1,
268 [Define if you want the C and C++ compilers to support multibyte
269 character sets for source code.])
c5c76735
JL
270fi)
271
0bbb1697
RK
272# Enable threads
273# Pass with no value to take the default
274# Pass with a value to specify a thread package
275AC_ARG_ENABLE(threads,
276[ --enable-threads enable thread usage for target GCC.
981d4858 277 --enable-threads=LIB use LIB thread package for target GCC.],,
0bbb1697
RK
278enable_threads='')
279
e445171e 280enable_threads_flag=$enable_threads
0bbb1697 281# Check if a valid thread package
e445171e 282case x${enable_threads_flag} in
0bbb1697
RK
283 x | xno)
284 # No threads
a851212a 285 target_thread_file='single'
0bbb1697
RK
286 ;;
287 xyes)
288 # default
a851212a 289 target_thread_file=''
0bbb1697
RK
290 ;;
291 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
a473fe45 292 xsolaris | xwin32 | xdce | xvxworks | xaix)
e445171e 293 target_thread_file=$enable_threads_flag
0bbb1697
RK
294 ;;
295 *)
296 echo "$enable_threads is an unknown thread package" 1>&2
297 exit 1
298 ;;
299esac
300
d8bb17c8
OP
301AC_ARG_ENABLE(objc-gc,
302[ --enable-objc-gc enable the use of Boehm's garbage collector with
303 the GNU Objective-C runtime.],
2618c083 304if test x$enable_objc_gc = xno; then
d8bb17c8
OP
305 objc_boehm_gc=''
306else
307 objc_boehm_gc=1
308fi,
309objc_boehm_gc='')
310
90e6a802 311AC_ARG_WITH(dwarf2,
756ee602 312[ --with-dwarf2 force the default debug format to be DWARF2.],
90e6a802
RL
313dwarf2="$with_dwarf2",
314dwarf2=no)
315
50503ac8
RH
316AC_ARG_ENABLE(shared,
317[ --disable-shared don't provide a shared libgcc.],
c785e0fa
AO
318[
319 case $enable_shared in
320 yes | no) ;;
321 *)
322 enable_shared=no
323 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
324 for pkg in $enableval; do
325 if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then
326 enable_shared=yes
327 fi
328 done
329 IFS="$ac_save_ifs"
330 ;;
331 esac
332], [enable_shared=yes])
50503ac8
RH
333AC_SUBST(enable_shared)
334
46f18e7b
RK
335# Determine the host, build, and target systems
336AC_CANONICAL_SYSTEM
337
e9a25f70
JL
338# Find the native compiler
339AC_PROG_CC
3ec83fc2 340AC_PROG_CC_C_O
b8dad04b 341# autoconf is lame and doesn't give us any substitution variable for this.
e38df833 342if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
b4c7e567 343 NO_MINUS_C_MINUS_O=yes
b8dad04b
ZW
344else
345 OUTPUT_OPTION='-o $@'
b4c7e567 346fi
3ec83fc2 347AC_SUBST(NO_MINUS_C_MINUS_O)
b8dad04b 348AC_SUBST(OUTPUT_OPTION)
3ec83fc2 349
97d81d66
JM
350AC_CACHE_CHECK(whether ${CC-cc} accepts -Wno-long-long,
351ac_cv_prog_cc_no_long_long,
352[save_CFLAGS="$CFLAGS"
353CFLAGS="-Wno-long-long"
354AC_TRY_COMPILE(,,ac_cv_prog_cc_no_long_long=yes,
355 ac_cv_prog_cc_no_long_long=no)
356CFLAGS="$save_CFLAGS"])
b8dad04b
ZW
357strict1_warn=
358if test $ac_cv_prog_cc_no_long_long = yes; then
359 strict1_warn="-pedantic -Wno-long-long"
360fi
361AC_SUBST(strict1_warn)
ff5def20 362
84c041a1 363AC_PROG_CPP
75e93faa
ZW
364AC_C_INLINE
365gcc_AC_C_VOLATILE
366
367gcc_AC_C_LONG_DOUBLE
368gcc_AC_C_LONG_LONG
369
370# sizeof(char) is 1 by definition.
371gcc_AC_COMPILE_CHECK_SIZEOF(short)
372gcc_AC_COMPILE_CHECK_SIZEOF(int)
373gcc_AC_COMPILE_CHECK_SIZEOF(long)
374if test $ac_cv_c_long_long = yes; then
375 gcc_AC_COMPILE_CHECK_SIZEOF(long long)
376fi
377if test $ac_cv_c___int64 = yes; then
378 gcc_AC_COMPILE_CHECK_SIZEOF(__int64)
379fi
380
84c041a1 381gcc_AC_C_CHARSET
84c041a1 382
61842080
MM
383# If the native compiler is GCC, we can enable warnings even in stage1.
384# That's useful for people building cross-compilers, or just running a
385# quick `make'.
b8dad04b
ZW
386warn_cflags=
387if test "x$GCC" = "xyes"; then
388 warn_cflags='$(GCC_WARN_CFLAGS)'
61842080 389fi
b8dad04b 390AC_SUBST(warn_cflags)
5b67ad6f
DA
391
392# Stage specific cflags for build.
b8dad04b 393stage1_cflags=
5b67ad6f
DA
394case $build in
395vax-*-*)
396 if test x$GCC = xyes
397 then
b8dad04b 398 stage1_cflags="-Wa,-J"
5b67ad6f 399 else
b8dad04b 400 stage1_cflags="-J"
5b67ad6f
DA
401 fi
402 ;;
403esac
b8dad04b 404AC_SUBST(stage1_cflags)
61842080 405
e9a25f70
JL
406AC_PROG_MAKE_SET
407
ab339d62 408AC_MSG_CHECKING([whether a default assembler was specified])
3ccc3a56 409if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
e154a394 410 if test x"$gas_flag" = x"no"; then
3ccc3a56 411 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
ab339d62 412 else
3ccc3a56 413 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
ab339d62
AO
414 fi
415else
416 AC_MSG_RESULT(no)
417fi
418
419AC_MSG_CHECKING([whether a default linker was specified])
3ccc3a56 420if test x"${DEFAULT_LINKER+set}" = x"set"; then
e154a394 421 if test x"$gnu_ld_flag" = x"no"; then
3ccc3a56 422 AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
ab339d62 423 else
3ccc3a56 424 AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
ab339d62
AO
425 fi
426else
427 AC_MSG_RESULT(no)
428fi
429
4070d885
AJ
430AC_MSG_CHECKING(for GNU C library)
431AC_CACHE_VAL(gcc_cv_glibc,
432[AC_TRY_COMPILE(
433 [#include <features.h>],[
434#if ! (defined __GLIBC__ || defined __GNU_LIBRARY__)
435#error Not a GNU C library system
436#endif],
437 [gcc_cv_glibc=yes],
438 gcc_cv_glibc=no)])
439AC_MSG_RESULT($gcc_cv_glibc)
c2f7d403 440if test $gcc_cv_glibc = yes; then
4070d885
AJ
441 AC_DEFINE(_GNU_SOURCE, 1, [Always define this when using the GNU C Library])
442fi
4797e955 443
46f18e7b
RK
444# Find some useful tools
445AC_PROG_AWK
99e757d5
KG
446gcc_AC_PROG_LN
447gcc_AC_PROG_LN_S
46f18e7b 448AC_PROG_RANLIB
99e757d5 449gcc_AC_PROG_INSTALL
46f18e7b 450
956d6950
JL
451AC_HEADER_STDC
452AC_HEADER_TIME
99e757d5 453gcc_AC_HEADER_STRING
e9831ca0 454AC_HEADER_SYS_WAIT
03c41c05
ZW
455AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
456 fcntl.h unistd.h stab.h sys/file.h sys/time.h \
457 sys/resource.h sys/param.h sys/times.h sys/stat.h \
d6edb99e 458 direct.h malloc.h langinfo.h iconv.h stdbool.h)
7636d567 459
f24af81b
TT
460# Check for thread headers.
461AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
462AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
463
84c041a1 464# These tests can't be done till we know if we have limits.h.
75e93faa 465gcc_AC_C_CHAR_BIT
2d6eb5bf
ZW
466gcc_AC_C_COMPILE_ENDIAN
467gcc_AC_C_FLOAT_FORMAT
75e93faa 468
bcf12124 469# See if GNAT has been installed
1ffc5c6e 470AC_CHECK_PROG(have_gnat, gnatbind, yes, no)
bcf12124 471
955be633
JM
472# See if we have the mktemp command.
473AC_CHECK_PROG(have_mktemp_command, mktemp, yes, no)
474
09fa0705
ZW
475# Do we have a single-tree copy of texinfo?
476if test -f $srcdir/../texinfo/Makefile.in; then
477 MAKEINFO='$(objdir)/../texinfo/makeinfo/makeinfo'
478 gcc_cv_prog_makeinfo_modern=yes
479 AC_MSG_RESULT([Using makeinfo from the unified source tree.])
480else
481 # See if makeinfo has been installed and is modern enough
482 # that we can use it.
483 gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
484 [GNU texinfo.* \([0-9][0-9.]*\)],
fd939e46 485 [4.*])
09fa0705
ZW
486fi
487
488if test $gcc_cv_prog_makeinfo_modern = no; then
489 AC_MSG_WARN([
490*** Makeinfo is missing or too old.
17db6582 491*** Info documentation will not be built.])
09fa0705 492 BUILD_INFO=
09fa0705
ZW
493else
494 BUILD_INFO=info AC_SUBST(BUILD_INFO)
09fa0705
ZW
495fi
496
3f896fc2
JM
497# Is pod2man recent enough to regenerate manpages?
498AC_MSG_CHECKING([for recent Pod::Man])
499if perl -e 'use 1.10 Pod::Man' >/dev/null 2>&1; then
fd939e46
JM
500 AC_MSG_RESULT(yes)
501 GENERATED_MANPAGES=generated-manpages AC_SUBST(GENERATED_MANPAGES)
502else
503 AC_MSG_RESULT(no)
504 GENERATED_MANPAGES=
505fi
506
1e608388
ZW
507# How about lex?
508dnl Don't use AC_PROG_LEX; we insist on flex.
509dnl LEXLIB is not useful in gcc.
510if test -f $srcdir/../flex/skel.c; then
511 FLEX='$(objdir)/../flex/flex'
512else
513 AC_CHECK_PROG(FLEX, flex, flex, false)
514fi
515
516# Bison?
517# The -L switch is so bison can find its skeleton file.
518if test -f $srcdir/../bison/bison.simple; then
519 BISON='$(objdir)/../bison/bison -L $(srcdir)/../bison/'
520else
521 AC_CHECK_PROG(BISON, bison, bison, false)
522fi
523
890ad3ea 524# See if the stage1 system preprocessor understands the ANSI C
4bc5fbd4 525# preprocessor stringification operator. (Used by symcat.h.)
890ad3ea 526AC_C_STRINGIZE
76844337 527
7636d567
JW
528# Use <inttypes.h> only if it exists,
529# doesn't clash with <sys/types.h>, and declares intmax_t.
530AC_MSG_CHECKING(for inttypes.h)
531AC_CACHE_VAL(gcc_cv_header_inttypes_h,
532[AC_TRY_COMPILE(
533 [#include <sys/types.h>
534#include <inttypes.h>],
535 [intmax_t i = -1;],
9da0e39b 536 [gcc_cv_header_inttypes_h=yes],
7636d567
JW
537 gcc_cv_header_inttypes_h=no)])
538AC_MSG_RESULT($gcc_cv_header_inttypes_h)
9da0e39b 539if test $gcc_cv_header_inttypes_h = yes; then
119d24d1
KG
540 AC_DEFINE(HAVE_INTTYPES_H, 1,
541 [Define if you have a working <inttypes.h> header file.])
9da0e39b 542fi
cdcc6a01 543
9612ab65
ZW
544dnl Disabled until we have a complete test for buggy enum bitfields.
545dnl gcc_AC_C_ENUM_BF_UNSIGNED
c149cc37 546
c1800ec8 547AC_CHECK_FUNCS(strtoul bsearch popen times clock \
2e09e75a 548 strchr strrchr kill getrlimit setrlimit atoll atoq \
54953b66 549 sysconf isascii gettimeofday strsignal putc_unlocked fputc_unlocked \
f9200da2 550 fputs_unlocked getrusage iconv nl_langinfo lstat)
a81fb89e 551
f12bc141 552AC_CHECK_TYPE(ssize_t, int)
56f48ce9 553
e256b8b6
DA
554# Try to determine the array type of the second argument of getgroups
555# for the target system (int or gid_t).
556AC_TYPE_GETGROUPS
557if test "${target}" = "${build}"; then
558 TARGET_GETGROUPS_T=$ac_cv_type_getgroups
559else
560 case "${target}" in
561 # This condition may need some tweaking. It should include all
562 # targets where the array type of the second argument of getgroups
563 # is int and the type of gid_t is not equivalent to int.
564 *-*-sunos* | *-*-ultrix*)
565 TARGET_GETGROUPS_T=int
566 ;;
567 *)
568 TARGET_GETGROUPS_T=gid_t
569 ;;
570 esac
571fi
572AC_SUBST(TARGET_GETGROUPS_T)
573
99e757d5 574gcc_AC_FUNC_VFPRINTF_DOPRNT
b3e1e64f 575gcc_AC_FUNC_STRSTR
99e757d5 576gcc_AC_FUNC_PRINTF_PTR
b27d2bd5
MK
577
578case "${host}" in
579*-*-uwin*)
34fa3e7d
MM
580 AC_MSG_ERROR([
581*** UWIN may not be used as a host platform because
582*** linking with posix.dll is not allowed by the GNU GPL])
b27d2bd5
MK
583 ;;
584esac
c375c43b 585AC_FUNC_VFORK
4acab94b 586AC_FUNC_MMAP_ANYWHERE
56f02b88 587AC_FUNC_MMAP_FILE
f1b54f9b 588
86cf1cbd
KG
589# We will need to find libiberty.h and ansidecl.h
590saved_CFLAGS="$CFLAGS"
591CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
8e944909 592gcc_AC_CHECK_DECLS(getenv atol sbrk abort atof getcwd getwd \
6c889b67 593 strsignal putc_unlocked fputs_unlocked strstr environ errno \
c1800ec8 594 malloc realloc calloc free basename getopt clock, , ,[
d02af173 595#include "ansidecl.h"
86cf1cbd 596#include "system.h"])
c5c76735 597
f31e826b 598gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
d02af173 599#include "ansidecl.h"
86cf1cbd 600#include "system.h"
d2cabf16
KG
601#ifdef HAVE_SYS_RESOURCE_H
602#include <sys/resource.h>
603#endif
604])
605
c1800ec8
ZW
606gcc_AC_CHECK_DECLS(times, , ,[
607#include "ansidecl.h"
608#include "system.h"
609#ifdef HAVE_SYS_TIMES_H
610#include <sys/times.h>
611#endif
612])
613
614# More time-related stuff.
615AC_CACHE_CHECK(for struct tms, ac_cv_struct_tms, [
616AC_TRY_COMPILE([
617#include "ansidecl.h"
618#include "system.h"
619#ifdef HAVE_SYS_TIMES_H
620#include <sys/times.h>
621#endif
622], [struct tms tms;], ac_cv_struct_tms=yes, ac_cv_struct_tms=no)])
623if test $ac_cv_struct_tms = yes; then
624 AC_DEFINE(HAVE_STRUCT_TMS, 1,
625 [Define if <sys/times.h> defines struct tms.])
626fi
627
628# use gcc_cv_* here because this doesn't match the behavior of AC_CHECK_TYPE.
629# revisit after autoconf 2.50.
630AC_CACHE_CHECK(for clock_t, gcc_cv_type_clock_t, [
631AC_TRY_COMPILE([
632#include "ansidecl.h"
633#include "system.h"
634], [clock_t x;], gcc_cv_type_clock_t=yes, gcc_cv_type_clock_t=no)])
635if test $gcc_cv_type_clock_t = yes; then
636 AC_DEFINE(HAVE_CLOCK_T, 1,
637 [Define if <time.h> defines clock_t.])
638fi
639
86cf1cbd
KG
640# Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
641CFLAGS="$saved_CFLAGS"
642
75923b2f 643# mkdir takes a single argument on some systems.
99e757d5 644gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
75923b2f 645
46f18e7b
RK
646# File extensions
647manext='.1'
648objext='.o'
46f18e7b
RK
649AC_SUBST(manext)
650AC_SUBST(objext)
46f18e7b
RK
651
652build_xm_file=
61536478 653build_xm_defines=
46f18e7b
RK
654build_install_headers_dir=install-headers-tar
655build_exeext=
656host_xm_file=
61536478 657host_xm_defines=
46f18e7b
RK
658host_xmake_file=
659host_truncate_target=
6e26218f 660host_exeext=
46f18e7b
RK
661
662# Decode the host machine, then the target machine.
663# For the host machine, we save the xm_file variable as host_xm_file;
664# then we decode the target machine and forget everything else
665# that came from the host machine.
666for machine in $build $host $target; do
61ed06c3 667 . ${srcdir}/config.gcc
46f18e7b
RK
668done
669
670extra_objs="${host_extra_objs} ${extra_objs}"
671
672# Default the target-machine variables that were not explicitly set.
75bffa71 673if test x"$tm_file" = x
46f18e7b
RK
674then tm_file=$cpu_type/$cpu_type.h; fi
675
6b2adea9 676if test x"$extra_headers" = x
46f18e7b
RK
677then extra_headers=; fi
678
75bffa71 679if test x$md_file = x
e98e406f 680then md_file=$cpu_type/$cpu_type.md; fi
46f18e7b 681
75bffa71 682if test x$out_file = x
46f18e7b
RK
683then out_file=$cpu_type/$cpu_type.c; fi
684
75bffa71 685if test x"$tmake_file" = x
46f18e7b
RK
686then tmake_file=$cpu_type/t-$cpu_type
687fi
688
90e6a802 689if test x"$dwarf2" = xyes
756ee602 690then tm_file="$tm_file tm-dwarf2.h"
90e6a802
RL
691fi
692
75bffa71 693if test x$float_format = x
46f18e7b
RK
694then float_format=i64
695fi
696
027ea2a7
JW
697if test $float_format = none
698then float_h_file=Makefile.in
699else float_h_file=float-$float_format.h
700fi
701
9fc9b82a 702# Handle cpp installation.
3ecc3258 703if test x$enable_cpp != xno
9fc9b82a
L
704then
705 tmake_file="$tmake_file t-install-cpp"
706fi
707
46f18e7b 708# Say what files are being used for the output code and MD file.
11642c3a 709echo "Using \`$srcdir/config/$out_file' for machine-specific logic."
46f18e7b
RK
710echo "Using \`$srcdir/config/$md_file' as machine description file."
711
11642c3a 712# If any of the xm_file variables contain nonexistent files, warn
4dc0535b
ZW
713# about them and drop them.
714
190c4cb4 715changequote(,)dnl
11642c3a
ZW
716bx=
717for x in $build_xm_file; do
718 if test -f $srcdir/config/$x
719 then bx="$bx $x"
11642c3a
ZW
720 else AC_MSG_WARN($srcdir/config/$x does not exist.)
721 fi
722done
723build_xm_file="$bx"
724
725hx=
726for x in $host_xm_file; do
727 if test -f $srcdir/config/$x
728 then hx="$hx $x"
11642c3a
ZW
729 else AC_MSG_WARN($srcdir/config/$x does not exist.)
730 fi
731done
732host_xm_file="$hx"
733
734tx=
735for x in $xm_file; do
736 if test -f $srcdir/config/$x
737 then tx="$tx $x"
11642c3a
ZW
738 else AC_MSG_WARN($srcdir/config/$x does not exist.)
739 fi
740done
741xm_file="$tx"
190c4cb4 742changequote([,])dnl
11642c3a 743
46f18e7b
RK
744count=a
745for f in $tm_file; do
746 count=${count}x
747done
75bffa71 748if test $count = ax; then
46f18e7b
RK
749 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
750else
751 echo "Using the following target machine macro files:"
752 for f in $tm_file; do
753 echo " $srcdir/config/$f"
754 done
755fi
756
757count=a
758for f in $host_xm_file; do
759 count=${count}x
760done
11642c3a
ZW
761if test $count = a; then
762 :
763elif test $count = ax; then
46f18e7b
RK
764 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
765else
766 echo "Using the following host machine macro files:"
767 for f in $host_xm_file; do
768 echo " $srcdir/config/$f"
769 done
770fi
771
75bffa71 772if test "$host_xm_file" != "$build_xm_file"; then
46f18e7b
RK
773 count=a
774 for f in $build_xm_file; do
775 count=${count}x
776 done
11642c3a
ZW
777 if test $count = a; then
778 :
779 elif test $count = ax; then
46f18e7b
RK
780 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
781 else
782 echo "Using the following build machine macro files:"
783 for f in $build_xm_file; do
784 echo " $srcdir/config/$f"
785 done
786 fi
787fi
788
75bffa71
ILT
789if test x$thread_file = x; then
790 if test x$target_thread_file != x; then
a851212a
JW
791 thread_file=$target_thread_file
792 else
793 thread_file='single'
794 fi
46f18e7b 795fi
46f18e7b 796
b7cb92ad 797# auto-host.h is the file containing items generated by autoconf and is
e9a25f70 798# the first file included by config.h.
b7cb92ad 799# If host=build, it is correct to have hconfig include auto-host.h
db81d74a
RH
800# as well. If host!=build, we are in error and need to do more
801# work to find out the build config parameters.
75bffa71 802if test x$host = x$build
db81d74a 803then
eaf4e618 804 build_auto=auto-host.h
b7cb92ad
JL
805else
806 # We create a subdir, then run autoconf in the subdir.
807 # To prevent recursion we set host and build for the new
808 # invocation of configure to the build for this invocation
809 # of configure.
810 tempdir=build.$$
811 rm -rf $tempdir
812 mkdir $tempdir
813 cd $tempdir
814 case ${srcdir} in
b86ecfa9 815 /* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};;
b7cb92ad
JL
816 *) realsrcdir=../${srcdir};;
817 esac
fe81dd69 818 CC=${CC_FOR_BUILD} ${realsrcdir}/configure \
b7cb92ad
JL
819 --target=$target --host=$build --build=$build
820
821 # We just finished tests for the build machine, so rename
822 # the file auto-build.h in the gcc directory.
823 mv auto-host.h ../auto-build.h
824 cd ..
825 rm -rf $tempdir
eaf4e618 826 build_auto=auto-build.h
db81d74a
RH
827fi
828
eaf4e618 829tm_file="${tm_file} defaults.h"
d02af173
ZW
830host_xm_file="auto-host.h ansidecl.h ${host_xm_file} ${tm_file}"
831build_xm_file="${build_auto} ansidecl.h ${build_xm_file} ${tm_file}"
832xm_file="ansidecl.h ${xm_file} ${tm_file}"
0056a9b5 833
46f18e7b 834# Truncate the target if necessary
75bffa71 835if test x$host_truncate_target != x; then
46f18e7b
RK
836 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
837fi
838
f1943b77 839# Get the version trigger filename from the toplevel
75bffa71 840if test "${with_gcc_version_trigger+set}" = set; then
f1943b77
MH
841 gcc_version_trigger=$with_gcc_version_trigger
842else
843 gcc_version_trigger=${srcdir}/version.c
844fi
75bffa71 845changequote(,)dnl
8763704d
JM
846gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
847gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
cc1e60ea
JM
848
849# Compile in configure arguments.
8105825d 850if test -f configargs.h ; then
cc1e60ea
JM
851 # Being re-configured.
852 gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*\"\([^\"]*\)\".*/\1/'`
853 gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
854else
855 gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
856fi
857cat > configargs.h <<EOF
858/* Generated automatically. */
859static const char configuration_arguments[] = "$gcc_config_arguments";
a6687d2b 860static const char thread_model[] = "$thread_file";
cc1e60ea 861EOF
75bffa71 862changequote([,])dnl
46f18e7b 863
ab87f8c8
JL
864# Internationalization
865PACKAGE=gcc
866VERSION="$gcc_version"
119d24d1
KG
867AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
868 [Define to the name of the distribution.])
869AC_DEFINE_UNQUOTED(VERSION, "$VERSION",
870 [Define to the version of the distribution.])
ab87f8c8
JL
871AC_SUBST(PACKAGE)
872AC_SUBST(VERSION)
873
2be36552 874ALL_LINGUAS="sv"
ab87f8c8 875
dc6746e7 876# Enable NLS support by default
ab87f8c8 877AC_ARG_ENABLE(nls,
dc6746e7
PT
878 [ --enable-nls use Native Language Support (default)],
879 , enable_nls=yes)
880
881# if cross compiling, disable NLS support.
882# It's not worth the trouble, at least for now.
883
063a4b85 884if test "${build}" != "${host}" && test "x$enable_nls" = "xyes"; then
dc6746e7
PT
885 AC_MSG_WARN(Disabling NLS support for canadian cross compiler.)
886 enable_nls=no
887fi
ab87f8c8 888
4adee315
PT
889# if NLS is enabled, also enable check in po subdir
890if test $enable_nls = yes; then
891 CHECK_PO=check-po
892else
893 CHECK_PO=""
894fi
895
896AC_SUBST(CHECK_PO)
897
ab87f8c8
JL
898AM_GNU_GETTEXT
899XGETTEXT="AWK='$AWK' \$(SHELL) \$(top_srcdir)/exgettext $XGETTEXT"
900
f4ab28e3
MK
901# Windows32 Registry support for specifying GCC installation paths.
902AC_ARG_ENABLE(win32-registry,
903[ --disable-win32-registry
904 Disable lookup of installation paths in the
905 Registry on Windows hosts.
906 --enable-win32-registry Enable registry lookup (default).
907 --enable-win32-registry=KEY
908 Use KEY instead of GCC version as the last portion
909 of the registry key.],,)
910
911AC_MSG_CHECKING(whether windows registry support is requested)
912if test x$enable_win32_registry != xno; then
119d24d1
KG
913 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
914[Define to 1 if installation paths should be looked up in Windows32
91029a29 915 Registry. Ignored on non windows32 hosts.])
f4ab28e3
MK
916 AC_MSG_RESULT(yes)
917else
918 AC_MSG_RESULT(no)
919fi
920
921# Check if user specified a different registry key.
922case x${enable_win32_registry} in
923x | xyes)
924 # default.
925 gcc_cv_win32_registry_key="$VERSION"
926 ;;
927xno)
928 # no registry lookup.
929 gcc_cv_win32_registry_key=''
930 ;;
931*)
932 # user-specified key.
933 gcc_cv_win32_registry_key="$enable_win32_registry"
934 ;;
935esac
936
937if test x$enable_win32_registry != xno; then
938 AC_MSG_CHECKING(registry key on windows hosts)
119d24d1
KG
939 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
940 [Define to be the last portion of registry key on windows hosts.])
f4ab28e3
MK
941 AC_MSG_RESULT($gcc_cv_win32_registry_key)
942fi
943
7fa10b25
RK
944# Get an absolute path to the GCC top-level source directory
945holddir=`pwd`
946cd $srcdir
947topdir=`pwd`
948cd $holddir
949
af5e4ada 950# Conditionalize the makefile for this host machine.
94f42018
DE
951# Make-host contains the concatenation of all host makefile fragments
952# [there can be more than one]. This file is built by configure.frag.
953host_overrides=Make-host
af5e4ada 954dep_host_xmake_file=
94f42018
DE
955for f in .. ${host_xmake_file}
956do
75bffa71 957 if test -f ${srcdir}/config/$f
94f42018
DE
958 then
959 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
960 fi
961done
46f18e7b 962
af5e4ada 963# Conditionalize the makefile for this target machine.
94f42018
DE
964# Make-target contains the concatenation of all host makefile fragments
965# [there can be more than one]. This file is built by configure.frag.
966target_overrides=Make-target
af5e4ada 967dep_tmake_file=
94f42018
DE
968for f in .. ${tmake_file}
969do
75bffa71 970 if test -f ${srcdir}/config/$f
94f42018
DE
971 then
972 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
973 fi
974done
5891b37d 975
af5e4ada
DE
976# If the host doesn't support symlinks, modify CC in
977# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
978# Otherwise, we can use "CC=$(CC)".
979rm -f symtest.tem
61536478 980if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
af5e4ada
DE
981then
982 cc_set_by_configure="\$(CC)"
5aa82ace 983 quoted_cc_set_by_configure="\$(CC)"
af5e4ada
DE
984 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
985else
61536478
JL
986 rm -f symtest.tem
987 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
988 then
989 symbolic_link="cp -p"
990 else
991 symbolic_link="cp"
992 fi
af5e4ada 993 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
5aa82ace 994 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
af5e4ada
DE
995 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
996fi
997rm -f symtest.tem
5891b37d 998
af5e4ada 999out_object_file=`basename $out_file .c`.o
5891b37d 1000
af5e4ada
DE
1001tm_file_list=
1002for f in $tm_file; do
64ccbc99 1003 case $f in
d02af173
ZW
1004 ansidecl.h )
1005 tm_file_list="${tm_file_list} \$(srcdir)/../include/ansidecl.h" ;;
1006 defaults.h )
64ccbc99
KG
1007 tm_file_list="${tm_file_list} $f" ;;
1008 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
1009 esac
af5e4ada 1010done
46f18e7b 1011
11642c3a
ZW
1012tm_p_file_list=
1013for f in $tm_p_file; do
1014 tm_p_file_list="${tm_p_file_list} \$(srcdir)/config/$f"
1015done
1016
af5e4ada
DE
1017host_xm_file_list=
1018for f in $host_xm_file; do
64ccbc99 1019 case $f in
d02af173
ZW
1020 ansidecl.h )
1021 host_xm_file_list="${host_xm_file_list} \$(srcdir)/../include/ansidecl.h" ;;
1022 auto-host.h | defaults.h )
64ccbc99
KG
1023 host_xm_file_list="${host_xm_file_list} $f" ;;
1024 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
1025 esac
af5e4ada
DE
1026done
1027
1028build_xm_file_list=
1029for f in $build_xm_file; do
64ccbc99 1030 case $f in
d02af173
ZW
1031 ansidecl.h )
1032 build_xm_file_list="${build_xm_file_list} \$(srcdir)/../include/ansidecl.h" ;;
1033 auto-build.h | auto-host.h | defaults.h )
64ccbc99
KG
1034 build_xm_file_list="${build_xm_file_list} $f" ;;
1035 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
1036 esac
af5e4ada 1037done
46f18e7b 1038
af5e4ada
DE
1039# Define macro CROSS_COMPILE in compilation
1040# if this is a cross-compiler.
1041# Also use all.cross instead of all.internal
1042# and add cross-make to Makefile.
571a8de5 1043cross_overrides="/dev/null"
75bffa71 1044if test x$host != x$target
af5e4ada
DE
1045then
1046 cross_defines="CROSS=-DCROSS_COMPILE"
1047 cross_overrides="${topdir}/cross-make"
1048fi
46f18e7b 1049
b39d221a
EC
1050# If this is a cross-compiler that does not
1051# have its own set of headers then define
1052# inhibit_libc
1053
1054# If this is using newlib, then define inhibit_libc in
1055# LIBGCC2_CFLAGS. This will cause __eprintf to be left out of
1056# libgcc.a, but that's OK because newlib should have its own version of
1057# assert.h.
1058inhibit_libc=
1059if [test x$host != x$target] && [test x$with_headers = x]; then
1060 inhibit_libc=-Dinhibit_libc
1061else
1062 if [test x$with_newlib = xyes]; then
1063 inhibit_libc=-Dinhibit_libc
1064 fi
1065fi
1066AC_SUBST(inhibit_libc)
1067
af5e4ada
DE
1068# When building gcc with a cross-compiler, we need to fix a few things.
1069# This must come after cross-make as we want all.build to override
1070# all.cross.
571a8de5 1071build_overrides="/dev/null"
75bffa71 1072if test x$build != x$host
af5e4ada
DE
1073then
1074 build_overrides="${topdir}/build-make"
1075fi
46f18e7b 1076
ae3a15bb
DE
1077# Expand extra_headers to include complete path.
1078# This substitutes for lots of t-* files.
1079extra_headers_list=
75bffa71 1080if test "x$extra_headers" = x
ae3a15bb
DE
1081then true
1082else
1083 # Prepend ${srcdir}/ginclude/ to every entry in extra_headers.
1084 for file in $extra_headers;
1085 do
1086 extra_headers_list="${extra_headers_list} \$(srcdir)/ginclude/${file}"
1087 done
1088fi
1089
75bffa71 1090if test x$use_collect2 = xno; then
2ce3c6c6
JM
1091 use_collect2=
1092fi
1093
af5e4ada
DE
1094# Add a definition of USE_COLLECT2 if system wants one.
1095# Also tell toplev.c what to do.
1096# This substitutes for lots of t-* files.
75bffa71 1097if test x$use_collect2 = x
af5e4ada
DE
1098then
1099 will_use_collect2=
1100 maybe_use_collect2=
1101else
10da1131 1102 will_use_collect2="collect2"
af5e4ada
DE
1103 maybe_use_collect2="-DUSE_COLLECT2"
1104fi
1105
af5e4ada 1106# If we have gas in the build tree, make a link to it.
75bffa71 1107if test -f ../gas/Makefile; then
6e26218f 1108 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
af5e4ada
DE
1109fi
1110
4b95eb49 1111# If we have nm in the build tree, make a link to it.
75bffa71 1112if test -f ../binutils/Makefile; then
4b95eb49
JL
1113 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
1114fi
1115
af5e4ada 1116# If we have ld in the build tree, make a link to it.
75bffa71
ILT
1117if test -f ../ld/Makefile; then
1118# if test x$use_collect2 = x; then
6e26218f 1119# rm -f ld; $symbolic_link ../ld/ld-new$host_exeext ld$host_exeext 2>/dev/null
aa32d841 1120# else
6e26218f 1121 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
aa32d841 1122# fi
af5e4ada
DE
1123fi
1124
981d4858
JM
1125# Figure out what assembler we will be using.
1126AC_MSG_CHECKING(what assembler to use)
9e423e6d 1127gcc_cv_as=
981d4858
JM
1128gcc_cv_gas_major_version=
1129gcc_cv_gas_minor_version=
a2f319ea 1130gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
3ccc3a56
AO
1131if test -x "$DEFAULT_ASSEMBLER"; then
1132 gcc_cv_as="$DEFAULT_ASSEMBLER"
1133elif test -x "$AS"; then
1134 gcc_cv_as="$AS"
ab339d62 1135elif test -x as$host_exeext; then
9e423e6d
JW
1136 # Build using assembler in the current directory.
1137 gcc_cv_as=./as$host_exeext
5585c1bc 1138elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
9e423e6d 1139 # Single tree build which includes gas.
a2c9d57c 1140 for f in $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
9e423e6d 1141 do
75bffa71
ILT
1142changequote(,)dnl
1143 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
1144changequote([,])dnl
1145 if test x$gcc_cv_gas_version != x; then
9e423e6d
JW
1146 break
1147 fi
1148 done
75bffa71
ILT
1149changequote(,)dnl
1150 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
1151 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
1152changequote([,])dnl
981d4858
JM
1153fi
1154
1155if test "x$gcc_cv_as" = x -a x$host = x$target; then
9e423e6d 1156 # Native build.
779243f7
JL
1157 # Search the same directories that the installed compiler will
1158 # search. Else we may find the wrong assembler and lose. If we
1159 # do not find a suitable assembler binary, then try the user's
1160 # path.
1161 #
1162 # Also note we have to check MD_EXEC_PREFIX before checking the
1163 # user's path. Unfortunately, there is no good way to get at the
1164 # value of MD_EXEC_PREFIX here. So we do a brute force search
1165 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
1166 # to be fixed as part of the make/configure rewrite too.
1167
1168 if test "x$exec_prefix" = xNONE; then
1169 if test "x$prefix" = xNONE; then
1170 test_prefix=/usr/local
1171 else
1172 test_prefix=$prefix
1173 fi
1174 else
1175 test_prefix=$exec_prefix
1176 fi
1177
1178 # If the loop below does not find an assembler, then use whatever
1179 # one we can find in the users's path.
1180 # user's path.
16a0fe50 1181 gcc_cv_as=as$host_exeext
779243f7
JL
1182
1183 test_dirs="$test_prefix/lib/gcc-lib/$target/$gcc_version \
1184 $test_prefix/lib/gcc-lib/$target \
1185 /usr/lib/gcc/$target/$gcc_version \
1186 /usr/lib/gcc/$target \
1187 $test_prefix/$target/bin/$target/$gcc_version \
1188 $test_prefix/$target/bin \
1189 /usr/libexec \
1190 /usr/ccs/gcc \
1191 /usr/ccs/bin \
1192 /udk/usr/ccs/bin \
1193 /bsd43/usr/lib/cmplrs/cc \
1194 /usr/cross64/usr/bin \
1195 /usr/lib/cmplrs/cc \
1196 /sysv/usr/lib/cmplrs/cc \
1197 /svr4/usr/lib/cmplrs/cc \
1198 /usr/bin"
1199
1200 for dir in $test_dirs; do
1201 if test -f $dir/as$host_exeext; then
1202 gcc_cv_as=$dir/as$host_exeext
1203 break;
1204 fi
1205 done
9e423e6d 1206fi
981d4858
JM
1207if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1208 AC_MSG_RESULT("newly built gas")
1209else
1210 AC_MSG_RESULT($gcc_cv_as)
1211fi
1212
1213# Figure out what nm we will be using.
1214AC_MSG_CHECKING(what nm to use)
1215if test -x nm$host_exeext; then
1216 gcc_cv_nm=./nm$host_exeext
1217elif test x$host = x$target; then
1218 # Native build.
1219 gcc_cv_nm=nm$host_exeext
1220fi
1221AC_MSG_RESULT($gcc_cv_nm)
1222
1223# Figure out what assembler alignment features are present.
1224AC_MSG_CHECKING(assembler alignment features)
9d147085 1225gcc_cv_as_alignment_features=none
981d4858
JM
1226if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1227 # Gas version 2.6 and later support for .balign and .p2align.
1228 # bytes to skip when using .p2align.
1229 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 6 -o "$gcc_cv_gas_major_version" -gt 2; then
1230 gcc_cv_as_alignment_features=".balign and .p2align"
1231 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
1232 fi
1233 # Gas version 2.8 and later support specifying the maximum
1234 # bytes to skip when using .p2align.
1235 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 8 -o "$gcc_cv_gas_major_version" -gt 2; then
1236 gcc_cv_as_alignment_features=".p2align including maximum skip"
1237 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
1238 fi
1239elif test x$gcc_cv_as != x; then
00ccc16d
JL
1240 # Check if we have .balign and .p2align
1241 echo ".balign 4" > conftest.s
1242 echo ".p2align 2" >> conftest.s
1243 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1244 gcc_cv_as_alignment_features=".balign and .p2align"
1245 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
1246 fi
1247 rm -f conftest.s conftest.o
9e423e6d
JW
1248 # Check if specifying the maximum bytes to skip when
1249 # using .p2align is supported.
1250 echo ".p2align 4,,7" > conftest.s
1251 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1252 gcc_cv_as_alignment_features=".p2align including maximum skip"
1253 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
1254 fi
1255 rm -f conftest.s conftest.o
1256fi
1257AC_MSG_RESULT($gcc_cv_as_alignment_features)
1258
d1accaa3 1259AC_MSG_CHECKING(assembler subsection support)
9d147085 1260gcc_cv_as_subsections=no
981d4858
JM
1261if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1262 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1263 gcc_cv_as_subsections="working .subsection -1"
1264 fi
1265elif test x$gcc_cv_as != x; then
d1accaa3
JJ
1266 # Check if we have .subsection
1267 echo ".subsection 1" > conftest.s
1268 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1269 gcc_cv_as_subsections=".subsection"
d1accaa3
JJ
1270 if test x$gcc_cv_nm != x; then
1271 cat > conftest.s <<EOF
1272conftest_label1: .word 0
1273.subsection -1
1274conftest_label2: .word 0
1275.previous
1276EOF
1277 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1278 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
1279 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
1b015bec
AO
1280 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
1281 :
1282 else
d1accaa3 1283 gcc_cv_as_subsections="working .subsection -1"
d1accaa3
JJ
1284 fi
1285 fi
1286 fi
1287 fi
1288 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1289fi
981d4858
JM
1290if test x"$gcc_cv_as_subsections" = x"working .subsection -1"; then
1291 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
1292[Define if your assembler supports .subsection and .subsection -1 starts
1293 emitting at the beginning of your section.])
1294fi
d1accaa3
JJ
1295AC_MSG_RESULT($gcc_cv_as_subsections)
1296
12822146 1297AC_MSG_CHECKING(assembler weak support)
9d147085 1298gcc_cv_as_weak=no
981d4858
JM
1299if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1300 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then
1301 gcc_cv_as_weak="yes"
1302 fi
1303elif test x$gcc_cv_as != x; then
12822146
JL
1304 # Check if we have .weak
1305 echo " .weak foobar" > conftest.s
1306 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
12822146
JL
1307 gcc_cv_as_weak="yes"
1308 fi
1309 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1310fi
981d4858
JM
1311if test x"$gcc_cv_as_weak" = xyes; then
1312 AC_DEFINE(HAVE_GAS_WEAK, 1, [Define if your assembler supports .weak.])
1313fi
12822146
JL
1314AC_MSG_RESULT($gcc_cv_as_weak)
1315
6a9c5260 1316AC_MSG_CHECKING(assembler hidden support)
9d147085 1317gcc_cv_as_hidden=no
981d4858
JM
1318if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1319 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 10 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1320 gcc_cv_as_hidden="yes"
1321 fi
1322elif test x$gcc_cv_as != x; then
6a9c5260
UD
1323 # Check if we have .hidden
1324 echo " .hidden foobar" > conftest.s
1325 echo "foobar:" >> conftest.s
1326 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
6a9c5260
UD
1327 gcc_cv_as_hidden="yes"
1328 fi
1329 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1330fi
981d4858
JM
1331if test x"$gcc_cv_as_hidden" = xyes; then
1332 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
1333 [Define if your assembler supports .hidden.])
1334fi
6a9c5260
UD
1335AC_MSG_RESULT($gcc_cv_as_hidden)
1336
b7460f24 1337AC_MSG_CHECKING(assembler leb128 support)
fbe42b1b 1338gcc_cv_as_leb128=no
b7460f24 1339if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
fbe42b1b 1340 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
b7460f24
RH
1341 gcc_cv_as_leb128="yes"
1342 fi
1343elif test x$gcc_cv_as != x; then
1344 # Check if we have .[us]leb128, and support symbol arithmetic with it.
1345 cat > conftest.s <<EOF
1346 .data
1347 .uleb128 L2 - L1
1348L1:
1349 .uleb128 1280
1350 .sleb128 -1010
1351L2:
1352EOF
1353 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
78e766a0
RH
1354 gcc_cv_as_leb128="yes"
1355
1356 # GAS versions before 2.11 do not support uleb128,
1357 # despite appearing to.
1358 # ??? There exists an elf-specific test that will crash
1359 # the assembler. Perhaps it's better to figure out whether
1360 # arbitrary sections are supported and try the test.
1361 as_ver=`$gcc_cv_as --version 2>/dev/null | head -1`
1362 if echo "$as_ver" | grep GNU > /dev/null; then
1363 as_ver=`echo $as_ver | sed -e 's/.* //'`
1364 as_major=`echo $as_ver | sed 's/\..*//'`
1365changequote(,)dnl
3d399d67 1366 as_minor=`echo $as_ver | sed 's/[^.]*\.\([0-9]*\).*/\1/'`
78e766a0
RH
1367changequote([,])dnl
1368 if test $as_major -eq 2 -a $as_minor -lt 11; then
1369 gcc_cv_as_leb128="no"
1370 fi
fbe42b1b 1371 fi
b7460f24
RH
1372 fi
1373 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1374fi
1375if test x"$gcc_cv_as_leb128" = xyes; then
1376 AC_DEFINE(HAVE_AS_LEB128, 1,
1377 [Define if your assembler supports .uleb128.])
1378fi
1379AC_MSG_RESULT($gcc_cv_as_leb128)
1380
1cb36a98
RH
1381case "$target" in
1382 sparc*-*-*)
5b68c389
AO
1383 AC_CACHE_CHECK([assembler .register pseudo-op support],
1384 gcc_cv_as_register_pseudo_op, [
1385 gcc_cv_as_register_pseudo_op=unknown
1386 if test x$gcc_cv_as != x; then
1387 # Check if we have .register
1388 echo ".register %g2, #scratch" > conftest.s
1389 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1cb36a98 1390 gcc_cv_as_register_pseudo_op=yes
5b68c389
AO
1391 else
1392 gcc_cv_as_register_pseudo_op=no
1393 fi
1394 rm -f conftest.s conftest.o
1cb36a98 1395 fi
5b68c389
AO
1396 ])
1397 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
119d24d1
KG
1398 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
1399 [Define if your assembler supports .register.])
1cb36a98 1400 fi
1cb36a98 1401
e95b1e6a
JJ
1402 AC_CACHE_CHECK([assembler supports -relax],
1403 gcc_cv_as_relax_opt, [
1404 gcc_cv_as_relax_opt=unknown
1405 if test x$gcc_cv_as != x; then
1406 # Check if gas supports -relax
1407 echo ".text" > conftest.s
1408 if $gcc_cv_as -relax -o conftest.o conftest.s > /dev/null 2>&1; then
1409 gcc_cv_as_relax_opt=yes
1410 else
1411 gcc_cv_as_relax_opt=no
1412 fi
1413 rm -f conftest.s conftest.o
1414 fi
1415 ])
1416 if test "x$gcc_cv_as_relax_opt" = xyes; then
1417 AC_DEFINE(HAVE_AS_RELAX_OPTION, 1,
1418 [Define if your assembler supports -relax option.])
1419 fi
1420
5b68c389
AO
1421 case "$tm_file" in
1422 *64*)
1423 AC_CACHE_CHECK([for 64 bit support in assembler ($gcc_cv_as)],
1424 gcc_cv_as_flags64, [
1425 if test -n "$gcc_cv_as"; then
1426 echo ".xword foo" > conftest.s
1427 gcc_cv_as_flags64=no
8a90b95d 1428 for flag in "-xarch=v9" "-64 -Av9"; do
5b68c389
AO
1429 if $gcc_cv_as $flag -o conftest.o conftest.s \
1430 > /dev/null 2>&1; then
1431 gcc_cv_as_flags64=$flag
1432 break
1433 fi
1434 done
1435 rm -f conftest.s conftest.o
1436 else
1437 if test "$gas" = yes; then
1438 gcc_cv_as_flags64="-64 -Av9"
1439 else
1440 gcc_cv_as_flags64="-xarch=v9"
1441 fi
1cb36a98 1442 fi
5b68c389
AO
1443 ])
1444 if test "x$gcc_cv_as_flags64" = xno; then
1445changequote(, )
1446 tmake_file=`echo " $tmake_file " | sed -e 's, sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
1447 dep_tmake_file=`echo " $dep_tmake_file " | sed -e 's, [^ ]*/config/sparc/t-sol2-64 , ,' -e 's,^ ,,' -e 's, $,,'`
1448changequote([, ])
1449 else
119d24d1
KG
1450 AC_DEFINE_UNQUOTED(AS_SPARC64_FLAG, "$gcc_cv_as_flags64",
1451 [Define if the assembler supports 64bit sparc.])
1cb36a98 1452 fi
5b68c389
AO
1453 ;;
1454 *) gcc_cv_as_flags64=${gcc_cv_as_flags64-no}
1455 ;;
1456 esac
1457
1458 if test "x$gcc_cv_as_flags64" != xno; then
1459 AC_CACHE_CHECK([for assembler offsetable %lo() support],
1460 gcc_cv_as_offsetable_lo10, [
1461 gcc_cv_as_offsetable_lo10=unknown
1462 if test "x$gcc_cv_as" != x; then
1463 # Check if assembler has offsetable %lo()
1464 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
1465 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
1466 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
1467 > /dev/null 2>&1 &&
1468 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
1469 > /dev/null 2>&1; then
1470 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
1471 gcc_cv_as_offsetable_lo10=no
1472 else
1473 gcc_cv_as_offsetable_lo10=yes
1474 fi
1475 else
1476 gcc_cv_as_offsetable_lo10=no
1cb36a98 1477 fi
5b68c389
AO
1478 rm -f conftest.s conftest.o conftest1.s conftest1.o
1479 fi
1480 ])
1481 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
119d24d1
KG
1482 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
1483 [Define if your assembler supports offsetable %lo().])
1cb36a98 1484 fi
1cb36a98 1485 fi
1cb36a98
RH
1486 ;;
1487
1488changequote(,)dnl
1489 i[34567]86-*-*)
1490changequote([,])dnl
1491 AC_MSG_CHECKING(assembler instructions)
1492 gcc_cv_as_instructions=
981d4858
JM
1493 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1494 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then
1495 gcc_cv_as_instructions="filds fists"
1496 fi
1497 elif test x$gcc_cv_as != x; then
53b5ce19
JW
1498 set "filds fists" "filds mem; fists mem"
1499 while test $# -gt 0
1500 do
1501 echo "$2" > conftest.s
1502 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1503 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
53b5ce19
JW
1504 fi
1505 shift 2
1506 done
1507 rm -f conftest.s conftest.o
1cb36a98 1508 fi
981d4858 1509 if test x"$gcc_cv_as_instructions" != x; then
ee7692d2 1510 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$gcc_cv_as_instructions" | sed -e 's/ $//' | tr '[a-z ]' '[A-Z_]'`)
981d4858 1511 fi
1cb36a98
RH
1512 AC_MSG_RESULT($gcc_cv_as_instructions)
1513 ;;
1514esac
53b5ce19 1515
9d147085
RH
1516AC_MSG_CHECKING(assembler dwarf2 debug_line support)
1517gcc_cv_as_dwarf2_debug_line=no
1518# ??? Not all targets support dwarf2 debug_line, even within a version
1519# of gas. Moreover, we need to emit a valid instruction to trigger any
1520# info to the output file. So, as supported targets are added to gas 2.11,
1521# add some instruction here to (also) show we expect this might work.
1522# ??? Once 2.11 is released, probably need to add first known working
1523# version to the per-target configury.
1524case "$target" in
e6978109 1525 i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-*)
9d147085
RH
1526 insn="nop"
1527 ;;
1528 ia64*-*-*)
1529 insn="nop 0"
1530 ;;
1531 esac
1532if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
1533then
1534 if test "$gcc_cv_gas_major_version" -eq 2 \
1535 -a "$gcc_cv_gas_minor_version" -ge 11 \
1536 -o "$gcc_cv_gas_major_version" -gt 2 \
1537 && grep 'obj_format = elf' ../gas/Makefile > /dev/null \
1538 && test x"$insn" != x ; then
1539 gcc_cv_as_dwarf2_debug_line="yes"
1540 fi
1541elif test x$gcc_cv_as != x -a x"$insn" != x ; then
acc187f5
RH
1542 echo ' .file 1 "conftest.s"' > conftest.s
1543 echo ' .loc 1 3 0' >> conftest.s
9d147085 1544 echo " $insn" >> conftest.s
981975b6 1545 # ??? This fails with non-gnu grep.
9d147085
RH
1546 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
1547 && grep debug_line conftest.o > /dev/null 2>&1 ; then
981975b6
RH
1548 # The .debug_line file table must be in the exact order that
1549 # we specified the files, since these indicies are also used
1550 # by DW_AT_decl_file. Approximate this test by testing if
1551 # the assembler bitches if the same index is assigned twice.
1552 echo ' .file 1 "foo.s"' > conftest.s
1553 echo ' .file 1 "bar.s"' >> conftest.s
1554 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1
1555 then
1556 gcc_cv_as_dwarf2_debug_line="no"
1557 else
1558 gcc_cv_as_dwarf2_debug_line="yes"
1559 fi
9d147085
RH
1560 fi
1561 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1562fi
1563if test x"$gcc_cv_as_dwarf2_debug_line" = xyes; then
1564 AC_DEFINE(HAVE_AS_DWARF2_DEBUG_LINE, 1,
981975b6
RH
1565[Define if your assembler supports dwarf2 .file/.loc directives,
1566 and preserves file table indicies exactly as given.])
9d147085
RH
1567fi
1568AC_MSG_RESULT($gcc_cv_as_dwarf2_debug_line)
1569
571a8de5 1570# Figure out what language subdirectories are present.
71205e0b
MH
1571# Look if the user specified --enable-languages="..."; if not, use
1572# the environment variable $LANGUAGES if defined. $LANGUAGES might
1573# go away some day.
1574if test x"${enable_languages+set}" != xset; then
1575 if test x"${LANGUAGES+set}" = xset; then
1576 enable_languages="`echo ${LANGUAGES} | tr ' ' ','`"
1577 else
1578 enable_languages=all
1579 fi
d6c6b553
PE
1580else
1581 if test x"${enable_languages}" = x; then
1582 AC_MSG_ERROR([--enable-languages needs at least one argument])
1583 fi
71205e0b 1584fi
75382c6d
TT
1585
1586# First scan to see if an enabled language requires some other language.
1587# We assume that a given config-lang.in will list all the language
1588# front ends it requires, even if some are required indirectly.
1589for lang in ${srcdir}/*/config-lang.in ..
1590do
1591 case $lang in
1592 ..)
1593 ;;
1594 # The odd quoting in the next line works around
1595 # an apparent bug in bash 1.12 on linux.
1596changequote(,)dnl
1597 ${srcdir}/[*]/config-lang.in)
1598 ;;
1599 *)
1600 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
1601 this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
1602 for other in $this_lang_requires
1603 do
1604 case ,${enable_languages}, in
1605 *,$other,*)
1606 ;;
1607 *,all,*)
1608 ;;
1bf17cc4 1609 *,$lang_alias,*)
75382c6d
TT
1610 enable_languages="$enable_languages,$other"
1611 ;;
1612 esac
1613 done
1614 ;;
1615changequote([,])dnl
1616 esac
1617done
1618
571a8de5
DE
1619subdirs=
1620for lang in ${srcdir}/*/config-lang.in ..
1621do
1622 case $lang in
1623 ..) ;;
1624 # The odd quoting in the next line works around
1625 # an apparent bug in bash 1.12 on linux.
75bffa71
ILT
1626changequote(,)dnl
1627 ${srcdir}/[*]/config-lang.in) ;;
71205e0b
MH
1628 *)
1629 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
2b60b2cb
AO
1630 this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
1631 build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
71205e0b
MH
1632 if test "x$lang_alias" = x
1633 then
1634 echo "$lang doesn't set \$language." 1>&2
1635 exit 1
1636 fi
2b60b2cb
AO
1637 case ${build_by_default},${enable_languages}, in
1638 *,$lang_alias,*) add_this_lang=yes ;;
1639 no,*) add_this_lang=no ;;
1640 *,all,*) add_this_lang=yes ;;
1641 *) add_this_lang=no ;;
1642 esac
71205e0b
MH
1643 if test x"${add_this_lang}" = xyes; then
1644 case $lang in
1645 ${srcdir}/ada/config-lang.in)
1ffc5c6e 1646 if test x$have_gnat = xyes ; then
71205e0b
MH
1647 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
1648 fi
1649 ;;
1650 *)
1651 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
1652 ;;
1653 esac
1654 fi
1655 ;;
75bffa71 1656changequote([,])dnl
571a8de5
DE
1657 esac
1658done
1659
f24af81b
TT
1660# Make gthr-default.h if we have a thread file.
1661gthread_flags=
75bffa71 1662if test $thread_file != single; then
f24af81b 1663 rm -f gthr-default.h
db0d1ed9 1664 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
f24af81b
TT
1665 gthread_flags=-DHAVE_GTHR_DEFAULT
1666fi
1667AC_SUBST(gthread_flags)
1668
81bf3d9e
RH
1669# Find out what GC implementation we want, or may, use.
1670AC_ARG_WITH(gc,
1671[ --with-gc={simple,page} Choose the garbage collection mechanism to use
1672 with the compiler.],
1673[case "$withval" in
1674 simple | page)
1675 GGC=ggc-$withval
1676 ;;
1677 *)
1678 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
1679 ;;
1680esac],
130fadbb 1681[GGC=ggc-page])
81bf3d9e
RH
1682AC_SUBST(GGC)
1683echo "Using $GGC for garbage collection."
1684
3c809ba4 1685# Use the system's zlib library.
b8dad04b
ZW
1686zlibdir=-L../zlib
1687zlibinc="-I\$(srcdir)/../zlib"
3c809ba4
AG
1688AC_ARG_WITH(system-zlib,
1689[ --with-system-zlib use installed libz],
1690zlibdir=
1691zlibinc=
1692)
1693AC_SUBST(zlibdir)
1694AC_SUBST(zlibinc)
1695
dc6746e7
PT
1696dnl Very limited version of automake's enable-maintainer-mode
1697
1698AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
1699 dnl maintainer-mode is disabled by default
1700 AC_ARG_ENABLE(maintainer-mode,
1701[ --enable-maintainer-mode enable make rules and dependencies not useful
1702 (and sometimes confusing) to the casual installer],
1703 maintainer_mode=$enableval,
1704 maintainer_mode=no)
1705
1706AC_MSG_RESULT($maintainer_mode)
1707
1708if test "$maintainer_mode" = "yes"; then
1709 MAINT=''
1710else
1711 MAINT='#'
1712fi
1713AC_SUBST(MAINT)dnl
1714
531073e7
RH
1715# With Setjmp/Longjmp based exception handling.
1716AC_ARG_ENABLE(sjlj-exceptions,
1717[ --enable-sjlj-exceptions arrange to use setjmp/longjmp exception handling.],
1718[sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi`
1719AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj,
1720 [Define 0/1 to force the choice for exception handling model.])])
1721
571a8de5
DE
1722# Make empty files to contain the specs and options for each language.
1723# Then add #include lines to for a compiler that has specs and/or options.
1724
1725lang_specs_files=
1726lang_options_files=
3103b7db
ML
1727lang_tree_files=
1728rm -f specs.h options.h gencheck.h
1729touch specs.h options.h gencheck.h
571a8de5
DE
1730for subdir in . $subdirs
1731do
75bffa71 1732 if test -f $srcdir/$subdir/lang-specs.h; then
571a8de5
DE
1733 echo "#include \"$subdir/lang-specs.h\"" >>specs.h
1734 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
1735 fi
75bffa71 1736 if test -f $srcdir/$subdir/lang-options.h; then
571a8de5
DE
1737 echo "#include \"$subdir/lang-options.h\"" >>options.h
1738 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
1739 fi
3103b7db
ML
1740 if test -f $srcdir/$subdir/$subdir-tree.def; then
1741 echo "#include \"$subdir/$subdir-tree.def\"" >>gencheck.h
1742 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
1743 fi
571a8de5
DE
1744done
1745
1746# These (without "all_") are set in each config-lang.in.
1747# `language' must be a single word so is spelled singularly.
1748all_languages=
1749all_boot_languages=
1750all_compilers=
1751all_stagestuff=
1752all_diff_excludes=
3ec83fc2 1753all_outputs='Makefile intl/Makefile po/Makefile.in fixinc/Makefile gccbug mklibgcc'
571a8de5
DE
1754# List of language makefile fragments.
1755all_lang_makefiles=
1756all_headers=
1757all_lib2funcs=
1758
1759# Add the language fragments.
1760# Languages are added via two mechanisms. Some information must be
1761# recorded in makefile variables, these are defined in config-lang.in.
1762# We accumulate them and plug them into the main Makefile.
1763# The other mechanism is a set of hooks for each of the main targets
1764# like `clean', `install', etc.
1765
1766language_fragments="Make-lang"
1767language_hooks="Make-hooks"
1768
1769for s in .. $subdirs
1770do
75bffa71 1771 if test $s != ".."
571a8de5
DE
1772 then
1773 language=
1774 boot_language=
1775 compilers=
1776 stagestuff=
1777 diff_excludes=
1778 headers=
0280cf84 1779 outputs=
571a8de5
DE
1780 lib2funcs=
1781 . ${srcdir}/$s/config-lang.in
75bffa71 1782 if test "x$language" = x
571a8de5
DE
1783 then
1784 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
1785 exit 1
1786 fi
72aaffbd
ZW
1787 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in"
1788 if test -f ${srcdir}/$s/Makefile.in
1789 then all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Makefile.in"
1790 fi
571a8de5 1791 all_languages="$all_languages $language"
75bffa71 1792 if test "x$boot_language" = xyes
571a8de5
DE
1793 then
1794 all_boot_languages="$all_boot_languages $language"
1795 fi
1796 all_compilers="$all_compilers $compilers"
1797 all_stagestuff="$all_stagestuff $stagestuff"
1798 all_diff_excludes="$all_diff_excludes $diff_excludes"
1799 all_headers="$all_headers $headers"
0280cf84 1800 all_outputs="$all_outputs $outputs"
571a8de5
DE
1801 all_lib2funcs="$all_lib2funcs $lib2funcs"
1802 fi
1803done
1804
cbc59f01
DD
1805check_languages=
1806for language in .. $all_languages
1807do
1808 if test $language != ".."
1809 then
1810 check_languages="$check_languages check-$language"
1811 fi
1812done
1813
571a8de5
DE
1814# Since we can't use `::' targets, we link each language in
1815# with a set of hooks, reached indirectly via lang.${target}.
1816
1817rm -f Make-hooks
1818touch Make-hooks
1819target_list="all.build all.cross start.encap rest.encap \
1820 info dvi \
1821 install-normal install-common install-info install-man \
436a88a6 1822 uninstall \
571a8de5
DE
1823 mostlyclean clean distclean extraclean maintainer-clean \
1824 stage1 stage2 stage3 stage4"
1825for t in $target_list
1826do
1827 x=
ab87f8c8 1828 for lang in .. $all_languages
571a8de5 1829 do
ab87f8c8
JL
1830 if test $lang != ".."; then
1831 x="$x $lang.$t"
571a8de5
DE
1832 fi
1833 done
1834 echo "lang.$t: $x" >> Make-hooks
1835done
1836
cc06d68c 1837# Create .gdbinit.
296e46bd 1838
cc06d68c
GP
1839echo "dir ." > .gdbinit
1840echo "dir ${srcdir}" >> .gdbinit
1841if test x$gdb_needs_out_file_path = xyes
1842then
1843 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
1844fi
1845if test "x$subdirs" != x; then
1846 for s in $subdirs
1847 do
1848 echo "dir ${srcdir}/$s" >> .gdbinit
1849 done
296e46bd 1850fi
cc06d68c 1851echo "source ${srcdir}/gdbinit.in" >> .gdbinit
296e46bd 1852
88111b26
JL
1853# Define variables host_canonical and build_canonical
1854# because some Cygnus local changes in the Makefile depend on them.
1855build_canonical=${build}
1856host_canonical=${host}
1857target_subdir=
75bffa71 1858if test "${host}" != "${target}" ; then
924c96eb 1859 target_subdir=${target_alias}/
88111b26
JL
1860fi
1861AC_SUBST(build_canonical)
1862AC_SUBST(host_canonical)
1863AC_SUBST(target_subdir)
1864
8f8d3278
NC
1865# If $(exec_prefix) exists and is not the same as $(prefix), then compute an
1866# absolute path for gcc_tooldir based on inserting the number of up-directory
1867# movements required to get from $(exec_prefix) to $(prefix) into the basic
1868# $(libsubdir)/@(unlibsubdir) based path.
82cbf8f7
JL
1869# Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
1870# make and thus we'd get different behavior depending on where we built the
1871# sources.
5949a9fc 1872if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
d062c304
JL
1873 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
1874else
8f8d3278
NC
1875changequote(<<, >>)dnl
1876# An explanation of the sed strings:
1877# -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
1878# -e 's|/$||' match a trailing forward slash and eliminates it
1879# -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
1880# -e 's|/[^/]*|../|g' replaces each occurance of /<directory> with ../
1881#
1882# (*) Note this pattern overwrites the first character of the string
1883# with a forward slash if one is not already present. This is not a
1884# problem because the exact names of the sub-directories concerned is
1885# unimportant, just the number of them matters.
1886#
1887# The practical upshot of these patterns is like this:
1888#
1889# prefix exec_prefix result
1890# ------ ----------- ------
1891# /foo /foo/bar ../
1892# /foo/ /foo/bar ../
1893# /foo /foo/bar/ ../
1894# /foo/ /foo/bar/ ../
1895# /foo /foo/bar/ugg ../../
1896#
4c112cda
NC
1897 dollar='$$'
1898 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
8f8d3278 1899changequote([, ])dnl
d062c304
JL
1900fi
1901AC_SUBST(gcc_tooldir)
4c112cda 1902AC_SUBST(dollar)
d062c304 1903
2bbea3a6
RH
1904# Find a directory in which to install a shared libgcc.
1905
1906AC_ARG_ENABLE(version-specific-runtime-libs,
1907[ --enable-version-specific-runtime-libs Specify that runtime libraries shou
1908ld be installed in a compiler-specific directory ])
1909
5b15f277
RH
1910AC_ARG_WITH(slibdir,
1911[ --with-slibdir=DIR shared libraries in DIR [LIBDIR]],
1912slibdir="$with_slibdir",
1913if test "${enable_version_specific_runtime_libs+set}" = set; then
2bbea3a6 1914 slibdir='$(libsubdir)'
5b15f277 1915elif test "$host" != "$target"; then
2bbea3a6
RH
1916 slibdir='$(build_tooldir)/lib'
1917else
5b15f277
RH
1918 slibdir='$(libdir)'
1919fi)
2bbea3a6
RH
1920AC_SUBST(slibdir)
1921
7e717196
JL
1922# Nothing to do for FLOAT_H, float_format already handled.
1923objdir=`pwd`
1924AC_SUBST(objdir)
1925
94f42018
DE
1926# Process the language and host/target makefile fragments.
1927${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
47866ac0 1928
46f18e7b
RK
1929# Substitute configuration variables
1930AC_SUBST(subdirs)
46f18e7b
RK
1931AC_SUBST(all_boot_languages)
1932AC_SUBST(all_compilers)
46f18e7b 1933AC_SUBST(all_diff_excludes)
46f18e7b 1934AC_SUBST(all_headers)
9f3d1bc2
BK
1935AC_SUBST(all_lang_makefiles)
1936AC_SUBST(all_languages)
1937AC_SUBST(all_lib2funcs)
1938AC_SUBST(all_stagestuff)
1939AC_SUBST(build_exeext)
1940AC_SUBST(build_install_headers_dir)
1941AC_SUBST(build_xm_file_list)
11642c3a
ZW
1942AC_SUBST(build_xm_file)
1943AC_SUBST(build_xm_defines)
cbc59f01 1944AC_SUBST(check_languages)
9f3d1bc2 1945AC_SUBST(cc_set_by_configure)
5aa82ace 1946AC_SUBST(quoted_cc_set_by_configure)
9f3d1bc2 1947AC_SUBST(cpp_install_dir)
9f3d1bc2
BK
1948AC_SUBST(dep_host_xmake_file)
1949AC_SUBST(dep_tmake_file)
1950AC_SUBST(extra_c_flags)
9f3d1bc2 1951AC_SUBST(extra_headers_list)
46f18e7b 1952AC_SUBST(extra_objs)
9f3d1bc2
BK
1953AC_SUBST(extra_parts)
1954AC_SUBST(extra_passes)
1955AC_SUBST(extra_programs)
9f3d1bc2 1956AC_SUBST(float_h_file)
cc1e60ea 1957AC_SUBST(gcc_config_arguments)
9f3d1bc2 1958AC_SUBST(gcc_gxx_include_dir)
e2187d3b 1959AC_SUBST(libstdcxx_incdir)
9f3d1bc2 1960AC_SUBST(gcc_version)
8763704d 1961AC_SUBST(gcc_version_full)
9f3d1bc2
BK
1962AC_SUBST(gcc_version_trigger)
1963AC_SUBST(host_exeext)
46f18e7b 1964AC_SUBST(host_extra_gcc_objs)
46f18e7b 1965AC_SUBST(host_xm_file_list)
11642c3a
ZW
1966AC_SUBST(host_xm_file)
1967AC_SUBST(host_xm_defines)
9f3d1bc2 1968AC_SUBST(install)
46f18e7b 1969AC_SUBST(lang_options_files)
9f3d1bc2 1970AC_SUBST(lang_specs_files)
3103b7db 1971AC_SUBST(lang_tree_files)
46f18e7b 1972AC_SUBST(local_prefix)
46f18e7b 1973AC_SUBST(maybe_use_collect2)
9f3d1bc2
BK
1974AC_SUBST(md_file)
1975AC_SUBST(objc_boehm_gc)
1976AC_SUBST(out_file)
1977AC_SUBST(out_object_file)
46f18e7b 1978AC_SUBST(stage_prefix_set_by_configure)
e9a25f70 1979AC_SUBST(symbolic_link)
9f3d1bc2
BK
1980AC_SUBST(thread_file)
1981AC_SUBST(tm_file_list)
11642c3a
ZW
1982AC_SUBST(tm_file)
1983AC_SUBST(tm_p_file_list)
1984AC_SUBST(tm_p_file)
1985AC_SUBST(xm_file)
3d9d2476 1986AC_SUBST(xm_defines)
9f3d1bc2 1987AC_SUBST(will_use_collect2)
aac69a49
NC
1988AC_SUBST(c_target_objs)
1989AC_SUBST(cxx_target_objs)
11642c3a 1990AC_SUBST(target_cpu_default)
46f18e7b
RK
1991
1992AC_SUBST_FILE(target_overrides)
1993AC_SUBST_FILE(host_overrides)
1994AC_SUBST(cross_defines)
1995AC_SUBST_FILE(cross_overrides)
1996AC_SUBST_FILE(build_overrides)
1997AC_SUBST_FILE(language_fragments)
1998AC_SUBST_FILE(language_hooks)
1999
2000# Echo that links are built
75bffa71 2001if test x$host = x$target
46f18e7b
RK
2002then
2003 str1="native "
2004else
2005 str1="cross-"
2006 str2=" from $host"
2007fi
2008
75bffa71 2009if test x$host != x$build
46f18e7b
RK
2010then
2011 str3=" on a $build system"
2012fi
2013
75bffa71 2014if test "x$str2" != x || test "x$str3" != x
46f18e7b
RK
2015then
2016 str4=
2017fi
2018
2019echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
2020
75bffa71 2021if test "x$str2" != x || test "x$str3" != x
46f18e7b
RK
2022then
2023 echo " ${str2}${str3}." 1>&2
2024fi
2025
61536478 2026# Truncate the target if necessary
75bffa71 2027if test x$host_truncate_target != x; then
61536478
JL
2028 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
2029fi
2030
46f18e7b
RK
2031# Configure the subdirectories
2032# AC_CONFIG_SUBDIRS($subdirs)
2033
2034# Create the Makefile
5891b37d 2035# and configure language subdirectories
0280cf84 2036AC_OUTPUT($all_outputs,
cdcc6a01 2037[
cdcc6a01 2038case x$CONFIG_HEADERS in
b7cb92ad 2039xauto-host.h:config.in)
818b66cc 2040echo > cstamp-h ;;
cdcc6a01 2041esac
93cf819d
BK
2042# If the host supports symlinks, point stage[1234] at ../stage[1234] so
2043# bootstrapping and the installation procedure can still use
2044# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
2045# FLAGS_TO_PASS has been modified to solve the problem there.
2046# This is virtually a duplicate of what happens in configure.lang; we do
2047# an extra check to make sure this only happens if ln -s can be used.
75bffa71 2048if test "$symbolic_link" = "ln -s"; then
93cf819d 2049 for d in .. ${subdirs} ; do
75bffa71 2050 if test $d != ..; then
4e8a434e
BK
2051 STARTDIR=`pwd`
2052 cd $d
2053 for t in stage1 stage2 stage3 stage4 include
2054 do
2055 rm -f $t
2056 $symbolic_link ../$t $t 2>/dev/null
2057 done
2058 cd $STARTDIR
93cf819d
BK
2059 fi
2060 done
2061else true ; fi
ab87f8c8
JL
2062# Avoid having to add intl to our include paths.
2063if test -f intl/libintl.h; then
2064 echo creating libintl.h
2065 echo '#include "intl/libintl.h"' >libintl.h
2066fi
cdcc6a01
DE
2067],
2068[
5891b37d
RK
2069host='${host}'
2070build='${build}'
2071target='${target}'
52060267 2072target_alias='${target_alias}'
5891b37d
RK
2073srcdir='${srcdir}'
2074subdirs='${subdirs}'
2075symbolic_link='${symbolic_link}'
2076program_transform_set='${program_transform_set}'
2077program_transform_name='${program_transform_name}'
5891b37d
RK
2078dep_host_xmake_file='${dep_host_xmake_file}'
2079host_xmake_file='${host_xmake_file}'
2080dep_tmake_file='${dep_tmake_file}'
2081tmake_file='${tmake_file}'
0bbb1697 2082thread_file='${thread_file}'
cc1e60ea 2083gcc_config_arguments='${gcc_config_arguments}'
f1943b77 2084gcc_version='${gcc_version}'
8763704d 2085gcc_version_full='${gcc_version_full}'
f1943b77 2086gcc_version_trigger='${gcc_version_trigger}'
5891b37d 2087local_prefix='${local_prefix}'
5891b37d 2088build_install_headers_dir='${build_install_headers_dir}'
a204adc6 2089build_exeext='${build_exeext}'
6e26218f 2090host_exeext='${host_exeext}'
7ed46111 2091out_file='${out_file}'
5891b37d
RK
2092gdb_needs_out_file_path='${gdb_needs_out_file_path}'
2093SET_MAKE='${SET_MAKE}'
5891b37d 2094target_list='${target_list}'
5891b37d
RK
2095target_overrides='${target_overrides}'
2096host_overrides='${host_overrides}'
2097cross_defines='${cross_defines}'
2098cross_overrides='${cross_overrides}'
2099build_overrides='${build_overrides}'
9fc9b82a 2100cpp_install_dir='${cpp_install_dir}'
cdcc6a01 2101])