b133d719270b10f1e8d446e59db99cd6d05e0ddc
[platform/upstream/glib.git] / acinclude.m4
1 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
2 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
3 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
4 ##
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; either version 2 of the License, or
8 ## (at your option) any later version.
9 ##
10 ## This program is distributed in the hope that it will be useful, but
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 ## General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 ##
19 ## As a special exception to the GNU General Public License, if you
20 ## distribute this file as part of a program that contains a
21 ## configuration script generated by Autoconf, you may include it under
22 ## the same distribution terms that you use for the rest of that program.
23
24 # serial 40 AC_PROG_LIBTOOL
25 AC_DEFUN(AC_PROG_LIBTOOL,
26 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
27
28 # Save cache, so that ltconfig can load it
29 AC_CACHE_SAVE
30
31 # Actually configure libtool.  ac_aux_dir is where install-sh is found.
32 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
33 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
34 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
35 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
36 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
37 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
38 || AC_MSG_ERROR([libtool configure failed])
39
40 # Reload cache, that may have been modified by ltconfig
41 AC_CACHE_LOAD
42
43 # This can be used to rebuild libtool when needed
44 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
45
46 # Always use our own libtool.
47 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
48 AC_SUBST(LIBTOOL)dnl
49
50 # Redirect the config.log output again, so that the ltconfig log is not
51 # clobbered by the next message.
52 exec 5>>./config.log
53 ])
54
55 AC_DEFUN(AC_LIBTOOL_SETUP,
56 [AC_PREREQ(2.13)dnl
57 AC_REQUIRE([AC_ENABLE_SHARED])dnl
58 AC_REQUIRE([AC_ENABLE_STATIC])dnl
59 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
60 AC_REQUIRE([AC_CANONICAL_HOST])dnl
61 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
62 AC_REQUIRE([AC_PROG_RANLIB])dnl
63 AC_REQUIRE([AC_PROG_CC])dnl
64 AC_REQUIRE([AC_PROG_LD])dnl
65 AC_REQUIRE([AC_PROG_NM])dnl
66 AC_REQUIRE([AC_PROG_LN_S])dnl
67 dnl
68
69 # Check for any special flags to pass to ltconfig.
70 libtool_flags="--cache-file=$cache_file"
71 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
72 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
73 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
74 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
75 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
76 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
77 [libtool_flags="$libtool_flags --enable-dlopen"])
78 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
79 [libtool_flags="$libtool_flags --enable-win32-dll"])
80 AC_ARG_ENABLE(libtool-lock,
81   [  --disable-libtool-lock  avoid locking (might break parallel builds)])
82 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
83 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
84
85 # Some flags need to be propagated to the compiler or linker for good
86 # libtool support.
87 case "$host" in
88 *-*-irix6*)
89   # Find out which ABI we are using.
90   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
91   if AC_TRY_EVAL(ac_compile); then
92     case "`/usr/bin/file conftest.o`" in
93     *32-bit*)
94       LD="${LD-ld} -32"
95       ;;
96     *N32*)
97       LD="${LD-ld} -n32"
98       ;;
99     *64-bit*)
100       LD="${LD-ld} -64"
101       ;;
102     esac
103   fi
104   rm -rf conftest*
105   ;;
106
107 *-*-sco3.2v5*)
108   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
109   SAVE_CFLAGS="$CFLAGS"
110   CFLAGS="$CFLAGS -belf"
111   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
112     [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
113   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
114     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
115     CFLAGS="$SAVE_CFLAGS"
116   fi
117   ;;
118
119 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
120 [*-*-cygwin* | *-*-mingw*)
121   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
122   AC_CHECK_TOOL(AS, as, false)
123   AC_CHECK_TOOL(OBJDUMP, objdump, false)
124   ;;
125 ])
126 esac
127 ])
128
129 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
130 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
131
132 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
133 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
134
135 # AC_ENABLE_SHARED - implement the --enable-shared flag
136 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
137 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
138 #   `yes'.
139 AC_DEFUN(AC_ENABLE_SHARED, [dnl
140 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
141 AC_ARG_ENABLE(shared,
142 changequote(<<, >>)dnl
143 <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
144 changequote([, ])dnl
145 [p=${PACKAGE-default}
146 case "$enableval" in
147 yes) enable_shared=yes ;;
148 no) enable_shared=no ;;
149 *)
150   enable_shared=no
151   # Look at the argument we got.  We use all the common list separators.
152   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
153   for pkg in $enableval; do
154     if test "X$pkg" = "X$p"; then
155       enable_shared=yes
156     fi
157   done
158   IFS="$ac_save_ifs"
159   ;;
160 esac],
161 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
162 ])
163
164 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
165 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
166 AC_ENABLE_SHARED(no)])
167
168 # AC_ENABLE_STATIC - implement the --enable-static flag
169 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
170 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
171 #   `yes'.
172 AC_DEFUN(AC_ENABLE_STATIC, [dnl
173 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
174 AC_ARG_ENABLE(static,
175 changequote(<<, >>)dnl
176 <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
177 changequote([, ])dnl
178 [p=${PACKAGE-default}
179 case "$enableval" in
180 yes) enable_static=yes ;;
181 no) enable_static=no ;;
182 *)
183   enable_static=no
184   # Look at the argument we got.  We use all the common list separators.
185   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
186   for pkg in $enableval; do
187     if test "X$pkg" = "X$p"; then
188       enable_static=yes
189     fi
190   done
191   IFS="$ac_save_ifs"
192   ;;
193 esac],
194 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
195 ])
196
197 # AC_DISABLE_STATIC - set the default static flag to --disable-static
198 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
199 AC_ENABLE_STATIC(no)])
200
201
202 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
203 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
204 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
205 #   `yes'.
206 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
207 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
208 AC_ARG_ENABLE(fast-install,
209 changequote(<<, >>)dnl
210 <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
211 changequote([, ])dnl
212 [p=${PACKAGE-default}
213 case "$enableval" in
214 yes) enable_fast_install=yes ;;
215 no) enable_fast_install=no ;;
216 *)
217   enable_fast_install=no
218   # Look at the argument we got.  We use all the common list separators.
219   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
220   for pkg in $enableval; do
221     if test "X$pkg" = "X$p"; then
222       enable_fast_install=yes
223     fi
224   done
225   IFS="$ac_save_ifs"
226   ;;
227 esac],
228 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
229 ])
230
231 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
232 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
233 AC_ENABLE_FAST_INSTALL(no)])
234
235 # AC_PROG_LD - find the path to the GNU or non-GNU linker
236 AC_DEFUN(AC_PROG_LD,
237 [AC_ARG_WITH(gnu-ld,
238 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
239 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
240 AC_REQUIRE([AC_PROG_CC])dnl
241 AC_REQUIRE([AC_CANONICAL_HOST])dnl
242 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
243 ac_prog=ld
244 if test "$ac_cv_prog_gcc" = yes; then
245   # Check if gcc -print-prog-name=ld gives a path.
246   AC_MSG_CHECKING([for ld used by GCC])
247   ac_prog=`($CC -print-prog-name=ld) 2>&5`
248   case "$ac_prog" in
249     # Accept absolute paths.
250 changequote(,)dnl
251     [\\/]* | [A-Za-z]:[\\/]*)
252       re_direlt='/[^/][^/]*/\.\./'
253 changequote([,])dnl
254       # Canonicalize the path of ld
255       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
256       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
257         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
258       done
259       test -z "$LD" && LD="$ac_prog"
260       ;;
261   "")
262     # If it fails, then pretend we aren't using GCC.
263     ac_prog=ld
264     ;;
265   *)
266     # If it is relative, then search for the first ld in PATH.
267     with_gnu_ld=unknown
268     ;;
269   esac
270 elif test "$with_gnu_ld" = yes; then
271   AC_MSG_CHECKING([for GNU ld])
272 else
273   AC_MSG_CHECKING([for non-GNU ld])
274 fi
275 AC_CACHE_VAL(ac_cv_path_LD,
276 [if test -z "$LD"; then
277   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
278   for ac_dir in $PATH; do
279     test -z "$ac_dir" && ac_dir=.
280     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
281       ac_cv_path_LD="$ac_dir/$ac_prog"
282       # Check to see if the program is GNU ld.  I'd rather use --version,
283       # but apparently some GNU ld's only accept -v.
284       # Break only if it was the GNU/non-GNU ld that we prefer.
285       if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
286         test "$with_gnu_ld" != no && break
287       else
288         test "$with_gnu_ld" != yes && break
289       fi
290     fi
291   done
292   IFS="$ac_save_ifs"
293 else
294   ac_cv_path_LD="$LD" # Let the user override the test with a path.
295 fi])
296 LD="$ac_cv_path_LD"
297 if test -n "$LD"; then
298   AC_MSG_RESULT($LD)
299 else
300   AC_MSG_RESULT(no)
301 fi
302 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
303 AC_SUBST(LD)
304 AC_PROG_LD_GNU
305 ])
306
307 AC_DEFUN(AC_PROG_LD_GNU,
308 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
309 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
310 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
311   ac_cv_prog_gnu_ld=yes
312 else
313   ac_cv_prog_gnu_ld=no
314 fi])
315 ])
316
317 # AC_PROG_NM - find the path to a BSD-compatible name lister
318 AC_DEFUN(AC_PROG_NM,
319 [AC_MSG_CHECKING([for BSD-compatible nm])
320 AC_CACHE_VAL(ac_cv_path_NM,
321 [if test -n "$NM"; then
322   # Let the user override the test.
323   ac_cv_path_NM="$NM"
324 else
325   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
326   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
327     test -z "$ac_dir" && ac_dir=.
328     if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
329       # Check to see if the nm accepts a BSD-compat flag.
330       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
331       #   nm: unknown option "B" ignored
332       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
333         ac_cv_path_NM="$ac_dir/nm -B"
334         break
335       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
336         ac_cv_path_NM="$ac_dir/nm -p"
337         break
338       else
339         ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
340         continue # so that we can try to find one that supports BSD flags
341       fi
342     fi
343   done
344   IFS="$ac_save_ifs"
345   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
346 fi])
347 NM="$ac_cv_path_NM"
348 AC_MSG_RESULT([$NM])
349 AC_SUBST(NM)
350 ])
351
352 # AC_CHECK_LIBM - check for math library
353 AC_DEFUN(AC_CHECK_LIBM,
354 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
355 LIBM=
356 case "$host" in
357 *-*-beos* | *-*-cygwin*)
358   # These system don't have libm
359   ;;
360 *-ncr-sysv4.3*)
361   AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
362   AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
363   ;;
364 *)
365   AC_CHECK_LIB(m, main, LIBM="-lm")
366   ;;
367 esac
368 ])
369
370 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
371 # the libltdl convenience library, adds --enable-ltdl-convenience to
372 # the configure arguments.  Note that LIBLTDL is not AC_SUBSTed, nor
373 # is AC_CONFIG_SUBDIRS called.  If DIR is not provided, it is assumed
374 # to be `${top_builddir}/libltdl'.  Make sure you start DIR with
375 # '${top_builddir}/' (note the single quotes!) if your package is not
376 # flat, and, if you're not using automake, define top_builddir as
377 # appropriate in the Makefiles.
378 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
379   case "$enable_ltdl_convenience" in
380   no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
381   "") enable_ltdl_convenience=yes
382       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
383   esac
384   LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
385   INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
386 ])
387
388 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
389 # the libltdl installable library, and adds --enable-ltdl-install to
390 # the configure arguments.  Note that LIBLTDL is not AC_SUBSTed, nor
391 # is AC_CONFIG_SUBDIRS called.  If DIR is not provided, it is assumed
392 # to be `${top_builddir}/libltdl'.  Make sure you start DIR with
393 # '${top_builddir}/' (note the single quotes!) if your package is not
394 # flat, and, if you're not using automake, define top_builddir as
395 # appropriate in the Makefiles.
396 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
397 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
398   AC_CHECK_LIB(ltdl, main,
399   [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
400   [if test x"$enable_ltdl_install" = xno; then
401      AC_MSG_WARN([libltdl not installed, but installation disabled])
402    else
403      enable_ltdl_install=yes
404    fi
405   ])
406   if test x"$enable_ltdl_install" = x"yes"; then
407     ac_configure_args="$ac_configure_args --enable-ltdl-install"
408     LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
409     INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
410   else
411     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
412     LIBLTDL="-lltdl"
413     INCLTDL=
414   fi
415 ])
416
417 dnl old names
418 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
419 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
420 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
421 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
422 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
423 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
424 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
425
426 dnl This is just to silence aclocal about the macro not being used
427 ifelse([AC_DISABLE_FAST_INSTALL])dnl
428
429
430 # Macro to add for using GNU gettext.
431 # Ulrich Drepper <drepper@cygnus.com>, 1995.
432 #
433 # Modified to never use included libintl. 
434 # Owen Taylor <otaylor@redhat.com>, 12/15/1998
435 #
436 #
437 # This file can be copied and used freely without restrictions.  It can
438 # be used in projects which are not available under the GNU Public License
439 # but which still want to provide support for the GNU gettext functionality.
440 # Please note that the actual code is *not* freely available.
441 #
442 #
443 # If you make changes to this file, you MUST update the copy in
444 # acinclude.m4. [ aclocal dies on duplicate macros, so if
445 # we run 'aclocal -I macros/' then we'll run into problems
446 # once we've installed glib-gettext.m4 :-( ]
447 #
448
449 # serial 5
450
451 AC_DEFUN(AM_GLIB_WITH_NLS,
452   [AC_MSG_CHECKING([whether NLS is requested])
453     dnl Default is enabled NLS
454     AC_ARG_ENABLE(nls,
455       [  --disable-nls           do not use Native Language Support],
456       USE_NLS=$enableval, USE_NLS=yes)
457     AC_MSG_RESULT($USE_NLS)
458     AC_SUBST(USE_NLS)
459
460     USE_INCLUDED_LIBINTL=no
461
462     dnl If we use NLS figure out what method
463     if test "$USE_NLS" = "yes"; then
464 #      AC_DEFINE(ENABLE_NLS)
465 #      AC_MSG_CHECKING([whether included gettext is requested])
466 #      AC_ARG_WITH(included-gettext,
467 #        [  --with-included-gettext use the GNU gettext library included here],
468 #        nls_cv_force_use_gnu_gettext=$withval,
469 #        nls_cv_force_use_gnu_gettext=no)
470 #      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
471       nls_cv_force_use_gnu_gettext="no"
472
473       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
474       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
475         dnl User does not insist on using GNU NLS library.  Figure out what
476         dnl to use.  If gettext or catgets are available (in this order) we
477         dnl use this.  Else we have to fall back to GNU NLS library.
478         dnl catgets is only used if permitted by option --with-catgets.
479         nls_cv_header_intl=
480         nls_cv_header_libgt=
481         CATOBJEXT=NONE
482
483         AC_CHECK_HEADER(libintl.h,
484           [AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
485             [AC_TRY_LINK([#include <libintl.h>], [return (int) dgettext ("","")],
486                gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no)])
487
488            if test "$gt_cv_func_dgettext_libc" != "yes"; then
489              AC_CHECK_LIB(intl, bindtextdomain,
490                [AC_CACHE_CHECK([for dgettext in libintl],
491                  gt_cv_func_dgettext_libintl,
492                  [AC_CHECK_LIB(intl, dgettext,
493                   gt_cv_func_dgettext_libintl=yes,
494                   gt_cv_func_dgettext_libintl=no)],
495                  gt_cv_func_dgettext_libintl=no)])
496            fi
497
498            if test "$gt_cv_func_dgettext_libintl" = "yes"; then
499              LIBS="$LIBS -lintl";
500            fi
501
502            if test "$gt_cv_func_dgettext_libc" = "yes" \
503               || test "$gt_cv_func_dgettext_libintl" = "yes"; then
504               AC_DEFINE(HAVE_GETTEXT)
505               AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
506                 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
507               if test "$MSGFMT" != "no"; then
508                 AC_CHECK_FUNCS(dcgettext)
509                 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
510                 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
511                   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
512                 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
513                                return _nl_msg_cat_cntr],
514                   [CATOBJEXT=.gmo
515                    DATADIRNAME=share],
516                   [CATOBJEXT=.mo
517                    DATADIRNAME=lib])
518                 INSTOBJEXT=.mo
519               fi
520             fi
521
522             # Added by Martin Baulig 12/15/98 for libc5 systems
523             if test "$gt_cv_func_dgettext_libc" != "yes" \
524                && test "$gt_cv_func_dgettext_libintl" = "yes"; then
525                INTLLIBS=-lintl
526                LIBS=`echo $LIBS | sed -e 's/-lintl//'`
527             fi
528         ])
529
530 #        if test "$CATOBJEXT" = "NONE"; then
531 #         AC_MSG_CHECKING([whether catgets can be used])
532 #         AC_ARG_WITH(catgets,
533 #           [  --with-catgets          use catgets functions if available],
534 #           nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
535 #         AC_MSG_RESULT($nls_cv_use_catgets)
536 #
537 #         if test "$nls_cv_use_catgets" = "yes"; then
538 #           dnl No gettext in C library.  Try catgets next.
539 #           AC_CHECK_LIB(i, main)
540 #           AC_CHECK_FUNC(catgets,
541 #             [AC_DEFINE(HAVE_CATGETS)
542 #              INTLOBJS="\$(CATOBJS)"
543 #              AC_PATH_PROG(GENCAT, gencat, no)dnl
544 #              if test "$GENCAT" != "no"; then
545 #                AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
546 #                if test "$GMSGFMT" = "no"; then
547 #                  AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
548 #                   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
549 #                fi
550 #                AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
551 #                  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
552 #                USE_INCLUDED_LIBINTL=yes
553 #                CATOBJEXT=.cat
554 #                INSTOBJEXT=.cat
555 #                DATADIRNAME=lib
556 #                INTLDEPS='$(top_builddir)/intl/libintl.a'
557 #                INTLLIBS=$INTLDEPS
558 #                LIBS=`echo $LIBS | sed -e 's/-lintl//'`
559 #                nls_cv_header_intl=intl/libintl.h
560 #                nls_cv_header_libgt=intl/libgettext.h
561 #              fi
562 #            ])
563 #         fi
564 #        fi
565
566         if test "$CATOBJEXT" = "NONE"; then
567           dnl Neither gettext nor catgets in included in the C library.
568           dnl Fall back on GNU gettext library.
569           nls_cv_use_gnu_gettext=yes
570         fi
571       fi
572
573       if test "$nls_cv_use_gnu_gettext" != "yes"; then
574         AC_DEFINE(ENABLE_NLS)
575       else
576          dnl Unset this variable since we use the non-zero value as a flag.
577          CATOBJEXT=
578 #        dnl Mark actions used to generate GNU NLS library.
579 #        INTLOBJS="\$(GETTOBJS)"
580 #        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
581 #         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
582 #        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
583 #        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
584 #         [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
585 #        AC_SUBST(MSGFMT)
586 #       USE_INCLUDED_LIBINTL=yes
587 #        CATOBJEXT=.gmo
588 #        INSTOBJEXT=.mo
589 #        DATADIRNAME=share
590 #       INTLDEPS='$(top_builddir)/intl/libintl.a'
591 #       INTLLIBS=$INTLDEPS
592 #       LIBS=`echo $LIBS | sed -e 's/-lintl//'`
593 #        nls_cv_header_intl=intl/libintl.h
594 #        nls_cv_header_libgt=intl/libgettext.h
595       fi
596
597       dnl Test whether we really found GNU xgettext.
598       if test "$XGETTEXT" != ":"; then
599         dnl If it is no GNU xgettext we define it as : so that the
600         dnl Makefiles still can work.
601         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
602           : ;
603         else
604           AC_MSG_RESULT(
605             [found xgettext program is not GNU xgettext; ignore it])
606           XGETTEXT=":"
607         fi
608       fi
609
610       # We need to process the po/ directory.
611       POSUB=po
612     else
613       DATADIRNAME=share
614 #      nls_cv_header_intl=intl/libintl.h
615 #      nls_cv_header_libgt=intl/libgettext.h
616     fi
617 #    AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
618     AC_OUTPUT_COMMANDS(
619      [case "$CONFIG_FILES" in *po/Makefile.in*)
620         sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
621       esac])
622
623
624 #    # If this is used in GNU gettext we have to set USE_NLS to `yes'
625 #    # because some of the sources are only built for this goal.
626 #    if test "$PACKAGE" = gettext; then
627 #      USE_NLS=yes
628 #      USE_INCLUDED_LIBINTL=yes
629 #    fi
630
631     dnl These rules are solely for the distribution goal.  While doing this
632     dnl we only have to keep exactly one list of the available catalogs
633     dnl in configure.in.
634     for lang in $ALL_LINGUAS; do
635       GMOFILES="$GMOFILES $lang.gmo"
636       POFILES="$POFILES $lang.po"
637     done
638
639     dnl Make all variables we use known to autoconf.
640     AC_SUBST(USE_INCLUDED_LIBINTL)
641     AC_SUBST(CATALOGS)
642     AC_SUBST(CATOBJEXT)
643     AC_SUBST(DATADIRNAME)
644     AC_SUBST(GMOFILES)
645     AC_SUBST(INSTOBJEXT)
646     AC_SUBST(INTLDEPS)
647     AC_SUBST(INTLLIBS)
648     AC_SUBST(INTLOBJS)
649     AC_SUBST(POFILES)
650     AC_SUBST(POSUB)
651   ])
652
653 AC_DEFUN(AM_GLIB_GNU_GETTEXT,
654   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
655    AC_REQUIRE([AC_PROG_CC])dnl
656    AC_REQUIRE([AC_PROG_RANLIB])dnl
657 #   AC_REQUIRE([AC_ISC_POSIX])dnl
658    AC_REQUIRE([AC_HEADER_STDC])dnl
659    AC_REQUIRE([AC_C_CONST])dnl
660    AC_REQUIRE([AC_C_INLINE])dnl
661    AC_REQUIRE([AC_TYPE_OFF_T])dnl
662    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
663    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
664    AC_REQUIRE([AC_FUNC_MMAP])dnl
665
666    AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
667 unistd.h sys/param.h])
668    AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
669 strdup __argz_count __argz_stringify __argz_next])
670
671 #   if test "${ac_cv_func_stpcpy+set}" != "set"; then
672 #     AC_CHECK_FUNCS(stpcpy)
673 #   fi
674 #   if test "${ac_cv_func_stpcpy}" = "yes"; then
675 #     AC_DEFINE(HAVE_STPCPY)
676 #   fi
677
678    AM_LC_MESSAGES
679    AM_GLIB_WITH_NLS
680
681    if test "x$CATOBJEXT" != "x"; then
682      if test "x$ALL_LINGUAS" = "x"; then
683        LINGUAS=
684      else
685        AC_MSG_CHECKING(for catalogs to be installed)
686        NEW_LINGUAS=
687        for lang in ${LINGUAS=$ALL_LINGUAS}; do
688          case "$ALL_LINGUAS" in
689           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
690          esac
691        done
692        LINGUAS=$NEW_LINGUAS
693        AC_MSG_RESULT($LINGUAS)
694      fi
695
696      dnl Construct list of names of catalog files to be constructed.
697      if test -n "$LINGUAS"; then
698        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
699      fi
700    fi
701
702 #   dnl The reference to <locale.h> in the installed <libintl.h> file
703 #   dnl must be resolved because we cannot expect the users of this
704 #   dnl to define HAVE_LOCALE_H.
705 #   if test $ac_cv_header_locale_h = yes; then
706 #     INCLUDE_LOCALE_H="#include <locale.h>"
707 #   else
708 #     INCLUDE_LOCALE_H="\
709 #/* The system does not provide the header <locale.h>.  Take care yourself.  */"
710 #   fi
711 #   AC_SUBST(INCLUDE_LOCALE_H)
712
713    dnl Determine which catalog format we have (if any is needed)
714    dnl For now we know about two different formats:
715    dnl   Linux libc-5 and the normal X/Open format
716    test -d po || mkdir po
717    if test "$CATOBJEXT" = ".cat"; then
718      AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
719
720      dnl Transform the SED scripts while copying because some dumb SEDs
721      dnl cannot handle comments.
722      sed -e '/^#/d' $srcdir/po/$msgformat-msg.sed > po/po2msg.sed
723    fi
724    dnl po2tbl.sed is always needed.
725    sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
726      $srcdir/po/po2tbl.sed.in > po/po2tbl.sed
727
728 #   dnl In the intl/Makefile.in we have a special dependency which makes
729 #   dnl only sense for gettext.  We comment this out for non-gettext
730 #   dnl packages.
731 #   if test "$PACKAGE" = "gettext"; then
732 #     GT_NO="#NO#"
733 #     GT_YES=
734 #   else
735 #     GT_NO=
736 #     GT_YES="#YES#"
737 #   fi
738 #   AC_SUBST(GT_NO)
739 #   AC_SUBST(GT_YES)
740
741    dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
742    dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
743    dnl Try to locate is.
744    MKINSTALLDIRS=
745    if test -n "$ac_aux_dir"; then
746      MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
747    fi
748    if test -z "$MKINSTALLDIRS"; then
749      MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
750    fi
751    AC_SUBST(MKINSTALLDIRS)
752
753 #   dnl *** For now the libtool support in intl/Makefile is not for real.
754 #   l=
755 #   AC_SUBST(l)
756
757    dnl Generate list of files to be processed by xgettext which will
758    dnl be included in po/Makefile.
759    test -d po || mkdir po
760    if test "x$srcdir" != "x."; then
761      if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
762        posrcprefix="$srcdir/"
763      else
764        posrcprefix="../$srcdir/"
765      fi
766    else
767      posrcprefix="../"
768    fi
769    rm -f po/POTFILES
770    sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
771         < $srcdir/po/POTFILES.in > po/POTFILES
772   ])
773