1 dnl Some useful functions for LyXs configure.in -*- sh -*-
2 dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
3 dnl Lars Gullik Bjønnes (larsbj@lyx.org)
6 dnl Usage LYX_GET_VERSION Sets "lyx_version" to the version of LyX being
7 dnl built, displays it and sets variable "lyx_devel" to yes or no depending
8 dnl whether the version is a development release or not.
9 AC_DEFUN(LYX_GET_VERSION,[
11 VERSION=`grep '#define *LYX_VERSION' $1 |
12 sed -e 's/^.*"\(.*\)"$/\1/' 2>/dev/null`
13 echo "configuring LyX version $VERSION"
14 if echo "$VERSION" | grep 'cvs' >/dev/null ; then
16 echo "WARNING: This is a development version. Expect bugs."
20 if echo "$VERSION" | grep 'pre' > /dev/null ; then
22 echo "WARNING: This is a prerelease. Be careful and backup your documents."
27 PACKAGE=lyx${program_suffix}
28 AC_SUBST(lyx_devel_version)
29 if test $lyx_devel_version = yes ; then
30 AC_DEFINE(DEVEL_VERSION, 1, Define if you are building a development version of LyX)
33 dnl Usage: LYX_ERROR(message) Displays the warning "message" and sets the
34 dnl flag lyx_error to yes.
36 lyx_error_txt="$lyx_error_txt
42 dnl Usage: LYX_WARNING(message) Displays the warning "message" and sets the
43 dnl flag lyx_warning to yes.
44 AC_DEFUN(LYX_WARNING,[
45 lyx_warning_txt="$lyx_warning_txt
51 dnl Usage: LYX_LIB_ERROR(file,library) Displays an error message indication
52 dnl that 'file' cannot be found because 'lib' may be uncorrectly installed.
53 AC_DEFUN(LYX_LIB_ERROR,[
54 LYX_ERROR([Cannot find $1. Please check that the $2 library
55 is correctly installed on your system.])])
58 dnl Usage: LYX_CHECK_ERRORS Displays a warning message if a LYX_ERROR
59 dnl has occured previously.
60 AC_DEFUN(LYX_CHECK_ERRORS,[
61 if test x$lyx_error = xyes; then
63 **** The following problems have been detected by configure.
64 **** Please check the messages below before running 'make'.
65 **** (see the section 'Problems' in the INSTALL file)
68 deleting cache $cache_file
73 if test x$lyx_warning = xyes; then
75 === The following minor problems have been detected by configure.
76 === Please check the messages below before running 'make'.
77 === (see the section 'Problems' in the INSTALL file)
82 Configuration of LyX was successful.
83 Type 'make' to compile the program,
84 and then 'make install' to install it.
89 dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
91 define(LYX_SEARCH_PROG,[dnl
92 for ac_prog in $2 ; do
93 # Extract the first word of "$ac_prog", so it can be a program name with args.
94 set dummy $ac_prog ; ac_word=$[2]
95 if test -z "[$]$1"; then
96 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
97 for ac_dir in $PATH; do
98 test -z "$ac_dir" && ac_dir=.
99 if test -f [$ac_dir/$ac_word]; then
107 if test -n "[$]$1"; then
113 test -n "[$]$1" && break
118 AC_DEFUN(LYX_PROG_CXX_WORKS,
121 AC_TRY_COMPILER([class foo { int bar; }; int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
123 if test $ac_cv_prog_cxx_works = no; then
126 cross_compiling=$ac_cv_prog_cxx_cross
130 AC_DEFUN(LYX_PROG_CXX,
131 [AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
132 AC_MSG_CHECKING([for a working C++ compiler])
133 LYX_SEARCH_PROG(CXX, $CCC g++ gcc c++ CC cxx xlC cc++, LYX_PROG_CXX_WORKS)
135 if test -z "$CXX" ; then
136 AC_ERROR([Unable to find a working C++ compiler])
142 AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
143 AC_MSG_RESULT($cross_compiling)
147 dnl We might want to get or shut warnings.
148 AC_ARG_WITH(warnings,
149 [ --with-warnings tell GNU C++ to display more warnings],,
150 [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes && test $ac_cv_prog_gxx = yes ; then
155 if test x$with_warnings = xyes ; then
156 lyx_flags="$lyx_flags warnings"
157 AC_DEFINE(WITH_WARNINGS, 1,
158 [Define this if you want to see the warning directives put here and
159 there by the developpers to get attention])
162 # optimize less for development versions
163 if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
169 # set the debug flags correctly.
170 if test $ac_cv_prog_gxx = yes; then
172 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
173 dnl plays around with CXXFLAGS (such as to build both debugging and
174 dnl normal versions of a library), tasteless as that idea is.
175 ac_test_CXXFLAGS="${CXXFLAGS+set}"
176 ac_save_CXXFLAGS="$CXXFLAGS"
178 dnl Check the version of g++
179 gxx_version=`g++ --version`
182 if test "$ac_test_CXXFLAGS" = set; then
183 CXXFLAGS="$ac_save_CXXFLAGS"
184 elif test $ac_cv_prog_cxx_g = yes; then
186 2.7*) CXXFLAGS="$lyx_opt";;
187 2.95.*) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti -fpermissive";;
188 *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
193 if test x$with_warnings = xyes ; then
194 CXXFLAGS="$CXXFLAGS -ansi -Wall"
195 if test $lyx_devel_version = yes ; then
196 CXXFLAGS="$CXXFLAGS -pedantic"
201 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
206 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
208 AC_DEFUN(LYX_CXX_RTTI,[
209 ### Check whether the compiler supports runtime type information
210 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
214 virtual int tag() { return 0; }
216 class derived1 : public rtti {
218 int tag() { return 1; }
220 class derived2 : public rtti {
222 int tag() { return 2; }
225 derived1 * foo1 = new derived1();
226 derived2 * foo2 = new derived2();
228 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
232 bar1 = dynamic_cast<derived1 *>(bar);
237 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
239 if test x$lyx_cv_rtti = xyes ; then
240 AC_DEFINE(HAVE_RTTI, 1,
241 [Define to 1 if your compiler supports runtime type information])
245 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
246 dnl understands the "explicit" directive.
247 AC_DEFUN(LYX_CXX_EXPLICIT,[
248 ### Check whether the compiler understands the keyword `explicit'
249 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
254 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
256 if test $lyx_cv_explicit = no ; then
257 AC_DEFINE(explicit,[ ],
258 [Define to nothing if your compiler does not understand the
259 'explicit' directive])
263 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
264 dnl has a working stl stack template
265 AC_DEFUN(LYX_CXX_STL_STACK,[
266 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
273 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
275 if test $lyx_cv_broken_stack = yes ; then
276 AC_DEFINE(BROKEN_STL_STACK, 1,
277 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
282 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
283 dnl supports modern STL streams
284 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
285 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
289 std::streambuf * test = std::cerr.rdbuf();
291 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
293 if test $lyx_cv_modern_streams = yes ; then
294 AC_DEFINE(MODERN_STL_STREAMS, 1,
295 [Define if you have modern standard-compliant STL streams])
299 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
300 dnl has a working stl string container, the check is really stupid
301 dnl and could need some improvement.
302 AC_DEFUN(LYX_CXX_STL_STRING,[
303 AC_REQUIRE([LYX_PROG_CXX])
304 AC_MSG_CHECKING(whether the included std::string should be used)
305 AC_ARG_WITH(included-string,[
306 --with-included-string use LyX string class instead of STL string
308 with_included_string=$withval
314 string a("hello there");
319 with_included_string=no
321 with_included_string=yes
325 if test x$with_included_string = xyes ; then
326 AC_DEFINE(USE_INCLUDED_STRING, 1,
327 [Define to use the lyxstring class bundled with LyX.])
328 lyx_flags="$lyx_flags included-string"
330 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
331 AC_MSG_RESULT([$with_included_string])
336 AC_DEFUN(LYX_CXX_MUTABLE, [
337 AC_REQUIRE([LYX_PROG_CXX])
338 AC_MSG_CHECKING(if C++ compiler supports mutable)
344 void foo() const { c=0; }
349 AC_DEFINE(HAVE_MUTABLE, 1,
350 [Defined if you compiler supports 'mutable'.])
354 AC_MSG_RESULT([$ac_mutable])
359 AC_DEFUN(LYX_CXX_PARTIAL, [
360 AC_REQUIRE([LYX_PROG_CXX])
361 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
364 template<class T, class K>
368 template<class T> class k<void,T> { };
373 ac_partial_specialization=yes
374 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
375 [Defined if your compiler supports partial specialization.])
377 ac_partial_specialization=no
379 AC_MSG_RESULT([$ac_partial_specialization])
383 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
384 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
385 dnl if true. This macro does not do a thourough test, but it should be
386 dnl good enough to suit our needs.
387 AC_DEFUN(LYX_CXX_NAMESPACES,[
388 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
395 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
397 if test $lyx_cv_cxx_namespace = yes ; then
398 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
399 [Define if your C++ compiler has correct support for namespaces])
403 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
404 dnl provides wrappers for C headers and use our alternate version otherwise.
405 AC_DEFUN(LYX_CXX_CHEADERS,[
406 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
416 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
417 if test $lyx_cv_cxx_cheaders = no ; then
418 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
422 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
423 AC_DEFUN(LYX_PATH_XPM,[
424 ### Check for Xpm library
425 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
426 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
428 ### Check for Xpm headers
429 lyx_cv_xpm_h_location="<xpm.h>"
430 AC_CHECK_HEADER(X11/xpm.h,[
431 ac_cv_header_xpm_h=yes
432 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
433 AC_CHECK_HEADER(xpm.h,[],[
434 LYX_LIB_ERROR(xpm.h,Xpm)])])
435 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
437 ### Test for the header version
438 if test $ac_cv_header_xpm_h = yes; then
439 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
440 [ cat > conftest.$ac_ext <<EOF
441 #line __oline__ "configure"
442 #include "confdefs.h"
444 #include XPM_H_LOCATION
445 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
447 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
448 grep '^"%%%"' 2>/dev/null | \
449 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
450 case "$lyx_cv_xpmr" in
452 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
453 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
457 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
459 case "$lyx_cv_xpmr" in
461 [789]|[0-9][0-9]*) ;;
463 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
464 If you experience strange crashes with LyX, try to upgrade
465 to at least version 4.7 (aka 3.4g).
466 If you have installed a newer version of the library, check whether you
467 have an old xpm.h header file in your include path.]);;
472 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
473 AC_DEFUN(LYX_PATH_XFORMS,[
474 ### Check for xforms library
475 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
476 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
477 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
479 ### Check for xforms headers
480 lyx_cv_forms_h_location="<forms.h>"
481 AC_CHECK_HEADER(X11/forms.h,[
482 ac_cv_header_forms_h=yes
483 lyx_cv_forms_h_location="<X11/forms.h>"],[
484 AC_CHECK_HEADER(forms.h,[],[
485 LYX_LIB_ERROR(forms.h,forms)])])
486 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
487 if test $ac_cv_header_forms_h = yes; then
488 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
489 [ cat > conftest.$ac_ext <<EOF
490 #line __oline__ "configure"
491 #include "confdefs.h"
493 #include FORMS_H_LOCATION
494 #if ! defined(FL_INCLUDE_VERSION)
497 "%%%"FL_VERSION.FL_REVISION"%%%"
500 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
501 grep '^"%%%"' 2>/dev/null | \
502 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
504 case "$lyx_cv_xfversion" in
505 "(unknown)"|0.82|0.83|0.84|0.85)
507 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
508 This version of LyX works best with version 0.88[,] although it
509 supports also versions 0.81[,] 0.86 and 0.87.) ;;
512 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
513 it is recommended that you upgrade to version 0.88.) ;;
515 0.89) LYX_WARNING(dnl
516 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
517 it is an unproven version and might still have some bugs. If you
518 have problems[,] please use version 0.88 instead.) ;;
520 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
521 since it is newer than 0.88. You might have slight problems with it.);;
526 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
528 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
529 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
530 os=`uname -s | tr '[A-Z]' '[a-z]'`
532 test "$os" = hp-ux && ac_cv_hpux=yes])
533 if test "$ac_cv_hpux" = yes; then
534 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
538 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
541 [#The headers are not correct under SunOS4
542 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
544 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
545 changequote([, ]) dnl
547 test "$os" = SunOS4 && ac_cv_sunos4=yes])
548 if test "$ac_cv_sunos4" = yes; then
549 test "x$GXX" = xyes && lyx_broken_headers=yes
553 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
556 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
558 if test `uname -s` != "SCO_SV"; then
559 lyx_machine_rel=`uname -m`:`uname -r`
560 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
562 if test -f /usr/options/cb.name; then
564 elif /bin/uname -X 2>/dev/null >/dev/null ; then
569 if test "$ac_cv_sco" = yes; then
570 test "x$GXX" = xyes && lyx_broken_headers=yes
574 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
575 dnl [default-yes-value])
576 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
577 dnl resulting directory name in 'dir-var-name'.
578 AC_DEFUN(LYX_WITH_DIR,[
579 AC_ARG_WITH($1,[ --with-$1 specify $2])
580 AC_MSG_CHECKING([for $2])
581 if test -z "$with_$3"; then
582 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
584 test "x$with_$3" = xyes && with_$3=$5
587 AC_MSG_RESULT($lyx_cv_$3)])
590 dnl Usage: LYX_LOOP_DIR(value,action)
591 dnl Executes action for values of variable `dir' in `values'. `values' can
592 dnl use ":" as a separator.
593 AC_DEFUN(LYX_LOOP_DIR,[
594 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
595 for dir in `eval "echo $1"`; do
596 if test ! "$dir" = NONE; then
597 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
605 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
607 AC_DEFUN(LYX_ADD_LIB_DIR,[
609 if test "`(uname) 2>/dev/null`" = SunOS &&
610 uname -r | grep '^5' >/dev/null; then
611 if test $ac_cv_prog_gxx = yes ; then
612 $1="${$1} -Wl[,]-R$2"
619 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
621 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
624 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
625 dnl if the cache file is inconsistent with the current host,
626 dnl target and build system types, execute CMD or print a default
628 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
629 AC_REQUIRE([AC_CANONICAL_SYSTEM])
630 AC_MSG_CHECKING([config.cache system type])
631 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
632 test x"$ac_cv_host_system_type" != x"$host"; } ||
633 { test x"${ac_cv_build_system_type+set}" = x"set" &&
634 test x"$ac_cv_build_system_type" != x"$build"; } ||
635 { test x"${ac_cv_target_system_type+set}" = x"set" &&
636 test x"$ac_cv_target_system_type" != x"$target"; }; then
637 AC_MSG_RESULT([different])
639 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
641 AC_MSG_RESULT([same])
643 ac_cv_host_system_type="$host"
644 ac_cv_build_system_type="$build"
645 ac_cv_target_system_type="$target"
649 dnl We use this until autoconf fixes its version.
650 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
651 [AC_MSG_CHECKING([types of arguments for select()])
652 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
653 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
654 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
655 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
656 for ac_cv_func_select_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do for ac_cv_func_select_arg5 in 'struct timeval *' 'const struct timeval *'; do
658 [#ifdef HAVE_SYS_TYPES_H
659 #include <sys/types.h>
661 #ifdef HAVE_SYS_TIME_H
662 #include <sys/time.h>
664 #ifdef HAVE_SYS_SELECT_H
665 #include <sys/select.h>
667 #ifdef HAVE_SYS_SOCKET_H
668 #include <sys/socket.h>
670 extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
671 [ac_not_found=no ; break 3],ac_not_found=yes)
678 if test "$ac_not_found" = yes; then
679 ac_cv_func_select_arg1=int
680 ac_cv_func_select_arg234='int *'
681 ac_cv_func_select_arg5='struct timeval *'
683 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
684 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
685 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
686 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
689 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
690 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
691 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
693 ## This program is free software; you can redistribute it and/or modify
694 ## it under the terms of the GNU General Public License as published by
695 ## the Free Software Foundation; either version 2 of the License, or
696 ## (at your option) any later version.
698 ## This program is distributed in the hope that it will be useful, but
699 ## WITHOUT ANY WARRANTY; without even the implied warranty of
700 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
701 ## General Public License for more details.
703 ## You should have received a copy of the GNU General Public License
704 ## along with this program; if not, write to the Free Software
705 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
707 ## As a special exception to the GNU General Public License, if you
708 ## distribute this file as part of a program that contains a
709 ## configuration script generated by Autoconf, you may include it under
710 ## the same distribution terms that you use for the rest of that program.
712 # serial 40 AC_PROG_LIBTOOL
713 AC_DEFUN(AC_PROG_LIBTOOL,
714 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
716 # Save cache, so that ltconfig can load it
719 # Actually configure libtool. ac_aux_dir is where install-sh is found.
720 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
721 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
722 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
723 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
724 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
725 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
726 || AC_MSG_ERROR([libtool configure failed])
728 # Reload cache, that may have been modified by ltconfig
731 # This can be used to rebuild libtool when needed
732 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
734 # Always use our own libtool.
735 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
738 # Redirect the config.log output again, so that the ltconfig log is not
739 # clobbered by the next message.
743 AC_DEFUN(AC_LIBTOOL_SETUP,
745 AC_REQUIRE([AC_ENABLE_SHARED])dnl
746 AC_REQUIRE([AC_ENABLE_STATIC])dnl
747 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
748 AC_REQUIRE([AC_CANONICAL_HOST])dnl
749 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
750 AC_REQUIRE([AC_PROG_RANLIB])dnl
751 AC_REQUIRE([AC_PROG_CC])dnl
752 AC_REQUIRE([AC_PROG_LD])dnl
753 AC_REQUIRE([AC_PROG_NM])dnl
754 AC_REQUIRE([AC_PROG_LN_S])dnl
757 # Check for any special flags to pass to ltconfig.
759 # the following will cause an existing older ltconfig to fail, so
760 # we ignore this at the expense of the cache file... Checking this
761 # will just take longer ... bummer!
762 #libtool_flags="--cache-file=$cache_file"
764 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
765 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
766 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
767 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
768 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
769 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
770 [libtool_flags="$libtool_flags --enable-dlopen"])
771 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
772 [libtool_flags="$libtool_flags --enable-win32-dll"])
773 AC_ARG_ENABLE(libtool-lock,
774 [ --disable-libtool-lock avoid locking (might break parallel builds)])
775 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
776 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
778 # Some flags need to be propagated to the compiler or linker for good
782 # Find out which ABI we are using.
783 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
784 if AC_TRY_EVAL(ac_compile); then
785 case "`/usr/bin/file conftest.o`" in
801 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
802 SAVE_CFLAGS="$CFLAGS"
803 CFLAGS="$CFLAGS -belf"
804 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
805 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
806 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
807 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
808 CFLAGS="$SAVE_CFLAGS"
812 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
813 [*-*-cygwin* | *-*-mingw*)
814 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
815 AC_CHECK_TOOL(AS, as, false)
816 AC_CHECK_TOOL(OBJDUMP, objdump, false)
822 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
823 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
825 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
826 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
828 # AC_ENABLE_SHARED - implement the --enable-shared flag
829 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
830 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
832 AC_DEFUN(AC_ENABLE_SHARED, [dnl
833 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
834 AC_ARG_ENABLE(shared,
835 changequote(<<, >>)dnl
836 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
838 [p=${PACKAGE-default}
840 yes) enable_shared=yes ;;
841 no) enable_shared=no ;;
844 # Look at the argument we got. We use all the common list separators.
845 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
846 for pkg in $enableval; do
847 if test "X$pkg" = "X$p"; then
854 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
857 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
858 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
859 AC_ENABLE_SHARED(no)])
861 # AC_ENABLE_STATIC - implement the --enable-static flag
862 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
863 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
865 AC_DEFUN(AC_ENABLE_STATIC, [dnl
866 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
867 AC_ARG_ENABLE(static,
868 changequote(<<, >>)dnl
869 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
871 [p=${PACKAGE-default}
873 yes) enable_static=yes ;;
874 no) enable_static=no ;;
877 # Look at the argument we got. We use all the common list separators.
878 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
879 for pkg in $enableval; do
880 if test "X$pkg" = "X$p"; then
887 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
890 # AC_DISABLE_STATIC - set the default static flag to --disable-static
891 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
892 AC_ENABLE_STATIC(no)])
895 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
896 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
897 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
899 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
900 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
901 AC_ARG_ENABLE(fast-install,
902 changequote(<<, >>)dnl
903 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
905 [p=${PACKAGE-default}
907 yes) enable_fast_install=yes ;;
908 no) enable_fast_install=no ;;
910 enable_fast_install=no
911 # Look at the argument we got. We use all the common list separators.
912 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
913 for pkg in $enableval; do
914 if test "X$pkg" = "X$p"; then
915 enable_fast_install=yes
921 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
924 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
925 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
926 AC_ENABLE_FAST_INSTALL(no)])
928 # AC_PROG_LD - find the path to the GNU or non-GNU linker
931 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
932 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
933 AC_REQUIRE([AC_PROG_CC])dnl
934 AC_REQUIRE([AC_CANONICAL_HOST])dnl
935 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
937 if test "$ac_cv_prog_gcc" = yes; then
938 # Check if gcc -print-prog-name=ld gives a path.
939 AC_MSG_CHECKING([for ld used by GCC])
940 ac_prog=`($CC -print-prog-name=ld) 2>&5`
942 # Accept absolute paths.
944 [\\/]* | [A-Za-z]:[\\/]*)
945 re_direlt='/[^/][^/]*/\.\./'
947 # Canonicalize the path of ld
948 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
949 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
950 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
952 test -z "$LD" && LD="$ac_prog"
955 # If it fails, then pretend we aren't using GCC.
959 # If it is relative, then search for the first ld in PATH.
963 elif test "$with_gnu_ld" = yes; then
964 AC_MSG_CHECKING([for GNU ld])
966 AC_MSG_CHECKING([for non-GNU ld])
968 AC_CACHE_VAL(ac_cv_path_LD,
969 [if test -z "$LD"; then
970 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
971 for ac_dir in $PATH; do
972 test -z "$ac_dir" && ac_dir=.
973 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
974 ac_cv_path_LD="$ac_dir/$ac_prog"
975 # Check to see if the program is GNU ld. I'd rather use --version,
976 # but apparently some GNU ld's only accept -v.
977 # Break only if it was the GNU/non-GNU ld that we prefer.
978 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
979 test "$with_gnu_ld" != no && break
981 test "$with_gnu_ld" != yes && break
987 ac_cv_path_LD="$LD" # Let the user override the test with a path.
990 if test -n "$LD"; then
995 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1000 AC_DEFUN(AC_PROG_LD_GNU,
1001 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1002 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1003 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1004 ac_cv_prog_gnu_ld=yes
1006 ac_cv_prog_gnu_ld=no
1010 # AC_PROG_NM - find the path to a BSD-compatible name lister
1011 AC_DEFUN(AC_PROG_NM,
1012 [AC_MSG_CHECKING([for BSD-compatible nm])
1013 AC_CACHE_VAL(ac_cv_path_NM,
1014 [if test -n "$NM"; then
1015 # Let the user override the test.
1018 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1019 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1020 test -z "$ac_dir" && ac_dir=.
1021 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1022 # Check to see if the nm accepts a BSD-compat flag.
1023 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1024 # nm: unknown option "B" ignored
1025 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1026 ac_cv_path_NM="$ac_dir/nm -B"
1028 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1029 ac_cv_path_NM="$ac_dir/nm -p"
1032 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1033 continue # so that we can try to find one that supports BSD flags
1038 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1041 AC_MSG_RESULT([$NM])
1045 # AC_CHECK_LIBM - check for math library
1046 AC_DEFUN(AC_CHECK_LIBM,
1047 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1050 *-*-beos* | *-*-cygwin*)
1051 # These system don't have libm
1054 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1055 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1058 AC_CHECK_LIB(m, main, LIBM="-lm")
1063 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1064 # the libltdl convenience library, adds --enable-ltdl-convenience to
1065 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1066 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1067 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1068 # '${top_builddir}/' (note the single quotes!) if your package is not
1069 # flat, and, if you're not using automake, define top_builddir as
1070 # appropriate in the Makefiles.
1071 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1072 case "$enable_ltdl_convenience" in
1073 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1074 "") enable_ltdl_convenience=yes
1075 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1077 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1078 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1081 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1082 # the libltdl installable library, and adds --enable-ltdl-install to
1083 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1084 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1085 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1086 # '${top_builddir}/' (note the single quotes!) if your package is not
1087 # flat, and, if you're not using automake, define top_builddir as
1088 # appropriate in the Makefiles.
1089 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1090 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1091 AC_CHECK_LIB(ltdl, main,
1092 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1093 [if test x"$enable_ltdl_install" = xno; then
1094 AC_MSG_WARN([libltdl not installed, but installation disabled])
1096 enable_ltdl_install=yes
1099 if test x"$enable_ltdl_install" = x"yes"; then
1100 ac_configure_args="$ac_configure_args --enable-ltdl-install"
1101 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1102 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1104 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1111 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1112 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1113 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1114 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1115 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1116 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1117 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1119 dnl This is just to silence aclocal about the macro not being used
1120 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1122 # Macro to add for using GNU gettext.
1123 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1125 # This file can be copied and used freely without restrictions. It can
1126 # be used in projects which are not available under the GNU Public License
1127 # but which still want to provide support for the GNU gettext functionality.
1128 # Please note that the actual code is *not* freely available.
1132 AC_DEFUN(AM_WITH_NLS,
1133 [AC_MSG_CHECKING([whether NLS is requested])
1134 dnl Default is enabled NLS
1136 [ --disable-nls do not use Native Language Support],
1137 USE_NLS=$enableval, USE_NLS=yes)
1138 AC_MSG_RESULT($USE_NLS)
1141 USE_INCLUDED_LIBINTL=no
1143 dnl If we use NLS figure out what method
1144 if test "$USE_NLS" = "yes"; then
1145 AC_DEFINE(ENABLE_NLS)
1146 AC_MSG_CHECKING([whether included gettext is requested])
1147 AC_ARG_WITH(included-gettext,
1148 [ --with-included-gettext use the GNU gettext library included here],
1149 nls_cv_force_use_gnu_gettext=$withval,
1150 nls_cv_force_use_gnu_gettext=no)
1151 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1153 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1154 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1155 dnl User does not insist on using GNU NLS library. Figure out what
1156 dnl to use. If gettext or catgets are available (in this order) we
1157 dnl use this. Else we have to fall back to GNU NLS library.
1158 dnl catgets is only used if permitted by option --with-catgets.
1160 nls_cv_header_libgt=
1163 AC_CHECK_HEADER(libintl.h,
1164 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1165 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1166 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1168 if test "$gt_cv_func_gettext_libc" != "yes"; then
1169 AC_CHECK_LIB(intl, bindtextdomain,
1170 [AC_CACHE_CHECK([for gettext in libintl],
1171 gt_cv_func_gettext_libintl,
1172 [AC_CHECK_LIB(intl, gettext,
1173 gt_cv_func_gettext_libintl=yes,
1174 gt_cv_func_gettext_libintl=no)],
1175 gt_cv_func_gettext_libintl=no)])
1178 if test "$gt_cv_func_gettext_libc" = "yes" \
1179 || test "$gt_cv_func_gettext_libintl" = "yes"; then
1180 AC_DEFINE(HAVE_GETTEXT)
1181 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1182 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1183 if test "$MSGFMT" != "no"; then
1184 AC_CHECK_FUNCS(dcgettext)
1185 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1186 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1187 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1188 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1189 return _nl_msg_cat_cntr],
1199 if test "$CATOBJEXT" = "NONE"; then
1200 AC_MSG_CHECKING([whether catgets can be used])
1201 AC_ARG_WITH(catgets,
1202 [ --with-catgets use catgets functions if available],
1203 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1204 AC_MSG_RESULT($nls_cv_use_catgets)
1206 if test "$nls_cv_use_catgets" = "yes"; then
1207 dnl No gettext in C library. Try catgets next.
1208 AC_CHECK_LIB(i, main)
1209 AC_CHECK_FUNC(catgets,
1210 [AC_DEFINE(HAVE_CATGETS)
1211 INTLOBJS="\$(CATOBJS)"
1212 AC_PATH_PROG(GENCAT, gencat, no)dnl
1213 if test "$GENCAT" != "no"; then
1214 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1215 if test "$GMSGFMT" = "no"; then
1216 AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1217 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1219 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1220 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1221 USE_INCLUDED_LIBINTL=yes
1225 INTLDEPS='$(top_builddir)/intl/libintl.a'
1227 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1228 nls_cv_header_intl=intl/libintl.h
1229 nls_cv_header_libgt=intl/libgettext.h
1234 if test "$CATOBJEXT" = "NONE"; then
1235 dnl Neither gettext nor catgets in included in the C library.
1236 dnl Fall back on GNU gettext library.
1237 nls_cv_use_gnu_gettext=yes
1241 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1242 dnl Mark actions used to generate GNU NLS library.
1243 INTLOBJS="\$(GETTOBJS)"
1244 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1245 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1246 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1247 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1248 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1250 USE_INCLUDED_LIBINTL=yes
1254 INTLDEPS='$(top_builddir)/intl/libintl.a'
1256 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1257 nls_cv_header_intl=intl/libintl.h
1258 nls_cv_header_libgt=intl/libgettext.h
1261 dnl Test whether we really found GNU xgettext.
1262 if test "$XGETTEXT" != ":"; then
1263 dnl If it is no GNU xgettext we define it as : so that the
1264 dnl Makefiles still can work.
1265 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1269 [found xgettext program is not GNU xgettext; ignore it])
1274 # We need to process the po/ directory.
1278 nls_cv_header_intl=intl/libintl.h
1279 nls_cv_header_libgt=intl/libgettext.h
1281 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1283 [case "$CONFIG_FILES" in *po/Makefile.in*)
1284 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1288 # If this is used in GNU gettext we have to set USE_NLS to `yes'
1289 # because some of the sources are only built for this goal.
1290 if test "$PACKAGE" = gettext; then
1292 USE_INCLUDED_LIBINTL=yes
1295 dnl These rules are solely for the distribution goal. While doing this
1296 dnl we only have to keep exactly one list of the available catalogs
1297 dnl in configure.in.
1298 for lang in $ALL_LINGUAS; do
1299 GMOFILES="$GMOFILES $lang.gmo"
1300 POFILES="$POFILES $lang.po"
1303 dnl Make all variables we use known to autoconf.
1304 AC_SUBST(USE_INCLUDED_LIBINTL)
1307 AC_SUBST(DATADIRNAME)
1309 AC_SUBST(INSTOBJEXT)
1317 AC_DEFUN(AM_GNU_GETTEXT,
1318 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1319 AC_REQUIRE([AC_PROG_CC])dnl
1320 AC_REQUIRE([AC_PROG_RANLIB])dnl
1321 AC_REQUIRE([AC_ISC_POSIX])dnl
1322 AC_REQUIRE([AC_HEADER_STDC])dnl
1323 AC_REQUIRE([AC_C_CONST])dnl
1324 AC_REQUIRE([AC_C_INLINE])dnl
1325 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1326 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1327 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1328 AC_REQUIRE([AC_FUNC_MMAP])dnl
1330 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1331 unistd.h sys/param.h])
1332 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1333 strdup __argz_count __argz_stringify __argz_next])
1335 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1336 AC_CHECK_FUNCS(stpcpy)
1338 if test "${ac_cv_func_stpcpy}" = "yes"; then
1339 AC_DEFINE(HAVE_STPCPY)
1345 if test "x$CATOBJEXT" != "x"; then
1346 if test "x$ALL_LINGUAS" = "x"; then
1349 AC_MSG_CHECKING(for catalogs to be installed)
1351 dnl ============== Fix is here! =======================
1352 dnl Some sh do not like substitution in bounds of for loops
1353 dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do
1354 tmplinguas=${LINGUAS=$ALL_LINGUAS}
1355 for lang in ${tmplinguas}; do
1356 case "$ALL_LINGUAS" in
1357 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1360 LINGUAS=$NEW_LINGUAS
1361 AC_MSG_RESULT($LINGUAS)
1364 dnl Construct list of names of catalog files to be constructed.
1365 if test -n "$LINGUAS"; then
1366 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1370 dnl The reference to <locale.h> in the installed <libintl.h> file
1371 dnl must be resolved because we cannot expect the users of this
1372 dnl to define HAVE_LOCALE_H.
1373 if test $ac_cv_header_locale_h = yes; then
1374 INCLUDE_LOCALE_H="#include <locale.h>"
1377 /* The system does not provide the header <locale.h>. Take care yourself. */"
1379 AC_SUBST(INCLUDE_LOCALE_H)
1381 dnl Determine which catalog format we have (if any is needed)
1382 dnl For now we know about two different formats:
1383 dnl Linux libc-5 and the normal X/Open format
1384 test -d intl || mkdir intl
1385 if test "$CATOBJEXT" = ".cat"; then
1386 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1388 dnl Transform the SED scripts while copying because some dumb SEDs
1389 dnl cannot handle comments.
1390 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1392 dnl po2tbl.sed is always needed.
1393 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1394 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1396 dnl In the intl/Makefile.in we have a special dependency which makes
1397 dnl only sense for gettext. We comment this out for non-gettext
1399 if test "$PACKAGE" = "gettext"; then
1409 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1410 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1411 dnl Try to locate is.
1413 if test -n "$ac_aux_dir"; then
1414 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1416 if test -z "$MKINSTALLDIRS"; then
1417 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1419 AC_SUBST(MKINSTALLDIRS)
1421 dnl *** For now the libtool support in intl/Makefile is not for real.
1425 dnl Generate list of files to be processed by xgettext which will
1426 dnl be included in po/Makefile.
1427 test -d po || mkdir po
1428 if test "x$srcdir" != "x."; then
1429 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1430 posrcprefix="$srcdir/"
1432 posrcprefix="../$srcdir/"
1438 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1439 < $srcdir/po/POTFILES.in > po/POTFILES