1 Fdnl See whether we can include both string.h and strings.h.
2 AC_DEFUN(gcc_AC_HEADER_STRING,
3 [AC_CACHE_CHECK([whether string.h and strings.h may both be included],
5 [AC_TRY_COMPILE([#include <string.h>
6 #include <strings.h>], , gcc_cv_header_string=yes, gcc_cv_header_string=no)])
7 if test $gcc_cv_header_string = yes; then
8 AC_DEFINE(STRING_WITH_STRINGS, 1, [Define if you can safely include both <string.h> and <strings.h>.])
12 dnl See whether we need a declaration for a function.
13 dnl The result is highly dependent on the INCLUDES passed in, so make sure
14 dnl to use a different cache variable name in this macro if it is invoked
15 dnl in a different context somewhere else.
16 dnl gcc_AC_CHECK_DECL(SYMBOL,
17 dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
18 AC_DEFUN(gcc_AC_CHECK_DECL,
19 [AC_MSG_CHECKING([whether $1 is declared])
20 AC_CACHE_VAL(gcc_cv_have_decl_$1,
23 char *(*pfn) = (char *(*)) $1 ;
24 #endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
25 if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
26 AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
28 AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
32 dnl Check multiple functions to see whether each needs a declaration.
33 dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
34 dnl gcc_AC_CHECK_DECLS(SYMBOLS,
35 dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
36 AC_DEFUN(gcc_AC_CHECK_DECLS,
40 ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
42 gcc_AC_CHECK_DECL($ac_func,
43 [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
44 [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
45 dnl It is possible that the include files passed in here are local headers
46 dnl which supply a backup declaration for the relevant prototype based on
47 dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test
48 dnl will always return success. E.g. see libiberty.h's handling of
49 dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to
50 dnl 1 so that any local headers used do not provide their own prototype
57 dnl Automatically generate config.h entries via autoheader.
59 patsubst(translit([$1], [a-z], [A-Z]), [\w+],
60 AC_DEFINE([HAVE_DECL_\&], 1,
61 [Define to 1 if we found this declaration otherwise define to 0.]))dnl
65 dnl Check if we have vprintf and possibly _doprnt.
66 dnl Note autoconf checks for vprintf even though we care about vfprintf.
67 AC_DEFUN(gcc_AC_FUNC_VFPRINTF_DOPRNT,
71 if test $ac_cv_func_vprintf != yes ; then
73 if test $ac_cv_func__doprnt != yes ; then
81 dnl Check if we have strstr.
82 AC_DEFUN([gcc_AC_FUNC_STRSTR],
83 [AC_CHECK_FUNCS([strstr], [strstr=], [strstr=strstr.o])
86 dnl See if the printf functions in libc support %p in format strings.
87 AC_DEFUN(gcc_AC_FUNC_PRINTF_PTR,
88 [AC_CACHE_CHECK(whether the printf functions support %p,
89 gcc_cv_func_printf_ptr,
90 [AC_TRY_RUN([#include <stdio.h>
95 char *p = buf, *q = NULL;
96 sprintf(buf, "%p", p);
97 sscanf(buf, "%p", &q);
99 }], gcc_cv_func_printf_ptr=yes, gcc_cv_func_printf_ptr=no,
100 gcc_cv_func_printf_ptr=no)
101 rm -f core core.* *.core])
102 if test $gcc_cv_func_printf_ptr = yes ; then
103 AC_DEFINE(HAVE_PRINTF_PTR, 1, [Define if printf supports "%p".])
107 dnl See if symbolic links work and if not, try to substitute either hard links or simple copy.
108 AC_DEFUN(gcc_AC_PROG_LN_S,
109 [AC_MSG_CHECKING(whether ln -s works)
110 AC_CACHE_VAL(gcc_cv_prog_LN_S,
111 [rm -f conftestdata_t
113 if ln -s conftestdata_f conftestdata_t 2>/dev/null
115 gcc_cv_prog_LN_S="ln -s"
117 if ln conftestdata_f conftestdata_t 2>/dev/null
124 rm -f conftestdata_f conftestdata_t
126 LN_S="$gcc_cv_prog_LN_S"
127 if test "$gcc_cv_prog_LN_S" = "ln -s"; then
130 if test "$gcc_cv_prog_LN_S" = "ln"; then
131 AC_MSG_RESULT([no, using ln])
133 AC_MSG_RESULT([no, and neither does ln, so using cp])
139 dnl See if hard links work and if not, try to substitute either symbolic links or simple copy.
140 AC_DEFUN(gcc_AC_PROG_LN,
141 [AC_MSG_CHECKING(whether ln works)
142 AC_CACHE_VAL(gcc_cv_prog_LN,
143 [rm -f conftestdata_t
145 if ln conftestdata_f conftestdata_t 2>/dev/null
149 if ln -s conftestdata_f conftestdata_t 2>/dev/null
151 gcc_cv_prog_LN="ln -s"
156 rm -f conftestdata_f conftestdata_t
159 if test "$gcc_cv_prog_LN" = "ln"; then
162 if test "$gcc_cv_prog_LN" = "ln -s"; then
163 AC_MSG_RESULT([no, using ln -s])
165 AC_MSG_RESULT([no, and neither does ln -s, so using cp])
171 dnl See whether the stage1 host compiler accepts the volatile keyword.
172 AC_DEFUN(gcc_AC_C_VOLATILE,
173 [AC_CACHE_CHECK([for volatile], gcc_cv_c_volatile,
174 [AC_TRY_COMPILE(, [volatile int foo;],
175 gcc_cv_c_volatile=yes, gcc_cv_c_volatile=no)])
176 if test $gcc_cv_c_volatile = yes ; then
177 AC_DEFINE(HAVE_VOLATILE, 1, [Define if your compiler understands volatile.])
181 dnl Check whether long double is supported. This differs from the
182 dnl built-in autoconf test in that it works for cross compiles.
183 AC_DEFUN(gcc_AC_C_LONG_DOUBLE,
184 [AC_CACHE_CHECK(for long double, gcc_cv_c_long_double,
185 [if test "$GCC" = yes; then
186 gcc_cv_c_long_double=yes
189 [/* The Stardent Vistra knows sizeof(long double), but does not support it. */
190 long double foo = 0.0;
191 /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
192 switch (0) case 0: case (sizeof(long double) >= sizeof(double)):;],
193 gcc_cv_c_long_double=yes, gcc_cv_c_long_double=no)
195 if test $gcc_cv_c_long_double = yes; then
196 AC_DEFINE(HAVE_LONG_DOUBLE)
200 dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
202 AC_DEFUN(gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG,
203 [AC_CACHE_CHECK([if mkdir takes one argument], gcc_cv_mkdir_takes_one_arg,
205 #include <sys/types.h>
206 #ifdef HAVE_SYS_STAT_H
207 # include <sys/stat.h>
214 #endif], [mkdir ("foo", 0);],
215 gcc_cv_mkdir_takes_one_arg=no, gcc_cv_mkdir_takes_one_arg=yes)])
216 if test $gcc_cv_mkdir_takes_one_arg = yes ; then
217 AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.])
221 AC_DEFUN(gcc_AC_PROG_INSTALL,
222 [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
223 # Find a good install program. We prefer a C program (faster),
224 # so one script is as good as another. But avoid the broken or
225 # incompatible versions:
226 # SysV /etc/install, /usr/sbin/install
227 # SunOS /usr/etc/install
230 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
231 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
232 # ./install, which can be erroneously created by make from ./install.sh.
233 AC_MSG_CHECKING(for a BSD compatible install)
234 if test -z "$INSTALL"; then
235 AC_CACHE_VAL(ac_cv_path_install,
236 [ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
237 for ac_dir in $PATH; do
238 # Account for people who put trailing slashes in PATH elements.
240 /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
242 # OSF1 and SCO ODT 3.0 have their own names for install.
243 for ac_prog in ginstall scoinst install; do
244 if test -f $ac_dir/$ac_prog; then
245 if test $ac_prog = install &&
246 grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
247 # AIX install. It has an incompatible calling convention.
248 # OSF/1 installbsd also uses dspmsg, but is usable.
251 ac_cv_path_install="$ac_dir/$ac_prog -c"
261 if test "${ac_cv_path_install+set}" = set; then
262 INSTALL="$ac_cv_path_install"
264 # As a last resort, use the slow shell script. We don't cache a
265 # path for INSTALL within a source directory, because that will
266 # break other packages using the cache if that directory is
267 # removed, or if the path is relative.
268 INSTALL="$ac_install_sh"
271 dnl We do special magic for INSTALL instead of AC_SUBST, to get
272 dnl relative paths right.
273 AC_MSG_RESULT($INSTALL)
276 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
277 # It thinks the first close brace ends the variable substitution.
278 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
279 AC_SUBST(INSTALL_PROGRAM)dnl
281 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
282 AC_SUBST(INSTALL_DATA)dnl
286 dnl This test replaces the one in autoconf.
287 dnl Currently this macro should have the same name as the autoconf macro
288 dnl because gettext's gettext.m4 (distributed in the automake package)
289 dnl still uses it. Otherwise, the use in gettext.m4 makes autoheader
290 dnl give these diagnostics:
291 dnl configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
292 dnl configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
294 undefine([AC_ISC_POSIX])
295 AC_DEFUN(AC_ISC_POSIX,
297 dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
298 AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
303 dnl GCC_PATH_PROG(VARIABLE, PROG-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND [, PATH]])
304 dnl like AC_PATH_PROG but use other cache variables
305 AC_DEFUN(GCC_PATH_PROG,
306 [# Extract the first word of "$2", so it can be a program name with args.
307 set dummy $2; ac_word=[$]2
308 AC_MSG_CHECKING([for $ac_word])
309 AC_CACHE_VAL(gcc_cv_path_$1,
312 gcc_cv_path_$1="[$]$1" # Let the user override the test with a path.
315 gcc_cv_path_$1="[$]$1" # Let the user override the test with a dos path.
318 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
319 dnl $ac_dummy forces splitting on constant user-supplied paths.
320 dnl POSIX.2 word splitting is done only on the output of word expansions,
321 dnl not every word. This closes a longstanding sh security hole.
322 ac_dummy="ifelse([$4], , $PATH, [$4])"
323 for ac_dir in $ac_dummy; do
324 test -z "$ac_dir" && ac_dir=.
325 if test -f $ac_dir/$ac_word; then
326 gcc_cv_path_$1="$ac_dir/$ac_word"
331 dnl If no 3rd arg is given, leave the cache variable unset,
332 dnl so GCC_PATH_PROGS will keep looking.
333 ifelse([$3], , , [ test -z "[$]gcc_cv_path_$1" && gcc_cv_path_$1="$3"
338 if test -n "[$]$1"; then
348 # Macro to add for using GNU gettext.
349 # Ulrich Drepper <drepper@cygnus.com>, 1995.
351 # This file can be copied and used freely without restrictions. It can
352 # be used in projects which are not available under the GNU Public License
353 # but which still want to provide support for the GNU gettext functionality.
354 # Please note that the actual code is *not* freely available.
358 AC_DEFUN(AM_WITH_NLS,
359 [AC_MSG_CHECKING([whether NLS is requested])
360 dnl Default is enabled NLS
362 [ --disable-nls do not use Native Language Support],
363 USE_NLS=$enableval, USE_NLS=yes)
364 AC_MSG_RESULT($USE_NLS)
367 USE_INCLUDED_LIBINTL=no
369 dnl If we use NLS figure out what method
370 if test "$USE_NLS" = "yes"; then
371 AC_DEFINE(ENABLE_NLS)
372 AC_MSG_CHECKING([whether included gettext is requested])
373 AC_ARG_WITH(included-gettext,
374 [ --with-included-gettext use the GNU gettext library included here],
375 nls_cv_force_use_gnu_gettext=$withval,
376 nls_cv_force_use_gnu_gettext=no)
377 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
379 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
380 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
381 dnl User does not insist on using GNU NLS library. Figure out what
382 dnl to use. If gettext or catgets are available (in this order) we
383 dnl use this. Else we have to fall back to GNU NLS library.
384 dnl catgets is only used if permitted by option --with-catgets.
389 AC_CHECK_HEADER(libintl.h,
390 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
391 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
392 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
394 if test "$gt_cv_func_gettext_libc" != "yes"; then
395 AC_CHECK_LIB(intl, bindtextdomain,
396 [AC_CACHE_CHECK([for gettext in libintl],
397 gt_cv_func_gettext_libintl,
398 [AC_CHECK_LIB(intl, gettext,
399 gt_cv_func_gettext_libintl=yes,
400 gt_cv_func_gettext_libintl=no)],
401 gt_cv_func_gettext_libintl=no)])
404 if test "$gt_cv_func_gettext_libintl" = "yes"; then
408 if test "$gt_cv_func_gettext_libc" = "yes" \
409 || test "$gt_cv_func_gettext_libintl" = "yes"; then
410 AC_DEFINE(HAVE_GETTEXT)
411 GCC_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
412 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
413 if test "$MSGFMT" != "no"; then
414 AC_CHECK_FUNCS(dcgettext)
415 GCC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
416 GCC_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
417 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
418 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
419 return _nl_msg_cat_cntr],
431 if test "$CATOBJEXT" = "NONE"; then
432 AC_MSG_CHECKING([whether catgets can be used])
434 [ --with-catgets use catgets functions if available],
435 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
436 AC_MSG_RESULT($nls_cv_use_catgets)
438 if test "$nls_cv_use_catgets" = "yes"; then
439 dnl No gettext in C library. Try catgets next.
440 AC_CHECK_LIB(i, main)
441 AC_CHECK_FUNC(catgets,
442 [AC_DEFINE(HAVE_CATGETS)
443 INTLOBJS="\$(CATOBJS)"
444 GCC_PATH_PROG(GENCAT, gencat, no)dnl
445 if test "$GENCAT" != "no"; then
446 GCC_PATH_PROG(GMSGFMT, gmsgfmt, no)
447 if test "$GMSGFMT" = "no"; then
448 GCC_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
449 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
450 if test "$GMSGFMT" = "msgfmt"; then
454 GCC_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
455 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
456 USE_INCLUDED_LIBINTL=yes
460 INTLDEPS='$(top_builddir)/intl/libintl.a'
462 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
463 nls_cv_header_intl=intl/libintl.h
464 nls_cv_header_libgt=intl/libgettext.h
469 if test "$CATOBJEXT" = "NONE"; then
470 dnl Neither gettext nor catgets in included in the C library.
471 dnl Fall back on GNU gettext library.
472 nls_cv_use_gnu_gettext=yes
476 if test "$nls_cv_use_gnu_gettext" = "yes"; then
477 dnl Mark actions used to generate GNU NLS library.
478 INTLOBJS="\$(GETTOBJS)"
479 GCC_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
480 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
481 GCC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
482 dnl If we didn't find either msgfmt or gmsgfmt, don't try to
483 dnl create a catalog.
484 if test "$MSGFMT" = "msgfmt" && test "$GMSGFMT" = "msgfmt"; then
487 GCC_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
488 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
490 USE_INCLUDED_LIBINTL=yes
494 INTLDEPS='$(top_builddir)/intl/libintl.a'
496 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
497 nls_cv_header_intl=intl/libintl.h
498 nls_cv_header_libgt=intl/libgettext.h
501 dnl Test whether we really found GNU xgettext.
502 if test "$XGETTEXT" != ":"; then
503 dnl If it is no GNU xgettext we define it as : so that the
504 dnl Makefiles still can work.
505 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
509 [found xgettext program is not GNU xgettext; ignore it])
516 # We need to process the po/ directory.
520 nls_cv_header_intl=intl/libintl.h
521 nls_cv_header_libgt=intl/libgettext.h
523 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
525 [case "$CONFIG_FILES" in *po/Makefile.in*)
526 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
530 # If this is used in GNU gettext we have to set USE_NLS to `yes'
531 # because some of the sources are only built for this goal.
532 if test "$PACKAGE" = gettext; then
534 USE_INCLUDED_LIBINTL=yes
537 dnl These rules are solely for the distribution goal. While doing this
538 dnl we only have to keep exactly one list of the available catalogs
540 for lang in $ALL_LINGUAS; do
541 GMOFILES="$GMOFILES $lang.gmo"
542 POFILES="$POFILES $lang.po"
545 dnl Make all variables we use known to autoconf.
546 AC_SUBST(USE_INCLUDED_LIBINTL)
549 AC_SUBST(DATADIRNAME)
559 AC_DEFUN(AM_GNU_GETTEXT,
560 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
561 AC_REQUIRE([AC_PROG_CC])dnl
562 AC_REQUIRE([AC_PROG_RANLIB])dnl
563 AC_REQUIRE([AC_ISC_POSIX])dnl
564 AC_REQUIRE([AC_HEADER_STDC])dnl
565 AC_REQUIRE([AC_C_CONST])dnl
566 AC_REQUIRE([AC_C_INLINE])dnl
567 AC_REQUIRE([AC_TYPE_OFF_T])dnl
568 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
570 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
571 unistd.h sys/param.h])
572 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
573 strdup __argz_count __argz_stringify __argz_next])
575 if test "${ac_cv_func_stpcpy+set}" != "set"; then
576 AC_CHECK_FUNCS(stpcpy)
578 if test "${ac_cv_func_stpcpy}" = "yes"; then
579 AC_DEFINE(HAVE_STPCPY)
585 if test "x$create_catalogs" = "xno"; then
586 AC_MSG_WARN([No program for building catalogs found -> building disabled])
589 if test "x$CATOBJEXT" != "x" && test "x$create_catalogs" != "xno" ; then
590 if test "x$ALL_LINGUAS" = "x"; then
593 AC_MSG_CHECKING(for catalogs to be installed)
594 if test "x$LINGUAS" = "x"; then
598 for lang in $ALL_LINGUAS; do
600 *" $lang "*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
605 AC_MSG_RESULT($LINGUAS)
608 dnl Construct list of names of catalog files to be constructed.
609 if test -n "$LINGUAS"; then
610 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
614 dnl The reference to <locale.h> in the installed <libintl.h> file
615 dnl must be resolved because we cannot expect the users of this
616 dnl to define HAVE_LOCALE_H.
617 if test $ac_cv_header_locale_h = yes; then
618 INCLUDE_LOCALE_H="#include <locale.h>"
621 /* The system does not provide the header <locale.h>. Take care yourself. */"
623 AC_SUBST(INCLUDE_LOCALE_H)
625 dnl Determine which catalog format we have (if any is needed)
626 dnl For now we know about two different formats:
627 dnl Linux libc-5 and the normal X/Open format
628 test -d intl || mkdir intl
629 if test "$CATOBJEXT" = ".cat"; then
630 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
632 dnl Transform the SED scripts while copying because some dumb SEDs
633 dnl cannot handle comments.
634 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
636 dnl po2tbl.sed is always needed.
637 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
638 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
640 dnl In the intl/Makefile.in we have a special dependency which makes
641 dnl only sense for gettext. We comment this out for non-gettext
643 if test "$PACKAGE" = "gettext"; then
653 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
654 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
655 dnl Try to locate is.
657 if test -n "$ac_aux_dir"; then
658 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
660 if test -z "$MKINSTALLDIRS"; then
661 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
663 AC_SUBST(MKINSTALLDIRS)
665 dnl *** For now the libtool support in intl/Makefile is not for real.
669 dnl Generate list of files to be processed by xgettext which will
670 dnl be included in po/Makefile.
671 test -d po || mkdir po
672 if test "x$srcdir" != "x."; then
673 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
674 posrcprefix="$srcdir/"
676 posrcprefix="../$srcdir/"
682 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
683 < $srcdir/po/POTFILES.in > po/POTFILES
686 # Check whether LC_MESSAGES is available in <locale.h>.
687 # Ulrich Drepper <drepper@cygnus.com>, 1995.
689 # This file can be copied and used freely without restrictions. It can
690 # be used in projects which are not available under the GNU Public License
691 # but which still want to provide support for the GNU gettext functionality.
692 # Please note that the actual code is *not* freely available.
696 AC_DEFUN(AM_LC_MESSAGES,
697 [if test $ac_cv_header_locale_h = yes; then
698 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
699 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
700 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
701 if test $am_cv_val_LC_MESSAGES = yes; then
702 AC_DEFINE(HAVE_LC_MESSAGES)
706 # Search path for a program which passes the given test.
707 # Ulrich Drepper <drepper@cygnus.com>, 1996.
709 # This file can be copied and used freely without restrictions. It can
710 # be used in projects which are not available under the GNU Public License
711 # but which still want to provide support for the GNU gettext functionality.
712 # Please note that the actual code is *not* freely available.
716 dnl GCC_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
717 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
718 AC_DEFUN(GCC_PATH_PROG_WITH_TEST,
719 [# Extract the first word of "$2", so it can be a program name with args.
720 set dummy $2; ac_word=[$]2
721 AC_MSG_CHECKING([for $ac_word])
722 AC_CACHE_VAL(gcc_cv_path_$1,
725 gcc_cv_path_$1="[$]$1" # Let the user override the test with a path.
728 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
729 for ac_dir in ifelse([$5], , $PATH, [$5]); do
730 test -z "$ac_dir" && ac_dir=.
731 if test -f $ac_dir/$ac_word; then
733 gcc_cv_path_$1="$ac_dir/$ac_word"
739 dnl If no 4th arg is given, leave the cache variable unset,
740 dnl so GCC_PATH_PROGS will keep looking.
741 ifelse([$4], , , [ test -z "[$]gcc_cv_path_$1" && gcc_cv_path_$1="$4"
746 if test -n "[$]$1"; then
754 # Check whether mmap can map an arbitrary page from /dev/zero or with
755 # MAP_ANONYMOUS, without MAP_FIXED.
756 AC_DEFUN([AC_FUNC_MMAP_ANYWHERE],
757 [AC_CHECK_FUNCS(getpagesize)
758 # The test program for the next two tests is the same except for one
760 changequote({{{,}}})dnl
761 {{{cat >ct-mmap.inc <<'EOF'
762 #include <sys/types.h>
763 #include <sys/mman.h>
769 #if !defined (MAP_ANONYMOUS) && defined (MAP_ANON)
770 # define MAP_ANONYMOUS MAP_ANON
773 /* This mess was copied from the GNU getpagesize.h. */
774 #ifndef HAVE_GETPAGESIZE
775 # ifdef HAVE_UNISTD_H
779 /* Assume that all systems that can run configure have sys/param.h. */
780 # ifndef HAVE_SYS_PARAM_H
781 # define HAVE_SYS_PARAM_H 1
785 # define getpagesize() sysconf(_SC_PAGESIZE)
786 # else /* no _SC_PAGESIZE */
787 # ifdef HAVE_SYS_PARAM_H
788 # include <sys/param.h>
789 # ifdef EXEC_PAGESIZE
790 # define getpagesize() EXEC_PAGESIZE
791 # else /* no EXEC_PAGESIZE */
793 # define getpagesize() NBPG * CLSIZE
796 # endif /* no CLSIZE */
799 # define getpagesize() NBPC
802 # define getpagesize() PAGESIZE
803 # endif /* PAGESIZE */
804 # endif /* no NBPC */
805 # endif /* no NBPG */
806 # endif /* no EXEC_PAGESIZE */
807 # else /* no HAVE_SYS_PARAM_H */
808 # define getpagesize() 8192 /* punt totally */
809 # endif /* no HAVE_SYS_PARAM_H */
810 # endif /* no _SC_PAGESIZE */
812 #endif /* no HAVE_GETPAGESIZE */
815 # define MAP_FAILED -1
819 #define perror_exit(str, val) \
820 do { perror(str); exit(val); } while (0)
822 /* Some versions of cygwin mmap require that munmap is called with the
823 same parameters as mmap. GCC expects that this is not the case.
824 Test for various forms of this problem. Warning - icky signal games. */
826 static sigset_t unblock_sigsegv;
836 return (char *) mmap (0, size, PROT_READ|PROT_WRITE,
837 MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
839 return (char *) mmap (0, size, PROT_READ|PROT_WRITE,
840 MAP_PRIVATE, devzero, 0);
848 sigprocmask (SIG_UNBLOCK, &unblock_sigsegv, 0);
852 /* Basic functionality test. */
856 char *x = anonmap (pg);
857 if (x == (char *) MAP_FAILED)
858 perror_exit("test 0 mmap", 2);
862 if (munmap(x, pg) < 0)
863 perror_exit("test 0 munmap", 3);
866 /* 1. If we map a 2-page region and unmap its second page, the first page
871 char *x = anonmap (pg * 2);
872 if (x == (char *)MAP_FAILED)
873 perror_exit ("test 1 mmap", 4);
875 signal (SIGSEGV, sigsegv);
877 perror_exit ("test 1 fault", 5);
882 if (munmap (x + pg, pg) < 0)
883 perror_exit ("test 1 munmap 1", 6);
889 perror_exit ("test 1 no fault", 7);
891 if (munmap (x, pg) < 0)
892 perror_exit ("test 1 munmap 2", 8);
895 /* 2. If we map a 2-page region and unmap its first page, the second
900 char *x = anonmap (pg * 2);
901 if (x == (char *)MAP_FAILED)
902 perror_exit ("test 2 mmap", 9);
904 signal (SIGSEGV, sigsegv);
906 perror_exit ("test 2 fault", 10);
911 if (munmap (x, pg) < 0)
912 perror_exit ("test 2 munmap 1", 11);
919 perror_exit ("test 2 no fault", 12);
922 if (munmap (x+pg, pg) < 0)
923 perror_exit ("test 2 munmap 2", 13);
926 /* 3. If we map two adjacent 1-page regions and unmap them both with
927 one munmap, both must go away.
929 Getting two adjacent 1-page regions with two mmap calls is slightly
930 tricky. All OS's tested skip over already-allocated blocks; therefore
931 we have been careful to unmap all allocated regions in previous tests.
932 HP/UX allocates pages backward in memory. No OS has yet been observed
933 to be so perverse as to leave unmapped space between consecutive calls
942 if (x == (char *)MAP_FAILED)
943 perror_exit ("test 3 mmap 1", 14);
945 if (y == (char *)MAP_FAILED)
946 perror_exit ("test 3 mmap 2", 15);
954 fprintf (stderr, "test 3 nonconsecutive pages - %lx, %lx\n",
955 (unsigned long)x, (unsigned long)y);
960 signal (SIGSEGV, sigsegv);
962 perror_exit ("test 3 fault", 17);
967 if (munmap (x, pg*2) < 0)
968 perror_exit ("test 3 munmap", 18);
973 perror_exit ("test 3 no fault 1", 19);
976 signal (SIGSEGV, sigsegv);
980 perror_exit ("test 3 no fault 2", 20);
987 sigemptyset (&unblock_sigsegv);
988 sigaddset (&unblock_sigsegv, SIGSEGV);
991 devzero = open ("/dev/zero", O_RDWR);
993 perror_exit ("open /dev/zero", 1);
1006 AC_CACHE_CHECK(for working mmap from /dev/zero,
1007 ac_cv_func_mmap_dev_zero,
1009 [#include "ct-mmap.inc"],
1010 ac_cv_func_mmap_dev_zero=yes,
1012 then ac_cv_func_mmap_dev_zero=no
1013 else ac_cv_func_mmap_dev_zero=buggy
1015 # If this is not cygwin, and /dev/zero is a character device, it's probably
1016 # safe to assume it works.
1018 cygwin* | win32 | pe | mingw* ) ac_cv_func_mmap_dev_zero=buggy ;;
1019 * ) if test -c /dev/zero
1020 then ac_cv_func_mmap_dev_zero=yes
1021 else ac_cv_func_mmap_dev_zero=no
1025 if test $ac_cv_func_mmap_dev_zero = yes; then
1026 AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
1027 [Define if mmap can get us zeroed pages from /dev/zero.])
1030 AC_CACHE_CHECK([for working mmap with MAP_ANON(YMOUS)],
1031 ac_cv_func_mmap_anon,
1033 [#define USE_MAP_ANON
1034 #include "ct-mmap.inc"],
1035 ac_cv_func_mmap_anon=yes,
1037 then ac_cv_func_mmap_anon=no
1038 else ac_cv_func_mmap_anon=buggy
1040 # Unlike /dev/zero, it is not safe to assume MAP_ANON(YMOUS) works
1041 # just because it's there. Some SCO Un*xen define it but don't implement it.
1042 ac_cv_func_mmap_anon=no)
1044 if test $ac_cv_func_mmap_anon = yes; then
1045 AC_DEFINE(HAVE_MMAP_ANON, 1,
1046 [Define if mmap can get us zeroed pages using MAP_ANON(YMOUS).])
1051 # Check whether mmap can map a plain file, without MAP_FIXED.
1052 AC_DEFUN([AC_FUNC_MMAP_FILE],
1053 [AC_CACHE_CHECK(for working mmap of a file, ac_cv_func_mmap_file,
1054 [# Create a file one thousand bytes long.
1055 for i in 1 2 3 4 5 6 7 8 9 0
1056 do for j in 1 2 3 4 5 6 7 8 9 0
1059 done > conftestdata$$
1062 /* Test by Zack Weinberg. Modified from MMAP_ANYWHERE test by
1063 Richard Henderson and Alexandre Oliva.
1064 Check whether read-only mmap of a plain file works. */
1065 #include <sys/types.h>
1066 #include <sys/stat.h>
1068 #include <sys/mman.h>
1076 fd = open("conftestdata$$", O_RDONLY);
1080 if (fstat (fd, &st))
1083 x = (char*)mmap(0, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
1084 if (x == (char *) -1)
1087 if (x[0] != '1' || x[1] != ' ' || x[2] != '1' || x[3] != ' ')
1090 if (munmap(x, st.st_size) < 0)
1094 }], ac_cv_func_mmap_file=yes, ac_cv_func_mmap_file=no,
1095 ac_cv_func_mmap_file=no)])
1096 if test $ac_cv_func_mmap_file = yes; then
1097 AC_DEFINE(HAVE_MMAP_FILE, 1,
1098 [Define if read-only mmap of a plain file works.])
1102 dnl Locate a program and check that its version is acceptable.
1103 dnl AC_PROG_CHECK_VER(var, name, version-switch,
1104 dnl version-extract-regexp, version-glob)
1105 AC_DEFUN(gcc_AC_CHECK_PROG_VER,
1106 [AC_CHECK_PROG([$1], [$2], [$2])
1107 if test -n "[$]$1"; then
1108 # Found it, now check the version.
1109 AC_CACHE_CHECK(for modern $2, gcc_cv_prog_$2_modern,
1110 [changequote(<<,>>)dnl
1111 ac_prog_version=`<<$>>$1 $3 2>&1 |
1112 sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'`
1113 echo "configure:__oline__: version of $2 is $ac_prog_version" >&AC_FD_CC
1114 case $ac_prog_version in
1115 '') gcc_cv_prog_$2_modern=no;;
1117 gcc_cv_prog_$2_modern=yes;;
1118 *) gcc_cv_prog_$2_modern=no;;
1123 gcc_cv_prog_$2_modern=no
1127 dnl Determine if enumerated bitfields are unsigned. ISO C says they can
1128 dnl be either signed or unsigned.
1130 AC_DEFUN(gcc_AC_C_ENUM_BF_UNSIGNED,
1131 [AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
1132 [AC_TRY_RUN(#include <stdlib.h>
1133 enum t { BLAH = 128 } ;
1134 struct s_t { enum t member : 8; } s ;
1138 if (s.member < 0) exit(1);
1141 }, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
1142 if test $gcc_cv_enum_bf_unsigned = yes; then
1143 AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
1144 [Define if enumerated bitfields are treated as unsigned values.])
1147 dnl Host type sizes probe.
1148 dnl By Kaveh R. Ghazi. One typo fixed since.
1150 AC_DEFUN([gcc_AC_COMPILE_CHECK_SIZEOF],
1151 [changequote(<<, >>)dnl
1152 dnl The name to #define.
1153 define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
1154 dnl The cache variable name.
1155 define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
1156 changequote([, ])dnl
1157 AC_MSG_CHECKING(size of $1)
1158 AC_CACHE_VAL(AC_CV_NAME,
1159 [for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
1160 AC_TRY_COMPILE([#include "confdefs.h"
1161 #include <sys/types.h>
1163 ], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
1164 if test x$AC_CV_NAME != x ; then break; fi
1167 if test x$AC_CV_NAME = x ; then
1168 AC_MSG_ERROR([cannot determine a size for $1])
1170 AC_MSG_RESULT($AC_CV_NAME)
1171 AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
1172 undefine([AC_TYPE_NAME])dnl
1173 undefine([AC_CV_NAME])dnl
1176 dnl Probe number of bits in a byte.
1177 dnl Note C89 requires CHAR_BIT >= 8.
1179 AC_DEFUN(gcc_AC_C_CHAR_BIT,
1180 [AC_CACHE_CHECK(for CHAR_BIT, gcc_cv_decl_char_bit,
1181 [AC_EGREP_CPP(found,
1182 [#ifdef HAVE_LIMITS_H
1187 #endif], gcc_cv_decl_char_bit=yes, gcc_cv_decl_char_bit=no)
1189 if test $gcc_cv_decl_char_bit = no; then
1190 AC_CACHE_CHECK(number of bits in a byte, gcc_cv_c_nbby,
1193 while test $i -lt 65; do
1196 case (unsigned char)((unsigned long)1 << $i) == ((unsigned long)1 << $i):
1197 case (unsigned char)((unsigned long)1<<($i-1)) == ((unsigned long)1<<($i-1)):
1199 [gcc_cv_c_nbby=$i; break])
1202 test -z "$gcc_cv_c_nbby" && gcc_cv_c_nbby=failed
1204 if test $gcc_cv_c_nbby = failed; then
1205 AC_MSG_ERROR(cannot determine number of bits in a byte)
1207 AC_DEFINE_UNQUOTED(CHAR_BIT, $gcc_cv_c_nbby,
1208 [Define as the number of bits in a byte, if \`limits.h' doesn't.])
1212 dnl Checking for long long.
1213 dnl By Caolan McNamara <caolan@skynet.ie>
1214 dnl Added check for __int64, Zack Weinberg <zackw@stanford.edu>
1216 AC_DEFUN([gcc_AC_C_LONG_LONG],
1217 [AC_CACHE_CHECK(for long long int, ac_cv_c_long_long,
1218 [AC_TRY_COMPILE(,[long long int i;],
1219 ac_cv_c_long_long=yes,
1220 ac_cv_c_long_long=no)])
1221 if test $ac_cv_c_long_long = yes; then
1222 AC_DEFINE(HAVE_LONG_LONG, 1,
1223 [Define if your compiler supports the \`long long' type.])
1225 AC_CACHE_CHECK(for __int64, ac_cv_c___int64,
1226 [AC_TRY_COMPILE(,[__int64 i;],
1227 ac_cv_c___int64=yes,
1228 ac_cv_c___int64=no)])
1229 if test $ac_cv_c___int64 = yes; then
1230 AC_DEFINE(HAVE___INT64, 1,
1231 [Define if your compiler supports the \`__int64' type.])
1235 dnl Host character set probe.
1236 dnl The EBCDIC values match the table in config/i370/i370.c;
1237 dnl there are other versions of EBCDIC but GCC won't work with them.
1239 AC_DEFUN([gcc_AC_C_CHARSET],
1240 [AC_CACHE_CHECK(execution character set, ac_cv_c_charset,
1241 [AC_EGREP_CPP(ASCII,
1242 [#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \
1243 && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21
1245 #endif], ac_cv_c_charset=ASCII)
1246 if test x${ac_cv_c_charset+set} != xset; then
1247 AC_EGREP_CPP(EBCDIC,
1248 [#if '\n' == 0x15 && ' ' == 0x40 && '0' == 0xF0 \
1249 && 'A' == 0xC1 && 'a' == 0x81 && '!' == 0x5A
1251 #endif], ac_cv_c_charset=EBCDIC)
1253 if test x${ac_cv_c_charset+set} != xset; then
1254 ac_cv_c_charset=unknown
1256 if test $ac_cv_c_charset = unknown; then
1257 AC_MSG_ERROR([*** Cannot determine host character set.])
1258 elif test $ac_cv_c_charset = EBCDIC; then
1259 AC_DEFINE(HOST_EBCDIC, 1,
1260 [Define if the host execution character set is EBCDIC.])
1263 dnl Utility macro used by next two tests.
1264 dnl AC_EXAMINE_OBJECT(C source code,
1265 dnl commands examining object file,
1266 dnl [commands to run if compile failed]):
1268 dnl Compile the source code to an object file; then convert it into a
1269 dnl printable representation. All unprintable characters and
1270 dnl asterisks (*) are replaced by dots (.). All white space is
1271 dnl deleted. Newlines (ASCII 0x10) in the input are preserved in the
1272 dnl output, but runs of newlines are compressed to a single newline.
1273 dnl Finally, line breaks are forcibly inserted so that no line is
1274 dnl longer than 80 columns and the file ends with a newline. The
1275 dnl result of all this processing is in the file conftest.dmp, which
1276 dnl may be examined by the commands in the second argument.
1278 AC_DEFUN([gcc_AC_EXAMINE_OBJECT],
1281 dnl Next bit cribbed from AC_TRY_COMPILE.
1282 cat > conftest.$ac_ext <<EOF
1283 [#line __oline__ "configure"
1284 #include "confdefs.h"
1287 if AC_TRY_EVAL(ac_compile); then
1289 sed ['s/^[0-7]*[ ]*/ /
1292 s/ [0-9][0-9][0-9]/./g
1306 dnl Host endianness probe.
1307 dnl This tests byte-within-word endianness. GCC actually needs
1308 dnl to know word-within-larger-object endianness. They are the
1309 dnl same on all presently supported hosts.
1310 dnl Differs from AC_C_BIGENDIAN in that it does not require
1311 dnl running a program on the host, and it defines the macro we
1314 AC_DEFUN([gcc_AC_C_COMPILE_ENDIAN],
1315 [AC_CACHE_CHECK(byte ordering, ac_cv_c_compile_endian,
1316 [ac_cv_c_compile_endian=unknown
1317 gcc_AC_EXAMINE_OBJECT([
1318 #ifdef HAVE_LIMITS_H
1319 # include <limits.h>
1321 /* This structure must have no internal padding. */
1323 char prefix[sizeof "\nendian:" - 1];
1328 #if SIZEOF_SHORT == 4
1329 ('A' << (CHAR_BIT * 3)) | ('B' << (CHAR_BIT * 2)) |
1331 ('A' << CHAR_BIT) | 'B',
1334 [if grep 'endian:AB' conftest.dmp >/dev/null 2>&1; then
1335 ac_cv_c_compile_endian=big-endian
1336 elif grep 'endian:BA' conftest.dmp >/dev/null 2>&1; then
1337 ac_cv_c_compile_endian=little-endian
1340 if test $ac_cv_c_compile_endian = unknown; then
1341 AC_MSG_ERROR([*** unable to determine endianness])
1342 elif test $ac_cv_c_compile_endian = big-endian; then
1343 AC_DEFINE(HOST_WORDS_BIG_ENDIAN, 1,
1344 [Define if the host machine stores words of multi-word integers in
1349 dnl Floating point format probe.
1350 dnl The basic concept is the same as the above: grep the object
1351 dnl file for an interesting string. We have to watch out for
1352 dnl rounding changing the values in the object, however; this is
1353 dnl handled by ignoring the least significant byte of the float.
1355 dnl Does not know about VAX G-float or C4x idiosyncratic format.
1356 dnl It does know about PDP-10 idiosyncratic format, but this is
1357 dnl not presently supported by GCC. S/390 "binary floating point"
1358 dnl is in fact IEEE (but maybe we should have that in EBCDIC as well
1361 AC_DEFUN([gcc_AC_C_FLOAT_FORMAT],
1362 [AC_CACHE_CHECK(floating point format, ac_cv_c_float_format,
1363 [gcc_AC_EXAMINE_OBJECT(
1364 [/* This will not work unless sizeof(double) == 8. */
1365 extern char sizeof_double_must_be_8 [sizeof(double) == 8 ? 1 : -1];
1367 /* This structure must have no internal padding. */
1368 struct possibility {
1374 #define C(cand) { "\nformat:", cand, ":tamrof\n" }
1375 struct possibility table [] =
1377 C( 3.25724264705901305206e+01), /* @@IEEEFP - IEEE 754 */
1378 C( 3.53802595280598432000e+18), /* D__float - VAX */
1379 C( 5.32201830133125317057e-19), /* D.PDP-10 - PDP-10 - the dot is 0x13a */
1380 C( 1.77977764695171661377e+10), /* IBMHEXFP - s/390 format, ascii */
1381 C(-5.22995989424860458374e+10) /* IBMHEXFP - s/390 format, EBCDIC */
1383 [if grep 'format:.@IEEEF.:tamrof' conftest.dmp >/dev/null 2>&1; then
1384 ac_cv_c_float_format='IEEE (big-endian)'
1385 elif grep 'format:.I@@PFE.:tamrof' conftest.dmp >/dev/null 2>&1; then
1386 ac_cv_c_float_format='IEEE (big-endian)'
1387 elif grep 'format:.FEEEI@.:tamrof' conftest.dmp >/dev/null 2>&1; then
1388 ac_cv_c_float_format='IEEE (little-endian)'
1389 elif grep 'format:.EFP@@I.:tamrof' conftest.dmp >/dev/null 2>&1; then
1390 ac_cv_c_float_format='IEEE (little-endian)'
1391 elif grep 'format:.__floa.:tamrof' conftest.dmp >/dev/null 2>&1; then
1392 ac_cv_c_float_format='VAX D-float'
1393 elif grep 'format:..PDP-1.:tamrof' conftest.dmp >/dev/null 2>&1; then
1394 ac_cv_c_float_format='PDP-10'
1395 elif grep 'format:.BMHEXF.:tamrof' conftest.dmp >/dev/null 2>&1; then
1396 ac_cv_c_float_format='IBM 370 hex'
1398 AC_MSG_ERROR(Unknown floating point format)
1400 [AC_MSG_ERROR(compile failed)])
1402 # IEEE is the default format. If the float endianness isn't the same
1403 # as the integer endianness, we have to set FLOAT_WORDS_BIG_ENDIAN
1404 # (which is a tristate: yes, no, default). This is only an issue with
1405 # IEEE; the other formats are only supported by a few machines each,
1406 # all with the same endianness.
1409 case $ac_cv_c_float_format in
1410 'IEEE (big-endian)' )
1411 if test $ac_cv_c_compile_endian = little-endian; then
1415 'IEEE (little-endian)' )
1416 if test $ac_cv_c_compile_endian = big-endian; then
1421 format=VAX_FLOAT_FORMAT
1424 format=PDP10_FLOAT_FORMAT
1427 format=IBM_FLOAT_FORMAT
1430 if test -n "$format"; then
1431 AC_DEFINE_UNQUOTED(HOST_FLOAT_FORMAT, $format,
1432 [Define to the floating point format of the host machine, if not IEEE.])
1434 if test -n "$fbigend"; then
1435 AC_DEFINE_UNQUOTED(HOST_FLOAT_WORDS_BIG_ENDIAN, $fbigend,
1436 [Define to 1 if the host machine stores floating point numbers in
1437 memory with the word containing the sign bit at the lowest address,
1438 or to 0 if it does it the other way around.
1440 This macro should not be defined if the ordering is the same as for
1441 multi-word integers.])