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=":"
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";;
188 *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
193 if test x$with_warnings = xyes ; then
195 2.95.*) CXXFLAGS="$CXXFLAGS -Wall";;
196 *) CXXFLAGS="$CXXFLAGS -ansi -Wall";;
198 if test $lyx_devel_version = yes ; then
201 *) CXXFLAGS="$CXXFLAGS -pedantic";;
207 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
212 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
214 AC_DEFUN(LYX_CXX_RTTI,[
215 ### Check whether the compiler supports runtime type information
216 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
220 virtual int tag() { return 0; }
222 class derived1 : public rtti {
224 int tag() { return 1; }
226 class derived2 : public rtti {
228 int tag() { return 2; }
231 derived1 * foo1 = new derived1();
232 derived2 * foo2 = new derived2();
234 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
238 bar1 = dynamic_cast<derived1 *>(bar);
243 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
245 if test x$lyx_cv_rtti = xyes ; then
246 AC_DEFINE(HAVE_RTTI, 1,
247 [Define to 1 if your compiler supports runtime type information])
251 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
252 dnl understands the "explicit" directive.
253 AC_DEFUN(LYX_CXX_EXPLICIT,[
254 ### Check whether the compiler understands the keyword `explicit'
255 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
260 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
262 if test $lyx_cv_explicit = no ; then
263 AC_DEFINE(explicit,[ ],
264 [Define to nothing if your compiler does not understand the
265 'explicit' directive])
269 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
270 dnl has a working stl stack template
271 AC_DEFUN(LYX_CXX_STL_STACK,[
272 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
279 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
281 if test $lyx_cv_broken_stack = yes ; then
282 AC_DEFINE(BROKEN_STL_STACK, 1,
283 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
288 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
289 dnl supports modern STL streams
290 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
291 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
295 std::streambuf * test = std::cerr.rdbuf();
297 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
299 if test $lyx_cv_modern_streams = yes ; then
300 AC_DEFINE(MODERN_STL_STREAMS, 1,
301 [Define if you have modern standard-compliant STL streams])
305 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
306 dnl has a working stl string container, the check is really stupid
307 dnl and could need some improvement.
308 AC_DEFUN(LYX_CXX_STL_STRING,[
309 AC_REQUIRE([LYX_PROG_CXX])
310 AC_MSG_CHECKING(whether the included std::string should be used)
311 AC_ARG_WITH(included-string,[
312 --with-included-string use LyX string class instead of STL string
314 with_included_string=$withval
320 string a("hello there");
325 with_included_string=no
327 with_included_string=yes
331 if test x$with_included_string = xyes ; then
332 AC_DEFINE(USE_INCLUDED_STRING, 1,
333 [Define to use the lyxstring class bundled with LyX.])
334 lyx_flags="$lyx_flags included-string"
336 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
337 AC_MSG_RESULT([$with_included_string])
342 AC_DEFUN(LYX_CXX_MUTABLE, [
343 AC_REQUIRE([LYX_PROG_CXX])
344 AC_MSG_CHECKING(if C++ compiler supports mutable)
350 void foo() const { c=0; }
355 AC_DEFINE(HAVE_MUTABLE, 1,
356 [Defined if you compiler supports 'mutable'.])
360 AC_MSG_RESULT([$ac_mutable])
365 AC_DEFUN(LYX_CXX_PARTIAL, [
366 AC_REQUIRE([LYX_PROG_CXX])
367 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
370 template<class T, class K>
374 template<class T> class k<void,T> { };
379 ac_partial_specialization=yes
380 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
381 [Defined if your compiler supports partial specialization.])
383 ac_partial_specialization=no
385 AC_MSG_RESULT([$ac_partial_specialization])
389 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
390 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
391 dnl if true. This macro does not do a thourough test, but it should be
392 dnl good enough to suit our needs.
393 AC_DEFUN(LYX_CXX_NAMESPACES,[
394 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
401 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
403 if test $lyx_cv_cxx_namespace = yes ; then
404 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
405 [Define if your C++ compiler has correct support for namespaces])
409 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
410 dnl provides wrappers for C headers and use our alternate version otherwise.
411 AC_DEFUN(LYX_CXX_CHEADERS,[
412 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
422 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
423 if test $lyx_cv_cxx_cheaders = no ; then
424 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
428 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
429 AC_DEFUN(LYX_PATH_XPM,[
430 ### Check for Xpm library
431 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
432 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
434 ### Check for Xpm headers
435 lyx_cv_xpm_h_location="<xpm.h>"
436 AC_CHECK_HEADER(X11/xpm.h,[
437 ac_cv_header_xpm_h=yes
438 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
439 AC_CHECK_HEADER(xpm.h,[],[
440 LYX_LIB_ERROR(xpm.h,Xpm)])])
441 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
443 ### Test for the header version
444 if test $ac_cv_header_xpm_h = yes; then
445 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
446 [ cat > conftest.$ac_ext <<EOF
447 #line __oline__ "configure"
448 #include "confdefs.h"
450 #include XPM_H_LOCATION
451 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
453 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
454 grep '^"%%%"' 2>/dev/null | \
455 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
456 case "$lyx_cv_xpmr" in
458 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
459 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
463 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
465 case "$lyx_cv_xpmr" in
467 [789]|[0-9][0-9]*) ;;
469 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
470 If you experience strange crashes with LyX, try to upgrade
471 to at least version 4.7 (aka 3.4g).
472 If you have installed a newer version of the library, check whether you
473 have an old xpm.h header file in your include path.]);;
478 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
479 AC_DEFUN(LYX_PATH_XFORMS,[
480 ### Check for xforms library
481 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
482 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
483 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
485 ### Check for xforms headers
486 lyx_cv_forms_h_location="<forms.h>"
487 AC_CHECK_HEADER(X11/forms.h,[
488 ac_cv_header_forms_h=yes
489 lyx_cv_forms_h_location="<X11/forms.h>"],[
490 AC_CHECK_HEADER(forms.h,[],[
491 LYX_LIB_ERROR(forms.h,forms)])])
492 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
493 if test $ac_cv_header_forms_h = yes; then
494 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
495 [ cat > conftest.$ac_ext <<EOF
496 #line __oline__ "configure"
497 #include "confdefs.h"
499 #include FORMS_H_LOCATION
500 #if ! defined(FL_INCLUDE_VERSION)
503 "%%%"FL_VERSION.FL_REVISION"%%%"
506 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
507 grep '^"%%%"' 2>/dev/null | \
508 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
510 case "$lyx_cv_xfversion" in
511 "(unknown)"|0.82|0.83|0.84|0.85)
513 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
514 This version of LyX works best with version 0.88[,] although it
515 supports also versions 0.81[,] 0.86 and 0.87.) ;;
518 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
519 it is recommended that you upgrade to version 0.88.) ;;
521 0.89) LYX_WARNING(dnl
522 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
523 it is an unproven version and might still have some bugs. If you
524 have problems[,] please use version 0.88 instead.) ;;
526 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
527 since it is newer than 0.88. You might have slight problems with it.);;
532 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
534 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
535 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
536 os=`uname -s | tr '[A-Z]' '[a-z]'`
538 test "$os" = hp-ux && ac_cv_hpux=yes])
539 if test "$ac_cv_hpux" = yes; then
540 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
544 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
547 [#The headers are not correct under SunOS4
548 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
550 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
551 changequote([, ]) dnl
553 test "$os" = SunOS4 && ac_cv_sunos4=yes])
554 if test "$ac_cv_sunos4" = yes; then
555 test "x$GXX" = xyes && lyx_broken_headers=yes
559 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
562 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
564 if test `uname -s` != "SCO_SV"; then
565 lyx_machine_rel=`uname -m`:`uname -r`
566 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
568 if test -f /usr/options/cb.name; then
570 elif /bin/uname -X 2>/dev/null >/dev/null ; then
575 if test "$ac_cv_sco" = yes; then
576 test "x$GXX" = xyes && lyx_broken_headers=yes
580 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
581 dnl [default-yes-value])
582 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
583 dnl resulting directory name in 'dir-var-name'.
584 AC_DEFUN(LYX_WITH_DIR,[
585 AC_ARG_WITH($1,[ --with-$1 specify $2])
586 AC_MSG_CHECKING([for $2])
587 if test -z "$with_$3"; then
588 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
590 test "x$with_$3" = xyes && with_$3=$5
593 AC_MSG_RESULT($lyx_cv_$3)])
596 dnl Usage: LYX_LOOP_DIR(value,action)
597 dnl Executes action for values of variable `dir' in `values'. `values' can
598 dnl use ":" as a separator.
599 AC_DEFUN(LYX_LOOP_DIR,[
600 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
601 for dir in `eval "echo $1"`; do
602 if test ! "$dir" = NONE; then
603 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
611 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
613 AC_DEFUN(LYX_ADD_LIB_DIR,[
615 if test "`(uname) 2>/dev/null`" = SunOS &&
616 uname -r | grep '^5' >/dev/null; then
617 if test $ac_cv_prog_gxx = yes ; then
618 $1="${$1} -Wl[,]-R$2"
625 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
627 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
630 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
631 dnl if the cache file is inconsistent with the current host,
632 dnl target and build system types, execute CMD or print a default
634 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
635 AC_REQUIRE([AC_CANONICAL_SYSTEM])
636 AC_MSG_CHECKING([config.cache system type])
637 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
638 test x"$ac_cv_host_system_type" != x"$host"; } ||
639 { test x"${ac_cv_build_system_type+set}" = x"set" &&
640 test x"$ac_cv_build_system_type" != x"$build"; } ||
641 { test x"${ac_cv_target_system_type+set}" = x"set" &&
642 test x"$ac_cv_target_system_type" != x"$target"; }; then
643 AC_MSG_RESULT([different])
645 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
647 AC_MSG_RESULT([same])
649 ac_cv_host_system_type="$host"
650 ac_cv_build_system_type="$build"
651 ac_cv_target_system_type="$target"
655 dnl We use this until autoconf fixes its version.
656 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
657 [AC_MSG_CHECKING([types of arguments for select()])
658 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
659 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
660 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
661 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
662 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
664 [#ifdef HAVE_SYS_TYPES_H
665 #include <sys/types.h>
667 #ifdef HAVE_SYS_TIME_H
668 #include <sys/time.h>
670 #ifdef HAVE_SYS_SELECT_H
671 #include <sys/select.h>
673 #ifdef HAVE_SYS_SOCKET_H
674 #include <sys/socket.h>
676 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
677 [ac_not_found=no ; break 3],ac_not_found=yes)
684 if test "$ac_not_found" = yes; then
685 ac_cv_func_select_arg1=int
686 ac_cv_func_select_arg234='int *'
687 ac_cv_func_select_arg5='struct timeval *'
689 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
690 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
691 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
692 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
695 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
696 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
697 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
699 ## This program is free software; you can redistribute it and/or modify
700 ## it under the terms of the GNU General Public License as published by
701 ## the Free Software Foundation; either version 2 of the License, or
702 ## (at your option) any later version.
704 ## This program is distributed in the hope that it will be useful, but
705 ## WITHOUT ANY WARRANTY; without even the implied warranty of
706 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
707 ## General Public License for more details.
709 ## You should have received a copy of the GNU General Public License
710 ## along with this program; if not, write to the Free Software
711 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
713 ## As a special exception to the GNU General Public License, if you
714 ## distribute this file as part of a program that contains a
715 ## configuration script generated by Autoconf, you may include it under
716 ## the same distribution terms that you use for the rest of that program.
718 # serial 40 AC_PROG_LIBTOOL
719 AC_DEFUN(AC_PROG_LIBTOOL,
720 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
722 # Save cache, so that ltconfig can load it
725 # Actually configure libtool. ac_aux_dir is where install-sh is found.
726 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
727 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
728 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
729 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
730 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
731 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
732 || AC_MSG_ERROR([libtool configure failed])
734 # Reload cache, that may have been modified by ltconfig
737 # This can be used to rebuild libtool when needed
738 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
740 # Always use our own libtool.
741 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
744 # Redirect the config.log output again, so that the ltconfig log is not
745 # clobbered by the next message.
749 AC_DEFUN(AC_LIBTOOL_SETUP,
751 AC_REQUIRE([AC_ENABLE_SHARED])dnl
752 AC_REQUIRE([AC_ENABLE_STATIC])dnl
753 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
754 AC_REQUIRE([AC_CANONICAL_HOST])dnl
755 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
756 AC_REQUIRE([AC_PROG_RANLIB])dnl
757 AC_REQUIRE([AC_PROG_CC])dnl
758 AC_REQUIRE([AC_PROG_LD])dnl
759 AC_REQUIRE([AC_PROG_NM])dnl
760 AC_REQUIRE([AC_PROG_LN_S])dnl
763 # Check for any special flags to pass to ltconfig.
765 # the following will cause an existing older ltconfig to fail, so
766 # we ignore this at the expense of the cache file... Checking this
767 # will just take longer ... bummer!
768 #libtool_flags="--cache-file=$cache_file"
770 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
771 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
772 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
773 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
774 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
775 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
776 [libtool_flags="$libtool_flags --enable-dlopen"])
777 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
778 [libtool_flags="$libtool_flags --enable-win32-dll"])
779 AC_ARG_ENABLE(libtool-lock,
780 [ --disable-libtool-lock avoid locking (might break parallel builds)])
781 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
782 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
784 # Some flags need to be propagated to the compiler or linker for good
788 # Find out which ABI we are using.
789 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
790 if AC_TRY_EVAL(ac_compile); then
791 case "`/usr/bin/file conftest.o`" in
807 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
808 SAVE_CFLAGS="$CFLAGS"
809 CFLAGS="$CFLAGS -belf"
810 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
811 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
812 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
813 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
814 CFLAGS="$SAVE_CFLAGS"
818 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
819 [*-*-cygwin* | *-*-mingw*)
820 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
821 AC_CHECK_TOOL(AS, as, false)
822 AC_CHECK_TOOL(OBJDUMP, objdump, false)
828 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
829 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
831 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
832 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
834 # AC_ENABLE_SHARED - implement the --enable-shared flag
835 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
836 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
838 AC_DEFUN(AC_ENABLE_SHARED, [dnl
839 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
840 AC_ARG_ENABLE(shared,
841 changequote(<<, >>)dnl
842 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
844 [p=${PACKAGE-default}
846 yes) enable_shared=yes ;;
847 no) enable_shared=no ;;
850 # Look at the argument we got. We use all the common list separators.
851 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
852 for pkg in $enableval; do
853 if test "X$pkg" = "X$p"; then
860 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
863 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
864 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
865 AC_ENABLE_SHARED(no)])
867 # AC_ENABLE_STATIC - implement the --enable-static flag
868 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
869 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
871 AC_DEFUN(AC_ENABLE_STATIC, [dnl
872 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
873 AC_ARG_ENABLE(static,
874 changequote(<<, >>)dnl
875 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
877 [p=${PACKAGE-default}
879 yes) enable_static=yes ;;
880 no) enable_static=no ;;
883 # Look at the argument we got. We use all the common list separators.
884 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
885 for pkg in $enableval; do
886 if test "X$pkg" = "X$p"; then
893 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
896 # AC_DISABLE_STATIC - set the default static flag to --disable-static
897 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
898 AC_ENABLE_STATIC(no)])
901 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
902 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
903 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
905 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
906 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
907 AC_ARG_ENABLE(fast-install,
908 changequote(<<, >>)dnl
909 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
911 [p=${PACKAGE-default}
913 yes) enable_fast_install=yes ;;
914 no) enable_fast_install=no ;;
916 enable_fast_install=no
917 # Look at the argument we got. We use all the common list separators.
918 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
919 for pkg in $enableval; do
920 if test "X$pkg" = "X$p"; then
921 enable_fast_install=yes
927 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
930 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
931 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
932 AC_ENABLE_FAST_INSTALL(no)])
934 # AC_PROG_LD - find the path to the GNU or non-GNU linker
937 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
938 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
939 AC_REQUIRE([AC_PROG_CC])dnl
940 AC_REQUIRE([AC_CANONICAL_HOST])dnl
941 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
943 if test "$ac_cv_prog_gcc" = yes; then
944 # Check if gcc -print-prog-name=ld gives a path.
945 AC_MSG_CHECKING([for ld used by GCC])
946 ac_prog=`($CC -print-prog-name=ld) 2>&5`
948 # Accept absolute paths.
950 [\\/]* | [A-Za-z]:[\\/]*)
951 re_direlt='/[^/][^/]*/\.\./'
953 # Canonicalize the path of ld
954 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
955 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
956 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
958 test -z "$LD" && LD="$ac_prog"
961 # If it fails, then pretend we aren't using GCC.
965 # If it is relative, then search for the first ld in PATH.
969 elif test "$with_gnu_ld" = yes; then
970 AC_MSG_CHECKING([for GNU ld])
972 AC_MSG_CHECKING([for non-GNU ld])
974 AC_CACHE_VAL(ac_cv_path_LD,
975 [if test -z "$LD"; then
976 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
977 for ac_dir in $PATH; do
978 test -z "$ac_dir" && ac_dir=.
979 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
980 ac_cv_path_LD="$ac_dir/$ac_prog"
981 # Check to see if the program is GNU ld. I'd rather use --version,
982 # but apparently some GNU ld's only accept -v.
983 # Break only if it was the GNU/non-GNU ld that we prefer.
984 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
985 test "$with_gnu_ld" != no && break
987 test "$with_gnu_ld" != yes && break
993 ac_cv_path_LD="$LD" # Let the user override the test with a path.
996 if test -n "$LD"; then
1001 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1006 AC_DEFUN(AC_PROG_LD_GNU,
1007 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1008 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1009 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1010 ac_cv_prog_gnu_ld=yes
1012 ac_cv_prog_gnu_ld=no
1016 # AC_PROG_NM - find the path to a BSD-compatible name lister
1017 AC_DEFUN(AC_PROG_NM,
1018 [AC_MSG_CHECKING([for BSD-compatible nm])
1019 AC_CACHE_VAL(ac_cv_path_NM,
1020 [if test -n "$NM"; then
1021 # Let the user override the test.
1024 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1025 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1026 test -z "$ac_dir" && ac_dir=.
1027 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1028 # Check to see if the nm accepts a BSD-compat flag.
1029 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1030 # nm: unknown option "B" ignored
1031 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1032 ac_cv_path_NM="$ac_dir/nm -B"
1034 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1035 ac_cv_path_NM="$ac_dir/nm -p"
1038 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1039 continue # so that we can try to find one that supports BSD flags
1044 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1047 AC_MSG_RESULT([$NM])
1051 # AC_CHECK_LIBM - check for math library
1052 AC_DEFUN(AC_CHECK_LIBM,
1053 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1056 *-*-beos* | *-*-cygwin*)
1057 # These system don't have libm
1060 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1061 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1064 AC_CHECK_LIB(m, main, LIBM="-lm")
1069 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1070 # the libltdl convenience library, adds --enable-ltdl-convenience to
1071 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1072 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1073 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1074 # '${top_builddir}/' (note the single quotes!) if your package is not
1075 # flat, and, if you're not using automake, define top_builddir as
1076 # appropriate in the Makefiles.
1077 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1078 case "$enable_ltdl_convenience" in
1079 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1080 "") enable_ltdl_convenience=yes
1081 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1083 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1084 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1087 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1088 # the libltdl installable library, and adds --enable-ltdl-install to
1089 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1090 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1091 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1092 # '${top_builddir}/' (note the single quotes!) if your package is not
1093 # flat, and, if you're not using automake, define top_builddir as
1094 # appropriate in the Makefiles.
1095 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1096 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1097 AC_CHECK_LIB(ltdl, main,
1098 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1099 [if test x"$enable_ltdl_install" = xno; then
1100 AC_MSG_WARN([libltdl not installed, but installation disabled])
1102 enable_ltdl_install=yes
1105 if test x"$enable_ltdl_install" = x"yes"; then
1106 ac_configure_args="$ac_configure_args --enable-ltdl-install"
1107 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1108 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1110 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1117 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1118 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1119 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1120 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1121 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1122 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1123 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1125 dnl This is just to silence aclocal about the macro not being used
1126 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1128 # Macro to add for using GNU gettext.
1129 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1131 # This file can be copied and used freely without restrictions. It can
1132 # be used in projects which are not available under the GNU Public License
1133 # but which still want to provide support for the GNU gettext functionality.
1134 # Please note that the actual code is *not* freely available.
1138 AC_DEFUN(AM_WITH_NLS,
1139 [AC_MSG_CHECKING([whether NLS is requested])
1140 dnl Default is enabled NLS
1142 [ --disable-nls do not use Native Language Support],
1143 USE_NLS=$enableval, USE_NLS=yes)
1144 AC_MSG_RESULT($USE_NLS)
1147 USE_INCLUDED_LIBINTL=no
1149 dnl If we use NLS figure out what method
1150 if test "$USE_NLS" = "yes"; then
1151 AC_DEFINE(ENABLE_NLS)
1152 AC_MSG_CHECKING([whether included gettext is requested])
1153 AC_ARG_WITH(included-gettext,
1154 [ --with-included-gettext use the GNU gettext library included here],
1155 nls_cv_force_use_gnu_gettext=$withval,
1156 nls_cv_force_use_gnu_gettext=no)
1157 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1159 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1160 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1161 dnl User does not insist on using GNU NLS library. Figure out what
1162 dnl to use. If gettext or catgets are available (in this order) we
1163 dnl use this. Else we have to fall back to GNU NLS library.
1164 dnl catgets is only used if permitted by option --with-catgets.
1166 nls_cv_header_libgt=
1169 AC_CHECK_HEADER(libintl.h,
1170 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1171 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1172 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1174 if test "$gt_cv_func_gettext_libc" != "yes"; then
1175 AC_CHECK_LIB(intl, bindtextdomain,
1176 [AC_CACHE_CHECK([for gettext in libintl],
1177 gt_cv_func_gettext_libintl,
1178 [AC_CHECK_LIB(intl, gettext,
1179 gt_cv_func_gettext_libintl=yes,
1180 gt_cv_func_gettext_libintl=no)],
1181 gt_cv_func_gettext_libintl=no)])
1184 if test "$gt_cv_func_gettext_libc" = "yes" \
1185 || test "$gt_cv_func_gettext_libintl" = "yes"; then
1186 AC_DEFINE(HAVE_GETTEXT)
1187 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1188 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1189 if test "$MSGFMT" != "no"; then
1190 AC_CHECK_FUNCS(dcgettext)
1191 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1192 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1193 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1194 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1195 return _nl_msg_cat_cntr],
1205 if test "$CATOBJEXT" = "NONE"; then
1206 AC_MSG_CHECKING([whether catgets can be used])
1207 AC_ARG_WITH(catgets,
1208 [ --with-catgets use catgets functions if available],
1209 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1210 AC_MSG_RESULT($nls_cv_use_catgets)
1212 if test "$nls_cv_use_catgets" = "yes"; then
1213 dnl No gettext in C library. Try catgets next.
1214 AC_CHECK_LIB(i, main)
1215 AC_CHECK_FUNC(catgets,
1216 [AC_DEFINE(HAVE_CATGETS)
1217 INTLOBJS="\$(CATOBJS)"
1218 AC_PATH_PROG(GENCAT, gencat, no)dnl
1219 if test "$GENCAT" != "no"; then
1220 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1221 if test "$GMSGFMT" = "no"; then
1222 AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1223 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1225 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1226 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1227 USE_INCLUDED_LIBINTL=yes
1231 INTLDEPS='$(top_builddir)/intl/libintl.a'
1233 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1234 nls_cv_header_intl=intl/libintl.h
1235 nls_cv_header_libgt=intl/libgettext.h
1240 if test "$CATOBJEXT" = "NONE"; then
1241 dnl Neither gettext nor catgets in included in the C library.
1242 dnl Fall back on GNU gettext library.
1243 nls_cv_use_gnu_gettext=yes
1247 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1248 dnl Mark actions used to generate GNU NLS library.
1249 INTLOBJS="\$(GETTOBJS)"
1250 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1251 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1252 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1253 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1254 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1256 USE_INCLUDED_LIBINTL=yes
1260 INTLDEPS='$(top_builddir)/intl/libintl.a'
1262 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1263 nls_cv_header_intl=intl/libintl.h
1264 nls_cv_header_libgt=intl/libgettext.h
1267 dnl Test whether we really found GNU xgettext.
1268 if test "$XGETTEXT" != ":"; then
1269 dnl If it is no GNU xgettext we define it as : so that the
1270 dnl Makefiles still can work.
1271 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1275 [found xgettext program is not GNU xgettext; ignore it])
1280 # We need to process the po/ directory.
1284 nls_cv_header_intl=intl/libintl.h
1285 nls_cv_header_libgt=intl/libgettext.h
1287 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1289 [case "$CONFIG_FILES" in *po/Makefile.in*)
1290 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1294 # If this is used in GNU gettext we have to set USE_NLS to `yes'
1295 # because some of the sources are only built for this goal.
1296 if test "$PACKAGE" = gettext; then
1298 USE_INCLUDED_LIBINTL=yes
1301 dnl These rules are solely for the distribution goal. While doing this
1302 dnl we only have to keep exactly one list of the available catalogs
1303 dnl in configure.in.
1304 for lang in $ALL_LINGUAS; do
1305 GMOFILES="$GMOFILES $lang.gmo"
1306 POFILES="$POFILES $lang.po"
1309 dnl Make all variables we use known to autoconf.
1310 AC_SUBST(USE_INCLUDED_LIBINTL)
1313 AC_SUBST(DATADIRNAME)
1315 AC_SUBST(INSTOBJEXT)
1323 AC_DEFUN(AM_GNU_GETTEXT,
1324 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1325 AC_REQUIRE([AC_PROG_CC])dnl
1326 AC_REQUIRE([AC_PROG_RANLIB])dnl
1327 AC_REQUIRE([AC_ISC_POSIX])dnl
1328 AC_REQUIRE([AC_HEADER_STDC])dnl
1329 AC_REQUIRE([AC_C_CONST])dnl
1330 AC_REQUIRE([AC_C_INLINE])dnl
1331 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1332 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1333 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1334 AC_REQUIRE([AC_FUNC_MMAP])dnl
1336 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1337 unistd.h sys/param.h])
1338 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1339 strdup __argz_count __argz_stringify __argz_next])
1341 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1342 AC_CHECK_FUNCS(stpcpy)
1344 if test "${ac_cv_func_stpcpy}" = "yes"; then
1345 AC_DEFINE(HAVE_STPCPY)
1351 if test "x$CATOBJEXT" != "x"; then
1352 if test "x$ALL_LINGUAS" = "x"; then
1355 AC_MSG_CHECKING(for catalogs to be installed)
1357 dnl ============== Fix is here! =======================
1358 dnl Some sh do not like substitution in bounds of for loops
1359 dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do
1360 tmplinguas=${LINGUAS=$ALL_LINGUAS}
1361 for lang in ${tmplinguas}; do
1362 case "$ALL_LINGUAS" in
1363 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1366 LINGUAS=$NEW_LINGUAS
1367 AC_MSG_RESULT($LINGUAS)
1370 dnl Construct list of names of catalog files to be constructed.
1371 if test -n "$LINGUAS"; then
1372 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1376 dnl The reference to <locale.h> in the installed <libintl.h> file
1377 dnl must be resolved because we cannot expect the users of this
1378 dnl to define HAVE_LOCALE_H.
1379 if test $ac_cv_header_locale_h = yes; then
1380 INCLUDE_LOCALE_H="#include <locale.h>"
1383 /* The system does not provide the header <locale.h>. Take care yourself. */"
1385 AC_SUBST(INCLUDE_LOCALE_H)
1387 dnl Determine which catalog format we have (if any is needed)
1388 dnl For now we know about two different formats:
1389 dnl Linux libc-5 and the normal X/Open format
1390 test -d intl || mkdir intl
1391 if test "$CATOBJEXT" = ".cat"; then
1392 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1394 dnl Transform the SED scripts while copying because some dumb SEDs
1395 dnl cannot handle comments.
1396 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1398 dnl po2tbl.sed is always needed.
1399 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1400 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1402 dnl In the intl/Makefile.in we have a special dependency which makes
1403 dnl only sense for gettext. We comment this out for non-gettext
1405 if test "$PACKAGE" = "gettext"; then
1415 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1416 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1417 dnl Try to locate is.
1419 if test -n "$ac_aux_dir"; then
1420 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1422 if test -z "$MKINSTALLDIRS"; then
1423 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1425 AC_SUBST(MKINSTALLDIRS)
1427 dnl *** For now the libtool support in intl/Makefile is not for real.
1431 dnl Generate list of files to be processed by xgettext which will
1432 dnl be included in po/Makefile.
1433 test -d po || mkdir po
1434 if test "x$srcdir" != "x."; then
1435 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1436 posrcprefix="$srcdir/"
1438 posrcprefix="../$srcdir/"
1444 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1445 < $srcdir/po/POTFILES.in > po/POTFILES