1sinclude(../config/acx.m4) 2sinclude(../config/gettext.m4) 3sinclude(../config/progtest.m4) 4sinclude(../config/warnings.m4) 5 6dnl See whether we need a declaration for a function. 7dnl The result is highly dependent on the INCLUDES passed in, so make sure 8dnl to use a different cache variable name in this macro if it is invoked 9dnl in a different context somewhere else. 10dnl gcc_AC_CHECK_DECL(SYMBOL, 11dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]]) 12AC_DEFUN([gcc_AC_CHECK_DECL], 13[AC_MSG_CHECKING([whether $1 is declared]) 14AC_CACHE_VAL(gcc_cv_have_decl_$1, 15[AC_TRY_COMPILE([$4], 16[#ifndef $1 17char *(*pfn) = (char *(*)) $1 ; 18#endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")]) 19if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then 20 AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2]) 21else 22 AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3]) 23fi 24])dnl 25 26dnl Check multiple functions to see whether each needs a declaration. 27dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate. 28dnl gcc_AC_CHECK_DECLS(SYMBOLS, 29dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]]) 30AC_DEFUN([gcc_AC_CHECK_DECLS], 31[AC_FOREACH([gcc_AC_Func], [$1], 32 [AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_[]gcc_AC_Func), 33 [Define to 1 if we found a declaration for ']gcc_AC_Func[', otherwise 34 define to 0.])])dnl 35for ac_func in $1 36do 37 ac_tr_decl=AS_TR_CPP([HAVE_DECL_$ac_func]) 38gcc_AC_CHECK_DECL($ac_func, 39 [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2], 40 [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3], 41dnl It is possible that the include files passed in here are local headers 42dnl which supply a backup declaration for the relevant prototype based on 43dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test 44dnl will always return success. E.g. see libiberty.h's handling of 45dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to 46dnl 1 so that any local headers used do not provide their own prototype 47dnl during this test. 48#undef $ac_tr_decl 49#define $ac_tr_decl 1 50 $4 51) 52done 53]) 54 55dnl 'make compare' can be significantly faster, if cmp itself can 56dnl skip bytes instead of using tail. The test being performed is 57dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2" 58dnl but we need to sink errors and handle broken shells. We also test 59dnl for the parameter format "cmp file1 file2 skip1 skip2" which is 60dnl accepted by cmp on some systems. 61AC_DEFUN([gcc_AC_PROG_CMP_IGNORE_INITIAL], 62[AC_CACHE_CHECK([for cmp's capabilities], gcc_cv_prog_cmp_skip, 63[ echo abfoo >t1 64 echo cdfoo >t2 65 gcc_cv_prog_cmp_skip=slowcompare 66 if cmp --ignore-initial=2 t1 t2 > /dev/null 2>&1; then 67 if cmp --ignore-initial=1 t1 t2 > /dev/null 2>&1; then 68 : 69 else 70 gcc_cv_prog_cmp_skip=gnucompare 71 fi 72 fi 73 if test $gcc_cv_prog_cmp_skip = slowcompare ; then 74 if cmp t1 t2 2 2 > /dev/null 2>&1; then 75 if cmp t1 t2 1 1 > /dev/null 2>&1; then 76 : 77 else 78 gcc_cv_prog_cmp_skip=fastcompare 79 fi 80 fi 81 fi 82 rm t1 t2 83]) 84make_compare_target=$gcc_cv_prog_cmp_skip 85AC_SUBST(make_compare_target) 86]) 87 88dnl See if the printf functions in libc support %p in format strings. 89AC_DEFUN([gcc_AC_FUNC_PRINTF_PTR], 90[AC_CACHE_CHECK(whether the printf functions support %p, 91 gcc_cv_func_printf_ptr, 92[AC_TRY_RUN([#include <stdio.h> 93 94int main() 95{ 96 char buf[64]; 97 char *p = buf, *q = NULL; 98 sprintf(buf, "%p", p); 99 sscanf(buf, "%p", &q); 100 return (p != q); 101}], gcc_cv_func_printf_ptr=yes, gcc_cv_func_printf_ptr=no, 102 gcc_cv_func_printf_ptr=no) 103rm -f core core.* *.core]) 104if test $gcc_cv_func_printf_ptr = yes ; then 105 AC_DEFINE(HAVE_PRINTF_PTR, 1, [Define if printf supports "%p".]) 106fi 107]) 108 109dnl See if symbolic links work and if not, try to substitute either hard links or simple copy. 110AC_DEFUN([gcc_AC_PROG_LN_S], 111[AC_MSG_CHECKING(whether ln -s works) 112AC_CACHE_VAL(gcc_cv_prog_LN_S, 113[rm -f conftestdata_t 114echo >conftestdata_f 115if ln -s conftestdata_f conftestdata_t 2>/dev/null 116then 117 gcc_cv_prog_LN_S="ln -s" 118else 119 if ln conftestdata_f conftestdata_t 2>/dev/null 120 then 121 gcc_cv_prog_LN_S=ln 122 else 123 gcc_cv_prog_LN_S=cp 124 fi 125fi 126rm -f conftestdata_f conftestdata_t 127])dnl 128LN_S="$gcc_cv_prog_LN_S" 129if test "$gcc_cv_prog_LN_S" = "ln -s"; then 130 AC_MSG_RESULT(yes) 131else 132 if test "$gcc_cv_prog_LN_S" = "ln"; then 133 AC_MSG_RESULT([no, using ln]) 134 else 135 AC_MSG_RESULT([no, and neither does ln, so using cp]) 136 fi 137fi 138AC_SUBST(LN_S)dnl 139]) 140 141dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead 142dnl of the usual 2. 143AC_DEFUN([gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG], 144[AC_CACHE_CHECK([if mkdir takes one argument], gcc_cv_mkdir_takes_one_arg, 145[AC_TRY_COMPILE([ 146#include <sys/types.h> 147#ifdef HAVE_SYS_STAT_H 148# include <sys/stat.h> 149#endif 150#ifdef HAVE_UNISTD_H 151# include <unistd.h> 152#endif 153#ifdef HAVE_DIRECT_H 154# include <direct.h> 155#endif], [mkdir ("foo", 0);], 156 gcc_cv_mkdir_takes_one_arg=no, gcc_cv_mkdir_takes_one_arg=yes)]) 157if test $gcc_cv_mkdir_takes_one_arg = yes ; then 158 AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.]) 159fi 160]) 161 162AC_DEFUN([gcc_AC_PROG_INSTALL], 163[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 164# Find a good install program. We prefer a C program (faster), 165# so one script is as good as another. But avoid the broken or 166# incompatible versions: 167# SysV /etc/install, /usr/sbin/install 168# SunOS /usr/etc/install 169# IRIX /sbin/install 170# AIX /bin/install 171# AFS /usr/afsws/bin/install, which mishandles nonexistent args 172# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" 173# ./install, which can be erroneously created by make from ./install.sh. 174AC_MSG_CHECKING(for a BSD compatible install) 175if test -z "$INSTALL"; then 176AC_CACHE_VAL(ac_cv_path_install, 177[ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" 178 for ac_dir in $PATH; do 179 # Account for people who put trailing slashes in PATH elements. 180 case "$ac_dir/" in 181 /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; 182 *) 183 # OSF1 and SCO ODT 3.0 have their own names for install. 184 for ac_prog in ginstall scoinst install; do 185 if test -f $ac_dir/$ac_prog; then 186 if test $ac_prog = install && 187 grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then 188 # AIX install. It has an incompatible calling convention. 189 # OSF/1 installbsd also uses dspmsg, but is usable. 190 : 191 else 192 ac_cv_path_install="$ac_dir/$ac_prog -c" 193 break 2 194 fi 195 fi 196 done 197 ;; 198 esac 199 done 200 IFS="$ac_save_IFS" 201])dnl 202 if test "${ac_cv_path_install+set}" = set; then 203 INSTALL="$ac_cv_path_install" 204 else 205 # As a last resort, use the slow shell script. We don't cache a 206 # path for INSTALL within a source directory, because that will 207 # break other packages using the cache if that directory is 208 # removed, or if the path is relative. 209 INSTALL="$ac_install_sh" 210 fi 211fi 212dnl We do special magic for INSTALL instead of AC_SUBST, to get 213dnl relative paths right. 214AC_MSG_RESULT($INSTALL) 215AC_SUBST(INSTALL)dnl 216 217# Use test -z because SunOS4 sh mishandles braces in ${var-val}. 218# It thinks the first close brace ends the variable substitution. 219test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' 220AC_SUBST(INSTALL_PROGRAM)dnl 221 222test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' 223AC_SUBST(INSTALL_DATA)dnl 224]) 225 226dnl GCC_PATH_PROG(VARIABLE, PROG-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND [, PATH]]) 227dnl like AC_PATH_PROG but use other cache variables 228AC_DEFUN([GCC_PATH_PROG], 229[# Extract the first word of "$2", so it can be a program name with args. 230set dummy $2; ac_word=[$]2 231AC_MSG_CHECKING([for $ac_word]) 232AC_CACHE_VAL(gcc_cv_path_$1, 233[case "[$]$1" in 234 /*) 235 gcc_cv_path_$1="[$]$1" # Let the user override the test with a path. 236 ;; 237 ?:/*) 238 gcc_cv_path_$1="[$]$1" # Let the user override the test with a dos path. 239 ;; 240 *) 241 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" 242dnl $ac_dummy forces splitting on constant user-supplied paths. 243dnl POSIX.2 word splitting is done only on the output of word expansions, 244dnl not every word. This closes a longstanding sh security hole. 245 ac_dummy="ifelse([$4], , $PATH, [$4])" 246 for ac_dir in $ac_dummy; do 247 test -z "$ac_dir" && ac_dir=. 248 if test -f $ac_dir/$ac_word; then 249 gcc_cv_path_$1="$ac_dir/$ac_word" 250 break 251 fi 252 done 253 IFS="$ac_save_ifs" 254dnl If no 3rd arg is given, leave the cache variable unset, 255dnl so GCC_PATH_PROGS will keep looking. 256ifelse([$3], , , [ test -z "[$]gcc_cv_path_$1" && gcc_cv_path_$1="$3" 257])dnl 258 ;; 259esac])dnl 260$1="$gcc_cv_path_$1" 261if test -n "[$]$1"; then 262 AC_MSG_RESULT([$]$1) 263else 264 AC_MSG_RESULT(no) 265fi 266AC_SUBST($1)dnl 267]) 268 269# mmap(2) blacklisting. Some platforms provide the mmap library routine 270# but don't support all of the features we need from it. 271AC_DEFUN([gcc_AC_FUNC_MMAP_BLACKLIST], 272[ 273AC_CHECK_HEADER([sys/mman.h], 274 [gcc_header_sys_mman_h=yes], [gcc_header_sys_mman_h=no]) 275AC_CHECK_FUNC([mmap], [gcc_func_mmap=yes], [gcc_func_mmap=no]) 276if test "$gcc_header_sys_mman_h" != yes \ 277 || test "$gcc_func_mmap" != yes; then 278 gcc_cv_func_mmap_file=no 279 gcc_cv_func_mmap_dev_zero=no 280 gcc_cv_func_mmap_anon=no 281else 282 AC_CACHE_CHECK([whether read-only mmap of a plain file works], 283 gcc_cv_func_mmap_file, 284 [# Add a system to this blacklist if 285 # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a 286 # memory area containing the same data that you'd get if you applied 287 # read() to the same fd. The only system known to have a problem here 288 # is VMS, where text files have record structure. 289 case "$host_os" in 290 vms* | ultrix*) 291 gcc_cv_func_mmap_file=no ;; 292 *) 293 gcc_cv_func_mmap_file=yes;; 294 esac]) 295 AC_CACHE_CHECK([whether mmap from /dev/zero works], 296 gcc_cv_func_mmap_dev_zero, 297 [# Add a system to this blacklist if it has mmap() but /dev/zero 298 # does not exist, or if mmapping /dev/zero does not give anonymous 299 # zeroed pages with both the following properties: 300 # 1. If you map N consecutive pages in with one call, and then 301 # unmap any subset of those pages, the pages that were not 302 # explicitly unmapped remain accessible. 303 # 2. If you map two adjacent blocks of memory and then unmap them 304 # both at once, they must both go away. 305 # Systems known to be in this category are Windows (all variants), 306 # VMS, and Darwin. 307 case "$host_os" in 308 vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00) 309 gcc_cv_func_mmap_dev_zero=no ;; 310 *) 311 gcc_cv_func_mmap_dev_zero=yes;; 312 esac]) 313 314 # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for. 315 AC_CACHE_CHECK([for MAP_ANON(YMOUS)], gcc_cv_decl_map_anon, 316 [AC_TRY_COMPILE( 317[#include <sys/types.h> 318#include <sys/mman.h> 319#include <unistd.h> 320 321#ifndef MAP_ANONYMOUS 322#define MAP_ANONYMOUS MAP_ANON 323#endif 324], 325[int n = MAP_ANONYMOUS;], 326 gcc_cv_decl_map_anon=yes, 327 gcc_cv_decl_map_anon=no)]) 328 329 if test $gcc_cv_decl_map_anon = no; then 330 gcc_cv_func_mmap_anon=no 331 else 332 AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works], 333 gcc_cv_func_mmap_anon, 334 [# Add a system to this blacklist if it has mmap() and MAP_ANON or 335 # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) 336 # doesn't give anonymous zeroed pages with the same properties listed 337 # above for use of /dev/zero. 338 # Systems known to be in this category are Windows, VMS, and SCO Unix. 339 case "$host_os" in 340 vms* | cygwin* | pe | mingw* | sco* | udk* ) 341 gcc_cv_func_mmap_anon=no ;; 342 *) 343 gcc_cv_func_mmap_anon=yes;; 344 esac]) 345 fi 346fi 347 348if test $gcc_cv_func_mmap_file = yes; then 349 AC_DEFINE(HAVE_MMAP_FILE, 1, 350 [Define if read-only mmap of a plain file works.]) 351fi 352if test $gcc_cv_func_mmap_dev_zero = yes; then 353 AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1, 354 [Define if mmap of /dev/zero works.]) 355fi 356if test $gcc_cv_func_mmap_anon = yes; then 357 AC_DEFINE(HAVE_MMAP_ANON, 1, 358 [Define if mmap with MAP_ANON(YMOUS) works.]) 359fi 360]) 361 362dnl Locate a program and check that its version is acceptable. 363dnl AC_PROG_CHECK_VER(var, name, version-switch, 364dnl version-extract-regexp, version-glob) 365AC_DEFUN([gcc_AC_CHECK_PROG_VER], 366[AC_CHECK_PROG([$1], [$2], [$2]) 367if test -n "[$]$1"; then 368 # Found it, now check the version. 369 AC_CACHE_CHECK(for modern $2, gcc_cv_prog_$2_modern, 370[changequote(<<,>>)dnl 371 ac_prog_version=`<<$>>$1 $3 2>&1 | 372 sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'` 373changequote([,])dnl 374 echo "configure:__oline__: version of $2 is $ac_prog_version" >&AC_FD_CC 375changequote(<<,>>)dnl 376 case $ac_prog_version in 377 '') gcc_cv_prog_$2_modern=no;; 378 <<$5>>) 379 gcc_cv_prog_$2_modern=yes;; 380 *) gcc_cv_prog_$2_modern=no;; 381 esac 382changequote([,])dnl 383]) 384else 385 gcc_cv_prog_$2_modern=no 386fi 387]) 388 389dnl Determine if enumerated bitfields are unsigned. ISO C says they can 390dnl be either signed or unsigned. 391dnl 392AC_DEFUN([gcc_AC_C_ENUM_BF_UNSIGNED], 393[AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned, 394[AC_TRY_RUN(#include <stdlib.h> 395enum t { BLAH = 128 } ; 396struct s_t { enum t member : 8; } s ; 397int main(void) 398{ 399 s.member = BLAH; 400 if (s.member < 0) exit(1); 401 exit(0); 402 403}, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)]) 404if test $gcc_cv_enum_bf_unsigned = yes; then 405 AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1, 406 [Define if enumerated bitfields are treated as unsigned values.]) 407fi]) 408 409dnl Probe number of bits in a byte. 410dnl Note C89 requires CHAR_BIT >= 8. 411dnl 412AC_DEFUN([gcc_AC_C_CHAR_BIT], 413[AC_CACHE_CHECK(for CHAR_BIT, gcc_cv_decl_char_bit, 414[AC_EGREP_CPP(found, 415[#ifdef HAVE_LIMITS_H 416#include <limits.h> 417#endif 418#ifdef CHAR_BIT 419found 420#endif], gcc_cv_decl_char_bit=yes, gcc_cv_decl_char_bit=no) 421]) 422if test $gcc_cv_decl_char_bit = no; then 423 AC_CACHE_CHECK(number of bits in a byte, gcc_cv_c_nbby, 424[i=8 425 gcc_cv_c_nbby= 426 while test $i -lt 65; do 427 AC_TRY_COMPILE(, 428 [switch(0) { 429 case (unsigned char)((unsigned long)1 << $i) == ((unsigned long)1 << $i): 430 case (unsigned char)((unsigned long)1<<($i-1)) == ((unsigned long)1<<($i-1)): 431 ; }], 432 [gcc_cv_c_nbby=$i; break]) 433 i=`expr $i + 1` 434 done 435 test -z "$gcc_cv_c_nbby" && gcc_cv_c_nbby=failed 436]) 437if test $gcc_cv_c_nbby = failed; then 438 AC_MSG_ERROR(cannot determine number of bits in a byte) 439else 440 AC_DEFINE_UNQUOTED(CHAR_BIT, $gcc_cv_c_nbby, 441 [Define as the number of bits in a byte, if \`limits.h' doesn't.]) 442fi 443fi]) 444 445dnl Checking for long long. 446dnl By Caolan McNamara <caolan@skynet.ie> 447dnl Added check for __int64, Zack Weinberg <zackw@stanford.edu> 448dnl 449AC_DEFUN([gcc_AC_C_LONG_LONG], 450[AC_CACHE_CHECK(for long long int, ac_cv_c_long_long, 451 [AC_TRY_COMPILE(,[long long int i;], 452 ac_cv_c_long_long=yes, 453 ac_cv_c_long_long=no)]) 454 if test $ac_cv_c_long_long = yes; then 455 AC_DEFINE(HAVE_LONG_LONG, 1, 456 [Define if your compiler supports the \`long long' type.]) 457 fi 458AC_CACHE_CHECK(for __int64, ac_cv_c___int64, 459 [AC_TRY_COMPILE(,[__int64 i;], 460 ac_cv_c___int64=yes, 461 ac_cv_c___int64=no)]) 462 if test $ac_cv_c___int64 = yes; then 463 AC_DEFINE(HAVE___INT64, 1, 464 [Define if your compiler supports the \`__int64' type.]) 465 fi 466]) 467 468#serial AM2 469 470dnl From Bruno Haible. 471 472AC_DEFUN([AM_ICONV], 473[ 474 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and 475 dnl those with the standalone portable GNU libiconv installed). 476 477 am_cv_lib_iconv_ldpath= 478 AC_ARG_WITH([libiconv-prefix], 479[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ 480 for dir in `echo "$withval" | tr : ' '`; do 481 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi 482 if test -d $dir/lib; then am_cv_lib_iconv_ldpath="-L$dir/lib"; fi 483 done 484 ]) 485 486 AC_CHECK_HEADERS([iconv.h]) 487 488 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ 489 am_cv_func_iconv="no, consider installing GNU libiconv" 490 am_cv_lib_iconv=no 491 AC_TRY_LINK([#include <stdlib.h> 492#include <iconv.h>], 493 [iconv_t cd = iconv_open("",""); 494 iconv(cd,NULL,NULL,NULL,NULL); 495 iconv_close(cd);], 496 am_cv_func_iconv=yes) 497 if test "$am_cv_func_iconv" != yes; then 498 am_save_LIBS="$LIBS" 499 LIBS="$LIBS $am_cv_libiconv_ldpath -liconv" 500 AC_TRY_LINK([#include <stdlib.h> 501#include <iconv.h>], 502 [iconv_t cd = iconv_open("",""); 503 iconv(cd,NULL,NULL,NULL,NULL); 504 iconv_close(cd);], 505 am_cv_lib_iconv=yes 506 am_cv_func_iconv=yes) 507 LIBS="$am_save_LIBS" 508 fi 509 ]) 510 if test "$am_cv_func_iconv" = yes; then 511 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) 512 AC_MSG_CHECKING([for iconv declaration]) 513 AC_CACHE_VAL(am_cv_proto_iconv, [ 514 AC_TRY_COMPILE([ 515#include <stdlib.h> 516#include <iconv.h> 517extern 518#ifdef __cplusplus 519"C" 520#endif 521#if defined(__STDC__) || defined(__cplusplus) 522size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); 523#else 524size_t iconv(); 525#endif 526], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") 527 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);"]) 528 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` 529 AC_MSG_RESULT([$]{ac_t:- 530 }[$]am_cv_proto_iconv) 531 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, 532 [Define as const if the declaration of iconv() needs const.]) 533 fi 534 LIBICONV= 535 if test "$am_cv_lib_iconv" = yes; then 536 LIBICONV="$am_cv_lib_iconv_ldpath -liconv" 537 fi 538 AC_SUBST(LIBICONV) 539]) 540 541AC_DEFUN([gcc_AC_INITFINI_ARRAY], 542[AC_ARG_ENABLE(initfini-array, 543 [ --enable-initfini-array use .init_array/.fini_array sections], 544 [], [ 545AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support, 546 gcc_cv_initfini_array, [dnl 547 AC_TRY_RUN([ 548static int x = -1; 549int main (void) { return x; } 550int foo (void) { x = 0; } 551int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;], 552 [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no], 553 [gcc_cv_initfini_array=no])]) 554 enable_initfini_array=$gcc_cv_initfini_array 555]) 556if test $enable_initfini_array = yes; then 557 AC_DEFINE(HAVE_INITFINI_ARRAY, 1, 558 [Define .init_array/.fini_array sections are available and working.]) 559fi]) 560 561dnl # _gcc_COMPUTE_GAS_VERSION 562dnl # Used by gcc_GAS_VERSION_GTE_IFELSE 563dnl # 564dnl # WARNING: 565dnl # gcc_cv_as_gas_srcdir must be defined before this. 566dnl # This gross requirement will go away eventually. 567AC_DEFUN([_gcc_COMPUTE_GAS_VERSION], 568[gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd 569for f in $gcc_cv_as_bfd_srcdir/configure \ 570 $gcc_cv_as_gas_srcdir/configure \ 571 $gcc_cv_as_gas_srcdir/configure.in \ 572 $gcc_cv_as_gas_srcdir/Makefile.in ; do 573 gcc_cv_gas_version=`grep '^VERSION=[[0-9]]*\.[[0-9]]*' $f` 574 if test x$gcc_cv_gas_version != x; then 575 break 576 fi 577done 578gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"` 579gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"` 580gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)"` 581case $gcc_cv_gas_patch_version in 582 "") gcc_cv_gas_patch_version="0" ;; 583esac 584gcc_cv_gas_vers=`expr \( \( $gcc_cv_gas_major_version \* 1000 \) \ 585 + $gcc_cv_gas_minor_version \) \* 1000 \ 586 + $gcc_cv_gas_patch_version` 587]) []dnl # _gcc_COMPUTE_GAS_VERSION 588 589dnl # gcc_GAS_VERSION_GTE_IFELSE([elf,] major, minor, patchlevel, 590dnl # [command_if_true = :], [command_if_false = :]) 591dnl # Check to see if the version of GAS is greater than or 592dnl # equal to the specified version. 593dnl # 594dnl # The first ifelse() shortens the shell code if the patchlevel 595dnl # is unimportant (the usual case). The others handle missing 596dnl # commands. Note that the tests are structured so that the most 597dnl # common version number cases are tested first. 598AC_DEFUN([_gcc_GAS_VERSION_GTE_IFELSE], 599[ifelse([$1], elf, 600 [if test $in_tree_gas_is_elf = yes \ 601 &&], 602 [if]) test $gcc_cv_gas_vers -ge `expr \( \( $2 \* 1000 \) + $3 \) \* 1000 + $4` 603 then dnl 604ifelse([$5],,:,[$5])[]dnl 605ifelse([$6],,,[ 606 else $6]) 607fi]) 608 609AC_DEFUN([gcc_GAS_VERSION_GTE_IFELSE], 610[AC_REQUIRE([_gcc_COMPUTE_GAS_VERSION])dnl 611ifelse([$1], elf, [_gcc_GAS_VERSION_GTE_IFELSE($@)], 612 [_gcc_GAS_VERSION_GTE_IFELSE(,$@)])]) 613 614dnl gcc_GAS_CHECK_FEATURE(description, cv, [[elf,]major,minor,patchlevel], 615dnl [extra switches to as], [assembler input], 616dnl [extra testing logic], [command if feature available]) 617dnl 618dnl Checks for an assembler feature. If we are building an in-tree 619dnl gas, the feature is available if the associated assembler version 620dnl is greater than or equal to major.minor.patchlevel. If not, then 621dnl ASSEMBLER INPUT is fed to the assembler and the feature is available 622dnl if assembly succeeds. If EXTRA TESTING LOGIC is not the empty string, 623dnl then it is run instead of simply setting CV to "yes" - it is responsible 624dnl for doing so, if appropriate. 625AC_DEFUN([gcc_GAS_CHECK_FEATURE], 626[AC_CACHE_CHECK([assembler for $1], [$2], 627 [[$2]=no 628 ifelse([$3],,,[dnl 629 if test $in_tree_gas = yes; then 630 gcc_GAS_VERSION_GTE_IFELSE($3, [[$2]=yes]) 631 el])if test x$gcc_cv_as != x; then 632 echo ifelse(m4_substr([$5],0,1),[$], "[$5]", '[$5]') > conftest.s 633 if AC_TRY_COMMAND([$gcc_cv_as $4 -o conftest.o conftest.s >&AC_FD_CC]) 634 then 635 ifelse([$6],, [$2]=yes, [$6]) 636 else 637 echo "configure: failed program was" >&AC_FD_CC 638 cat conftest.s >&AC_FD_CC 639 fi 640 rm -f conftest.o conftest.s 641 fi]) 642ifelse([$7],,,[dnl 643if test $[$2] = yes; then 644 $7 645fi])]) 646 647# lcmessage.m4 serial 3 (gettext-0.11.3) 648dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. 649dnl This file is free software, distributed under the terms of the GNU 650dnl General Public License. As a special exception to the GNU General 651dnl Public License, this file may be distributed as part of a program 652dnl that contains a configuration script generated by Autoconf, under 653dnl the same distribution terms as the rest of that program. 654dnl 655dnl This file can can be used in projects which are not available under 656dnl the GNU General Public License or the GNU Library General Public 657dnl License but which still want to provide support for the GNU gettext 658dnl functionality. 659dnl Please note that the actual code of the GNU gettext library is covered 660dnl by the GNU Library General Public License, and the rest of the GNU 661dnl gettext package package is covered by the GNU General Public License. 662dnl They are *not* in the public domain. 663 664dnl Authors: 665dnl Ulrich Drepper <drepper@cygnus.com>, 1995. 666 667# Check whether LC_MESSAGES is available in <locale.h>. 668 669AC_DEFUN([AM_LC_MESSAGES], 670[ 671 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, 672 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], 673 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) 674 if test $am_cv_val_LC_MESSAGES = yes; then 675 AC_DEFINE(HAVE_LC_MESSAGES, 1, 676 [Define if your <locale.h> file defines LC_MESSAGES.]) 677 fi 678]) 679