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 the compiler 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.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";;
188 2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti";;
189 *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
194 if test x$with_warnings = xyes ; then
196 2.95.*) CXXFLAGS="$CXXFLAGS -Wall -W -Wconversion";;
197 *) CXXFLAGS="$CXXFLAGS -ansi -Wall -W";;
199 if test $lyx_devel_version = yes ; then
202 *) CXXFLAGS="$CXXFLAGS -pedantic";;
208 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
213 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
215 AC_DEFUN(LYX_CXX_RTTI,[
216 ### Check whether the compiler supports runtime type information
217 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
221 virtual int tag() { return 0; }
223 class derived1 : public rtti {
225 int tag() { return 1; }
227 class derived2 : public rtti {
229 int tag() { return 2; }
232 derived1 * foo1 = new derived1();
233 derived2 * foo2 = new derived2();
235 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
239 bar1 = dynamic_cast<derived1 *>(bar);
244 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
246 if test x$lyx_cv_rtti = xyes ; then
247 AC_DEFINE(HAVE_RTTI, 1,
248 [Define to 1 if your compiler supports runtime type information])
252 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
253 dnl understands the "explicit" directive.
254 AC_DEFUN(LYX_CXX_EXPLICIT,[
255 ### Check whether the compiler understands the keyword `explicit'
256 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
261 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
263 if test $lyx_cv_explicit = no ; then
264 AC_DEFINE(explicit,[ ],
265 [Define to nothing if your compiler does not understand the
266 'explicit' directive])
270 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
271 dnl has a working stl stack template
272 AC_DEFUN(LYX_CXX_STL_STACK,[
273 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
280 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
282 if test $lyx_cv_broken_stack = yes ; then
283 AC_DEFINE(BROKEN_STL_STACK, 1,
284 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
289 dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming
290 dnl count template, if not the old HP version is assumed.
291 AC_DEFUN(LYX_STD_COUNT,[
292 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
298 int countChar(string const & a, char const c)
300 return count(a.begin(), a.end(), c);
304 int i = countChar(a, 'l');
305 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
307 if test $lyx_cv_std_count = yes ; then
308 AC_DEFINE(HAVE_STD_COUNT, 1,
309 [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.])
313 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
314 dnl supports modern STL streams
315 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
316 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
320 std::streambuf * test = std::cerr.rdbuf();
322 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
324 if test $lyx_cv_modern_streams = yes ; then
325 AC_DEFINE(MODERN_STL_STREAMS, 1,
326 [Define if you have modern standard-compliant STL streams])
330 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
331 dnl has a working stl string container, the check is really stupid
332 dnl and could need some improvement.
333 AC_DEFUN(LYX_CXX_STL_STRING,[
334 AC_REQUIRE([LYX_PROG_CXX])
335 AC_MSG_CHECKING(whether the included std::string should be used)
336 AC_ARG_WITH(included-string,
337 [ --with-included-string use LyX string class instead of STL string],
338 [with_included_string=$withval],
343 string a("hello there");
348 with_included_string=no
350 with_included_string=yes
354 if test x$with_included_string = xyes ; then
355 AC_DEFINE(USE_INCLUDED_STRING, 1,
356 [Define to use the lyxstring class bundled with LyX.])
357 lyx_flags="$lyx_flags included-string"
359 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
360 AC_MSG_RESULT([$with_included_string])
365 AC_DEFUN(LYX_CXX_MUTABLE, [
366 AC_REQUIRE([LYX_PROG_CXX])
367 AC_MSG_CHECKING(if C++ compiler supports mutable)
373 void foo() const { c=0; }
378 AC_DEFINE(HAVE_MUTABLE, 1,
379 [Defined if you compiler supports 'mutable'.])
383 AC_MSG_RESULT([$ac_mutable])
388 AC_DEFUN(LYX_CXX_PARTIAL, [
389 AC_REQUIRE([LYX_PROG_CXX])
390 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
393 template<class T, class K>
397 template<class T> class k<void,T> { };
402 ac_partial_specialization=yes
403 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
404 [Defined if your compiler supports partial specialization.])
406 ac_partial_specialization=no
408 AC_MSG_RESULT([$ac_partial_specialization])
412 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
413 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
414 dnl if true. This macro does not do a thourough test, but it should be
415 dnl good enough to suit our needs.
416 AC_DEFUN(LYX_CXX_NAMESPACES,[
417 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
424 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
426 if test $lyx_cv_cxx_namespace = yes ; then
427 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
428 [Define if your C++ compiler has correct support for namespaces])
432 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
433 dnl provides wrappers for C headers and use our alternate version otherwise.
434 AC_DEFUN(LYX_CXX_CHEADERS,[
435 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
445 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
446 if test $lyx_cv_cxx_cheaders = no ; then
447 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
451 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
452 AC_DEFUN(LYX_PATH_XPM,[
453 ### Check for Xpm library
454 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
455 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
457 ### Check for Xpm headers
458 lyx_cv_xpm_h_location="<xpm.h>"
459 AC_CHECK_HEADER(X11/xpm.h,[
460 ac_cv_header_xpm_h=yes
461 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
462 AC_CHECK_HEADER(xpm.h,[],[
463 LYX_LIB_ERROR(xpm.h,Xpm)])])
464 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
466 ### Test for the header version
467 if test $ac_cv_header_xpm_h = yes; then
468 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
469 [ cat > conftest.$ac_ext <<EOF
470 #line __oline__ "configure"
471 #include "confdefs.h"
473 #include XPM_H_LOCATION
474 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
476 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
477 grep '^"%%%"' 2>/dev/null | \
478 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
479 case "$lyx_cv_xpmr" in
481 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
482 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
486 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
488 case "$lyx_cv_xpmr" in
490 [789]|[0-9][0-9]*) ;;
492 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
493 If you experience strange crashes with LyX, try to upgrade
494 to at least version 4.7 (aka 3.4g).
495 If you have installed a newer version of the library, check whether you
496 have an old xpm.h header file in your include path.]);;
501 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
502 AC_DEFUN(LYX_PATH_XFORMS,[
503 ### Check for xforms library
504 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
505 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
506 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
508 ### Check for xforms headers
509 lyx_cv_forms_h_location="<forms.h>"
510 AC_CHECK_HEADER(X11/forms.h,[
511 ac_cv_header_forms_h=yes
512 lyx_cv_forms_h_location="<X11/forms.h>"],[
513 AC_CHECK_HEADER(forms.h,[],[
514 LYX_LIB_ERROR(forms.h,forms)])])
515 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
516 if test $ac_cv_header_forms_h = yes; then
517 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
518 [ cat > conftest.$ac_ext <<EOF
519 #line __oline__ "configure"
520 #include "confdefs.h"
522 #include FORMS_H_LOCATION
523 #if ! defined(FL_INCLUDE_VERSION)
526 "%%%"FL_VERSION.FL_REVISION"%%%"
529 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
530 grep '^"%%%"' 2>/dev/null | \
531 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
533 case "$lyx_cv_xfversion" in
534 "(unknown)"|0.82|0.83|0.84|0.85)
536 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
537 This version of LyX works best with version 0.88[,] although it
538 supports also versions 0.81[,] 0.86 and 0.87.) ;;
541 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
542 it is recommended that you upgrade to version 0.88.) ;;
544 0.89) LYX_WARNING(dnl
545 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
546 it is an unproven version and might still have some bugs. If you
547 have problems[,] please use version 0.88 instead.) ;;
549 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
550 since it is newer than 0.88. You might have slight problems with it.);;
555 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
557 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
558 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
559 os=`uname -s | tr '[A-Z]' '[a-z]'`
561 test "$os" = hp-ux && ac_cv_hpux=yes])
562 if test "$ac_cv_hpux" = yes; then
563 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
567 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
570 [#The headers are not correct under SunOS4
571 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
573 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
574 changequote([, ]) dnl
576 test "$os" = SunOS4 && ac_cv_sunos4=yes])
577 if test "$ac_cv_sunos4" = yes; then
578 test "x$GXX" = xyes && lyx_broken_headers=yes
582 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
585 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
587 if test `uname -s` != "SCO_SV"; then
588 lyx_machine_rel=`uname -m`:`uname -r`
589 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
591 if test -f /usr/options/cb.name; then
593 elif /bin/uname -X 2>/dev/null >/dev/null ; then
598 if test "$ac_cv_sco" = yes; then
599 test "x$GXX" = xyes && lyx_broken_headers=yes
603 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
604 dnl [default-yes-value])
605 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
606 dnl resulting directory name in 'dir-var-name'.
607 AC_DEFUN(LYX_WITH_DIR,[
608 AC_ARG_WITH($1,[ --with-$1 specify $2])
609 AC_MSG_CHECKING([for $2])
610 if test -z "$with_$3"; then
611 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
613 test "x$with_$3" = xyes && with_$3=$5
616 AC_MSG_RESULT($lyx_cv_$3)])
619 dnl Usage: LYX_LOOP_DIR(value,action)
620 dnl Executes action for values of variable `dir' in `values'. `values' can
621 dnl use ":" as a separator.
622 AC_DEFUN(LYX_LOOP_DIR,[
623 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
624 for dir in `eval "echo $1"`; do
625 if test ! "$dir" = NONE; then
626 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
634 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
636 AC_DEFUN(LYX_ADD_LIB_DIR,[
638 if test "`(uname) 2>/dev/null`" = SunOS &&
639 uname -r | grep '^5' >/dev/null; then
640 if test $ac_cv_prog_gxx = yes ; then
641 $1="${$1} -Wl[,]-R$2"
648 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
650 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
653 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
654 dnl if the cache file is inconsistent with the current host,
655 dnl target and build system types, execute CMD or print a default
657 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
658 AC_REQUIRE([AC_CANONICAL_SYSTEM])
659 AC_MSG_CHECKING([config.cache system type])
660 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
661 test x"$ac_cv_host_system_type" != x"$host"; } ||
662 { test x"${ac_cv_build_system_type+set}" = x"set" &&
663 test x"$ac_cv_build_system_type" != x"$build"; } ||
664 { test x"${ac_cv_target_system_type+set}" = x"set" &&
665 test x"$ac_cv_target_system_type" != x"$target"; }; then
666 AC_MSG_RESULT([different])
668 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
670 AC_MSG_RESULT([same])
672 ac_cv_host_system_type="$host"
673 ac_cv_build_system_type="$build"
674 ac_cv_target_system_type="$target"
678 dnl We use this until autoconf fixes its version.
679 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
680 [AC_MSG_CHECKING([types of arguments for select()])
681 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
682 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
683 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
684 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
685 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
687 [#ifdef HAVE_SYS_TYPES_H
688 #include <sys/types.h>
690 #ifdef HAVE_SYS_TIME_H
691 #include <sys/time.h>
693 #ifdef HAVE_SYS_SELECT_H
694 #include <sys/select.h>
696 #ifdef HAVE_SYS_SOCKET_H
697 #include <sys/socket.h>
699 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
700 [ac_not_found=no ; break 3],ac_not_found=yes)
707 if test "$ac_not_found" = yes; then
708 ac_cv_func_select_arg1=int
709 ac_cv_func_select_arg234='int *'
710 ac_cv_func_select_arg5='struct timeval *'
712 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
713 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
714 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
715 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
718 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
719 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
720 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
722 ## This program is free software; you can redistribute it and/or modify
723 ## it under the terms of the GNU General Public License as published by
724 ## the Free Software Foundation; either version 2 of the License, or
725 ## (at your option) any later version.
727 ## This program is distributed in the hope that it will be useful, but
728 ## WITHOUT ANY WARRANTY; without even the implied warranty of
729 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
730 ## General Public License for more details.
732 ## You should have received a copy of the GNU General Public License
733 ## along with this program; if not, write to the Free Software
734 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
736 ## As a special exception to the GNU General Public License, if you
737 ## distribute this file as part of a program that contains a
738 ## configuration script generated by Autoconf, you may include it under
739 ## the same distribution terms that you use for the rest of that program.
741 # serial 40 AC_PROG_LIBTOOL
742 AC_DEFUN(AC_PROG_LIBTOOL,
743 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
745 # Save cache, so that ltconfig can load it
748 # Actually configure libtool. ac_aux_dir is where install-sh is found.
749 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
750 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
751 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
752 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
753 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
754 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
755 || AC_MSG_ERROR([libtool configure failed])
757 # Reload cache, that may have been modified by ltconfig
760 # This can be used to rebuild libtool when needed
761 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
763 # Always use our own libtool.
764 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
767 # Redirect the config.log output again, so that the ltconfig log is not
768 # clobbered by the next message.
772 AC_DEFUN(AC_LIBTOOL_SETUP,
774 AC_REQUIRE([AC_ENABLE_SHARED])dnl
775 AC_REQUIRE([AC_ENABLE_STATIC])dnl
776 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
777 AC_REQUIRE([AC_CANONICAL_HOST])dnl
778 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
779 AC_REQUIRE([AC_PROG_RANLIB])dnl
780 AC_REQUIRE([AC_PROG_CC])dnl
781 AC_REQUIRE([AC_PROG_LD])dnl
782 AC_REQUIRE([AC_PROG_NM])dnl
783 AC_REQUIRE([AC_PROG_LN_S])dnl
786 # Check for any special flags to pass to ltconfig.
788 # the following will cause an existing older ltconfig to fail, so
789 # we ignore this at the expense of the cache file... Checking this
790 # will just take longer ... bummer!
791 #libtool_flags="--cache-file=$cache_file"
793 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
794 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
795 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
796 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
797 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
798 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
799 [libtool_flags="$libtool_flags --enable-dlopen"])
800 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
801 [libtool_flags="$libtool_flags --enable-win32-dll"])
802 AC_ARG_ENABLE(libtool-lock,
803 [ --disable-libtool-lock avoid locking (might break parallel builds)])
804 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
805 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
807 # Some flags need to be propagated to the compiler or linker for good
811 # Find out which ABI we are using.
812 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
813 if AC_TRY_EVAL(ac_compile); then
814 case "`/usr/bin/file conftest.o`" in
830 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
831 SAVE_CFLAGS="$CFLAGS"
832 CFLAGS="$CFLAGS -belf"
833 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
834 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
835 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
836 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
837 CFLAGS="$SAVE_CFLAGS"
841 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
842 [*-*-cygwin* | *-*-mingw*)
843 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
844 AC_CHECK_TOOL(AS, as, false)
845 AC_CHECK_TOOL(OBJDUMP, objdump, false)
851 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
852 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
854 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
855 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
857 # AC_ENABLE_SHARED - implement the --enable-shared flag
858 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
859 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
861 AC_DEFUN(AC_ENABLE_SHARED, [dnl
862 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
863 AC_ARG_ENABLE(shared,
864 changequote(<<, >>)dnl
865 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
867 [p=${PACKAGE-default}
869 yes) enable_shared=yes ;;
870 no) enable_shared=no ;;
873 # Look at the argument we got. We use all the common list separators.
874 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
875 for pkg in $enableval; do
876 if test "X$pkg" = "X$p"; then
883 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
886 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
887 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
888 AC_ENABLE_SHARED(no)])
890 # AC_ENABLE_STATIC - implement the --enable-static flag
891 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
892 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
894 AC_DEFUN(AC_ENABLE_STATIC, [dnl
895 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
896 AC_ARG_ENABLE(static,
897 changequote(<<, >>)dnl
898 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
900 [p=${PACKAGE-default}
902 yes) enable_static=yes ;;
903 no) enable_static=no ;;
906 # Look at the argument we got. We use all the common list separators.
907 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
908 for pkg in $enableval; do
909 if test "X$pkg" = "X$p"; then
916 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
919 # AC_DISABLE_STATIC - set the default static flag to --disable-static
920 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
921 AC_ENABLE_STATIC(no)])
924 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
925 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
926 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
928 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
929 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
930 AC_ARG_ENABLE(fast-install,
931 changequote(<<, >>)dnl
932 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
934 [p=${PACKAGE-default}
936 yes) enable_fast_install=yes ;;
937 no) enable_fast_install=no ;;
939 enable_fast_install=no
940 # Look at the argument we got. We use all the common list separators.
941 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
942 for pkg in $enableval; do
943 if test "X$pkg" = "X$p"; then
944 enable_fast_install=yes
950 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
953 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
954 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
955 AC_ENABLE_FAST_INSTALL(no)])
957 # AC_PROG_LD - find the path to the GNU or non-GNU linker
960 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
961 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
962 AC_REQUIRE([AC_PROG_CC])dnl
963 AC_REQUIRE([AC_CANONICAL_HOST])dnl
964 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
966 if test "$ac_cv_prog_gcc" = yes; then
967 # Check if gcc -print-prog-name=ld gives a path.
968 AC_MSG_CHECKING([for ld used by GCC])
969 ac_prog=`($CC -print-prog-name=ld) 2>&5`
971 # Accept absolute paths.
973 [\\/]* | [A-Za-z]:[\\/]*)
974 re_direlt='/[^/][^/]*/\.\./'
976 # Canonicalize the path of ld
977 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
978 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
979 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
981 test -z "$LD" && LD="$ac_prog"
984 # If it fails, then pretend we aren't using GCC.
988 # If it is relative, then search for the first ld in PATH.
992 elif test "$with_gnu_ld" = yes; then
993 AC_MSG_CHECKING([for GNU ld])
995 AC_MSG_CHECKING([for non-GNU ld])
997 AC_CACHE_VAL(ac_cv_path_LD,
998 [if test -z "$LD"; then
999 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1000 for ac_dir in $PATH; do
1001 test -z "$ac_dir" && ac_dir=.
1002 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
1003 ac_cv_path_LD="$ac_dir/$ac_prog"
1004 # Check to see if the program is GNU ld. I'd rather use --version,
1005 # but apparently some GNU ld's only accept -v.
1006 # Break only if it was the GNU/non-GNU ld that we prefer.
1007 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
1008 test "$with_gnu_ld" != no && break
1010 test "$with_gnu_ld" != yes && break
1016 ac_cv_path_LD="$LD" # Let the user override the test with a path.
1019 if test -n "$LD"; then
1024 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1029 AC_DEFUN(AC_PROG_LD_GNU,
1030 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1031 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1032 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1033 ac_cv_prog_gnu_ld=yes
1035 ac_cv_prog_gnu_ld=no
1039 # AC_PROG_NM - find the path to a BSD-compatible name lister
1040 AC_DEFUN(AC_PROG_NM,
1041 [AC_MSG_CHECKING([for BSD-compatible nm])
1042 AC_CACHE_VAL(ac_cv_path_NM,
1043 [if test -n "$NM"; then
1044 # Let the user override the test.
1047 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1048 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1049 test -z "$ac_dir" && ac_dir=.
1050 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1051 # Check to see if the nm accepts a BSD-compat flag.
1052 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1053 # nm: unknown option "B" ignored
1054 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1055 ac_cv_path_NM="$ac_dir/nm -B"
1057 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1058 ac_cv_path_NM="$ac_dir/nm -p"
1061 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1062 continue # so that we can try to find one that supports BSD flags
1067 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1070 AC_MSG_RESULT([$NM])
1074 # AC_CHECK_LIBM - check for math library
1075 AC_DEFUN(AC_CHECK_LIBM,
1076 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1079 *-*-beos* | *-*-cygwin*)
1080 # These system don't have libm
1083 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1084 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1087 AC_CHECK_LIB(m, main, LIBM="-lm")
1093 ### Check for a headers existence and location iff it exists
1094 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
1095 ## It almost works. I've tried a few variations but they give errors
1096 ## of one sort or other: bad substitution or file not found etc. The
1097 ## actual header _is_ found though and the cache variable is set however
1098 ## the reported setting (on screen) is equal to $ac_safe for some unknown
1100 AC_DEFUN(LYX_PATH_HEADER,
1101 [ AC_CHECK_HEADER($1,[
1102 ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
1103 AC_CACHE_CHECK([path to $1],lyx_cv_path_$ac_safe,
1104 [ cat > conftest.$ac_ext <<EOF
1105 #line __oline__ "configure"
1106 #include "confdefs.h"
1110 lyx_cv_path_$ac_safe=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
1111 grep $1 2>/dev/null | \
1112 sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
1114 AC_DEFINE_UNQUOTED(${ac_tr_safe},${lyx_cv_path_$ac_safe})])
1116 ### end of LYX_PATH_HEADER
1118 ### Check for stl_string_fwd.h existence and location if it exists
1119 AC_DEFUN(LYX_STL_STRING_FWD,
1120 [ AC_CHECK_HEADER(stl_string_fwd.h,[
1121 AC_CACHE_CHECK([path to stl_string_fwd.h],lyx_cv_path_stl_string_fwd_h,
1122 [ cat > conftest.$ac_ext <<EOF
1123 #line __oline__ "configure"
1124 #include "confdefs.h"
1126 #include <stl_string_fwd.h>
1128 lyx_cv_path_stl_string_fwd_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
1129 grep 'stl_string_fwd.h' 2>/dev/null | \
1130 sed -e 's/.*\(".*stl_string_fwd.h"\).*/\1/' -e "1q"`
1132 AC_DEFINE_UNQUOTED(STL_STRING_FWD_H_LOCATION,$lyx_cv_path_stl_string_fwd_h)])
1136 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1137 # the libltdl convenience library, adds --enable-ltdl-convenience to
1138 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1139 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1140 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1141 # '${top_builddir}/' (note the single quotes!) if your package is not
1142 # flat, and, if you're not using automake, define top_builddir as
1143 # appropriate in the Makefiles.
1144 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1145 case "$enable_ltdl_convenience" in
1146 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1147 "") enable_ltdl_convenience=yes
1148 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1150 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1151 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1154 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1155 # the libltdl installable library, and adds --enable-ltdl-install to
1156 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1157 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1158 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1159 # '${top_builddir}/' (note the single quotes!) if your package is not
1160 # flat, and, if you're not using automake, define top_builddir as
1161 # appropriate in the Makefiles.
1162 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1163 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1164 AC_CHECK_LIB(ltdl, main,
1165 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1166 [if test x"$enable_ltdl_install" = xno; then
1167 AC_MSG_WARN([libltdl not installed, but installation disabled])
1169 enable_ltdl_install=yes
1172 if test x"$enable_ltdl_install" = x"yes"; then
1173 ac_configure_args="$ac_configure_args --enable-ltdl-install"
1174 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1175 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1177 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1184 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1185 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1186 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1187 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1188 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1189 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1190 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1192 dnl This is just to silence aclocal about the macro not being used
1193 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1195 # Macro to add for using GNU gettext.
1196 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1198 # This file can be copied and used freely without restrictions. It can
1199 # be used in projects which are not available under the GNU Public License
1200 # but which still want to provide support for the GNU gettext functionality.
1201 # Please note that the actual code is *not* freely available.
1205 AC_DEFUN(AM_WITH_NLS,
1206 [AC_MSG_CHECKING([whether NLS is requested])
1207 dnl Default is enabled NLS
1209 [ --disable-nls do not use Native Language Support],
1210 USE_NLS=$enableval, USE_NLS=yes)
1211 AC_MSG_RESULT($USE_NLS)
1214 USE_INCLUDED_LIBINTL=no
1216 dnl If we use NLS figure out what method
1217 if test "$USE_NLS" = "yes"; then
1218 AC_DEFINE(ENABLE_NLS)
1219 AC_MSG_CHECKING([whether included gettext is requested])
1220 AC_ARG_WITH(included-gettext,
1221 [ --with-included-gettext use the GNU gettext library included here],
1222 nls_cv_force_use_gnu_gettext=$withval,
1223 nls_cv_force_use_gnu_gettext=no)
1224 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1226 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1227 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1228 dnl User does not insist on using GNU NLS library. Figure out what
1229 dnl to use. If gettext or catgets are available (in this order) we
1230 dnl use this. Else we have to fall back to GNU NLS library.
1231 dnl catgets is only used if permitted by option --with-catgets.
1233 nls_cv_header_libgt=
1236 AC_CHECK_HEADER(libintl.h,
1237 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1238 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1239 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1241 if test "$gt_cv_func_gettext_libc" != "yes"; then
1242 AC_CHECK_LIB(intl, bindtextdomain,
1243 [AC_CACHE_CHECK([for gettext in libintl],
1244 gt_cv_func_gettext_libintl,
1245 [AC_CHECK_LIB(intl, gettext,
1246 gt_cv_func_gettext_libintl=yes,
1247 gt_cv_func_gettext_libintl=no)],
1248 gt_cv_func_gettext_libintl=no)])
1251 if test "$gt_cv_func_gettext_libc" = "yes" \
1252 || test "$gt_cv_func_gettext_libintl" = "yes"; then
1253 AC_DEFINE(HAVE_GETTEXT)
1254 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1255 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1256 if test "$MSGFMT" != "no"; then
1257 AC_CHECK_FUNCS(dcgettext)
1258 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1259 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1260 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1261 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1262 return _nl_msg_cat_cntr],
1272 if test "$CATOBJEXT" = "NONE"; then
1273 AC_MSG_CHECKING([whether catgets can be used])
1274 AC_ARG_WITH(catgets,
1275 [ --with-catgets use catgets functions if available],
1276 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1277 AC_MSG_RESULT($nls_cv_use_catgets)
1279 if test "$nls_cv_use_catgets" = "yes"; then
1280 dnl No gettext in C library. Try catgets next.
1281 AC_CHECK_LIB(i, main)
1282 AC_CHECK_FUNC(catgets,
1283 [AC_DEFINE(HAVE_CATGETS)
1284 INTLOBJS="\$(CATOBJS)"
1285 AC_PATH_PROG(GENCAT, gencat, no)dnl
1286 if test "$GENCAT" != "no"; then
1287 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1288 if test "$GMSGFMT" = "no"; then
1289 AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1290 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1292 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1293 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1294 USE_INCLUDED_LIBINTL=yes
1298 INTLDEPS='$(top_builddir)/intl/libintl.a'
1300 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1301 nls_cv_header_intl=intl/libintl.h
1302 nls_cv_header_libgt=intl/libgettext.h
1307 if test "$CATOBJEXT" = "NONE"; then
1308 dnl Neither gettext nor catgets in included in the C library.
1309 dnl Fall back on GNU gettext library.
1310 nls_cv_use_gnu_gettext=yes
1314 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1315 dnl Mark actions used to generate GNU NLS library.
1316 INTLOBJS="\$(GETTOBJS)"
1317 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1318 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1319 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1320 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1321 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1323 USE_INCLUDED_LIBINTL=yes
1327 INTLDEPS='$(top_builddir)/intl/libintl.a'
1329 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1330 nls_cv_header_intl=intl/libintl.h
1331 nls_cv_header_libgt=intl/libgettext.h
1334 dnl Test whether we really found GNU xgettext.
1335 if test "$XGETTEXT" != ":"; then
1336 dnl If it is no GNU xgettext we define it as : so that the
1337 dnl Makefiles still can work.
1338 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1342 [found xgettext program is not GNU xgettext; ignore it])
1347 # We need to process the po/ directory.
1351 nls_cv_header_intl=intl/libintl.h
1352 nls_cv_header_libgt=intl/libgettext.h
1354 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1356 [case "$CONFIG_FILES" in *po/Makefile.in*)
1357 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1361 # If this is used in GNU gettext we have to set USE_NLS to `yes'
1362 # because some of the sources are only built for this goal.
1363 if test "$PACKAGE" = gettext; then
1365 USE_INCLUDED_LIBINTL=yes
1368 dnl These rules are solely for the distribution goal. While doing this
1369 dnl we only have to keep exactly one list of the available catalogs
1370 dnl in configure.in.
1371 for lang in $ALL_LINGUAS; do
1372 GMOFILES="$GMOFILES $lang.gmo"
1373 POFILES="$POFILES $lang.po"
1376 dnl Make all variables we use known to autoconf.
1377 AC_SUBST(USE_INCLUDED_LIBINTL)
1380 AC_SUBST(DATADIRNAME)
1382 AC_SUBST(INSTOBJEXT)
1390 AC_DEFUN(AM_GNU_GETTEXT,
1391 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1392 AC_REQUIRE([AC_PROG_CC])dnl
1393 AC_REQUIRE([AC_PROG_RANLIB])dnl
1394 AC_REQUIRE([AC_ISC_POSIX])dnl
1395 AC_REQUIRE([AC_HEADER_STDC])dnl
1396 AC_REQUIRE([AC_C_CONST])dnl
1397 AC_REQUIRE([AC_C_INLINE])dnl
1398 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1399 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1400 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1401 AC_REQUIRE([AC_FUNC_MMAP])dnl
1403 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1404 unistd.h sys/param.h])
1405 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1406 strdup __argz_count __argz_stringify __argz_next])
1408 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1409 AC_CHECK_FUNCS(stpcpy)
1411 if test "${ac_cv_func_stpcpy}" = "yes"; then
1412 AC_DEFINE(HAVE_STPCPY)
1418 if test "x$CATOBJEXT" != "x"; then
1419 if test "x$ALL_LINGUAS" = "x"; then
1422 AC_MSG_CHECKING(for catalogs to be installed)
1424 dnl ============== Fix is here! =======================
1425 dnl Some sh do not like substitution in bounds of for loops
1426 dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do
1427 tmplinguas=${LINGUAS=$ALL_LINGUAS}
1428 for lang in ${tmplinguas}; do
1429 case "$ALL_LINGUAS" in
1430 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1433 LINGUAS=$NEW_LINGUAS
1434 AC_MSG_RESULT($LINGUAS)
1437 dnl Construct list of names of catalog files to be constructed.
1438 if test -n "$LINGUAS"; then
1439 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1443 dnl The reference to <locale.h> in the installed <libintl.h> file
1444 dnl must be resolved because we cannot expect the users of this
1445 dnl to define HAVE_LOCALE_H.
1446 if test $ac_cv_header_locale_h = yes; then
1447 INCLUDE_LOCALE_H="#include <locale.h>"
1450 /* The system does not provide the header <locale.h>. Take care yourself. */"
1452 AC_SUBST(INCLUDE_LOCALE_H)
1454 dnl Determine which catalog format we have (if any is needed)
1455 dnl For now we know about two different formats:
1456 dnl Linux libc-5 and the normal X/Open format
1457 test -d intl || mkdir intl
1458 if test "$CATOBJEXT" = ".cat"; then
1459 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1461 dnl Transform the SED scripts while copying because some dumb SEDs
1462 dnl cannot handle comments.
1463 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1465 dnl po2tbl.sed is always needed.
1466 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1467 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1469 dnl In the intl/Makefile.in we have a special dependency which makes
1470 dnl only sense for gettext. We comment this out for non-gettext
1472 if test "$PACKAGE" = "gettext"; then
1482 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1483 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1484 dnl Try to locate is.
1486 if test -n "$ac_aux_dir"; then
1487 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1489 if test -z "$MKINSTALLDIRS"; then
1490 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1492 AC_SUBST(MKINSTALLDIRS)
1494 dnl *** For now the libtool support in intl/Makefile is not for real.
1498 dnl Generate list of files to be processed by xgettext which will
1499 dnl be included in po/Makefile.
1500 test -d po || mkdir po
1501 if test "x$srcdir" != "x."; then
1502 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1503 posrcprefix="$srcdir/"
1505 posrcprefix="../$srcdir/"
1511 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1512 < $srcdir/po/POTFILES.in > po/POTFILES