2 # Process this file with autoconf to generate a configuration script.
4 # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
6 #This file is part of GCC.
8 #GCC is free software; you can redistribute it and/or modify it under
9 #the terms of the GNU General Public License as published by the Free
10 #Software Foundation; either version 2, or (at your option) any later
13 #GCC is distributed in the hope that it will be useful, but WITHOUT
14 #ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 #FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
18 #You should have received a copy of the GNU General Public License
19 #along with GCC; see the file COPYING. If not, write to the Free
20 #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 # Initialization and defaults
26 AC_CONFIG_HEADER(auto-host.h:config.in)
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
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
41 AC_MSG_CHECKING(LIBRARY_PATH variable)
43 case ${LIBRARY_PATH} in
44 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
45 library_path_setting="contains current directory"
48 library_path_setting="ok"
52 AC_MSG_RESULT($library_path_setting)
53 if test "$library_path_setting" != "ok"; then
55 *** LIBRARY_PATH shouldn't contain the current directory when
56 *** building gcc. Please change the environment variable
57 *** and run configure again.])
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
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
67 AC_MSG_CHECKING(GCC_EXEC_PREFIX variable)
69 case ${GCC_EXEC_PREFIX} in
70 [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
71 gcc_exec_prefix_setting="contains current directory"
74 gcc_exec_prefix_setting="ok"
78 AC_MSG_RESULT($gcc_exec_prefix_setting)
79 if test "$gcc_exec_prefix_setting" != "ok"; then
81 *** GCC_EXEC_PREFIX shouldn't contain the current directory when
82 *** building gcc. Please change the environment variable
83 *** and run configure again.])
86 # Check for additional parameters
90 [ --with-gnu-ld arrange to work with GNU ld.],
91 gnu_ld_flag="$with_gnu_ld",
96 [ --with-ld arrange to use the specified ld (full pathname)],
97 DEFAULT_LINKER="$with_ld")
98 if 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])
101 elif $DEFAULT_LINKER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
104 AC_DEFINE_UNQUOTED(DEFAULT_LINKER,"$DEFAULT_LINKER",
105 [Define to enable the use of a default linker.])
110 [ --with-gnu-as arrange to work with GNU as],
111 gas_flag="$with_gnu_as",
115 [ --with-as arrange to use the specified as (full pathname)],
116 DEFAULT_ASSEMBLER="$with_as")
117 if 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])
120 elif $DEFAULT_ASSEMBLER -v < /dev/null 2>&1 | grep GNU > /dev/null; then
123 AC_DEFINE_UNQUOTED(DEFAULT_ASSEMBLER,"$DEFAULT_ASSEMBLER",
124 [Define to enable the use of a default assembler.])
129 [ --with-stabs arrange to use stabs instead of host debug format],
135 [ --with-elf arrange to use ELF instead of host debug format],
139 # Specify the local prefix
141 AC_ARG_WITH(local-prefix,
142 [ --with-local-prefix=DIR specifies directory to put local include],
143 [case "${withval}" in
144 yes) AC_MSG_ERROR(bad value ${withval} given for local include directory prefix) ;;
146 *) local_prefix=$with_local_prefix ;;
149 # Default local prefix if it is empty
150 if test x$local_prefix = x; then
151 local_prefix=/usr/local
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.
158 # Specify the g++ header file directory
159 AC_ARG_WITH(gxx-include-dir,
160 [ --with-gxx-include-dir=DIR
161 specifies directory to put g++ header files],
162 [case "${withval}" in
163 yes) AC_MSG_ERROR(bad value ${withval} given for g++ include directory) ;;
165 *) gcc_gxx_include_dir=$with_gxx_include_dir ;;
168 if test x${gcc_gxx_include_dir} = x; then
169 if test x${enable_version_specific_runtime_libs} = xyes; then
170 gcc_gxx_include_dir='${libsubdir}/include/g++'
172 topsrcdir=${srcdir}/.. . ${srcdir}/../config.if
173 changequote(<<, >>)dnl
174 gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/"${libstdcxx_incdir}
179 # Determine whether or not multilibs are enabled.
180 AC_ARG_ENABLE(multilib,
181 [ --enable-multilib enable library support for multiple ABIs],
182 [], [enable_multilib=yes])
183 AC_SUBST(enable_multilib)
185 # Enable expensive internal checks
186 AC_ARG_ENABLE(checking,
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,rtlflag,gc,gcac;
191 default is misc,tree,gc,rtlflag],
197 ac_gc_always_collect=
198 case "${enableval}" in
199 yes) ac_checking=1 ; ac_tree_checking=1 ; ac_gc_checking=1 ;
200 ac_rtlflag_checking=1 ;;
202 *) IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="$IFS,"
203 set fnord $enableval; shift
208 misc) ac_checking=1 ;;
209 tree) ac_tree_checking=1 ;;
210 rtlflag) ac_rtlflag_checking=1 ;;
211 rtl) ac_rtl_checking=1 ;;
212 gc) ac_gc_checking=1 ;;
213 gcac) ac_gc_always_collect=1 ;;
214 *) AC_MSG_ERROR(unknown check category $check) ;;
220 # Enable some checks by default for development versions of GCC
221 [ac_checking=1; ac_tree_checking=1; ac_gc_checking=1; ac_rtlflag_checking=1;])
222 if test x$ac_checking != x ; then
223 AC_DEFINE(ENABLE_CHECKING, 1,
224 [Define if you want more run-time sanity checks. This one gets a grab
225 bag of miscellaneous but relatively cheap checks.])
227 if test x$ac_tree_checking != x ; then
228 AC_DEFINE(ENABLE_TREE_CHECKING, 1,
229 [Define if you want all operations on trees (the basic data
230 structure of the front ends) to be checked for dynamic type safety
231 at runtime. This is moderately expensive.])
233 if test x$ac_rtl_checking != x ; then
234 AC_DEFINE(ENABLE_RTL_CHECKING, 1,
235 [Define if you want all operations on RTL (the basic data structure
236 of the optimizer and back end) to be checked for dynamic type safety
237 at runtime. This is quite expensive.])
239 if test x$ac_rtlflag_checking != x ; then
240 AC_DEFINE(ENABLE_RTL_FLAG_CHECKING, 1,
241 [Define if you want RTL flag accesses to be checked against the RTL
242 codes that are supported for each access macro. This is relatively
245 if test x$ac_gc_checking != x ; then
246 AC_DEFINE(ENABLE_GC_CHECKING, 1,
247 [Define if you want the garbage collector to do object poisoning and
248 other memory allocation checks. This is quite expensive.])
250 if test x$ac_gc_always_collect != x ; then
251 AC_DEFINE(ENABLE_GC_ALWAYS_COLLECT, 1,
252 [Define if you want the garbage collector to operate in maximally
253 paranoid mode, validating the entire heap and collecting garbage at
254 every opportunity. This is extremely expensive.])
257 AC_ARG_WITH(cpp_install_dir,
258 [ --with-cpp-install-dir=DIR
259 install the user visible C preprocessor in DIR
260 (relative to PREFIX) as well as PREFIX/bin],
261 [if test x$withval = xyes; then
262 AC_MSG_ERROR([option --with-cpp-install-dir requires an argument])
263 elif test x$withval != xno; then
264 cpp_install_dir=$withval
267 # Enable __cxa_atexit for C++.
268 AC_ARG_ENABLE(__cxa_atexit,
269 [ --enable-__cxa_atexit enable __cxa_atexit for C++],
271 if test x$enable___cxa_atexit = xyes; then
272 AC_DEFINE(DEFAULT_USE_CXA_ATEXIT, 1,
273 [Define if you want to use __cxa_atexit, rather than atexit, to
274 register C++ destructors for local statics and global objects.
275 This is essential for fully standards-compliant handling of
276 destructors, but requires __cxa_atexit in libc.])
279 # Enable Multibyte Characters for C/C++
280 AC_ARG_ENABLE(c-mbchar,
281 [ --enable-c-mbchar enable multibyte characters for C and C++],
282 if test x$enable_c_mbchar != xno; then
283 AC_DEFINE(MULTIBYTE_CHARS, 1,
284 [Define if you want the C and C++ compilers to support multibyte
285 character sets for source code.])
289 # Pass with no value to take the default
290 # Pass with a value to specify a thread package
291 AC_ARG_ENABLE(threads,
292 [ --enable-threads enable thread usage for target GCC
293 --enable-threads=LIB use LIB thread package for target GCC],,
296 enable_threads_flag=$enable_threads
297 # Check if a valid thread package
298 case x${enable_threads_flag} in
301 target_thread_file='single'
305 target_thread_file=''
307 xdecosf1 | xirix | xmach | xos2 | xposix | xpthreads | xsingle | \
308 xsolaris | xwin32 | xdce | xrtems| xvxworks | xaix)
309 target_thread_file=$enable_threads_flag
312 echo "$enable_threads is an unknown thread package" 1>&2
317 AC_ARG_ENABLE(objc-gc,
318 [ --enable-objc-gc enable the use of Boehm's garbage collector with
319 the GNU Objective-C runtime],
320 if test x$enable_objc_gc = xno; then
328 [ --with-dwarf2 force the default debug format to be DWARF 2],
329 dwarf2="$with_dwarf2",
332 AC_ARG_ENABLE(shared,
333 [ --disable-shared don't provide a shared libgcc],
335 case $enable_shared in
339 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
340 for pkg in $enableval; do
341 if test "X$pkg" = "Xgcc" || test "X$pkg" = "Xlibgcc"; then
348 ], [enable_shared=yes])
349 AC_SUBST(enable_shared)
351 # Determine the host, build, and target systems
354 # Set program_transform_name
357 # Find the native compiler
360 # autoconf is lame and doesn't give us any substitution variable for this.
361 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
362 NO_MINUS_C_MINUS_O=yes
364 OUTPUT_OPTION='-o $@'
366 AC_SUBST(NO_MINUS_C_MINUS_O)
367 AC_SUBST(OUTPUT_OPTION)
369 # See if GNAT has been installed
372 AC_CACHE_CHECK(whether ${CC-cc} accepts -Wno-long-long,
373 ac_cv_prog_cc_no_long_long,
374 [save_CFLAGS="$CFLAGS"
375 CFLAGS="-Wno-long-long"
376 AC_TRY_COMPILE(,,ac_cv_prog_cc_no_long_long=yes,
377 ac_cv_prog_cc_no_long_long=no)
378 CFLAGS="$save_CFLAGS"])
380 if test x$have_gnat != xno ; then
381 AC_CACHE_CHECK(whether ${ADAC} accepts -Wno-long-long,
382 ac_cv_prog_adac_no_long_long,
383 [cat >conftest.adb <<EOF
384 procedure conftest is begin null; end conftest;
386 if $ADAC -Wno-long-long -c conftest.adb 1>&5 2>&5 ; then
387 ac_cv_prog_adac_no_long_long=yes
389 ac_cv_prog_adac_no_long_long=no
393 ac_cv_prog_adac_no_long_long=yes
397 if test $ac_cv_prog_cc_no_long_long = yes && \
398 test $ac_cv_prog_adac_no_long_long = yes ; then
399 strict1_warn="-pedantic -Wno-long-long"
401 AC_SUBST(strict1_warn)
411 # sizeof(char) is 1 by definition.
412 gcc_AC_COMPILE_CHECK_SIZEOF(short)
413 gcc_AC_COMPILE_CHECK_SIZEOF(int)
414 gcc_AC_COMPILE_CHECK_SIZEOF(long)
415 if test $ac_cv_c_long_long = yes; then
416 gcc_AC_COMPILE_CHECK_SIZEOF(long long)
418 if test $ac_cv_c___int64 = yes; then
419 gcc_AC_COMPILE_CHECK_SIZEOF(__int64)
424 # If the native compiler is GCC, we can enable warnings even in stage1.
425 # That's useful for people building cross-compilers, or just running a
428 if test "x$GCC" = "xyes"; then
429 warn_cflags='$(GCC_WARN_CFLAGS)'
431 AC_SUBST(warn_cflags)
433 # Stage specific cflags for build.
439 stage1_cflags="-Wa,-J"
445 # The spiffy cpp-precomp chokes on some legitimate constructs in GCC
446 # sources; use -no-cpp-precomp to get to GNU cpp.
447 # Apple's GCC has bugs in designated initializer handling, so disable
449 stage1_cflags="-no-cpp-precomp -DHAVE_DESIGNATED_INITIALIZERS=0"
452 AC_SUBST(stage1_cflags)
456 AC_MSG_CHECKING([whether a default assembler was specified])
457 if test x"${DEFAULT_ASSEMBLER+set}" = x"set"; then
458 if test x"$gas_flag" = x"no"; then
459 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER)])
461 AC_MSG_RESULT([yes ($DEFAULT_ASSEMBLER - GNU as)])
467 AC_MSG_CHECKING([whether a default linker was specified])
468 if test x"${DEFAULT_LINKER+set}" = x"set"; then
469 if test x"$gnu_ld_flag" = x"no"; then
470 AC_MSG_RESULT([yes ($DEFAULT_LINKER)])
472 AC_MSG_RESULT([yes ($DEFAULT_LINKER - GNU ld)])
478 AC_MSG_CHECKING(for GNU C library)
479 AC_CACHE_VAL(gcc_cv_glibc,
481 [#include <features.h>],[
482 #if ! (defined __GLIBC__ || defined __GNU_LIBRARY__)
483 #error Not a GNU C library system
487 AC_MSG_RESULT($gcc_cv_glibc)
488 if test $gcc_cv_glibc = yes; then
489 AC_DEFINE(_GNU_SOURCE, 1, [Always define this when using the GNU C Library])
492 # Find some useful tools
501 gcc_AC_HEADER_STDBOOL
504 AC_CHECK_HEADERS(limits.h stddef.h string.h strings.h stdlib.h time.h \
505 fcntl.h unistd.h sys/file.h sys/time.h \
506 sys/resource.h sys/param.h sys/times.h sys/stat.h \
507 direct.h malloc.h langinfo.h)
509 # Check for thread headers.
510 AC_CHECK_HEADER(thread.h, [have_thread_h=yes], [have_thread_h=])
511 AC_CHECK_HEADER(pthread.h, [have_pthread_h=yes], [have_pthread_h=])
513 # These tests can't be done till we know if we have limits.h.
515 gcc_AC_C_COMPILE_ENDIAN
516 gcc_AC_C_FLOAT_FORMAT
518 # See if we have the mktemp command.
519 AC_CHECK_PROG(have_mktemp_command, mktemp, yes, no)
521 # Do we have a single-tree copy of texinfo?
522 if test -f $srcdir/../texinfo/Makefile.in; then
523 MAKEINFO='$(objdir)/../texinfo/makeinfo/makeinfo'
524 gcc_cv_prog_makeinfo_modern=yes
525 AC_MSG_RESULT([Using makeinfo from the unified source tree.])
527 # See if makeinfo has been installed and is modern enough
528 # that we can use it.
529 gcc_AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
530 [GNU texinfo.* \([0-9][0-9.]*\)],
534 if test $gcc_cv_prog_makeinfo_modern = no; then
536 *** Makeinfo is missing or too old.
537 *** Info documentation will not be built.])
540 BUILD_INFO=info AC_SUBST(BUILD_INFO)
543 # Is pod2man recent enough to regenerate manpages?
544 AC_MSG_CHECKING([for recent Pod::Man])
545 if (perl -e 'use 1.10 Pod::Man') >/dev/null 2>&1; then
547 GENERATED_MANPAGES=generated-manpages AC_SUBST(GENERATED_MANPAGES)
554 dnl Don't use AC_PROG_LEX; we insist on flex.
555 dnl LEXLIB is not useful in gcc.
556 if test -f $srcdir/../flex/skel.c; then
557 FLEX='$(objdir)/../flex/flex'
559 AC_CHECK_PROG(FLEX, flex, flex, false)
563 # The -L switch is so bison can find its skeleton file.
564 if test -f $srcdir/../bison/bison.simple; then
565 BISON='$(objdir)/../bison/bison -L $(srcdir)/../bison/'
567 AC_CHECK_PROG(BISON, bison, bison, false)
570 # These libraries may be used by collect2.
571 # We may need a special search path to get them linked.
572 AC_CACHE_CHECK(for collect2 libraries, gcc_cv_collect2_libs,
574 for libs in '' -lld -lmld \
575 '-L/usr/lib/cmplrs/cc2.11 -lmld' \
576 '-L/usr/lib/cmplrs/cc3.11 -lmld'
579 AC_TRY_LINK_FUNC(ldopen,
580 [gcc_cv_collect2_libs="$libs"; break])
583 test -z "$gcc_cv_collect2_libs" && gcc_cv_collect2_libs='none required'])
584 case $gcc_cv_collect2_libs in
586 *) COLLECT2_LIBS=$gcc_cv_collect2_libs ;;
588 AC_SUBST(COLLECT2_LIBS)
590 # When building Ada code on Alpha, we need exc_resume which is usually in
591 # -lexc. So test for it.
594 AC_SEARCH_LIBS(exc_resume, exc)
597 AC_SUBST(GNAT_LIBEXC)
599 # See if the stage1 system preprocessor understands the ANSI C
600 # preprocessor stringification operator. (Used by symcat.h.)
603 # Use <inttypes.h> only if it exists,
604 # doesn't clash with <sys/types.h>, and declares intmax_t.
605 AC_MSG_CHECKING(for inttypes.h)
606 AC_CACHE_VAL(gcc_cv_header_inttypes_h,
608 [#include <sys/types.h>
609 #include <inttypes.h>],
611 [gcc_cv_header_inttypes_h=yes],
612 gcc_cv_header_inttypes_h=no)])
613 AC_MSG_RESULT($gcc_cv_header_inttypes_h)
614 if test $gcc_cv_header_inttypes_h = yes; then
615 AC_DEFINE(HAVE_INTTYPES_H, 1,
616 [Define if you have a working <inttypes.h> header file.])
619 dnl Disabled until we have a complete test for buggy enum bitfields.
620 dnl gcc_AC_C_ENUM_BF_UNSIGNED
622 AC_CHECK_FUNCS(times clock dup2 kill getrlimit setrlimit atoll atoq \
623 sysconf strsignal putc_unlocked fputc_unlocked fputs_unlocked \
624 fwrite_unlocked fprintf_unlocked getrusage nl_langinfo lstat \
627 AC_CHECK_TYPE(ssize_t, int)
629 # Try to determine the array type of the second argument of getgroups
630 # for the target system (int or gid_t).
632 if test "${target}" = "${build}"; then
633 TARGET_GETGROUPS_T=$ac_cv_type_getgroups
636 # This condition may need some tweaking. It should include all
637 # targets where the array type of the second argument of getgroups
638 # is int and the type of gid_t is not equivalent to int.
639 *-*-sunos* | *-*-ultrix*)
640 TARGET_GETGROUPS_T=int
643 TARGET_GETGROUPS_T=gid_t
647 AC_SUBST(TARGET_GETGROUPS_T)
649 gcc_AC_FUNC_PRINTF_PTR
654 *** UWIN may not be used as a host platform because
655 *** linking with posix.dll is not allowed by the GNU GPL])
658 # Under VMS, vfork works very different than on Unix. The standard test
659 # won't work, and it isn't easily adaptable. It makes more sense to
661 ac_cv_func_vfork_works=yes
665 AC_FUNC_MMAP_ANYWHERE
670 # We will need to find libiberty.h and ansidecl.h
671 saved_CFLAGS="$CFLAGS"
672 CFLAGS="$CFLAGS -I${srcdir} -I${srcdir}/../include"
673 gcc_AC_CHECK_DECLS(getenv atol sbrk abort atof getcwd getwd \
674 strsignal putc_unlocked fputs_unlocked fwrite_unlocked \
675 fprintf_unlocked strstr errno \
676 malloc realloc calloc free basename getopt clock, , ,[
677 #include "ansidecl.h"
678 #include "system.h"])
680 gcc_AC_CHECK_DECLS(getrlimit setrlimit getrusage, , ,[
681 #include "ansidecl.h"
683 #ifdef HAVE_SYS_RESOURCE_H
684 #include <sys/resource.h>
688 gcc_AC_CHECK_DECLS(times, , ,[
689 #include "ansidecl.h"
691 #ifdef HAVE_SYS_TIMES_H
692 #include <sys/times.h>
696 # More time-related stuff.
697 AC_CACHE_CHECK(for struct tms, ac_cv_struct_tms, [
699 #include "ansidecl.h"
701 #ifdef HAVE_SYS_TIMES_H
702 #include <sys/times.h>
704 ], [struct tms tms;], ac_cv_struct_tms=yes, ac_cv_struct_tms=no)])
705 if test $ac_cv_struct_tms = yes; then
706 AC_DEFINE(HAVE_STRUCT_TMS, 1,
707 [Define if <sys/times.h> defines struct tms.])
710 # use gcc_cv_* here because this doesn't match the behavior of AC_CHECK_TYPE.
711 # revisit after autoconf 2.50.
712 AC_CACHE_CHECK(for clock_t, gcc_cv_type_clock_t, [
714 #include "ansidecl.h"
716 ], [clock_t x;], gcc_cv_type_clock_t=yes, gcc_cv_type_clock_t=no)])
717 if test $gcc_cv_type_clock_t = yes; then
718 AC_DEFINE(HAVE_CLOCK_T, 1,
719 [Define if <time.h> defines clock_t.])
722 # Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
723 CFLAGS="$saved_CFLAGS"
725 # mkdir takes a single argument on some systems.
726 gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
737 build_install_headers_dir=install-headers-tar
742 host_truncate_target=
745 # Decode the host machine, then the target machine.
746 # For the host machine, we save the xm_file variable as host_xm_file;
747 # then we decode the target machine and forget everything else
748 # that came from the host machine.
749 for machine in $build $host $target; do
750 . ${srcdir}/config.gcc
753 extra_objs="${host_extra_objs} ${extra_objs}"
755 # Default the target-machine variables that were not explicitly set.
756 if test x"$tm_file" = x
757 then tm_file=$cpu_type/$cpu_type.h; fi
759 if test x"$extra_headers" = x
760 then extra_headers=; fi
762 if test x$md_file = x
763 then md_file=$cpu_type/$cpu_type.md; fi
765 if test x$out_file = x
766 then out_file=$cpu_type/$cpu_type.c; fi
768 if test x"$tmake_file" = x
769 then tmake_file=$cpu_type/t-$cpu_type
772 if test x"$dwarf2" = xyes
773 then tm_file="$tm_file tm-dwarf2.h"
776 if test x$float_format = x
777 then float_format=i64
780 if test $float_format = none
781 then float_h_file=Makefile.in
782 else float_h_file=float-$float_format.h
785 # Say what files are being used for the output code and MD file.
786 echo "Using \`$srcdir/config/$out_file' for machine-specific logic."
787 echo "Using \`$srcdir/config/$md_file' as machine description file."
789 # If any of the xm_file variables contain nonexistent files, warn
790 # about them and drop them.
793 for x in $build_xm_file; do
794 if test -f $srcdir/config/$x
796 else AC_MSG_WARN($srcdir/config/$x does not exist.)
802 for x in $host_xm_file; do
803 if test -f $srcdir/config/$x
805 else AC_MSG_WARN($srcdir/config/$x does not exist.)
811 for x in $xm_file; do
812 if test -f $srcdir/config/$x
814 else AC_MSG_WARN($srcdir/config/$x does not exist.)
820 for f in $tm_file; do
823 if test $count = ax; then
824 echo "Using \`$srcdir/config/$tm_file' as target machine macro file."
826 echo "Using the following target machine macro files:"
827 for f in $tm_file; do
828 echo " $srcdir/config/$f"
833 for f in $host_xm_file; do
836 if test $count = a; then
838 elif test $count = ax; then
839 echo "Using \`$srcdir/config/$host_xm_file' as host machine macro file."
841 echo "Using the following host machine macro files:"
842 for f in $host_xm_file; do
843 echo " $srcdir/config/$f"
847 if test "$host_xm_file" != "$build_xm_file"; then
849 for f in $build_xm_file; do
852 if test $count = a; then
854 elif test $count = ax; then
855 echo "Using \`$srcdir/config/$build_xm_file' as build machine macro file."
857 echo "Using the following build machine macro files:"
858 for f in $build_xm_file; do
859 echo " $srcdir/config/$f"
864 if test x$thread_file = x; then
865 if test x$target_thread_file != x; then
866 thread_file=$target_thread_file
872 # auto-host.h is the file containing items generated by autoconf and is
873 # the first file included by config.h.
874 # If host=build, it is correct to have hconfig include auto-host.h
875 # as well. If host!=build, we are in error and need to do more
876 # work to find out the build config parameters.
877 if test x$host = x$build
879 build_auto=auto-host.h
882 # We create a subdir, then run autoconf in the subdir.
883 # To prevent recursion we set host and build for the new
884 # invocation of configure to the build for this invocation
891 /* | [A-Za-z]:[\\/]* ) realsrcdir=${srcdir};;
892 *) realsrcdir=../${srcdir};;
894 saved_CFLAGS="${CFLAGS}"
895 CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
896 ${realsrcdir}/configure \
897 --target=$target_alias --host=$build_alias --build=$build_alias
898 CFLAGS="${saved_CFLAGS}"
900 # We just finished tests for the build machine, so rename
901 # the file auto-build.h in the gcc directory.
902 mv auto-host.h ../auto-build.h
905 build_auto=auto-build.h
910 tm_file="${tm_file} defaults.h"
911 host_xm_file="auto-host.h ansidecl.h ${host_xm_file} ${tm_file}"
912 build_xm_file="${build_auto} ansidecl.h ${build_xm_file} ${tm_file}"
913 xm_file="ansidecl.h ${xm_file} ${tm_file}"
915 # Truncate the target if necessary
916 if test x$host_truncate_target != x; then
917 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
920 # Get the version trigger filename from the toplevel
921 if test "${with_gcc_version_trigger+set}" = set; then
922 gcc_version_trigger=$with_gcc_version_trigger
924 gcc_version_trigger=${srcdir}/version.c
927 gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*"\([^"]*\)".*/\1/'`
928 gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
930 # Compile in configure arguments.
931 if test -f configargs.h ; then
932 # Being re-configured.
933 gcc_config_arguments=`grep configuration_arguments configargs.h | sed -e 's/.*"\([^"]*\)".*/\1/'`
934 gcc_config_arguments="$gcc_config_arguments : (reconfigured) $TOPLEVEL_CONFIGURE_ARGUMENTS"
936 gcc_config_arguments="$TOPLEVEL_CONFIGURE_ARGUMENTS"
938 cat > configargs.h <<EOF
939 /* Generated automatically. */
940 static const char configuration_arguments[] = "$gcc_config_arguments";
941 static const char thread_model[] = "$thread_file";
945 # Internationalization
947 VERSION="$gcc_version"
951 # Enable NLS support by default
953 [ --enable-nls use Native Language Support (default)],
956 # if cross compiling, disable NLS support.
957 # It's not worth the trouble, at least for now.
959 if test "${build}" != "${host}" && test "x$enable_nls" = "xyes"; then
960 AC_MSG_WARN(Disabling NLS support for canadian cross compiler.)
966 # Windows32 Registry support for specifying GCC installation paths.
967 AC_ARG_ENABLE(win32-registry,
968 [ --disable-win32-registry
969 disable lookup of installation paths in the
970 Registry on Windows hosts
971 --enable-win32-registry enable registry lookup (default)
972 --enable-win32-registry=KEY
973 use KEY instead of GCC version as the last portion
974 of the registry key],,)
976 win32 | pe | cygwin* | mingw32* | uwin*)
977 AC_MSG_CHECKING(whether windows registry support is requested)
978 if test "x$enable_win32_registry" != xno; then
979 AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
980 [Define to 1 if installation paths should be looked up in Windows32
981 Registry. Ignored on non windows32 hosts.])
983 AC_SEARCH_LIBS(RegOpenKeyExA, advapi32)
988 # Check if user specified a different registry key.
989 case "x${enable_win32_registry}" in
992 gcc_cv_win32_registry_key="$VERSION"
995 # no registry lookup.
996 gcc_cv_win32_registry_key=''
999 # user-specified key.
1000 gcc_cv_win32_registry_key="$enable_win32_registry"
1004 if test "x$enable_win32_registry" != xno; then
1005 AC_MSG_CHECKING(registry key on windows hosts)
1006 AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
1007 [Define to be the last portion of registry key on windows hosts.])
1008 AC_MSG_RESULT($gcc_cv_win32_registry_key)
1013 # Get an absolute path to the GCC top-level source directory
1014 holddir=`${PWDCMD-pwd}`
1016 topdir=`${PWDCMD-pwd}`
1019 # Conditionalize the makefile for this host machine.
1020 # Make-host contains the concatenation of all host makefile fragments
1021 # [there can be more than one]. This file is built by configure.frag.
1022 host_overrides=Make-host
1023 dep_host_xmake_file=
1024 for f in .. ${host_xmake_file}
1026 if test -f ${srcdir}/config/$f
1028 dep_host_xmake_file="${dep_host_xmake_file} ${srcdir}/config/$f"
1032 # Conditionalize the makefile for this target machine.
1033 # Make-target contains the concatenation of all host makefile fragments
1034 # [there can be more than one]. This file is built by configure.frag.
1035 target_overrides=Make-target
1037 for f in .. ${tmake_file}
1039 if test -f ${srcdir}/config/$f
1041 dep_tmake_file="${dep_tmake_file} ${srcdir}/config/$f"
1045 # If the host doesn't support symlinks, modify CC in
1046 # FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
1047 # Otherwise, we can use "CC=$(CC)".
1049 if $symbolic_link $srcdir/gcc.c symtest.tem 2>/dev/null
1051 cc_set_by_configure="\$(CC)"
1052 quoted_cc_set_by_configure="\$(CC)"
1053 stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
1054 quoted_stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
1057 if cp -p $srcdir/gcc.c symtest.tem 2>/dev/null
1059 symbolic_link="cp -p"
1063 cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
1064 quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
1065 stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
1066 quoted_stage_prefix_set_by_configure="\\\`case '\\\$(STAGE_PREFIX)' in stage*) echo '\\\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(STAGE_PREFIX)';; esac\\\`"
1070 out_object_file=`basename $out_file .c`.o
1073 for f in $tm_file; do
1076 tm_file_list="${tm_file_list} \$(srcdir)/../include/ansidecl.h" ;;
1078 tm_file_list="${tm_file_list} \$(srcdir)/$f" ;;
1079 *) tm_file_list="${tm_file_list} \$(srcdir)/config/$f" ;;
1084 for f in $tm_p_file; do
1085 tm_p_file_list="${tm_p_file_list} \$(srcdir)/config/$f"
1089 for f in $host_xm_file; do
1092 host_xm_file_list="${host_xm_file_list} \$(srcdir)/../include/ansidecl.h" ;;
1094 host_xm_file_list="${host_xm_file_list} $f" ;;
1096 host_xm_file_list="${host_xm_file_list} \$(srcdir)/$f" ;;
1097 *) host_xm_file_list="${host_xm_file_list} \$(srcdir)/config/$f" ;;
1102 for f in $build_xm_file; do
1105 build_xm_file_list="${build_xm_file_list} \$(srcdir)/../include/ansidecl.h" ;;
1106 auto-build.h | auto-host.h )
1107 build_xm_file_list="${build_xm_file_list} $f" ;;
1109 host_xm_file_list="${host_xm_file_list} \$(srcdir)/$f" ;;
1110 *) build_xm_file_list="${build_xm_file_list} \$(srcdir)/config/$f" ;;
1114 # Define macro CROSS_COMPILE in compilation if this is a cross-compiler.
1115 # Also use all.cross instead of all.internal and adjust SYSTEM_HEADER_DIR.
1116 CROSS= AC_SUBST(CROSS)
1117 ALL=all.internal AC_SUBST(ALL)
1118 SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADER_DIR)' AC_SUBST(SYSTEM_HEADER_DIR)
1119 if test x$host != x$target
1121 CROSS="-DCROSS_COMPILE"
1123 SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)'
1124 case "$host","$target" in
1125 i?86-*-*,x86_64-*-* \
1126 | powerpc*-*-*,powerpc64*-*-*)
1127 CROSS="$CROSS -DNATIVE_CROSS" ;;
1131 # If this is a cross-compiler that does not
1132 # have its own set of headers then define
1135 # If this is using newlib, then define inhibit_libc in LIBGCC2_CFLAGS.
1136 # This prevents libgcc2 from containing any code which requires libc
1139 if [test x$host != x$target] && [test x$with_headers = x]; then
1140 inhibit_libc=-Dinhibit_libc
1142 if [test x$with_newlib = xyes]; then
1143 inhibit_libc=-Dinhibit_libc
1146 AC_SUBST(inhibit_libc)
1148 # When building gcc with a cross-compiler, we need to adjust things so
1149 # that the generator programs are still built with the native compiler.
1150 # Also, we cannot run fixincludes or fix-header.
1151 # Note that the terminology here is wrong; it should be BUILD_* throughout.
1154 # These are the normal (build=host) settings:
1155 BUILD_PREFIX= AC_SUBST(BUILD_PREFIX)
1156 BUILD_PREFIX_1=ignore- AC_SUBST(BUILD_PREFIX_1)
1157 HOST_CC='$(CC)' AC_SUBST(HOST_CC)
1158 HOST_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(HOST_CFLAGS)
1160 STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
1161 STMP_FIXPROTO=stmp-fixproto AC_SUBST(STMP_FIXPROTO)
1163 # And these apply if build != host.
1164 if test x$build != x$host
1167 BUILD_PREFIX_1=build-
1168 HOST_CC='$(CC_FOR_BUILD)'
1169 HOST_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD) $(XCFLAGS)'
1175 # Expand extra_headers to include complete path.
1176 # This substitutes for lots of t-* files.
1178 if test "x$extra_headers" = x
1181 # Prepend ${srcdir}/config/${cpu_type}/ to every entry in extra_headers.
1182 for file in $extra_headers;
1184 extra_headers_list="${extra_headers_list} \$(srcdir)/config/${cpu_type}/${file}"
1188 if test x$use_collect2 = xno; then
1192 # Add a definition of USE_COLLECT2 if system wants one.
1193 if test x$use_collect2 != x
1195 host_xm_defines="${host_xm_defines} USE_COLLECT2"
1196 xm_defines="${xm_defines} USE_COLLECT2"
1199 # If we have gas in the build tree, make a link to it.
1200 if test -f ../gas/Makefile; then
1201 rm -f as; $symbolic_link ../gas/as-new$host_exeext as$host_exeext 2>/dev/null
1204 # If we have nm and objdump in the build tree, make a link to them.
1205 if test -f ../binutils/Makefile; then
1206 rm -f nm; $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
1207 rm -f objdump; $symbolic_link ../binutils/objdump$host_exeext objdump$host_exeext 2>/dev/null
1210 # If we have ld in the build tree, make a link to it.
1211 if test -f ../ld/Makefile; then
1212 rm -f collect-ld; $symbolic_link ../ld/ld-new$host_exeext collect-ld$host_exeext 2>/dev/null
1215 # Figure out what assembler we will be using.
1216 AC_MSG_CHECKING(what assembler to use)
1218 gcc_cv_gas_major_version=
1219 gcc_cv_gas_minor_version=
1220 gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
1221 gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
1222 if test -x "$DEFAULT_ASSEMBLER"; then
1223 gcc_cv_as="$DEFAULT_ASSEMBLER"
1224 elif test -x "$AS"; then
1226 elif test -x as$host_exeext; then
1227 # Build using assembler in the current directory.
1228 gcc_cv_as=./as$host_exeext
1229 elif test -f $gcc_cv_as_gas_srcdir/configure.in -a -f ../gas/Makefile; then
1230 # Single tree build which includes gas.
1231 for f in $gcc_cv_as_bfd_srcdir/configure $gcc_cv_as_gas_srcdir/configure $gcc_cv_as_gas_srcdir/configure.in $gcc_cv_as_gas_srcdir/Makefile.in
1234 gcc_cv_gas_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
1236 if test x$gcc_cv_gas_version != x; then
1241 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([0-9]*\)"`
1242 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
1243 gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[0-9]*\.[0-9]*\.\([0-9]*\)"`
1247 if test "x$gcc_cv_as" = x; then
1248 # Search the same directories that the installed compiler will
1249 # search. Else we may find the wrong assembler and lose. If we
1250 # do not find a suitable assembler binary, then try the user's
1253 # Also note we have to check MD_EXEC_PREFIX before checking the
1254 # user's path. Unfortunately, there is no good way to get at the
1255 # value of MD_EXEC_PREFIX here. So we do a brute force search
1256 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
1257 # to be fixed as part of the make/configure rewrite too.
1259 if test "x$exec_prefix" = xNONE; then
1260 if test "x$prefix" = xNONE; then
1261 test_prefix=/usr/local
1266 test_prefix=$exec_prefix
1269 # If the loop below does not find an assembler, then use whatever
1270 # one we can find in the users's path.
1272 if test "x$program_prefix" != xNONE; then
1273 gcc_cv_as=${program_prefix}as$host_exeext
1275 gcc_cv_as=`echo as | sed ${program_transform_name}`$host_exeext
1278 test_dirs="$test_prefix/lib/gcc-lib/$target_alias/$gcc_version \
1279 $test_prefix/lib/gcc-lib/$target_alias \
1280 /usr/lib/gcc/$target_alias/$gcc_version \
1281 /usr/lib/gcc/$target_alias \
1282 $test_prefix/$target_alias/bin/$target_alias/$gcc_version \
1283 $test_prefix/$target_alias/bin"
1285 if test x$host = x$target; then
1286 test_dirs="$test_dirs \
1291 /bsd43/usr/lib/cmplrs/cc \
1292 /usr/cross64/usr/bin \
1293 /usr/lib/cmplrs/cc \
1294 /sysv/usr/lib/cmplrs/cc \
1295 /svr4/usr/lib/cmplrs/cc \
1299 for dir in $test_dirs; do
1300 if test -x $dir/as$host_exeext; then
1301 gcc_cv_as=$dir/as$host_exeext
1306 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1307 AC_MSG_RESULT("newly built gas")
1309 AC_MSG_RESULT($gcc_cv_as)
1312 # Figure out what linker we will be using.
1313 AC_MSG_CHECKING(what linker to use)
1315 gcc_cv_gld_major_version=
1316 gcc_cv_gld_minor_version=
1317 gcc_cv_ld_gld_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/ld
1318 gcc_cv_ld_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
1319 if test -x "$DEFAULT_LINKER"; then
1320 gcc_cv_ld="$DEFAULT_LINKER"
1321 elif test -x "$LD"; then
1323 elif test -x ld$host_exeext; then
1324 # Build using linker in the current directory.
1325 gcc_cv_ld=./ld$host_exeext
1326 elif test -f $gcc_cv_ld_gld_srcdir/configure.in -a -f ../ld/Makefile; then
1327 # Single tree build which includes ld.
1328 for f in $gcc_cv_ld_bfd_srcdir/configure $gcc_cv_ld_gld_srcdir/configure $gcc_cv_ld_gld_srcdir/configure.in $gcc_cv_ld_gld_srcdir/Makefile.in
1331 gcc_cv_gld_version=`grep '^VERSION=[0-9]*\.[0-9]*' $f`
1333 if test x$gcc_cv_gld_version != x; then
1338 gcc_cv_gld_major_version=`expr "$gcc_cv_gld_version" : "VERSION=\([0-9]*\)"`
1339 gcc_cv_gld_minor_version=`expr "$gcc_cv_gld_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
1343 if test "x$gcc_cv_ld" = x; then
1344 # Search the same directories that the installed compiler will
1345 # search. Else we may find the wrong linker and lose. If we
1346 # do not find a suitable linker binary, then try the user's
1349 # Also note we have to check MD_EXEC_PREFIX before checking the
1350 # user's path. Unfortunately, there is no good way to get at the
1351 # value of MD_EXEC_PREFIX here. So we do a brute force search
1352 # through all the known MD_EXEC_PREFIX values. Ugh. This needs
1353 # to be fixed as part of the make/configure rewrite too.
1355 if test "x$exec_prefix" = xNONE; then
1356 if test "x$prefix" = xNONE; then
1357 test_prefix=/usr/local
1362 test_prefix=$exec_prefix
1365 # If the loop below does not find an linker, then use whatever
1366 # one we can find in the users's path.
1368 if test "x$program_prefix" != xNONE; then
1369 gcc_cv_ld=${program_prefix}ld$host_exeext
1371 gcc_cv_ld=`echo ld | sed ${program_transform_name}`$host_exeext
1374 test_dirs="$test_prefix/lib/gcc-lib/$target_alias/$gcc_version \
1375 $test_prefix/lib/gcc-lib/$target_alias \
1376 /usr/lib/gcc/$target_alias/$gcc_version \
1377 /usr/lib/gcc/$target_alias \
1378 $test_prefix/$target_alias/bin/$target_alias/$gcc_version \
1379 $test_prefix/$target_alias/bin"
1381 if test x$host = x$target; then
1382 test_dirs="$test_dirs \
1387 /bsd43/usr/lib/cmplrs/cc \
1388 /usr/cross64/usr/bin \
1389 /usr/lib/cmplrs/cc \
1390 /sysv/usr/lib/cmplrs/cc \
1391 /svr4/usr/lib/cmplrs/cc \
1395 for dir in $test_dirs; do
1396 if test -x $dir/ld$host_exeext; then
1397 gcc_cv_ld=$dir/ld$host_exeext
1402 if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then
1403 AC_MSG_RESULT("newly built ld")
1405 AC_MSG_RESULT($gcc_cv_ld)
1408 # Figure out what nm we will be using.
1409 AC_MSG_CHECKING(what nm to use)
1410 if test -x nm$host_exeext; then
1411 gcc_cv_nm=./nm$host_exeext
1412 elif test "x$program_prefix" != xNONE; then
1413 gcc_cv_nm=${program_prefix}nm$host_exeext
1415 gcc_cv_nm=`echo nm | sed ${program_transform_name}`$host_exeext
1417 AC_MSG_RESULT($gcc_cv_nm)
1419 # Figure out what objdump we will be using.
1420 AC_MSG_CHECKING(what objdump to use)
1421 if test -x objdump$host_exeext; then
1422 gcc_cv_objdump=./objdump$host_exeext
1423 elif test "x$program_prefix" != xNONE; then
1424 gcc_cv_objdump=${program_prefix}objdump$host_exeext
1426 gcc_cv_objdump=`echo objdump | sed ${program_transform_name}`$host_exeext
1428 AC_MSG_RESULT($gcc_cv_objdump)
1430 # Figure out what assembler alignment features are present.
1431 AC_MSG_CHECKING(assembler alignment features)
1432 gcc_cv_as_alignment_features=none
1433 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1434 # Gas version 2.6 and later support for .balign and .p2align.
1435 # bytes to skip when using .p2align.
1436 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
1437 gcc_cv_as_alignment_features=".balign and .p2align"
1438 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
1440 # Gas version 2.8 and later support specifying the maximum
1441 # bytes to skip when using .p2align.
1442 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
1443 gcc_cv_as_alignment_features=".p2align including maximum skip"
1444 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
1446 elif test x$gcc_cv_as != x; then
1447 # Check if we have .balign and .p2align
1448 echo ".balign 4" > conftest.s
1449 echo ".p2align 2" >> conftest.s
1450 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1451 gcc_cv_as_alignment_features=".balign and .p2align"
1452 AC_DEFINE(HAVE_GAS_BALIGN_AND_P2ALIGN)
1454 rm -f conftest.s conftest.o
1455 # Check if specifying the maximum bytes to skip when
1456 # using .p2align is supported.
1457 echo ".p2align 4,,7" > conftest.s
1458 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1459 gcc_cv_as_alignment_features=".p2align including maximum skip"
1460 AC_DEFINE(HAVE_GAS_MAX_SKIP_P2ALIGN)
1462 rm -f conftest.s conftest.o
1464 AC_MSG_RESULT($gcc_cv_as_alignment_features)
1466 AC_MSG_CHECKING(assembler subsection support)
1467 gcc_cv_as_subsections=no
1468 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1469 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
1470 gcc_cv_as_subsections="working .subsection -1"
1472 elif test x$gcc_cv_as != x; then
1473 # Check if we have .subsection
1474 echo ".subsection 1" > conftest.s
1475 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1476 gcc_cv_as_subsections=".subsection"
1477 if test x$gcc_cv_nm != x; then
1478 cat > conftest.s <<EOF
1479 conftest_label1: .word 0
1481 conftest_label2: .word 0
1484 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1485 $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
1486 $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
1487 if cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
1490 gcc_cv_as_subsections="working .subsection -1"
1495 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1497 if test x"$gcc_cv_as_subsections" = x"working .subsection -1"; then
1498 AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING, 1,
1499 [Define if your assembler supports .subsection and .subsection -1 starts
1500 emitting at the beginning of your section.])
1502 AC_MSG_RESULT($gcc_cv_as_subsections)
1504 AC_MSG_CHECKING(assembler weak support)
1506 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1507 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
1508 gcc_cv_as_weak="yes"
1510 elif test x$gcc_cv_as != x; then
1511 # Check if we have .weak
1512 echo " .weak foobar" > conftest.s
1513 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1514 gcc_cv_as_weak="yes"
1516 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1518 if test x"$gcc_cv_as_weak" = xyes; then
1519 AC_DEFINE(HAVE_GAS_WEAK, 1, [Define if your assembler supports .weak.])
1521 AC_MSG_RESULT($gcc_cv_as_weak)
1523 AC_MSG_CHECKING(assembler hidden support)
1525 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1526 if test "$gcc_cv_gas_major_version" -eq 2 \
1527 -a "$gcc_cv_gas_minor_version" -eq 12 \
1528 -a "$gcc_cv_gas_patch_version" -ge 1 \
1529 -o "$gcc_cv_gas_major_version" -eq 2 \
1530 -a "$gcc_cv_gas_minor_version" -gt 12 \
1531 -o "$gcc_cv_gas_major_version" -gt 2 \
1532 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1533 gcc_cv_as_hidden="yes"
1535 elif test x$gcc_cv_as != x; then
1536 # Check if we have .hidden
1537 echo " .hidden foobar" > conftest.s
1538 echo "foobar:" >> conftest.s
1539 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1540 gcc_cv_as_hidden="yes"
1542 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1544 # GNU LD versions before 2.12.1 have buggy support for STV_HIDDEN.
1545 # This is irritatingly difficult to feature test for. Look for
1546 # the date string after the version number.
1547 ld_ver=`$gcc_cv_ld --version 2>/dev/null | head -1`
1548 if echo "$ld_ver" | grep GNU > /dev/null; then
1550 ld_vers=`echo $ld_ver | sed -n 's,^.*[ ]\([0-9][0-9]*\.[0-9][0-9]*\(\|\.[0-9][0-9]*\)\)\([ ].*\|\)$,\1,p'`
1551 ld_date=`echo $ld_ver | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`
1552 if test 0"$ld_date" -lt 20020404; then
1553 if test -n "$ld_date"; then
1554 # If there was date string, but was earlier than 2002-04-04, fail
1555 gcc_cv_as_hidden="no"
1556 elif test -z "$ld_vers"; then
1557 # If there was no date string nor ld version number, something is wrong
1558 gcc_cv_as_hidden="no"
1560 ld_vers_major=`expr "$ld_vers" : '\([0-9]*\)'`
1561 ld_vers_minor=`expr "$ld_vers" : '[0-9]*\.\([0-9]*\)'`
1562 ld_vers_patch=`expr "$ld_vers" : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
1563 test -z "$ld_vers_patch" && ld_vers_patch=0
1564 if test "$ld_vers_major" -lt 2; then
1565 gcc_cv_as_hidden="no"
1566 elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -lt 12; then
1567 gcc_cv_as_hidden="no"
1568 elif test "$ld_vers_major" -eq 2 -a "$ld_vers_minor" -eq 12 \
1569 -a "$ld_vers_patch" -eq 0; then
1570 gcc_cv_as_hidden="no"
1577 if test x"$gcc_cv_as_hidden" = xyes; then
1578 AC_DEFINE(HAVE_GAS_HIDDEN, 1,
1579 [Define if your assembler supports .hidden.])
1581 AC_MSG_RESULT($gcc_cv_as_hidden)
1582 libgcc_visibility=$gcc_cv_as_hidden
1583 AC_SUBST(libgcc_visibility)
1585 AC_MSG_CHECKING(assembler leb128 support)
1587 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1588 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
1589 gcc_cv_as_leb128="yes"
1591 elif test x$gcc_cv_as != x; then
1592 # Check if we have .[us]leb128, and support symbol arithmetic with it.
1593 cat > conftest.s <<EOF
1601 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1602 gcc_cv_as_leb128="yes"
1604 # GAS versions before 2.11 do not support uleb128,
1605 # despite appearing to.
1606 # ??? There exists an elf-specific test that will crash
1607 # the assembler. Perhaps it's better to figure out whether
1608 # arbitrary sections are supported and try the test.
1609 as_ver=`$gcc_cv_as --version 2>/dev/null | head -1`
1610 if echo "$as_ver" | grep GNU > /dev/null; then
1612 as_ver=`echo $as_ver | sed -e 's/GNU assembler \([0-9.][0-9.]*\).*/\1/'`
1613 as_major=`echo $as_ver | sed 's/\..*//'`
1614 as_minor=`echo $as_ver | sed 's/[^.]*\.\([0-9]*\).*/\1/'`
1616 if test $as_major -eq 2 -a $as_minor -lt 11; then
1617 gcc_cv_as_leb128="no"
1621 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
1623 if test x"$gcc_cv_as_leb128" = xyes; then
1624 AC_DEFINE(HAVE_AS_LEB128, 1,
1625 [Define if your assembler supports .uleb128.])
1627 AC_MSG_RESULT($gcc_cv_as_leb128)
1629 AC_MSG_CHECKING(assembler eh_frame optimization)
1630 gcc_cv_as_eh_frame=no
1631 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1632 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1633 gcc_cv_as_eh_frame="yes"
1635 elif test x$gcc_cv_as != x; then
1636 # Check if this is GAS.
1637 as_ver=`$gcc_cv_as --version < /dev/null 2> /dev/null | head -1`
1638 rm -f a.out 2> /dev/null
1639 if echo "$as_ver" | grep GNU > /dev/null; then
1640 # Versions up to and including 2.11.0 may mis-optimize
1641 # .eh_frame data. Try something.
1642 cat > conftest.s <<EOF
1649 .section .eh_frame,"aw",@progbits
1651 .4byte .LECIE1-.LSCIE1
1665 .4byte .LEFDE1-.LASFDE1
1667 .4byte .LASFDE1-__FRAME_BEGIN__
1676 cat > conftest.lit <<EOF
1677 0000 10000000 00000000 017a0001 781a0004 .........z..x...
1678 0010 01000000 12000000 18000000 00000000 ................
1679 0020 08000000 04080000 0044 .........D
1681 cat > conftest.big <<EOF
1682 0000 00000010 00000000 017a0001 781a0004 .........z..x...
1683 0010 00000001 00000012 00000018 00000000 ................
1684 0020 00000008 04000000 0844 .........D
1686 # If the assembler didn't choke, and we can objdump,
1687 # and we got the correct data, then succeed.
1688 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
1689 && $gcc_cv_objdump -s -j .eh_frame conftest.o 2>/dev/null \
1690 | tail -3 > conftest.got \
1691 && { cmp conftest.lit conftest.got > /dev/null 2>&1 \
1692 || cmp conftest.big conftest.got > /dev/null 2>&1; }
1694 gcc_cv_as_eh_frame="yes"
1696 gcc_cv_as_eh_frame="bad"
1697 if $gcc_cv_as -o conftest.o --traditional-format /dev/null; then
1698 AC_DEFINE(USE_AS_TRADITIONAL_FORMAT, 1,
1699 [Define if your assembler mis-optimizes .eh_frame data.])
1705 AC_MSG_RESULT($gcc_cv_as_eh_frame)
1707 AC_MSG_CHECKING(assembler section merging support)
1708 gcc_cv_as_shf_merge=no
1709 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1710 if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
1711 gcc_cv_as_shf_merge=yes
1713 elif test x$gcc_cv_as != x; then
1714 # Check if we support SHF_MERGE sections
1715 echo '.section .rodata.str, "aMS", @progbits, 1' > conftest.s
1716 if $gcc_cv_as --fatal-warnings -o conftest.o conftest.s > /dev/null 2>&1; then
1717 gcc_cv_as_shf_merge=yes
1719 rm -f conftest.s conftest.o
1721 if test x"$gcc_cv_as_shf_merge" = xyes; then
1722 AC_DEFINE(HAVE_GAS_SHF_MERGE, 1,
1723 [Define if your assembler supports marking sections with SHF_MERGE flag.])
1725 AC_MSG_RESULT($gcc_cv_as_shf_merge)
1727 AC_MSG_CHECKING(assembler thread-local storage support)
1736 .section ".tdata","awT",@progbits
1739 ldq $27,__tls_get_addr($29) !literal!1
1740 lda $16,foo($29) !tlsgd!1
1741 jsr $26,($27),__tls_get_addr !lituse_tlsgd!1
1742 ldq $27,__tls_get_addr($29) !literal!2
1743 lda $16,foo($29) !tlsldm!2
1744 jsr $26,($27),__tls_get_addr !lituse_tlsldm!2
1745 ldq $1,foo($29) !gotdtprel
1746 ldah $2,foo($29) !dtprelhi
1747 lda $3,foo($2) !dtprello
1748 lda $4,foo($29) !dtprel
1749 ldq $1,foo($29) !gottprel
1750 ldah $2,foo($29) !tprelhi
1751 lda $3,foo($2) !tprello
1752 lda $4,foo($29) !tprel'
1759 .section ".tdata","awT",@progbits
1763 leal foo@TLSGD(,%ebx,1), %eax
1764 leal foo@TLSLDM(%ebx), %eax
1765 leal foo@DTPOFF(%eax), %edx
1766 movl foo@GOTTPOFF(%ebx), %eax
1767 subl foo@GOTTPOFF(%ebx), %eax
1768 movl $foo@TPOFF, %eax
1769 subl $foo@TPOFF, %eax
1770 leal foo@NTPOFF(%ecx), %eax'
1776 .section ".tdata","awT",@progbits
1779 addl r16 = @ltoff(@dtpmod(foo#)), gp
1780 addl r17 = @ltoff(@dtprel(foo#)), gp
1781 addl r18 = @ltoff(@tprel(foo#)), gp
1782 addl r19 = @dtprel(foo#), gp
1783 adds r21 = @dtprel(foo#), r13
1784 movl r23 = @dtprel(foo#)
1785 addl r20 = @tprel(foo#), gp
1786 adds r22 = @tprel(foo#), r13
1787 movl r24 = @tprel(foo#)'
1792 if test -z "$tls_first_major"; then
1794 elif test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x
1796 if test "$gcc_cv_gas_major_version" -eq "$tls_first_major" \
1797 -a "$gcc_cv_gas_minor_version" -ge "$tls_first_minor" \
1798 -o "$gcc_cv_gas_major_version" -gt "$tls_first_major"; then
1801 elif test x$gcc_cv_as != x; then
1802 echo "$conftest_s" > conftest.s
1803 if $gcc_cv_as --fatal-warnings -o conftest.o conftest.s > /dev/null 2>&1
1807 rm -f conftest.s conftest.o
1809 if test "$gcc_cv_as_tls" = yes; then
1810 AC_DEFINE(HAVE_AS_TLS, 1,
1811 [Define if your assembler supports thread-local storage.])
1813 AC_MSG_RESULT($gcc_cv_as_tls)
1816 # All TARGET_ABI_OSF targets.
1817 alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
1818 AC_CACHE_CHECK([assembler supports explicit relocations],
1819 gcc_cv_as_explicit_relocs, [
1820 gcc_cv_as_explicit_relocs=unknown
1821 if test x$gcc_cv_gas_major_version != x \
1822 -a x$gcc_cv_gas_minor_version != x
1824 if test "$gcc_cv_gas_major_version" -eq 2 \
1825 -a "$gcc_cv_gas_minor_version" -ge 12 \
1826 -o "$gcc_cv_gas_major_version" -gt 2; then
1827 gcc_cv_as_explicit_relocs=yes
1829 elif test x$gcc_cv_as != x; then
1830 cat > conftest.s << 'EOF'
1833 extbl $3, $2, $3 !lituse_bytoff!1
1834 ldq $2, a($29) !literal!1
1835 ldq $4, b($29) !literal!2
1836 ldq_u $3, 0($2) !lituse_base!1
1837 ldq $27, f($29) !literal!5
1838 jsr $26, ($27), f !lituse_jsr!5
1839 ldah $29, 0($26) !gpdisp!3
1840 lda $0, c($29) !gprel
1841 ldah $1, d($29) !gprelhigh
1842 lda $1, d($1) !gprellow
1843 lda $29, 0($29) !gpdisp!3
1845 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1846 gcc_cv_as_explicit_relocs=yes
1848 gcc_cv_as_explicit_relocs=no
1850 rm -f conftest.s conftest.o
1853 if test "x$gcc_cv_as_explicit_relocs" = xyes; then
1854 AC_DEFINE(HAVE_AS_EXPLICIT_RELOCS, 1,
1855 [Define if your assembler supports explicit relocations.])
1859 AC_CACHE_CHECK([assembler .register pseudo-op support],
1860 gcc_cv_as_register_pseudo_op, [
1861 gcc_cv_as_register_pseudo_op=unknown
1862 if test x$gcc_cv_as != x; then
1863 # Check if we have .register
1864 echo ".register %g2, #scratch" > conftest.s
1865 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1866 gcc_cv_as_register_pseudo_op=yes
1868 gcc_cv_as_register_pseudo_op=no
1870 rm -f conftest.s conftest.o
1873 if test "x$gcc_cv_as_register_pseudo_op" = xyes; then
1874 AC_DEFINE(HAVE_AS_REGISTER_PSEUDO_OP, 1,
1875 [Define if your assembler supports .register.])
1878 AC_CACHE_CHECK([assembler supports -relax],
1879 gcc_cv_as_relax_opt, [
1880 gcc_cv_as_relax_opt=unknown
1881 if test x$gcc_cv_as != x; then
1882 # Check if gas supports -relax
1883 echo ".text" > conftest.s
1884 if $gcc_cv_as -relax -o conftest.o conftest.s > /dev/null 2>&1; then
1885 gcc_cv_as_relax_opt=yes
1887 gcc_cv_as_relax_opt=no
1889 rm -f conftest.s conftest.o
1892 if test "x$gcc_cv_as_relax_opt" = xyes; then
1893 AC_DEFINE(HAVE_AS_RELAX_OPTION, 1,
1894 [Define if your assembler supports -relax option.])
1897 AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs],
1898 gcc_cv_as_sparc_ua_pcrel, [
1899 gcc_cv_as_sparc_ua_pcrel=unknown
1900 if test x$gcc_cv_as != x -a x$gcc_cv_ld != x; then
1901 gcc_cv_as_sparc_ua_pcrel=no
1902 echo ".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo)" > conftest.s
1903 if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1 \
1904 && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1; then
1905 gcc_cv_as_sparc_ua_pcrel=yes
1907 rm -f conftest.s conftest.o conftest
1910 if test "x$gcc_cv_as_sparc_ua_pcrel" = xyes; then
1911 AC_DEFINE(HAVE_AS_SPARC_UA_PCREL, 1,
1912 [Define if your assembler and linker support unaligned PC relative relocs.])
1915 AC_CACHE_CHECK([assembler and linker support unaligned pc related relocs against hidden symbols],
1916 gcc_cv_as_sparc_ua_pcrel_hidden, [
1917 if test "x$gcc_cv_as_sparc_ua_pcrel" = xyes; then
1918 gcc_cv_as_sparc_ua_pcrel_hidden=unknown
1919 if test x$gcc_cv_objdump != x; then
1920 gcc_cv_as_sparc_ua_pcrel_hidden=no
1921 echo ".data; .align 4; .byte 0x31; .uaword %r_disp32(foo)" > conftest.s
1922 echo ".byte 0x32, 0x33, 0x34; .global foo; .hidden foo" >> conftest.s
1923 echo "foo: .skip 4" >> conftest.s
1924 if $gcc_cv_as -K PIC -o conftest.o conftest.s > /dev/null 2>&1 \
1925 && $gcc_cv_ld -o conftest conftest.o -G > /dev/null 2>&1 \
1926 && $gcc_cv_objdump -s -j .data conftest 2> /dev/null \
1927 | grep ' 31000000 07323334' > /dev/null 2>&1; then
1928 if $gcc_cv_objdump -R conftest 2> /dev/null \
1929 | grep 'DISP32' > /dev/null 2>&1; then
1932 gcc_cv_as_sparc_ua_pcrel_hidden=yes
1936 rm -f conftest.s conftest.o conftest
1938 gcc_cv_as_sparc_ua_pcrel_hidden="$gcc_cv_as_sparc_ua_pcrel"
1941 if test "x$gcc_cv_as_sparc_ua_pcrel_hidden" = xyes; then
1942 AC_DEFINE(HAVE_AS_SPARC_UA_PCREL_HIDDEN, 1,
1943 [Define if your assembler and linker support unaligned PC relative relocs against hidden symbols.])
1946 if test "x$gcc_cv_as_flags64" != xno; then
1947 AC_CACHE_CHECK([for assembler offsetable %lo() support],
1948 gcc_cv_as_offsetable_lo10, [
1949 gcc_cv_as_offsetable_lo10=unknown
1950 if test "x$gcc_cv_as" != x; then
1951 # Check if assembler has offsetable %lo()
1952 echo "or %g1, %lo(ab) + 12, %g1" > conftest.s
1953 echo "or %g1, %lo(ab + 12), %g1" > conftest1.s
1954 if $gcc_cv_as $gcc_cv_as_flags64 -o conftest.o conftest.s \
1956 $gcc_cv_as $gcc_cv_as_flags64 -o conftest1.o conftest1.s \
1957 > /dev/null 2>&1; then
1958 if cmp conftest.o conftest1.o > /dev/null 2>&1; then
1959 gcc_cv_as_offsetable_lo10=no
1961 gcc_cv_as_offsetable_lo10=yes
1964 gcc_cv_as_offsetable_lo10=no
1966 rm -f conftest.s conftest.o conftest1.s conftest1.o
1969 if test "x$gcc_cv_as_offsetable_lo10" = xyes; then
1970 AC_DEFINE(HAVE_AS_OFFSETABLE_LO10, 1,
1971 [Define if your assembler supports offsetable %lo().])
1978 i[34567]86-*-* | x86_64-*-*)
1980 AC_MSG_CHECKING(assembler instructions)
1981 gcc_cv_as_instructions=
1982 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
1983 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
1984 gcc_cv_as_instructions="filds fists"
1986 elif test x$gcc_cv_as != x; then
1987 set "filds fists" "filds mem; fists mem"
1990 echo "$2" > conftest.s
1991 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
1992 gcc_cv_as_instructions=${gcc_cv_as_instructions}$1" "
1996 rm -f conftest.s conftest.o
1998 if test x"$gcc_cv_as_instructions" != x; then
1999 AC_DEFINE_UNQUOTED(HAVE_GAS_`echo "$gcc_cv_as_instructions" | sed -e 's/ $//' | tr '[a-z ]' '[A-Z_]'`)
2001 AC_MSG_RESULT($gcc_cv_as_instructions)
2003 AC_MSG_CHECKING(assembler GOTOFF in data directives)
2004 gcc_cv_as_gotoff_in_data=no
2005 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x
2007 if test "$gcc_cv_gas_major_version" -eq 2 \
2008 -a "$gcc_cv_gas_minor_version" -ge 11 \
2009 -o "$gcc_cv_gas_major_version" -gt 2; then
2010 gcc_cv_as_gotoff_in_data=yes
2012 elif test x$gcc_cv_as != x; then
2013 cat > conftest.s <<EOF
2020 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
2021 gcc_cv_as_gotoff_in_data=yes
2024 AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA,
2025 [`if test $gcc_cv_as_gotoff_in_data = yes; then echo 1; else echo 0; fi`],
2026 [Define true if the assembler supports '.long foo@GOTOFF'.])
2027 AC_MSG_RESULT($gcc_cv_as_gotoff_in_data)
2031 AC_MSG_CHECKING(assembler dwarf2 debug_line support)
2032 gcc_cv_as_dwarf2_debug_line=no
2033 # ??? Not all targets support dwarf2 debug_line, even within a version
2034 # of gas. Moreover, we need to emit a valid instruction to trigger any
2035 # info to the output file. So, as supported targets are added to gas 2.11,
2036 # add some instruction here to (also) show we expect this might work.
2037 # ??? Once 2.11 is released, probably need to add first known working
2038 # version to the per-target configury.
2040 i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* | x86_64*-*-* | hppa*-*-*)
2047 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
2049 if test "$gcc_cv_gas_major_version" -eq 2 \
2050 -a "$gcc_cv_gas_minor_version" -ge 11 \
2051 -o "$gcc_cv_gas_major_version" -gt 2 \
2052 && grep 'obj_format = elf' ../gas/Makefile > /dev/null \
2053 && test x"$insn" != x ; then
2054 gcc_cv_as_dwarf2_debug_line="yes"
2056 elif test x$gcc_cv_as != x -a x"$insn" != x ; then
2057 echo ' .file 1 "conftest.s"' > conftest.s
2058 echo ' .loc 1 3 0' >> conftest.s
2059 echo " $insn" >> conftest.s
2060 # ??? This fails with non-gnu grep.
2061 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1 \
2062 && grep debug_line conftest.o > /dev/null 2>&1 ; then
2063 # The .debug_line file table must be in the exact order that
2064 # we specified the files, since these indices are also used
2065 # by DW_AT_decl_file. Approximate this test by testing if
2066 # the assembler bitches if the same index is assigned twice.
2067 echo ' .file 1 "foo.s"' > conftest.s
2068 echo ' .file 1 "bar.s"' >> conftest.s
2069 if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1
2071 gcc_cv_as_dwarf2_debug_line="no"
2073 gcc_cv_as_dwarf2_debug_line="yes"
2076 rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
2078 if test x"$gcc_cv_as_dwarf2_debug_line" = xyes; then
2079 AC_DEFINE(HAVE_AS_DWARF2_DEBUG_LINE, 1,
2080 [Define if your assembler supports dwarf2 .file/.loc directives,
2081 and preserves file table indices exactly as given.])
2083 AC_MSG_RESULT($gcc_cv_as_dwarf2_debug_line)
2085 AC_MSG_CHECKING(assembler --gdwarf2 support)
2086 gcc_cv_as_gdwarf2_flag=no
2087 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
2089 if test "$gcc_cv_gas_major_version" -eq 2 \
2090 -a "$gcc_cv_gas_minor_version" -ge 11 \
2091 -o "$gcc_cv_gas_major_version" -gt 2 \
2092 && grep 'obj_format = elf' ../gas/Makefile > /dev/null \
2093 && test x"$insn" != x ; then
2094 gcc_cv_as_gdwarf2_debug_flag="yes"
2096 elif test x$gcc_cv_as != x -a x"$insn" != x ; then
2097 echo '' > conftest.s
2098 # ??? This fails with non-gnu grep.
2099 if $gcc_cv_as --gdwarf2 -o conftest.o conftest.s > /dev/null 2>&1
2101 gcc_cv_as_gdwarf2_flag="yes"
2103 rm -f conftest.s conftest.o
2105 if test x"$gcc_cv_as_gdwarf2_flag" = xyes; then
2106 AC_DEFINE(HAVE_AS_GDWARF2_DEBUG_FLAG, 1,
2107 [Define if your assembler supports the --gdwarf2 option.])
2109 AC_MSG_RESULT($gcc_cv_as_gdwarf2_flag)
2111 AC_MSG_CHECKING(assembler --gstabs support)
2112 gcc_cv_as_gstabs_flag=no
2113 if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
2115 if test "$gcc_cv_gas_major_version" -eq 2 \
2116 -a "$gcc_cv_gas_minor_version" -ge 11 \
2117 -o "$gcc_cv_gas_major_version" -gt 2 \
2118 && grep 'obj_format = elf' ../gas/Makefile > /dev/null \
2119 && test x"$insn" != x ; then
2120 gcc_cv_as_gstabs_debug_flag="yes"
2122 elif test x$gcc_cv_as != x -a x"$insn" != x ; then
2123 echo '' > conftest.s
2124 # ??? This fails with non-gnu grep.
2125 if $gcc_cv_as --gstabs -o conftest.o conftest.s > /dev/null 2>&1 ; then
2126 gcc_cv_as_gstabs_flag="yes"
2128 rm -f conftest.s conftest.o
2130 if test x"$gcc_cv_as_gstabs_flag" = xyes; then
2131 AC_DEFINE(HAVE_AS_GSTABS_DEBUG_FLAG, 1,
2132 [Define if your assembler supports the --gstabs option.])
2134 AC_MSG_RESULT($gcc_cv_as_gstabs_flag)
2136 AC_MSG_CHECKING(linker PT_GNU_EH_FRAME support)
2137 gcc_cv_ld_eh_frame_hdr=no
2138 if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then
2139 if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
2140 gcc_cv_ld_eh_frame_hdr=yes
2142 elif test x$gcc_cv_ld != x; then
2143 # Check if linker supports --eh-frame-hdr option
2144 if $gcc_cv_ld --help 2>/dev/null | grep eh-frame-hdr > /dev/null; then
2145 gcc_cv_ld_eh_frame_hdr=yes
2148 if test x"$gcc_cv_ld_eh_frame_hdr" = xyes; then
2149 AC_DEFINE(HAVE_LD_EH_FRAME_HDR, 1,
2150 [Define if your linker supports --eh-frame-hdr option.])
2152 AC_MSG_RESULT($gcc_cv_ld_eh_frame_hdr)
2154 if test "$prefix" != "/usr" && test "$prefix" != "/usr/local" ; then
2155 AC_DEFINE_UNQUOTED(PREFIX_INCLUDE_DIR, "$prefix/include")
2158 # Figure out what language subdirectories are present.
2159 # Look if the user specified --enable-languages="..."; if not, use
2160 # the environment variable $LANGUAGES if defined. $LANGUAGES might
2162 # NB: embedded tabs in this IF block -- do not untabify
2163 if test x"${enable_languages+set}" != xset; then
2164 if test x"${LANGUAGES+set}" = xset; then
2165 enable_languages="${LANGUAGES}"
2166 AC_MSG_WARN([setting LANGUAGES is deprecated, use --enable-languages instead])
2169 enable_languages=all
2172 if test x"${enable_languages}" = x;
2174 AC_MSG_ERROR([--enable-languages needs at least one language argument])
2177 enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
2179 # First scan to see if an enabled language requires some other language.
2180 # We assume that a given config-lang.in will list all the language
2181 # front ends it requires, even if some are required indirectly.
2182 for lang in ${srcdir}/*/config-lang.in ..
2187 # The odd quoting in the next line works around
2188 # an apparent bug in bash 1.12 on linux.
2190 ${srcdir}/[*]/config-lang.in)
2193 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
2194 this_lang_requires=`sed -n -e 's,^lang_requires=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^lang_requires=\([^ ]*\).*$,\1,p' $lang`
2195 for other in $this_lang_requires
2197 case ,${enable_languages}, in
2203 enable_languages="$enable_languages,$other"
2212 remaining_languages=${enable_languages}
2214 for lang in ${srcdir}/*/config-lang.in ..
2218 # The odd quoting in the next line works around
2219 # an apparent bug in bash 1.12 on linux.
2221 ${srcdir}/[*]/config-lang.in) ;;
2223 lang_alias=`sed -n -e 's,^language=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^language=\([^ ]*\).*$,\1,p' $lang`
2224 this_lang_libs=`sed -n -e 's,^target_libs=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^target_libs=\([^ ]*\).*$,\1,p' $lang`
2225 build_by_default=`sed -n -e 's,^build_by_default=['"'"'"'"]\(.*\)["'"'"'"'].*$,\1,p' -e 's,^build_by_default=\([^ ]*\).*$,\1,p' $lang`
2226 if test "x$lang_alias" = x
2228 echo "$lang doesn't set \$language." 1>&2
2231 case ${build_by_default},${enable_languages}, in
2232 *,$lang_alias,*) add_this_lang=yes ;;
2233 no,*) add_this_lang=no ;;
2234 *,all,*) add_this_lang=yes ;;
2235 *) add_this_lang=no ;;
2237 if test x"${add_this_lang}" = xyes; then
2238 remaining_languages=`echo $remaining_languages | sed -e s/${lang_alias}//g`
2240 ${srcdir}/ada/config-lang.in)
2241 if test x$have_gnat = xyes ; then
2242 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
2246 subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`"
2255 remaining_languages_check=`echo $remaining_languages | sed -e 's/,//g' -e 's/^c$//'g`
2256 if test "xxx$remaining_languages_check" != "xxx" -a "xxx$remaining_languages_check" != "xxxall" ; then
2257 remaining_languages_clean=`echo $remaining_languages | sed -e 's/^c,//' -e 's/,c,/,/' -e 's/,c$//' -e 's/^c$//' -e 's/,,*/,/g' -e 's/^,//g' -e 's/,$//g' `
2258 echo "Language alias(es) not found: $remaining_languages_clean"
2259 echo "Refer to the configure instructions in the doc directory"
2263 # Make gthr-default.h if we have a thread file.
2265 if test $thread_file != single; then
2266 rm -f gthr-default.h
2267 echo "#include \"gthr-${thread_file}.h\"" > gthr-default.h
2268 gthread_flags=-DHAVE_GTHR_DEFAULT
2270 AC_SUBST(gthread_flags)
2272 # Find out what GC implementation we want, or may, use.
2274 [ --with-gc={simple,page} choose the garbage collection mechanism to use
2281 AC_MSG_ERROR([$withval is an invalid option to --with-gc])
2286 echo "Using $GGC for garbage collection."
2288 # Use the system's zlib library.
2290 zlibinc="-I\$(srcdir)/../zlib"
2291 AC_ARG_WITH(system-zlib,
2292 [ --with-system-zlib use installed libz],
2299 dnl Very limited version of automake's enable-maintainer-mode
2301 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
2302 dnl maintainer-mode is disabled by default
2303 AC_ARG_ENABLE(maintainer-mode,
2304 [ --enable-maintainer-mode
2305 enable make rules and dependencies not useful
2306 (and sometimes confusing) to the casual installer],
2307 maintainer_mode=$enableval,
2310 AC_MSG_RESULT($maintainer_mode)
2312 if test "$maintainer_mode" = "yes"; then
2319 # With Setjmp/Longjmp based exception handling.
2320 AC_ARG_ENABLE(sjlj-exceptions,
2321 [ --enable-sjlj-exceptions
2322 arrange to use setjmp/longjmp exception handling],
2323 [sjlj=`if test $enableval = yes; then echo 1; else echo 0; fi`
2324 AC_DEFINE_UNQUOTED(CONFIG_SJLJ_EXCEPTIONS, $sjlj,
2325 [Define 0/1 to force the choice for exception handling model.])])
2327 # Make empty files to contain the specs and options for each language.
2328 # Then add #include lines to for a compiler that has specs and/or options.
2333 for subdir in . $subdirs
2335 if test -f $srcdir/$subdir/lang-specs.h; then
2336 lang_specs_files="$lang_specs_files $srcdir/$subdir/lang-specs.h"
2338 if test -f $srcdir/$subdir/lang-options.h; then
2339 lang_options_files="$lang_options_files $srcdir/$subdir/lang-options.h"
2341 if test -f $srcdir/$subdir/$subdir-tree.def; then
2342 lang_tree_files="$lang_tree_files $srcdir/$subdir/$subdir-tree.def"
2346 # These (without "all_") are set in each config-lang.in.
2347 # `language' must be a single word so is spelled singularly.
2352 all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
2353 # List of language makefile fragments.
2355 # Files for gengtype
2356 all_gtfiles="$config_gtfiles"
2358 # Add the language fragments.
2359 # Languages are added via two mechanisms. Some information must be
2360 # recorded in makefile variables, these are defined in config-lang.in.
2361 # We accumulate them and plug them into the main Makefile.
2362 # The other mechanism is a set of hooks for each of the main targets
2363 # like `clean', `install', etc.
2365 language_fragments="Make-lang"
2366 language_hooks="Make-hooks"
2368 for s in .. $subdirs
2378 . ${srcdir}/$s/config-lang.in
2379 if test "x$language" = x
2381 echo "${srcdir}/$s/config-lang.in doesn't set \$language." 1>&2
2384 all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Make-lang.in"
2385 if test -f ${srcdir}/$s/Makefile.in
2386 then all_lang_makefiles="$all_lang_makefiles ${srcdir}/$s/Makefile.in"
2388 all_languages="$all_languages $language"
2389 if test "x$boot_language" = xyes
2391 all_boot_languages="$all_boot_languages $language"
2393 all_compilers="$all_compilers $compilers"
2394 all_stagestuff="$all_stagestuff $stagestuff"
2395 all_outputs="$all_outputs $outputs"
2396 all_gtfiles="$all_gtfiles $gtfiles"
2401 for language in .. $all_languages
2403 if test $language != ".."
2405 check_languages="$check_languages check-$language"
2409 # Since we can't use `::' targets, we link each language in
2410 # with a set of hooks, reached indirectly via lang.${target}.
2414 target_list="all.build all.cross start.encap rest.encap \
2415 info dvi generated-manpages \
2416 install-normal install-common install-info install-man \
2418 mostlyclean clean distclean extraclean maintainer-clean \
2419 stage1 stage2 stage3 stage4"
2420 for t in $target_list
2423 for lang in .. $all_languages
2425 if test $lang != ".."; then
2429 echo "lang.$t: $x" >> Make-hooks
2434 echo "dir ." > .gdbinit
2435 echo "dir ${srcdir}" >> .gdbinit
2436 if test x$gdb_needs_out_file_path = xyes
2438 echo "dir ${srcdir}/config/"`dirname ${out_file}` >> .gdbinit
2440 if test "x$subdirs" != x; then
2443 echo "dir ${srcdir}/$s" >> .gdbinit
2446 echo "source ${srcdir}/gdbinit.in" >> .gdbinit
2448 # Define variables host_canonical and build_canonical
2449 # because some Cygnus local changes in the Makefile depend on them.
2450 build_canonical=${build}
2451 host_canonical=${host}
2453 if test "${host}" != "${target}" ; then
2454 target_subdir=${target_alias}/
2456 AC_SUBST(build_canonical)
2457 AC_SUBST(host_canonical)
2458 AC_SUBST(target_subdir)
2460 # If $(exec_prefix) exists and is not the same as $(prefix), then compute an
2461 # absolute path for gcc_tooldir based on inserting the number of up-directory
2462 # movements required to get from $(exec_prefix) to $(prefix) into the basic
2463 # $(libsubdir)/@(unlibsubdir) based path.
2464 # Don't set gcc_tooldir to tooldir since that's only passed in by the toplevel
2465 # make and thus we'd get different behavior depending on where we built the
2467 if test x$exec_prefix = xNONE -o x$exec_prefix = x$prefix; then
2468 gcc_tooldir='$(libsubdir)/$(unlibsubdir)/../$(target_alias)'
2470 changequote(<<, >>)dnl
2471 # An explanation of the sed strings:
2472 # -e 's|^\$(prefix)||' matches and eliminates 'prefix' from 'exec_prefix'
2473 # -e 's|/$||' match a trailing forward slash and eliminates it
2474 # -e 's|^[^/]|/|' forces the string to start with a forward slash (*)
2475 # -e 's|/[^/]*|../|g' replaces each occurrence of /<directory> with ../
2477 # (*) Note this pattern overwrites the first character of the string
2478 # with a forward slash if one is not already present. This is not a
2479 # problem because the exact names of the sub-directories concerned is
2480 # unimportant, just the number of them matters.
2482 # The practical upshot of these patterns is like this:
2484 # prefix exec_prefix result
2485 # ------ ----------- ------
2487 # /foo/ /foo/bar ../
2488 # /foo /foo/bar/ ../
2489 # /foo/ /foo/bar/ ../
2490 # /foo /foo/bar/ugg ../../
2493 gcc_tooldir="\$(libsubdir)/\$(unlibsubdir)/\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/\$(dollar)||' -e 's|^[^/]|/|' -e 's|/[^/]*|../|g'\`\$(target_alias)"
2494 changequote([, ])dnl
2496 AC_SUBST(gcc_tooldir)
2499 # Find a directory in which to install a shared libgcc.
2501 AC_ARG_ENABLE(version-specific-runtime-libs,
2502 [ --enable-version-specific-runtime-libs
2503 specify that runtime libraries should be
2504 installed in a compiler-specific directory])
2506 AC_ARG_WITH(slibdir,
2507 [ --with-slibdir=DIR shared libraries in DIR [LIBDIR]],
2508 slibdir="$with_slibdir",
2509 if test "${enable_version_specific_runtime_libs+set}" = set; then
2510 slibdir='$(libsubdir)'
2511 elif test "$host" != "$target"; then
2512 slibdir='$(build_tooldir)/lib'
2518 # Nothing to do for FLOAT_H, float_format already handled.
2519 objdir=`${PWDCMD-pwd}`
2522 # Process the language and host/target makefile fragments.
2523 ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xmake_file" "$dep_tmake_file"
2525 # Substitute configuration variables
2527 AC_SUBST(all_boot_languages)
2528 AC_SUBST(all_compilers)
2529 AC_SUBST(all_gtfiles)
2530 AC_SUBST(all_lang_makefiles)
2531 AC_SUBST(all_languages)
2532 AC_SUBST(all_stagestuff)
2533 AC_SUBST(build_exeext)
2534 AC_SUBST(build_install_headers_dir)
2535 AC_SUBST(build_xm_file_list)
2536 AC_SUBST(build_xm_file)
2537 AC_SUBST(build_xm_defines)
2538 AC_SUBST(check_languages)
2539 AC_SUBST(cc_set_by_configure)
2540 AC_SUBST(quoted_cc_set_by_configure)
2541 AC_SUBST(cpp_install_dir)
2542 AC_SUBST(dep_host_xmake_file)
2543 AC_SUBST(dep_tmake_file)
2544 AC_SUBST(extra_headers_list)
2545 AC_SUBST(extra_objs)
2546 AC_SUBST(extra_parts)
2547 AC_SUBST(extra_passes)
2548 AC_SUBST(extra_programs)
2549 AC_SUBST(float_h_file)
2550 AC_SUBST(gcc_config_arguments)
2551 AC_SUBST(gcc_gxx_include_dir)
2552 AC_SUBST(libstdcxx_incdir)
2553 AC_SUBST(gcc_version)
2554 AC_SUBST(gcc_version_full)
2555 AC_SUBST(gcc_version_trigger)
2556 AC_SUBST(host_exeext)
2557 AC_SUBST(host_extra_gcc_objs)
2558 AC_SUBST(host_xm_file_list)
2559 AC_SUBST(host_xm_file)
2560 AC_SUBST(host_xm_defines)
2562 AC_SUBST(lang_options_files)
2563 AC_SUBST(lang_specs_files)
2564 AC_SUBST(lang_tree_files)
2565 AC_SUBST(local_prefix)
2567 AC_SUBST(objc_boehm_gc)
2569 AC_SUBST(out_object_file)
2570 AC_SUBST(stage_prefix_set_by_configure)
2571 AC_SUBST(quoted_stage_prefix_set_by_configure)
2572 AC_SUBST(symbolic_link)
2573 AC_SUBST(thread_file)
2574 AC_SUBST(tm_file_list)
2576 AC_SUBST(tm_p_file_list)
2579 AC_SUBST(xm_defines)
2580 AC_SUBST(target_alias)
2581 AC_SUBST(c_target_objs)
2582 AC_SUBST(cxx_target_objs)
2583 AC_SUBST(target_cpu_default)
2585 AC_SUBST_FILE(target_overrides)
2586 AC_SUBST_FILE(host_overrides)
2587 AC_SUBST_FILE(language_fragments)
2588 AC_SUBST_FILE(language_hooks)
2590 # Echo that links are built
2591 if test x$host = x$target
2599 if test x$host != x$build
2601 str3=" on a $build system"
2604 if test "x$str2" != x || test "x$str3" != x
2609 echo "Links are now set up to build a ${str1}compiler for ${target}$str4" 1>&2
2611 if test "x$str2" != x || test "x$str3" != x
2613 echo " ${str2}${str3}." 1>&2
2616 # Truncate the target if necessary
2617 if test x$host_truncate_target != x; then
2618 target=`echo $target | sed -e 's/\(..............\).*/\1/'`
2621 # Configure the subdirectories
2622 # AC_CONFIG_SUBDIRS($subdirs)
2624 # Create the Makefile
2625 # and configure language subdirectories
2626 AC_OUTPUT($all_outputs,
2628 case x$CONFIG_HEADERS in
2629 xauto-host.h:config.in)
2632 # If the host supports symlinks, point stage[1234] at ../stage[1234] so
2633 # bootstrapping and the installation procedure can still use
2634 # CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
2635 # FLAGS_TO_PASS has been modified to solve the problem there.
2636 # This is virtually a duplicate of what happens in configure.lang; we do
2637 # an extra check to make sure this only happens if ln -s can be used.
2638 if test "$symbolic_link" = "ln -s"; then
2639 for d in .. ${subdirs} fixinc ; do
2640 if test $d != ..; then
2641 STARTDIR=`${PWDCMD-pwd}`
2643 for t in stage1 stage2 stage3 stage4 include
2646 $symbolic_link ../$t $t 2>/dev/null
2652 # Avoid having to add intl to our include paths.
2653 if test -f intl/libintl.h; then
2654 echo creating libintl.h
2655 echo '#include "intl/libintl.h"' >libintl.h
2659 symbolic_link='$symbolic_link'