Tue Nov 10 16:17:06 1998 Geoffrey Noer <noer@cygnus.com>
[external/binutils.git] / bfd / aclocal.m4
1 dnl aclocal.m4 generated automatically by aclocal 1.3b
2
3 dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
7
8 dnl This program is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10 dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11 dnl PARTICULAR PURPOSE.
12
13 dnl See whether we need to use fopen-bin.h rather than fopen-same.h.
14 AC_DEFUN(BFD_BINARY_FOPEN,
15 [AC_REQUIRE([AC_CANONICAL_SYSTEM])
16 case "${host}" in
17 changequote(,)dnl
18 i[345]86-*-msdos* | i[345]86-*-go32* | i[345]86-*-mingw32* | *-*-cygwin* | *-*-windows)
19 changequote([,])dnl
20   AC_DEFINE(USE_BINARY_FOPEN) ;;
21 esac])dnl
22
23 dnl Get a default for CC_FOR_BUILD to put into Makefile.
24 AC_DEFUN(BFD_CC_FOR_BUILD,
25 [# Put a plausible default for CC_FOR_BUILD in Makefile.
26 if test -z "$CC_FOR_BUILD"; then
27   if test "x$cross_compiling" = "xno"; then
28     CC_FOR_BUILD='$(CC)'
29   else
30     CC_FOR_BUILD=gcc
31   fi
32 fi
33 AC_SUBST(CC_FOR_BUILD)
34 # Also set EXEEXT_FOR_BUILD.
35 if test "x$cross_compiling" = "xno"; then
36   EXEEXT_FOR_BUILD='$(EXEEXT)'
37 else
38   AC_CACHE_CHECK([for build system executable suffix], bfd_cv_build_exeext,
39     [cat > ac_c_test.c << 'EOF'
40 int main() {
41 /* Nothing needed here */
42 }
43 EOF
44     ${CC_FOR_BUILD} -o ac_c_test am_c_test.c 1>&5 2>&5
45     bfd_cv_build_exeext=`echo ac_c_test.* | grep -v ac_c_test.c | sed -e s/ac_c_test//`
46     rm -f ac_c_test*
47     test x"${bfd_cv_build_exeext}" = x && bfd_cv_build_exeext=no])
48   EXEEXT_FOR_BUILD=""
49   test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
50 fi
51 AC_SUBST(EXEEXT_FOR_BUILD)])dnl
52
53 dnl See whether we need a declaration for a function.
54 AC_DEFUN(BFD_NEED_DECLARATION,
55 [AC_MSG_CHECKING([whether $1 must be declared])
56 AC_CACHE_VAL(bfd_cv_decl_needed_$1,
57 [AC_TRY_COMPILE([
58 #include <stdio.h>
59 #ifdef HAVE_STRING_H
60 #include <string.h>
61 #else
62 #ifdef HAVE_STRINGS_H
63 #include <strings.h>
64 #endif
65 #endif
66 #ifdef HAVE_STDLIB_H
67 #include <stdlib.h>
68 #endif
69 #ifdef HAVE_UNISTD_H
70 #include <unistd.h>
71 #endif],
72 [char *(*pfn) = (char *(*)) $1],
73 bfd_cv_decl_needed_$1=no, bfd_cv_decl_needed_$1=yes)])
74 AC_MSG_RESULT($bfd_cv_decl_needed_$1)
75 if test $bfd_cv_decl_needed_$1 = yes; then
76   bfd_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
77   AC_DEFINE_UNQUOTED($bfd_tr_decl)
78 fi
79 ])dnl
80
81 dnl Check for existence of a type $1 in sys/procfs.h
82
83 AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE,
84 [AC_MSG_CHECKING([for $1 in sys/procfs.h])
85  AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_$1,
86    [AC_TRY_COMPILE([#include <sys/procfs.h>],
87       [$1 avar],
88       bfd_cv_have_sys_procfs_type_$1=yes,
89       bfd_cv_have_sys_procfs_type_$1=no
90    )])
91  if test $bfd_cv_have_sys_procfs_type_$1 = yes; then
92    AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z]))
93  fi
94  AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_$1)
95 ])
96
97
98 dnl Check for existence of member $2 in type $1 in sys/procfs.h
99
100 AC_DEFUN(BFD_HAVE_SYS_PROCFS_TYPE_MEMBER,
101 [AC_MSG_CHECKING([for $1.$2 in sys/procfs.h])
102  AC_CACHE_VAL(bfd_cv_have_sys_procfs_type_member_$1_$2,
103    [AC_TRY_COMPILE([#include <sys/procfs.h>],
104       [$1 avar; void* aref = (void*) &avar.$2],
105       bfd_cv_have_sys_procfs_type_member_$1_$2=yes,
106       bfd_cv_have_sys_procfs_type_member_$1_$2=no
107    )])
108  if test $bfd_cv_have_sys_procfs_type_member_$1_$2 = yes; then
109    AC_DEFINE([HAVE_]translit($1, [a-z], [A-Z])[_]translit($2, [a-z], [A-Z]))
110  fi
111  AC_MSG_RESULT($bfd_cv_have_sys_procfs_type_member_$1_$2)
112 ])
113
114
115
116 # Do all the work for Automake.  This macro actually does too much --
117 # some checks are only needed if your package does certain things.
118 # But this isn't really a big deal.
119
120 # serial 1
121
122 dnl Usage:
123 dnl AM_INIT_AUTOMAKE(package,version, [no-define])
124
125 AC_DEFUN(AM_INIT_AUTOMAKE,
126 [AC_REQUIRE([AM_PROG_INSTALL])
127 PACKAGE=[$1]
128 AC_SUBST(PACKAGE)
129 VERSION=[$2]
130 AC_SUBST(VERSION)
131 dnl test to see if srcdir already configured
132 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
133   AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
134 fi
135 ifelse([$3],,
136 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
137 AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
138 AC_REQUIRE([AM_SANITY_CHECK])
139 AC_REQUIRE([AC_ARG_PROGRAM])
140 dnl FIXME This is truly gross.
141 missing_dir=`cd $ac_aux_dir && pwd`
142 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
143 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
144 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
145 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
146 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
147 AC_REQUIRE([AC_PROG_MAKE_SET])])
148
149
150 # serial 1
151
152 AC_DEFUN(AM_PROG_INSTALL,
153 [AC_REQUIRE([AC_PROG_INSTALL])
154 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
155 AC_SUBST(INSTALL_SCRIPT)dnl
156 ])
157
158 #
159 # Check to make sure that the build environment is sane.
160 #
161
162 AC_DEFUN(AM_SANITY_CHECK,
163 [AC_MSG_CHECKING([whether build environment is sane])
164 # Just in case
165 sleep 1
166 echo timestamp > conftestfile
167 # Do `set' in a subshell so we don't clobber the current shell's
168 # arguments.  Must try -L first in case configure is actually a
169 # symlink; some systems play weird games with the mod time of symlinks
170 # (eg FreeBSD returns the mod time of the symlink's containing
171 # directory).
172 if (
173    set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
174    if test "[$]*" = "X"; then
175       # -L didn't work.
176       set X `ls -t $srcdir/configure conftestfile`
177    fi
178    if test "[$]*" != "X $srcdir/configure conftestfile" \
179       && test "[$]*" != "X conftestfile $srcdir/configure"; then
180
181       # If neither matched, then we have a broken ls.  This can happen
182       # if, for instance, CONFIG_SHELL is bash and it inherits a
183       # broken ls alias from the environment.  This has actually
184       # happened.  Such a system could not be considered "sane".
185       AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
186 alias in your environment])
187    fi
188
189    test "[$]2" = conftestfile
190    )
191 then
192    # Ok.
193    :
194 else
195    AC_MSG_ERROR([newly created file is older than distributed files!
196 Check your system clock])
197 fi
198 rm -f conftest*
199 AC_MSG_RESULT(yes)])
200
201 dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
202 dnl The program must properly implement --version.
203 AC_DEFUN(AM_MISSING_PROG,
204 [AC_MSG_CHECKING(for working $2)
205 # Run test in a subshell; some versions of sh will print an error if
206 # an executable is not found, even if stderr is redirected.
207 # Redirect stdin to placate older versions of autoconf.  Sigh.
208 if ($2 --version) < /dev/null > /dev/null 2>&1; then
209    $1=$2
210    AC_MSG_RESULT(found)
211 else
212    $1="$3/missing $2"
213    AC_MSG_RESULT(missing)
214 fi
215 AC_SUBST($1)])
216
217
218 # serial 25 AM_PROG_LIBTOOL
219 AC_DEFUN(AM_PROG_LIBTOOL,
220 [AC_REQUIRE([AM_ENABLE_SHARED])dnl
221 AC_REQUIRE([AM_ENABLE_STATIC])dnl
222 AC_REQUIRE([AC_CANONICAL_HOST])dnl
223 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
224 AC_REQUIRE([AC_PROG_RANLIB])dnl
225 AC_REQUIRE([AC_PROG_CC])dnl
226 AC_REQUIRE([AM_PROG_LD])dnl
227 AC_REQUIRE([AM_PROG_NM])dnl
228 AC_REQUIRE([AC_PROG_LN_S])dnl
229 dnl
230 # Always use our own libtool.
231 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
232 AC_SUBST(LIBTOOL)dnl
233
234 # Check for any special flags to pass to ltconfig.
235 libtool_flags=
236 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
237 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
238 test "$silent" = yes && libtool_flags="$libtool_flags --silent"
239 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
240 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
241
242 # Some flags need to be propagated to the compiler or linker for good
243 # libtool support.
244 case "$host" in
245 *-*-irix6*)
246   # Find out which ABI we are using.
247   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
248   if AC_TRY_EVAL(ac_compile); then
249     case "`/usr/bin/file conftest.o`" in
250     *32-bit*)
251       LD="${LD-ld} -32"
252       ;;
253     *N32*)
254       LD="${LD-ld} -n32"
255       ;;
256     *64-bit*)
257       LD="${LD-ld} -64"
258       ;;
259     esac
260   fi
261   rm -rf conftest*
262   ;;
263
264 *-*-sco3.2v5*)
265   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
266   CFLAGS="$CFLAGS -belf"
267   ;;
268
269 *-*-cygwin32*)
270   AM_SYS_LIBTOOL_CYGWIN32
271   ;;
272
273 esac
274
275 # Actually configure libtool.  ac_aux_dir is where install-sh is found.
276 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
277 LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
278 DLLTOOL="$DLLTOOL" AS="$AS" \
279 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
280 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
281 || AC_MSG_ERROR([libtool configure failed])
282
283 # Redirect the config.log output again, so that the ltconfig log is not
284 # clobbered by the next message.
285 exec 5>>./config.log
286 ])
287
288 # AM_ENABLE_SHARED - implement the --enable-shared flag
289 # Usage: AM_ENABLE_SHARED[(DEFAULT)]
290 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
291 #   `yes'.
292 AC_DEFUN(AM_ENABLE_SHARED,
293 [define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
294 AC_ARG_ENABLE(shared,
295 changequote(<<, >>)dnl
296 <<  --enable-shared[=PKGS]  build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT],
297 changequote([, ])dnl
298 [p=${PACKAGE-default}
299 case "$enableval" in
300 yes) enable_shared=yes ;;
301 no) enable_shared=no ;;
302 *)
303   enable_shared=no
304   # Look at the argument we got.  We use all the common list separators.
305   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
306   for pkg in $enableval; do
307     if test "X$pkg" = "X$p"; then
308       enable_shared=yes
309     fi
310   done
311   IFS="$ac_save_ifs"
312   ;;
313 esac],
314 enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
315 ])
316
317 # AM_DISABLE_SHARED - set the default shared flag to --disable-shared
318 AC_DEFUN(AM_DISABLE_SHARED,
319 [AM_ENABLE_SHARED(no)])
320
321 # AM_DISABLE_STATIC - set the default static flag to --disable-static
322 AC_DEFUN(AM_DISABLE_STATIC,
323 [AM_ENABLE_STATIC(no)])
324
325 # AM_ENABLE_STATIC - implement the --enable-static flag
326 # Usage: AM_ENABLE_STATIC[(DEFAULT)]
327 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
328 #   `yes'.
329 AC_DEFUN(AM_ENABLE_STATIC,
330 [define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
331 AC_ARG_ENABLE(static,
332 changequote(<<, >>)dnl
333 <<  --enable-static[=PKGS]  build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT],
334 changequote([, ])dnl
335 [p=${PACKAGE-default}
336 case "$enableval" in
337 yes) enable_static=yes ;;
338 no) enable_static=no ;;
339 *)
340   enable_static=no
341   # Look at the argument we got.  We use all the common list separators.
342   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
343   for pkg in $enableval; do
344     if test "X$pkg" = "X$p"; then
345       enable_static=yes
346     fi
347   done
348   IFS="$ac_save_ifs"
349   ;;
350 esac],
351 enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
352 ])
353
354
355 # AM_PROG_LD - find the path to the GNU or non-GNU linker
356 AC_DEFUN(AM_PROG_LD,
357 [AC_ARG_WITH(gnu-ld,
358 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
359 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
360 AC_REQUIRE([AC_PROG_CC])
361 ac_prog=ld
362 if test "$ac_cv_prog_gcc" = yes; then
363   # Check if gcc -print-prog-name=ld gives a path.
364   AC_MSG_CHECKING([for ld used by GCC])
365   ac_prog=`($CC -print-prog-name=ld) 2>&5`
366   case "$ac_prog" in
367   # Accept absolute paths.
368 changequote(,)dnl
369   /* | [A-Za-z]:\\*)
370 changequote([,])dnl
371     test -z "$LD" && LD="$ac_prog"
372     ;;
373   "")
374     # If it fails, then pretend we aren't using GCC.
375     ac_prog=ld
376     ;;
377   *)
378     # If it is relative, then search for the first ld in PATH.
379     with_gnu_ld=unknown
380     ;;
381   esac
382 elif test "$with_gnu_ld" = yes; then
383   AC_MSG_CHECKING([for GNU ld])
384 else
385   AC_MSG_CHECKING([for non-GNU ld])
386 fi
387 AC_CACHE_VAL(ac_cv_path_LD,
388 [if test -z "$LD"; then
389   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
390   for ac_dir in $PATH; do
391     test -z "$ac_dir" && ac_dir=.
392     if test -f "$ac_dir/$ac_prog"; then
393       ac_cv_path_LD="$ac_dir/$ac_prog"
394       # Check to see if the program is GNU ld.  I'd rather use --version,
395       # but apparently some GNU ld's only accept -v.
396       # Break only if it was the GNU/non-GNU ld that we prefer.
397       if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
398         test "$with_gnu_ld" != no && break
399       else
400         test "$with_gnu_ld" != yes && break
401       fi
402     fi
403   done
404   IFS="$ac_save_ifs"
405 else
406   ac_cv_path_LD="$LD" # Let the user override the test with a path.
407 fi])
408 LD="$ac_cv_path_LD"
409 if test -n "$LD"; then
410   AC_MSG_RESULT($LD)
411 else
412   AC_MSG_RESULT(no)
413 fi
414 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
415 AC_SUBST(LD)
416 AM_PROG_LD_GNU
417 ])
418
419 AC_DEFUN(AM_PROG_LD_GNU,
420 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
421 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
422 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
423   ac_cv_prog_gnu_ld=yes
424 else
425   ac_cv_prog_gnu_ld=no
426 fi])
427 ])
428
429 # AM_PROG_NM - find the path to a BSD-compatible name lister
430 AC_DEFUN(AM_PROG_NM,
431 [AC_MSG_CHECKING([for BSD-compatible nm])
432 AC_CACHE_VAL(ac_cv_path_NM,
433 [if test -n "$NM"; then
434   # Let the user override the test.
435   ac_cv_path_NM="$NM"
436 else
437   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
438   for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
439     test -z "$ac_dir" && ac_dir=.
440     if test -f $ac_dir/nm; then
441       # Check to see if the nm accepts a BSD-compat flag.
442       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
443       #   nm: unknown option "B" ignored
444       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
445         ac_cv_path_NM="$ac_dir/nm -B"
446       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
447         ac_cv_path_NM="$ac_dir/nm -p"
448       else
449         ac_cv_path_NM="$ac_dir/nm"
450       fi
451       break
452     fi
453   done
454   IFS="$ac_save_ifs"
455   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
456 fi])
457 NM="$ac_cv_path_NM"
458 AC_MSG_RESULT([$NM])
459 AC_SUBST(NM)
460 ])
461
462 # AM_SYS_LIBTOOL_CYGWIN32 - find tools needed on cygwin32
463 AC_DEFUN(AM_SYS_LIBTOOL_CYGWIN32,
464 [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
465 AC_CHECK_TOOL(AS, as, false)
466 ])
467
468 # Like AC_CONFIG_HEADER, but automatically create stamp file.
469
470 AC_DEFUN(AM_CONFIG_HEADER,
471 [AC_PREREQ([2.12])
472 AC_CONFIG_HEADER([$1])
473 dnl When config.status generates a header, we must update the stamp-h file.
474 dnl This file resides in the same directory as the config header
475 dnl that is generated.  We must strip everything past the first ":",
476 dnl and everything past the last "/".
477 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
478 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
479 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
480 <<am_indx=1
481 for am_file in <<$1>>; do
482   case " <<$>>CONFIG_HEADERS " in
483   *" <<$>>am_file "*<<)>>
484     echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
485     ;;
486   esac
487   am_indx=`expr "<<$>>am_indx" + 1`
488 done<<>>dnl>>)
489 changequote([,]))])
490
491 # Add --enable-maintainer-mode option to configure.
492 # From Jim Meyering
493
494 # serial 1
495
496 AC_DEFUN(AM_MAINTAINER_MODE,
497 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
498   dnl maintainer-mode is disabled by default
499   AC_ARG_ENABLE(maintainer-mode,
500 [  --enable-maintainer-mode enable make rules and dependencies not useful
501                           (and sometimes confusing) to the casual installer],
502       USE_MAINTAINER_MODE=$enableval,
503       USE_MAINTAINER_MODE=no)
504   AC_MSG_RESULT($USE_MAINTAINER_MODE)
505   if test $USE_MAINTAINER_MODE = yes; then
506     MAINT=
507   else
508     MAINT='#M#'
509   fi
510   AC_SUBST(MAINT)dnl
511 ]
512 )
513
514 # Check to see if we're running under Cygwin32, without using
515 # AC_CANONICAL_*.  If so, set output variable CYGWIN32 to "yes".
516 # Otherwise set it to "no".
517
518 dnl AM_CYGWIN32()
519 AC_DEFUN(AM_CYGWIN32,
520 [AC_CACHE_CHECK(for Cygwin32 environment, am_cv_cygwin32,
521 [AC_TRY_COMPILE(,[return __CYGWIN32__;],
522 am_cv_cygwin32=yes, am_cv_cygwin32=no)
523 rm -f conftest*])
524 CYGWIN32=
525 test "$am_cv_cygwin32" = yes && CYGWIN32=yes])
526
527 # Check to see if we're running under Win32, without using
528 # AC_CANONICAL_*.  If so, set output variable EXEEXT to ".exe".
529 # Otherwise set it to "".
530
531 dnl AM_EXEEXT()
532 dnl This knows we add .exe if we're building in the Cygwin32
533 dnl environment. But if we're not, then it compiles a test program
534 dnl to see if there is a suffix for executables.
535 AC_DEFUN(AM_EXEEXT,
536 [AC_REQUIRE([AM_CYGWIN32])
537 AC_REQUIRE([AM_MINGW32])
538 AC_MSG_CHECKING([for executable suffix])
539 AC_CACHE_VAL(am_cv_exeext,
540 [if test "$CYGWIN32" = yes || test "$MINGW32" = yes; then
541 am_cv_exeext=.exe
542 else
543 cat > am_c_test.c << 'EOF'
544 int main() {
545 /* Nothing needed here */
546 }
547 EOF
548 ${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
549 am_cv_exeext=
550 for file in am_c_test.*; do
551    case $file in
552     *.c) ;;
553     *.o) ;;
554     *) am_cv_exeext=`echo $file | sed -e s/am_c_test//` ;;
555    esac
556 done
557 rm -f am_c_test*])
558 test x"${am_cv_exeext}" = x && am_cv_exeext=no
559 fi
560 EXEEXT=""
561 test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
562 AC_MSG_RESULT(${am_cv_exeext})
563 AC_SUBST(EXEEXT)])
564
565 # Check to see if we're running under Mingw, without using
566 # AC_CANONICAL_*.  If so, set output variable MINGW32 to "yes".
567 # Otherwise set it to "no".
568
569 dnl AM_MINGW32()
570 AC_DEFUN(AM_MINGW32,
571 [AC_CACHE_CHECK(for Mingw32 environment, am_cv_mingw32,
572 [AC_TRY_COMPILE(,[return __MINGW32__;],
573 am_cv_mingw32=yes, am_cv_mingw32=no)
574 rm -f conftest*])
575 MINGW32=
576 test "$am_cv_mingw32" = yes && MINGW32=yes])
577
578 # This file is derived from `gettext.m4'.  The difference is that the
579 # included macros assume Cygnus-style source and build trees.
580
581 # Macro to add for using GNU gettext.
582 # Ulrich Drepper <drepper@cygnus.com>, 1995.
583 #
584 # This file file be copied and used freely without restrictions.  It can
585 # be used in projects which are not available under the GNU Public License
586 # but which still want to provide support for the GNU gettext functionality.
587 # Please note that the actual code is *not* freely available.
588
589 # serial 3
590
591 AC_DEFUN(CY_WITH_NLS,
592   [AC_MSG_CHECKING([whether NLS is requested])
593     dnl Default is enabled NLS
594     AC_ARG_ENABLE(nls,
595       [  --disable-nls           do not use Native Language Support],
596       USE_NLS=$enableval, USE_NLS=yes)
597     AC_MSG_RESULT($USE_NLS)
598     AC_SUBST(USE_NLS)
599
600     USE_INCLUDED_LIBINTL=no
601
602     dnl If we use NLS figure out what method
603     if test "$USE_NLS" = "yes"; then
604       AC_DEFINE(ENABLE_NLS)
605       AC_MSG_CHECKING([whether included gettext is requested])
606       AC_ARG_WITH(included-gettext,
607         [  --with-included-gettext use the GNU gettext library included here],
608         nls_cv_force_use_gnu_gettext=$withval,
609         nls_cv_force_use_gnu_gettext=no)
610       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
611
612       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
613       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
614         dnl User does not insist on using GNU NLS library.  Figure out what
615         dnl to use.  If gettext or catgets are available (in this order) we
616         dnl use this.  Else we have to fall back to GNU NLS library.
617         dnl catgets is only used if permitted by option --with-catgets.
618         nls_cv_header_intl=
619         nls_cv_header_libgt=
620         CATOBJEXT=NONE
621
622         AC_CHECK_HEADER(libintl.h,
623           [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
624             [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
625                gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
626
627            if test "$gt_cv_func_gettext_libc" != "yes"; then
628              AC_CHECK_LIB(intl, bindtextdomain,
629                [AC_CACHE_CHECK([for gettext in libintl],
630                  gt_cv_func_gettext_libintl,
631                  [AC_TRY_LINK([], [return (int) gettext ("")],
632                  gt_cv_func_gettext_libintl=yes,
633                  gt_cv_func_gettext_libintl=no)])])
634            fi
635
636            if test "$gt_cv_func_gettext_libc" = "yes" \
637               || test "$gt_cv_func_gettext_libintl" = "yes"; then
638               AC_DEFINE(HAVE_GETTEXT)
639               AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
640                 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
641               if test "$MSGFMT" != "no"; then
642                 AC_CHECK_FUNCS(dcgettext)
643                 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
644                 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
645                   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
646                 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
647                                return _nl_msg_cat_cntr],
648                   [CATOBJEXT=.gmo
649                    DATADIRNAME=share],
650                   [CATOBJEXT=.mo
651                    DATADIRNAME=lib])
652                 INSTOBJEXT=.mo
653               fi
654             fi
655         ])
656
657         dnl In the standard gettext, we would now check for catgets.
658         dnl However, we never want to use catgets for our releases.
659
660         if test "$CATOBJEXT" = "NONE"; then
661           dnl Neither gettext nor catgets in included in the C library.
662           dnl Fall back on GNU gettext library.
663           nls_cv_use_gnu_gettext=yes
664         fi
665       fi
666
667       if test "$nls_cv_use_gnu_gettext" = "yes"; then
668         dnl Mark actions used to generate GNU NLS library.
669         INTLOBJS="\$(GETTOBJS)"
670         AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
671           [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
672         AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
673         AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
674           [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
675         AC_SUBST(MSGFMT)
676         USE_INCLUDED_LIBINTL=yes
677         CATOBJEXT=.gmo
678         INSTOBJEXT=.mo
679         DATADIRNAME=share
680         INTLDEPS='$(top_builddir)/../intl/libintl.a'
681         INTLLIBS=$INTLDEPS
682         LIBS=`echo $LIBS | sed -e 's/-lintl//'`
683         nls_cv_header_intl=libintl.h
684         nls_cv_header_libgt=libgettext.h
685       fi
686
687       dnl Test whether we really found GNU xgettext.
688       if test "$XGETTEXT" != ":"; then
689         dnl If it is no GNU xgettext we define it as : so that the
690         dnl Makefiles still can work.
691         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
692           : ;
693         else
694           AC_MSG_RESULT(
695             [found xgettext programs is not GNU xgettext; ignore it])
696           XGETTEXT=":"
697         fi
698       fi
699
700       # We need to process the po/ directory.
701       POSUB=po
702     else
703       DATADIRNAME=share
704       nls_cv_header_intl=libintl.h
705       nls_cv_header_libgt=libgettext.h
706     fi
707
708     # If this is used in GNU gettext we have to set USE_NLS to `yes'
709     # because some of the sources are only built for this goal.
710     if test "$PACKAGE" = gettext; then
711       USE_NLS=yes
712       USE_INCLUDED_LIBINTL=yes
713     fi
714
715     dnl These rules are solely for the distribution goal.  While doing this
716     dnl we only have to keep exactly one list of the available catalogs
717     dnl in configure.in.
718     for lang in $ALL_LINGUAS; do
719       GMOFILES="$GMOFILES $lang.gmo"
720       POFILES="$POFILES $lang.po"
721     done
722
723     dnl Make all variables we use known to autoconf.
724     AC_SUBST(USE_INCLUDED_LIBINTL)
725     AC_SUBST(CATALOGS)
726     AC_SUBST(CATOBJEXT)
727     AC_SUBST(DATADIRNAME)
728     AC_SUBST(GMOFILES)
729     AC_SUBST(INSTOBJEXT)
730     AC_SUBST(INTLDEPS)
731     AC_SUBST(INTLLIBS)
732     AC_SUBST(INTLOBJS)
733     AC_SUBST(POFILES)
734     AC_SUBST(POSUB)
735   ])
736
737 AC_DEFUN(CY_GNU_GETTEXT,
738   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
739    AC_REQUIRE([AC_PROG_CC])dnl
740    AC_REQUIRE([AC_PROG_RANLIB])dnl
741    AC_REQUIRE([AC_ISC_POSIX])dnl
742    AC_REQUIRE([AC_HEADER_STDC])dnl
743    AC_REQUIRE([AC_C_CONST])dnl
744    AC_REQUIRE([AC_C_INLINE])dnl
745    AC_REQUIRE([AC_TYPE_OFF_T])dnl
746    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
747    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
748    AC_REQUIRE([AC_FUNC_MMAP])dnl
749
750    AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
751 unistd.h values.h sys/param.h])
752    AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
753 __argz_count __argz_stringify __argz_next])
754
755    if test "${ac_cv_func_stpcpy+set}" != "set"; then
756      AC_CHECK_FUNCS(stpcpy)
757    fi
758    if test "${ac_cv_func_stpcpy}" = "yes"; then
759      AC_DEFINE(HAVE_STPCPY)
760    fi
761
762    AM_LC_MESSAGES
763    CY_WITH_NLS
764
765    if test "x$CATOBJEXT" != "x"; then
766      if test "x$ALL_LINGUAS" = "x"; then
767        LINGUAS=
768      else
769        AC_MSG_CHECKING(for catalogs to be installed)
770        NEW_LINGUAS=
771        for lang in ${LINGUAS=$ALL_LINGUAS}; do
772          case "$ALL_LINGUAS" in
773           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
774          esac
775        done
776        LINGUAS=$NEW_LINGUAS
777        AC_MSG_RESULT($LINGUAS)
778      fi
779
780      dnl Construct list of names of catalog files to be constructed.
781      if test -n "$LINGUAS"; then
782        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
783      fi
784    fi
785
786    dnl The reference to <locale.h> in the installed <libintl.h> file
787    dnl must be resolved because we cannot expect the users of this
788    dnl to define HAVE_LOCALE_H.
789    if test $ac_cv_header_locale_h = yes; then
790      INCLUDE_LOCALE_H="#include <locale.h>"
791    else
792      INCLUDE_LOCALE_H="\
793 /* The system does not provide the header <locale.h>.  Take care yourself.  */"
794    fi
795    AC_SUBST(INCLUDE_LOCALE_H)
796
797    dnl Determine which catalog format we have (if any is needed)
798    dnl For now we know about two different formats:
799    dnl   Linux libc-5 and the normal X/Open format
800    if test -f $srcdir/po2tbl.sed.in; then
801       if test "$CATOBJEXT" = ".cat"; then
802          AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
803
804          dnl Transform the SED scripts while copying because some dumb SEDs
805          dnl cannot handle comments.
806          sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
807       fi
808       dnl po2tbl.sed is always needed.
809       sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
810          $srcdir/po2tbl.sed.in > po2tbl.sed
811    fi
812
813    dnl In the intl/Makefile.in we have a special dependency which makes
814    dnl only sense for gettext.  We comment this out for non-gettext
815    dnl packages.
816    if test "$PACKAGE" = "gettext"; then
817      GT_NO="#NO#"
818      GT_YES=
819    else
820      GT_NO=
821      GT_YES="#YES#"
822    fi
823    AC_SUBST(GT_NO)
824    AC_SUBST(GT_YES)
825
826    MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
827    AC_SUBST(MKINSTALLDIRS)
828
829    dnl *** For now the libtool support in intl/Makefile is not for real.
830    l=
831    AC_SUBST(l)
832
833    dnl Generate list of files to be processed by xgettext which will
834    dnl be included in po/Makefile.  But only do this if the po directory
835    dnl exists in srcdir.
836    if test -d $srcdir/po; then
837       test -d po || mkdir po
838       if test "x$srcdir" != "x."; then
839          if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
840             posrcprefix="$srcdir/"
841          else
842             posrcprefix="../$srcdir/"
843          fi
844       else
845          posrcprefix="../"
846       fi
847       rm -f po/POTFILES
848       sed -e "/^#/d" -e "/^\$/d" -e "s,.*,      $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
849          < $srcdir/po/POTFILES.in > po/POTFILES
850    fi
851   ])
852
853 # Search path for a program which passes the given test.
854 # Ulrich Drepper <drepper@cygnus.com>, 1996.
855 #
856 # This file file be copied and used freely without restrictions.  It can
857 # be used in projects which are not available under the GNU Public License
858 # but which still want to provide support for the GNU gettext functionality.
859 # Please note that the actual code is *not* freely available.
860
861 # serial 1
862
863 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
864 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
865 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
866 [# Extract the first word of "$2", so it can be a program name with args.
867 set dummy $2; ac_word=[$]2
868 AC_MSG_CHECKING([for $ac_word])
869 AC_CACHE_VAL(ac_cv_path_$1,
870 [case "[$]$1" in
871   /*)
872   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
873   ;;
874   *)
875   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
876   for ac_dir in ifelse([$5], , $PATH, [$5]); do
877     test -z "$ac_dir" && ac_dir=.
878     if test -f $ac_dir/$ac_word; then
879       if [$3]; then
880         ac_cv_path_$1="$ac_dir/$ac_word"
881         break
882       fi
883     fi
884   done
885   IFS="$ac_save_ifs"
886 dnl If no 4th arg is given, leave the cache variable unset,
887 dnl so AC_PATH_PROGS will keep looking.
888 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
889 ])dnl
890   ;;
891 esac])dnl
892 $1="$ac_cv_path_$1"
893 if test -n "[$]$1"; then
894   AC_MSG_RESULT([$]$1)
895 else
896   AC_MSG_RESULT(no)
897 fi
898 AC_SUBST($1)dnl
899 ])
900
901 # Check whether LC_MESSAGES is available in <locale.h>.
902 # Ulrich Drepper <drepper@cygnus.com>, 1995.
903 #
904 # This file file be copied and used freely without restrictions.  It can
905 # be used in projects which are not available under the GNU Public License
906 # but which still want to provide support for the GNU gettext functionality.
907 # Please note that the actual code is *not* freely available.
908
909 # serial 1
910
911 AC_DEFUN(AM_LC_MESSAGES,
912   [if test $ac_cv_header_locale_h = yes; then
913     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
914       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
915        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
916     if test $am_cv_val_LC_MESSAGES = yes; then
917       AC_DEFINE(HAVE_LC_MESSAGES)
918     fi
919   fi])
920