1 sinclude(../config/acx.m4)
2 sinclude(../config/accross.m4)
3 sinclude(../config/gettext.m4)
4 sinclude(../config/progtest.m4)
6 dnl See if stdbool.h properly defines bool and true/false.
7 AC_DEFUN([gcc_AC_HEADER_STDBOOL],
8 [AC_CACHE_CHECK([for working stdbool.h],
9 ac_cv_header_stdbool_h,
10 [AC_TRY_COMPILE([#include <stdbool.h>],
12 ac_cv_header_stdbool_h=yes, ac_cv_header_stdbool_h=no)])
13 if test $ac_cv_header_stdbool_h = yes; then
14 AC_DEFINE(HAVE_STDBOOL_H, 1,
15 [Define if you have a working <stdbool.h> header file.])
19 dnl See whether we can include both string.h and strings.h.
20 AC_DEFUN([gcc_AC_HEADER_STRING],
21 [AC_CACHE_CHECK([whether string.h and strings.h may both be included],
23 [AC_TRY_COMPILE([#include <string.h>
24 #include <strings.h>], , gcc_cv_header_string=yes, gcc_cv_header_string=no)])
25 if test $gcc_cv_header_string = yes; then
26 AC_DEFINE(STRING_WITH_STRINGS, 1, [Define if you can safely include both <string.h> and <strings.h>.])
30 dnl See whether we need a declaration for a function.
31 dnl The result is highly dependent on the INCLUDES passed in, so make sure
32 dnl to use a different cache variable name in this macro if it is invoked
33 dnl in a different context somewhere else.
34 dnl gcc_AC_CHECK_DECL(SYMBOL,
35 dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
36 AC_DEFUN([gcc_AC_CHECK_DECL],
37 [AC_MSG_CHECKING([whether $1 is declared])
38 AC_CACHE_VAL(gcc_cv_have_decl_$1,
41 char *(*pfn) = (char *(*)) $1 ;
42 #endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
43 if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
44 AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
46 AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
50 dnl Check multiple functions to see whether each needs a declaration.
51 dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
52 dnl gcc_AC_CHECK_DECLS(SYMBOLS,
53 dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
54 AC_DEFUN([gcc_AC_CHECK_DECLS],
58 ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
60 gcc_AC_CHECK_DECL($ac_func,
61 [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
62 [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
63 dnl It is possible that the include files passed in here are local headers
64 dnl which supply a backup declaration for the relevant prototype based on
65 dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test
66 dnl will always return success. E.g. see libiberty.h's handling of
67 dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to
68 dnl 1 so that any local headers used do not provide their own prototype
75 dnl Automatically generate config.h entries via autoheader.
77 patsubst(translit([$1], [a-z], [A-Z]), [\w+],
78 [AC_DEFINE([HAVE_DECL_\&], 1,
79 [Define to 1 if we found this declaration otherwise define to 0.])])dnl
83 dnl 'make compare' can be significantly faster, if cmp itself can
84 dnl skip bytes instead of using tail. The test being performed is
85 dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2"
86 dnl but we need to sink errors and handle broken shells. We also test
87 dnl for the parameter format "cmp file1 file2 skip1 skip2" which is
88 dnl accepted by cmp on some systems.
89 AC_DEFUN([gcc_AC_PROG_CMP_IGNORE_INITIAL],
90 [AC_CACHE_CHECK([for cmp's capabilities], gcc_cv_prog_cmp_skip,
93 gcc_cv_prog_cmp_skip=slowcompare
94 if cmp --ignore-initial=2 t1 t2 > /dev/null 2>&1; then
95 if cmp --ignore-initial=1 t1 t2 > /dev/null 2>&1; then
98 gcc_cv_prog_cmp_skip=gnucompare
101 if test $gcc_cv_prog_cmp_skip = slowcompare ; then
102 if cmp t1 t2 2 2 > /dev/null 2>&1; then
103 if cmp t1 t2 1 1 > /dev/null 2>&1; then
106 gcc_cv_prog_cmp_skip=fastcompare
112 make_compare_target=$gcc_cv_prog_cmp_skip
113 AC_SUBST(make_compare_target)
116 dnl See if the printf functions in libc support %p in format strings.
117 AC_DEFUN([gcc_AC_FUNC_PRINTF_PTR],
118 [AC_CACHE_CHECK(whether the printf functions support %p,
119 gcc_cv_func_printf_ptr,
120 [AC_TRY_RUN([#include <stdio.h>
125 char *p = buf, *q = NULL;
126 sprintf(buf, "%p", p);
127 sscanf(buf, "%p", &q);
129 }], gcc_cv_func_printf_ptr=yes, gcc_cv_func_printf_ptr=no,
130 gcc_cv_func_printf_ptr=no)
131 rm -f core core.* *.core])
132 if test $gcc_cv_func_printf_ptr = yes ; then
133 AC_DEFINE(HAVE_PRINTF_PTR, 1, [Define if printf supports "%p".])
137 dnl See if symbolic links work and if not, try to substitute either hard links or simple copy.
138 AC_DEFUN([gcc_AC_PROG_LN_S],
139 [AC_MSG_CHECKING(whether ln -s works)
140 AC_CACHE_VAL(gcc_cv_prog_LN_S,
141 [rm -f conftestdata_t
143 if ln -s conftestdata_f conftestdata_t 2>/dev/null
145 gcc_cv_prog_LN_S="ln -s"
147 if ln conftestdata_f conftestdata_t 2>/dev/null
154 rm -f conftestdata_f conftestdata_t
156 LN_S="$gcc_cv_prog_LN_S"
157 if test "$gcc_cv_prog_LN_S" = "ln -s"; then
160 if test "$gcc_cv_prog_LN_S" = "ln"; then
161 AC_MSG_RESULT([no, using ln])
163 AC_MSG_RESULT([no, and neither does ln, so using cp])
169 dnl See if hard links work and if not, try to substitute either symbolic links or simple copy.
170 AC_DEFUN([gcc_AC_PROG_LN],
171 [AC_MSG_CHECKING(whether ln works)
172 AC_CACHE_VAL(gcc_cv_prog_LN,
173 [rm -f conftestdata_t
175 if ln conftestdata_f conftestdata_t 2>/dev/null
179 if ln -s conftestdata_f conftestdata_t 2>/dev/null
181 gcc_cv_prog_LN="ln -s"
186 rm -f conftestdata_f conftestdata_t
189 if test "$gcc_cv_prog_LN" = "ln"; then
192 if test "$gcc_cv_prog_LN" = "ln -s"; then
193 AC_MSG_RESULT([no, using ln -s])
195 AC_MSG_RESULT([no, and neither does ln -s, so using cp])
201 dnl Check whether _Bool is built-in.
202 AC_DEFUN([gcc_AC_C__BOOL],
203 [AC_CACHE_CHECK(for built-in _Bool, gcc_cv_c__bool,
206 gcc_cv_c__bool=yes, gcc_cv_c__bool=no)
208 if test $gcc_cv_c__bool = yes; then
209 AC_DEFINE(HAVE__BOOL, 1, [Define if the \`_Bool' type is built-in.])
213 dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
215 AC_DEFUN([gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG],
216 [AC_CACHE_CHECK([if mkdir takes one argument], gcc_cv_mkdir_takes_one_arg,
218 #include <sys/types.h>
219 #ifdef HAVE_SYS_STAT_H
220 # include <sys/stat.h>
227 #endif], [mkdir ("foo", 0);],
228 gcc_cv_mkdir_takes_one_arg=no, gcc_cv_mkdir_takes_one_arg=yes)])
229 if test $gcc_cv_mkdir_takes_one_arg = yes ; then
230 AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.])
234 AC_DEFUN([gcc_AC_PROG_INSTALL],
235 [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
236 # Find a good install program. We prefer a C program (faster),
237 # so one script is as good as another. But avoid the broken or
238 # incompatible versions:
239 # SysV /etc/install, /usr/sbin/install
240 # SunOS /usr/etc/install
243 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
244 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
245 # ./install, which can be erroneously created by make from ./install.sh.
246 AC_MSG_CHECKING(for a BSD compatible install)
247 if test -z "$INSTALL"; then
248 AC_CACHE_VAL(ac_cv_path_install,
249 [ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
250 for ac_dir in $PATH; do
251 # Account for people who put trailing slashes in PATH elements.
253 /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
255 # OSF1 and SCO ODT 3.0 have their own names for install.
256 for ac_prog in ginstall scoinst install; do
257 if test -f $ac_dir/$ac_prog; then
258 if test $ac_prog = install &&
259 grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
260 # AIX install. It has an incompatible calling convention.
261 # OSF/1 installbsd also uses dspmsg, but is usable.
264 ac_cv_path_install="$ac_dir/$ac_prog -c"
274 if test "${ac_cv_path_install+set}" = set; then
275 INSTALL="$ac_cv_path_install"
277 # As a last resort, use the slow shell script. We don't cache a
278 # path for INSTALL within a source directory, because that will
279 # break other packages using the cache if that directory is
280 # removed, or if the path is relative.
281 INSTALL="$ac_install_sh"
284 dnl We do special magic for INSTALL instead of AC_SUBST, to get
285 dnl relative paths right.
286 AC_MSG_RESULT($INSTALL)
289 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
290 # It thinks the first close brace ends the variable substitution.
291 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
292 AC_SUBST(INSTALL_PROGRAM)dnl
294 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
295 AC_SUBST(INSTALL_DATA)dnl
299 dnl We require the gnatbind program, and a compiler driver that
300 dnl understands Ada. We use the user's CC setting, already found.
302 dnl Sets the shell variable have_gnat to yes or no as appropriate, and
303 dnl substitutes GNATBIND.
304 AC_DEFUN([gcc_AC_PROG_GNAT],
305 [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
306 AC_REQUIRE([AC_PROG_CC])
307 AC_CHECK_TOOL(GNATBIND, gnatbind, no)
308 AC_CACHE_CHECK([whether compiler driver understands Ada],
309 gcc_cv_cc_supports_ada,
310 [cat >conftest.adb <<EOF
311 procedure conftest is begin null; end conftest;
313 gcc_cv_cc_supports_ada=no
314 # There is a bug in old released versions of GCC which causes the
315 # driver to exit successfully when the appropriate language module
316 # has not been installed. This is fixed in 2.95.4, 3.0.2, and 3.1.
317 # Therefore we must check for the error message as well as an
319 # Other compilers, like HP Tru64 UNIX cc, exit successfully when
320 # given a .adb file, but produce no object file. So we must check
321 # if an object file was really produced to guard against this.
322 errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
323 if test x"$errors" = x && test -f conftest.$ac_objext; then
324 gcc_cv_cc_supports_ada=yes
329 if test x$GNATBIND != xno && test x$gcc_cv_cc_supports_ada != xno; then
336 dnl GCC_PATH_PROG(VARIABLE, PROG-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND [, PATH]])
337 dnl like AC_PATH_PROG but use other cache variables
338 AC_DEFUN([GCC_PATH_PROG],
339 [# Extract the first word of "$2", so it can be a program name with args.
340 set dummy $2; ac_word=[$]2
341 AC_MSG_CHECKING([for $ac_word])
342 AC_CACHE_VAL(gcc_cv_path_$1,
345 gcc_cv_path_$1="[$]$1" # Let the user override the test with a path.
348 gcc_cv_path_$1="[$]$1" # Let the user override the test with a dos path.
351 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
352 dnl $ac_dummy forces splitting on constant user-supplied paths.
353 dnl POSIX.2 word splitting is done only on the output of word expansions,
354 dnl not every word. This closes a longstanding sh security hole.
355 ac_dummy="ifelse([$4], , $PATH, [$4])"
356 for ac_dir in $ac_dummy; do
357 test -z "$ac_dir" && ac_dir=.
358 if test -f $ac_dir/$ac_word; then
359 gcc_cv_path_$1="$ac_dir/$ac_word"
364 dnl If no 3rd arg is given, leave the cache variable unset,
365 dnl so GCC_PATH_PROGS will keep looking.
366 ifelse([$3], , , [ test -z "[$]gcc_cv_path_$1" && gcc_cv_path_$1="$3"
371 if test -n "[$]$1"; then
379 # mmap(2) blacklisting. Some platforms provide the mmap library routine
380 # but don't support all of the features we need from it.
381 AC_DEFUN([gcc_AC_FUNC_MMAP_BLACKLIST],
382 [if test $ac_cv_header_sys_mman_h != yes \
383 || test $ac_cv_func_mmap != yes; then
384 gcc_cv_func_mmap_file=no
385 gcc_cv_func_mmap_dev_zero=no
386 gcc_cv_func_mmap_anon=no
388 AC_CACHE_CHECK([whether read-only mmap of a plain file works],
389 gcc_cv_func_mmap_file,
390 [# Add a system to this blacklist if
391 # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
392 # memory area containing the same data that you'd get if you applied
393 # read() to the same fd. The only system known to have a problem here
394 # is VMS, where text files have record structure.
397 gcc_cv_func_mmap_file=no ;;
399 gcc_cv_func_mmap_file=yes;;
401 AC_CACHE_CHECK([whether mmap from /dev/zero works],
402 gcc_cv_func_mmap_dev_zero,
403 [# Add a system to this blacklist if it has mmap() but /dev/zero
404 # does not exist, or if mmapping /dev/zero does not give anonymous
405 # zeroed pages with both the following properties:
406 # 1. If you map N consecutive pages in with one call, and then
407 # unmap any subset of those pages, the pages that were not
408 # explicitly unmapped remain accessible.
409 # 2. If you map two adjacent blocks of memory and then unmap them
410 # both at once, they must both go away.
411 # Systems known to be in this category are Windows (all variants),
414 vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
415 gcc_cv_func_mmap_dev_zero=no ;;
417 gcc_cv_func_mmap_dev_zero=yes;;
420 # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
421 AC_CACHE_CHECK([for MAP_ANON(YMOUS)], gcc_cv_decl_map_anon,
423 [#include <sys/types.h>
424 #include <sys/mman.h>
427 #ifndef MAP_ANONYMOUS
428 #define MAP_ANONYMOUS MAP_ANON
431 [int n = MAP_ANONYMOUS;],
432 gcc_cv_decl_map_anon=yes,
433 gcc_cv_decl_map_anon=no)])
435 if test $gcc_cv_decl_map_anon = no; then
436 gcc_cv_func_mmap_anon=no
438 AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works],
439 gcc_cv_func_mmap_anon,
440 [# Add a system to this blacklist if it has mmap() and MAP_ANON or
441 # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
442 # doesn't give anonymous zeroed pages with the same properties listed
443 # above for use of /dev/zero.
444 # Systems known to be in this category are Windows, VMS, and SCO Unix.
446 vms* | cygwin* | pe | mingw* | sco* | udk* )
447 gcc_cv_func_mmap_anon=no ;;
449 gcc_cv_func_mmap_anon=yes;;
454 if test $gcc_cv_func_mmap_file = yes; then
455 AC_DEFINE(HAVE_MMAP_FILE, 1,
456 [Define if read-only mmap of a plain file works.])
458 if test $gcc_cv_func_mmap_dev_zero = yes; then
459 AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
460 [Define if mmap of /dev/zero works.])
462 if test $gcc_cv_func_mmap_anon = yes; then
463 AC_DEFINE(HAVE_MMAP_ANON, 1,
464 [Define if mmap with MAP_ANON(YMOUS) works.])
468 dnl Locate a program and check that its version is acceptable.
469 dnl AC_PROG_CHECK_VER(var, name, version-switch,
470 dnl version-extract-regexp, version-glob)
471 AC_DEFUN([gcc_AC_CHECK_PROG_VER],
472 [AC_CHECK_PROG([$1], [$2], [$2])
473 if test -n "[$]$1"; then
474 # Found it, now check the version.
475 AC_CACHE_CHECK(for modern $2, gcc_cv_prog_$2_modern,
476 [changequote(<<,>>)dnl
477 ac_prog_version=`<<$>>$1 $3 2>&1 |
478 sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'`
480 echo "configure:__oline__: version of $2 is $ac_prog_version" >&AC_FD_CC
481 changequote(<<,>>)dnl
482 case $ac_prog_version in
483 '') gcc_cv_prog_$2_modern=no;;
485 gcc_cv_prog_$2_modern=yes;;
486 *) gcc_cv_prog_$2_modern=no;;
491 gcc_cv_prog_$2_modern=no
495 dnl Determine if enumerated bitfields are unsigned. ISO C says they can
496 dnl be either signed or unsigned.
498 AC_DEFUN([gcc_AC_C_ENUM_BF_UNSIGNED],
499 [AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
500 [AC_TRY_RUN(#include <stdlib.h>
501 enum t { BLAH = 128 } ;
502 struct s_t { enum t member : 8; } s ;
506 if (s.member < 0) exit(1);
509 }, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
510 if test $gcc_cv_enum_bf_unsigned = yes; then
511 AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
512 [Define if enumerated bitfields are treated as unsigned values.])
515 dnl Probe number of bits in a byte.
516 dnl Note C89 requires CHAR_BIT >= 8.
518 AC_DEFUN([gcc_AC_C_CHAR_BIT],
519 [AC_CACHE_CHECK(for CHAR_BIT, gcc_cv_decl_char_bit,
521 [#ifdef HAVE_LIMITS_H
526 #endif], gcc_cv_decl_char_bit=yes, gcc_cv_decl_char_bit=no)
528 if test $gcc_cv_decl_char_bit = no; then
529 AC_CACHE_CHECK(number of bits in a byte, gcc_cv_c_nbby,
532 while test $i -lt 65; do
535 case (unsigned char)((unsigned long)1 << $i) == ((unsigned long)1 << $i):
536 case (unsigned char)((unsigned long)1<<($i-1)) == ((unsigned long)1<<($i-1)):
538 [gcc_cv_c_nbby=$i; break])
541 test -z "$gcc_cv_c_nbby" && gcc_cv_c_nbby=failed
543 if test $gcc_cv_c_nbby = failed; then
544 AC_MSG_ERROR(cannot determine number of bits in a byte)
546 AC_DEFINE_UNQUOTED(CHAR_BIT, $gcc_cv_c_nbby,
547 [Define as the number of bits in a byte, if \`limits.h' doesn't.])
551 dnl Checking for long long.
552 dnl By Caolan McNamara <caolan@skynet.ie>
553 dnl Added check for __int64, Zack Weinberg <zackw@stanford.edu>
555 AC_DEFUN([gcc_AC_C_LONG_LONG],
556 [AC_CACHE_CHECK(for long long int, ac_cv_c_long_long,
557 [AC_TRY_COMPILE(,[long long int i;],
558 ac_cv_c_long_long=yes,
559 ac_cv_c_long_long=no)])
560 if test $ac_cv_c_long_long = yes; then
561 AC_DEFINE(HAVE_LONG_LONG, 1,
562 [Define if your compiler supports the \`long long' type.])
564 AC_CACHE_CHECK(for __int64, ac_cv_c___int64,
565 [AC_TRY_COMPILE(,[__int64 i;],
567 ac_cv_c___int64=no)])
568 if test $ac_cv_c___int64 = yes; then
569 AC_DEFINE(HAVE___INT64, 1,
570 [Define if your compiler supports the \`__int64' type.])
576 dnl From Bruno Haible.
580 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
581 dnl those with the standalone portable GNU libiconv installed).
583 am_cv_lib_iconv_ldpath=
584 AC_ARG_WITH([libiconv-prefix],
585 [ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
586 for dir in `echo "$withval" | tr : ' '`; do
587 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
588 if test -d $dir/lib; then am_cv_lib_iconv_ldpath="-L$dir/lib"; fi
592 AC_CHECK_HEADERS([iconv.h])
594 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
595 am_cv_func_iconv="no, consider installing GNU libiconv"
597 AC_TRY_LINK([#include <stdlib.h>
599 [iconv_t cd = iconv_open("","");
600 iconv(cd,NULL,NULL,NULL,NULL);
602 am_cv_func_iconv=yes)
603 if test "$am_cv_func_iconv" != yes; then
605 LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
606 AC_TRY_LINK([#include <stdlib.h>
608 [iconv_t cd = iconv_open("","");
609 iconv(cd,NULL,NULL,NULL,NULL);
612 am_cv_func_iconv=yes)
616 if test "$am_cv_func_iconv" = yes; then
617 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
618 AC_MSG_CHECKING([for iconv declaration])
619 AC_CACHE_VAL(am_cv_proto_iconv, [
627 #if defined(__STDC__) || defined(__cplusplus)
628 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
632 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
633 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
634 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
635 AC_MSG_RESULT([$]{ac_t:-
636 }[$]am_cv_proto_iconv)
637 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
638 [Define as const if the declaration of iconv() needs const.])
641 if test "$am_cv_lib_iconv" = yes; then
642 LIBICONV="$am_cv_lib_iconv_ldpath -liconv"
647 AC_DEFUN([gcc_AC_INITFINI_ARRAY],
648 [AC_ARG_ENABLE(initfini-array,
649 [ --enable-initfini-array use .init_array/.fini_array sections],
651 AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
652 gcc_cv_initfini_array, [dnl
655 int main (void) { return x; }
656 int foo (void) { x = 0; }
657 int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;],
658 [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no],
659 [gcc_cv_initfini_array=no])])
660 enable_initfini_array=$gcc_cv_initfini_array
662 if test $enable_initfini_array = yes; then
663 AC_DEFINE(HAVE_INITFINI_ARRAY, 1,
664 [Define .init_array/.fini_array sections are available and working.])
667 dnl # _gcc_COMPUTE_GAS_VERSION
668 dnl # Used by gcc_GAS_VERSION_GTE_IFELSE
671 dnl # gcc_cv_as_gas_srcdir must be defined before this.
672 dnl # This gross requirement will go away eventually.
673 AC_DEFUN([_gcc_COMPUTE_GAS_VERSION],
674 [gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
675 for f in $gcc_cv_as_bfd_srcdir/configure \
676 $gcc_cv_as_gas_srcdir/configure \
677 $gcc_cv_as_gas_srcdir/configure.in \
678 $gcc_cv_as_gas_srcdir/Makefile.in ; do
679 gcc_cv_gas_version=`grep '^VERSION=[[0-9]]*\.[[0-9]]*' $f`
680 if test x$gcc_cv_gas_version != x; then
684 gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
685 gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
686 gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)"`
687 case $gcc_cv_gas_patch_version in
688 "") gcc_cv_gas_patch_version="0" ;;
690 gcc_cv_gas_vers=`expr \( \( $gcc_cv_gas_major_version \* 1000 \) \
691 + $gcc_cv_gas_minor_version \) \* 1000 \
692 + $gcc_cv_gas_patch_version`
693 ]) []dnl # _gcc_COMPUTE_GAS_VERSION
695 dnl # gcc_GAS_VERSION_GTE_IFELSE([elf,] major, minor, patchlevel,
696 dnl # [command_if_true = :], [command_if_false = :])
697 dnl # Check to see if the version of GAS is greater than or
698 dnl # equal to the specified version.
700 dnl # The first ifelse() shortens the shell code if the patchlevel
701 dnl # is unimportant (the usual case). The others handle missing
702 dnl # commands. Note that the tests are structured so that the most
703 dnl # common version number cases are tested first.
704 AC_DEFUN([_gcc_GAS_VERSION_GTE_IFELSE],
706 [if test $in_tree_gas_is_elf = yes \
708 [if]) test $gcc_cv_gas_vers -ge `expr \( \( $2 \* 1000 \) + $3 \) \* 1000 + $4`
710 ifelse([$5],,:,[$5])[]dnl
715 AC_DEFUN([gcc_GAS_VERSION_GTE_IFELSE],
716 [AC_REQUIRE([_gcc_COMPUTE_GAS_VERSION])dnl
717 ifelse([$1], elf, [_gcc_GAS_VERSION_GTE_IFELSE($@)],
718 [_gcc_GAS_VERSION_GTE_IFELSE(,$@)])])
720 dnl gcc_GAS_CHECK_FEATURE(description, cv, [[elf,]major,minor,patchlevel],
721 dnl [extra switches to as], [assembler input],
722 dnl [extra testing logic], [command if feature available])
724 dnl Checks for an assembler feature. If we are building an in-tree
725 dnl gas, the feature is available if the associated assembler version
726 dnl is greater than or equal to major.minor.patchlevel. If not, then
727 dnl ASSEMBLER INPUT is fed to the assembler and the feature is available
728 dnl if assembly succeeds. If EXTRA TESTING LOGIC is not the empty string,
729 dnl then it is run instead of simply setting CV to "yes" - it is responsible
730 dnl for doing so, if appropriate.
731 AC_DEFUN([gcc_GAS_CHECK_FEATURE],
732 [AC_CACHE_CHECK([assembler for $1], [$2],
735 if test $in_tree_gas = yes; then
736 gcc_GAS_VERSION_GTE_IFELSE($3, [[$2]=yes])
737 el])if test x$gcc_cv_as != x; then
738 echo ifelse(m4_substr([$5],0,1),[$], "[$5]", '[$5]') > conftest.s
739 if AC_TRY_COMMAND([$gcc_cv_as $4 -o conftest.o conftest.s >&AC_FD_CC])
741 ifelse([$6],, [$2]=yes, [$6])
743 echo "configure: failed program was" >&AC_FD_CC
744 cat conftest.s >&AC_FD_CC
746 rm -f conftest.o conftest.s
749 if test $[$2] = yes; then
753 # lcmessage.m4 serial 3 (gettext-0.11.3)
754 dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
755 dnl This file is free software, distributed under the terms of the GNU
756 dnl General Public License. As a special exception to the GNU General
757 dnl Public License, this file may be distributed as part of a program
758 dnl that contains a configuration script generated by Autoconf, under
759 dnl the same distribution terms as the rest of that program.
761 dnl This file can can be used in projects which are not available under
762 dnl the GNU General Public License or the GNU Library General Public
763 dnl License but which still want to provide support for the GNU gettext
765 dnl Please note that the actual code of the GNU gettext library is covered
766 dnl by the GNU Library General Public License, and the rest of the GNU
767 dnl gettext package package is covered by the GNU General Public License.
768 dnl They are *not* in the public domain.
771 dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
773 # Check whether LC_MESSAGES is available in <locale.h>.
775 AC_DEFUN([AM_LC_MESSAGES],
777 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
778 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
779 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
780 if test $am_cv_val_LC_MESSAGES = yes; then
781 AC_DEFINE(HAVE_LC_MESSAGES, 1,
782 [Define if your <locale.h> file defines LC_MESSAGES.])