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.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti -fno-exceptions";;
187 2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
188 2.96*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
189 *2.91.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
190 *) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
195 if test x$with_warnings = xyes ; then
197 2.95.*) CXXFLAGS="$CXXFLAGS -W -Wall -Wconversion -Winline";;
198 2.96*) CXXFLAGS="$CXXFLAGS -W -Wall -Wconversion";;
199 *) CXXFLAGS="$CXXFLAGS -ansi -W -Wall -Wno-return-type";;
201 if test $lyx_devel_version = yes ; then
206 *) CXXFLAGS="$CXXFLAGS -pedantic";;
212 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
217 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
219 AC_DEFUN(LYX_CXX_RTTI,[
220 ### Check whether the compiler supports runtime type information
221 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
225 virtual int tag() { return 0; }
227 class derived1 : public rtti {
229 int tag() { return 1; }
231 class derived2 : public rtti {
233 int tag() { return 2; }
236 derived1 * foo1 = new derived1();
237 derived2 * foo2 = new derived2();
239 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
243 bar1 = dynamic_cast<derived1 *>(bar);
248 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
250 if test x$lyx_cv_rtti = xyes ; then
251 AC_DEFINE(HAVE_RTTI, 1,
252 [Define to 1 if your compiler supports runtime type information])
256 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
257 dnl understands the "explicit" directive.
258 AC_DEFUN(LYX_CXX_EXPLICIT,[
259 ### Check whether the compiler understands the keyword `explicit'
260 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
265 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
267 if test $lyx_cv_explicit = no ; then
268 AC_DEFINE(explicit,[ ],
269 [Define to nothing if your compiler does not understand the
270 'explicit' directive])
274 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
275 dnl has a working stl stack template
276 AC_DEFUN(LYX_CXX_STL_STACK,[
277 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
284 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
286 if test $lyx_cv_broken_stack = yes ; then
287 AC_DEFINE(BROKEN_STL_STACK, 1,
288 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
293 dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming
294 dnl count template, if not the old HP version is assumed.
295 AC_DEFUN(LYX_STD_COUNT,[
296 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
302 int countChar(string const & a, char const c)
304 return count(a.begin(), a.end(), c);
308 int i = countChar(a, 'l');
309 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
311 if test $lyx_cv_std_count = yes ; then
312 AC_DEFINE(HAVE_STD_COUNT, 1,
313 [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.])
317 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
318 dnl supports modern STL streams
319 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
320 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
324 std::streambuf * test = std::cerr.rdbuf();
326 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
328 if test $lyx_cv_modern_streams = yes ; then
329 AC_DEFINE(MODERN_STL_STREAMS, 1,
330 [Define if you have modern standard-compliant STL streams])
334 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
335 dnl has a working stl string container, the check is really stupid
336 dnl and could need some improvement.
337 AC_DEFUN(LYX_CXX_STL_STRING,[
338 AC_REQUIRE([LYX_PROG_CXX])
339 AC_MSG_CHECKING(whether the included std::string should be used)
340 AC_ARG_WITH(included-string,
341 [ --with-included-string use LyX string class instead of STL string],
342 [with_included_string=$withval],
347 string a("hello there");
352 with_included_string=no
354 with_included_string=yes
358 if test x$with_included_string = xyes ; then
359 AC_DEFINE(USE_INCLUDED_STRING, 1,
360 [Define to use the lyxstring class bundled with LyX.])
361 lyx_flags="$lyx_flags included-string"
363 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
364 AC_MSG_RESULT([$with_included_string])
368 dnl Usage: LYX_REGEX : checks if the header regex.h is available
369 dnl if it is not available the automake variable USE_REGEX will be
370 dnl defined and the regex.h and regex.c that we provide will be used.
372 AC_CHECK_HEADERS(regex.h, lyx_regex=no, lyx_regex=yes)
373 AM_CONDITIONAL(USE_REGEX, test x$lyx_regex = xyes)
378 AC_DEFUN(LYX_CXX_MUTABLE, [
379 AC_REQUIRE([LYX_PROG_CXX])
380 AC_MSG_CHECKING(if C++ compiler supports mutable)
386 void foo() const { c=0; }
391 AC_DEFINE(HAVE_MUTABLE, 1,
392 [Defined if you compiler supports 'mutable'.])
396 AC_MSG_RESULT([$ac_mutable])
401 AC_DEFUN(LYX_CXX_PARTIAL, [
402 AC_REQUIRE([LYX_PROG_CXX])
403 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
406 template<class T, class K>
410 template<class T> class k<void,T> { };
415 ac_partial_specialization=yes
416 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
417 [Defined if your compiler supports partial specialization.])
419 ac_partial_specialization=no
421 AC_MSG_RESULT([$ac_partial_specialization])
425 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
426 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
427 dnl if true. This macro does not do a thourough test, but it should be
428 dnl good enough to suit our needs.
429 AC_DEFUN(LYX_CXX_NAMESPACES,[
430 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
438 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
440 if test $lyx_cv_cxx_namespace = yes ; then
441 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
442 [Define if your C++ compiler has correct support for namespaces])
446 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
447 dnl provides wrappers for C headers and use our alternate version otherwise.
448 AC_DEFUN(LYX_CXX_CHEADERS,[
449 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
459 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
460 if test $lyx_cv_cxx_cheaders = no ; then
461 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
465 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
466 AC_DEFUN(LYX_PATH_XPM,[
467 ### Check for Xpm library
468 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
469 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
471 ### Check for Xpm headers
472 lyx_cv_xpm_h_location="<xpm.h>"
473 AC_CHECK_HEADER(X11/xpm.h,[
474 ac_cv_header_xpm_h=yes
475 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
476 AC_CHECK_HEADER(xpm.h,[],[
477 LYX_LIB_ERROR(xpm.h,Xpm)])])
478 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
480 ### Test for the header version
481 if test $ac_cv_header_xpm_h = yes; then
482 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
483 [ cat > conftest.$ac_ext <<EOF
484 #line __oline__ "configure"
485 #include "confdefs.h"
487 #include XPM_H_LOCATION
488 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
490 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
491 grep '^"%%%"' 2>/dev/null | \
492 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
493 case "$lyx_cv_xpmr" in
495 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
496 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
500 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
502 case "$lyx_cv_xpmr" in
504 [789]|[0-9][0-9]*) ;;
506 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
507 If you experience strange crashes with LyX, try to upgrade
508 to at least version 4.7 (aka 3.4g).
509 If you have installed a newer version of the library, check whether you
510 have an old xpm.h header file in your include path.]);;
515 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
516 AC_DEFUN(LYX_PATH_XFORMS,[
517 ### Check for xforms library
518 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
519 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
520 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
522 ### Check for xforms headers
523 lyx_cv_forms_h_location="<forms.h>"
524 AC_CHECK_HEADER(X11/forms.h,[
525 ac_cv_header_forms_h=yes
526 lyx_cv_forms_h_location="<X11/forms.h>"],[
527 AC_CHECK_HEADER(forms.h,[],[
528 LYX_LIB_ERROR(forms.h,forms)])])
529 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
530 if test $ac_cv_header_forms_h = yes; then
531 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
532 [ cat > conftest.$ac_ext <<EOF
533 #line __oline__ "configure"
534 #include "confdefs.h"
536 #include FORMS_H_LOCATION
537 #if ! defined(FL_INCLUDE_VERSION)
540 "%%%"FL_VERSION.FL_REVISION"%%%"
543 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
544 grep '^"%%%"' 2>/dev/null | \
545 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
547 case "$lyx_cv_xfversion" in
548 "(unknown)"|0.82|0.83|0.84|0.85)
550 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
551 This version of LyX works best with version 0.88[,] although it
552 supports also versions 0.81[,] 0.86 and 0.87.) ;;
555 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
556 it is recommended that you upgrade to version 0.88.) ;;
558 0.89) LYX_WARNING(dnl
559 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
560 it is an unproven version and might still have some bugs. If you
561 have problems[,] please use version 0.88 instead.) ;;
563 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
564 since it is newer than 0.88. You might have slight problems with it.);;
569 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
571 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
572 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
573 os=`uname -s | tr '[A-Z]' '[a-z]'`
575 test "$os" = hp-ux && ac_cv_hpux=yes])
576 if test "$ac_cv_hpux" = yes; then
577 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
581 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
584 [#The headers are not correct under SunOS4
585 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
587 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
588 changequote([, ]) dnl
590 test "$os" = SunOS4 && ac_cv_sunos4=yes])
591 if test "$ac_cv_sunos4" = yes; then
592 test "x$GXX" = xyes && lyx_broken_headers=yes
596 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
599 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
601 if test `uname -s` != "SCO_SV"; then
602 lyx_machine_rel=`uname -m`:`uname -r`
603 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
605 if test -f /usr/options/cb.name; then
607 elif /bin/uname -X 2>/dev/null >/dev/null ; then
612 if test "$ac_cv_sco" = yes; then
613 test "x$GXX" = xyes && lyx_broken_headers=yes
616 dnl Usage: LYX_FUNC_PUTENV_ARGTYPE
617 dnl Checks whether putenv() takes 'char const *' or 'char *' as
618 dnl argument. This is needed because Solaris 7 (wrongly?) uses 'char *',
619 dnl while everybody else uses the former...
620 AC_DEFUN(LYX_FUNC_PUTENV_ARGTYPE,
621 [AC_MSG_CHECKING([type of argument for putenv()])
622 AC_CACHE_VAL(lyx_cv_func_putenv_arg,dnl
624 [#include <cstdlib>],
625 [char const * foo = "bar";
627 [lyx_cv_func_putenv_arg='char const *'],[lyx_cv_func_putenv_arg='char *'])])
628 AC_MSG_RESULT($lyx_cv_func_putenv_arg)
629 AC_DEFINE_UNQUOTED(PUTENV_TYPE_ARG,$lyx_cv_func_putenv_arg,dnl
630 [Define to the type of the argument of putenv(). Needed on Solaris 7.])])
633 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
634 dnl [default-yes-value])
635 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
636 dnl resulting directory name in 'dir-var-name'.
637 AC_DEFUN(LYX_WITH_DIR,[
638 AC_ARG_WITH($1,[ --with-$1 specify $2])
639 AC_MSG_CHECKING([for $2])
640 if test -z "$with_$3"; then
641 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
643 test "x$with_$3" = xyes && with_$3=$5
646 AC_MSG_RESULT($lyx_cv_$3)])
649 dnl Usage: LYX_LOOP_DIR(value,action)
650 dnl Executes action for values of variable `dir' in `values'. `values' can
651 dnl use ":" as a separator.
652 AC_DEFUN(LYX_LOOP_DIR,[
653 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
654 for dir in `eval "echo $1"`; do
655 if test ! "$dir" = NONE; then
656 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
664 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
666 AC_DEFUN(LYX_ADD_LIB_DIR,[
668 if test "`(uname) 2>/dev/null`" = SunOS &&
669 uname -r | grep '^5' >/dev/null; then
670 if test $ac_cv_prog_gxx = yes ; then
671 $1="${$1} -Wl[,]-R$2"
678 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
680 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
682 ### Check for a headers existence and location iff it exists
683 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
684 ## It almost works. I've tried a few variations but they give errors
685 ## of one sort or other: bad substitution or file not found etc. The
686 ## actual header _is_ found though and the cache variable is set however
687 ## the reported setting (on screen) is equal to $ac_safe for some unknown
689 AC_DEFUN(LYX_PATH_HEADER,
690 [ AC_CHECK_HEADER($1,[
691 ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
692 AC_CACHE_CHECK([path to $1],lyx_cv_path_$ac_safe,
693 [ cat > conftest.$ac_ext <<EOF
694 #line __oline__ "configure"
695 #include "confdefs.h"
699 lyx_cv_path_$ac_safe=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
700 grep $1 2>/dev/null | \
701 sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
703 AC_DEFINE_UNQUOTED(${ac_tr_safe},${lyx_cv_path_$ac_safe})])
705 ### end of LYX_PATH_HEADER
707 ### Check for stl_string_fwd.h existence and location if it exists
708 AC_DEFUN(LYX_STL_STRING_FWD,
709 [ AC_CHECK_HEADER(stl_string_fwd.h,[
710 AC_CACHE_CHECK([path to stl_string_fwd.h],lyx_cv_path_stl_string_fwd_h,
711 [ cat > conftest.$ac_ext <<EOF
712 #line __oline__ "configure"
713 #include "confdefs.h"
715 #include <stl_string_fwd.h>
717 lyx_cv_path_stl_string_fwd_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
718 grep 'stl_string_fwd.h' 2>/dev/null | \
719 sed -e 's/.*\(".*stl_string_fwd.h"\).*/\1/' -e "1q"`
721 AC_DEFINE_UNQUOTED(STL_STRING_FWD_H_LOCATION,$lyx_cv_path_stl_string_fwd_h,
722 [define this to the location of stl_string_fwd.h to be used with #include,
723 NOTE: Do not set it to <stl_string_fwd.h> as that will find the LyX
724 supplied version of the header.
725 e.g. <../include/stl_string_fwd.h> or better yet use an absolute path])])
729 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
730 dnl if the cache file is inconsistent with the current host,
731 dnl target and build system types, execute CMD or print a default
733 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
734 AC_REQUIRE([AC_CANONICAL_SYSTEM])
735 AC_MSG_CHECKING([config.cache system type])
736 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
737 test x"$ac_cv_host_system_type" != x"$host"; } ||
738 { test x"${ac_cv_build_system_type+set}" = x"set" &&
739 test x"$ac_cv_build_system_type" != x"$build"; } ||
740 { test x"${ac_cv_target_system_type+set}" = x"set" &&
741 test x"$ac_cv_target_system_type" != x"$target"; }; then
742 AC_MSG_RESULT([different])
744 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
746 AC_MSG_RESULT([same])
748 ac_cv_host_system_type="$host"
749 ac_cv_build_system_type="$build"
750 ac_cv_target_system_type="$target"
753 dnl We use this until autoconf fixes its version.
754 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
755 [AC_MSG_CHECKING([types of arguments for select()])
756 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
757 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
758 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
759 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
760 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
762 [#ifdef HAVE_SYS_TYPES_H
763 #include <sys/types.h>
765 #ifdef HAVE_SYS_TIME_H
766 #include <sys/time.h>
768 #ifdef HAVE_SYS_SELECT_H
769 #include <sys/select.h>
771 #ifdef HAVE_SYS_SOCKET_H
772 #include <sys/socket.h>
774 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
775 [ac_not_found=no ; break 3],ac_not_found=yes)
782 if test "$ac_not_found" = yes; then
783 ac_cv_func_select_arg1=int
784 ac_cv_func_select_arg234='int *'
785 ac_cv_func_select_arg5='struct timeval *'
787 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
788 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
789 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
790 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
793 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
794 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
795 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
797 ## This program is free software; you can redistribute it and/or modify
798 ## it under the terms of the GNU General Public License as published by
799 ## the Free Software Foundation; either version 2 of the License, or
800 ## (at your option) any later version.
802 ## This program is distributed in the hope that it will be useful, but
803 ## WITHOUT ANY WARRANTY; without even the implied warranty of
804 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
805 ## General Public License for more details.
807 ## You should have received a copy of the GNU General Public License
808 ## along with this program; if not, write to the Free Software
809 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
811 ## As a special exception to the GNU General Public License, if you
812 ## distribute this file as part of a program that contains a
813 ## configuration script generated by Autoconf, you may include it under
814 ## the same distribution terms that you use for the rest of that program.
816 # serial 40 AC_PROG_LIBTOOL
817 AC_DEFUN(AC_PROG_LIBTOOL,
818 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
820 # Save cache, so that ltconfig can load it
823 # Actually configure libtool. ac_aux_dir is where install-sh is found.
824 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
825 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
826 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
827 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
828 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
829 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
830 || AC_MSG_ERROR([libtool configure failed])
832 # Reload cache, that may have been modified by ltconfig
835 # This can be used to rebuild libtool when needed
836 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
838 # Always use our own libtool.
839 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
842 # Redirect the config.log output again, so that the ltconfig log is not
843 # clobbered by the next message.
847 AC_DEFUN(AC_LIBTOOL_SETUP,
849 AC_REQUIRE([AC_ENABLE_SHARED])dnl
850 AC_REQUIRE([AC_ENABLE_STATIC])dnl
851 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
852 AC_REQUIRE([AC_CANONICAL_HOST])dnl
853 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
854 AC_REQUIRE([AC_PROG_RANLIB])dnl
855 AC_REQUIRE([AC_PROG_CC])dnl
856 AC_REQUIRE([AC_PROG_LD])dnl
857 AC_REQUIRE([AC_PROG_NM])dnl
858 AC_REQUIRE([AC_PROG_LN_S])dnl
862 NONE) lt_target="$host" ;;
863 *) lt_target="$target" ;;
866 # Check for any special flags to pass to ltconfig.
867 libtool_flags="--cache-file=$cache_file"
868 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
869 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
870 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
871 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
872 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
873 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
874 [libtool_flags="$libtool_flags --enable-dlopen"])
875 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
876 [libtool_flags="$libtool_flags --enable-win32-dll"])
877 AC_ARG_ENABLE(libtool-lock,
878 [ --disable-libtool-lock avoid locking (might break parallel builds)])
879 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
880 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
882 # Some flags need to be propagated to the compiler or linker for good
886 # Find out which ABI we are using.
887 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
888 if AC_TRY_EVAL(ac_compile); then
889 case "`/usr/bin/file conftest.o`" in
905 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
906 SAVE_CFLAGS="$CFLAGS"
907 CFLAGS="$CFLAGS -belf"
908 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
909 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
910 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
911 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
912 CFLAGS="$SAVE_CFLAGS"
916 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
917 [*-*-cygwin* | *-*-mingw*)
918 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
919 AC_CHECK_TOOL(AS, as, false)
920 AC_CHECK_TOOL(OBJDUMP, objdump, false)
926 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
927 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
929 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
930 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
932 # AC_ENABLE_SHARED - implement the --enable-shared flag
933 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
934 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
936 AC_DEFUN(AC_ENABLE_SHARED, [dnl
937 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
938 AC_ARG_ENABLE(shared,
939 changequote(<<, >>)dnl
940 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
942 [p=${PACKAGE-default}
944 yes) enable_shared=yes ;;
945 no) enable_shared=no ;;
948 # Look at the argument we got. We use all the common list separators.
949 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
950 for pkg in $enableval; do
951 if test "X$pkg" = "X$p"; then
958 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
961 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
962 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
963 AC_ENABLE_SHARED(no)])
965 # AC_ENABLE_STATIC - implement the --enable-static flag
966 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
967 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
969 AC_DEFUN(AC_ENABLE_STATIC, [dnl
970 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
971 AC_ARG_ENABLE(static,
972 changequote(<<, >>)dnl
973 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
975 [p=${PACKAGE-default}
977 yes) enable_static=yes ;;
978 no) enable_static=no ;;
981 # Look at the argument we got. We use all the common list separators.
982 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
983 for pkg in $enableval; do
984 if test "X$pkg" = "X$p"; then
991 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
994 # AC_DISABLE_STATIC - set the default static flag to --disable-static
995 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
996 AC_ENABLE_STATIC(no)])
999 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
1000 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
1001 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
1003 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
1004 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
1005 AC_ARG_ENABLE(fast-install,
1006 changequote(<<, >>)dnl
1007 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
1008 changequote([, ])dnl
1009 [p=${PACKAGE-default}
1010 case "$enableval" in
1011 yes) enable_fast_install=yes ;;
1012 no) enable_fast_install=no ;;
1014 enable_fast_install=no
1015 # Look at the argument we got. We use all the common list separators.
1016 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
1017 for pkg in $enableval; do
1018 if test "X$pkg" = "X$p"; then
1019 enable_fast_install=yes
1025 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
1028 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
1029 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1030 AC_ENABLE_FAST_INSTALL(no)])
1032 # AC_PROG_LD - find the path to the GNU or non-GNU linker
1033 AC_DEFUN(AC_PROG_LD,
1034 [AC_ARG_WITH(gnu-ld,
1035 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
1036 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
1037 AC_REQUIRE([AC_PROG_CC])dnl
1038 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1039 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1041 if test "$ac_cv_prog_gcc" = yes; then
1042 # Check if gcc -print-prog-name=ld gives a path.
1043 AC_MSG_CHECKING([for ld used by GCC])
1044 ac_prog=`($CC -print-prog-name=ld) 2>&5`
1046 # Accept absolute paths.
1048 [\\/]* | [A-Za-z]:[\\/]*)
1049 re_direlt='/[^/][^/]*/\.\./'
1051 # Canonicalize the path of ld
1052 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
1053 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
1054 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
1056 test -z "$LD" && LD="$ac_prog"
1059 # If it fails, then pretend we aren't using GCC.
1063 # If it is relative, then search for the first ld in PATH.
1067 elif test "$with_gnu_ld" = yes; then
1068 AC_MSG_CHECKING([for GNU ld])
1070 AC_MSG_CHECKING([for non-GNU ld])
1072 AC_CACHE_VAL(ac_cv_path_LD,
1073 [if test -z "$LD"; then
1074 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1075 for ac_dir in $PATH; do
1076 test -z "$ac_dir" && ac_dir=.
1077 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
1078 ac_cv_path_LD="$ac_dir/$ac_prog"
1079 # Check to see if the program is GNU ld. I'd rather use --version,
1080 # but apparently some GNU ld's only accept -v.
1081 # Break only if it was the GNU/non-GNU ld that we prefer.
1082 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
1083 test "$with_gnu_ld" != no && break
1085 test "$with_gnu_ld" != yes && break
1091 ac_cv_path_LD="$LD" # Let the user override the test with a path.
1094 if test -n "$LD"; then
1099 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1103 AC_DEFUN(AC_PROG_LD_GNU,
1104 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1105 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1106 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1107 ac_cv_prog_gnu_ld=yes
1109 ac_cv_prog_gnu_ld=no
1113 # AC_PROG_NM - find the path to a BSD-compatible name lister
1114 AC_DEFUN(AC_PROG_NM,
1115 [AC_MSG_CHECKING([for BSD-compatible nm])
1116 AC_CACHE_VAL(ac_cv_path_NM,
1117 [if test -n "$NM"; then
1118 # Let the user override the test.
1121 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1122 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1123 test -z "$ac_dir" && ac_dir=.
1124 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1125 # Check to see if the nm accepts a BSD-compat flag.
1126 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1127 # nm: unknown option "B" ignored
1128 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1129 ac_cv_path_NM="$ac_dir/nm -B"
1131 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1132 ac_cv_path_NM="$ac_dir/nm -p"
1135 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1136 continue # so that we can try to find one that supports BSD flags
1141 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1144 AC_MSG_RESULT([$NM])
1147 # AC_CHECK_LIBM - check for math library
1148 AC_DEFUN(AC_CHECK_LIBM,
1149 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1151 case "$lt_target" in
1152 *-*-beos* | *-*-cygwin*)
1153 # These system don't have libm
1156 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1157 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1160 AC_CHECK_LIB(m, main, LIBM="-lm")
1165 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1166 # the libltdl convenience library, adds --enable-ltdl-convenience to
1167 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1168 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1169 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1170 # '${top_builddir}/' (note the single quotes!) if your package is not
1171 # flat, and, if you're not using automake, define top_builddir as
1172 # appropriate in the Makefiles.
1173 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1174 case "$enable_ltdl_convenience" in
1175 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1176 "") enable_ltdl_convenience=yes
1177 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1179 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1180 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1183 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1184 # the libltdl installable library, and adds --enable-ltdl-install to
1185 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1186 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1187 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1188 # '${top_builddir}/' (note the single quotes!) if your package is not
1189 # flat, and, if you're not using automake, define top_builddir as
1190 # appropriate in the Makefiles.
1191 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1192 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1193 AC_CHECK_LIB(ltdl, main,
1194 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1195 [if test x"$enable_ltdl_install" = xno; then
1196 AC_MSG_WARN([libltdl not installed, but installation disabled])
1198 enable_ltdl_install=yes
1201 if test x"$enable_ltdl_install" = x"yes"; then
1202 ac_configure_args="$ac_configure_args --enable-ltdl-install"
1203 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1204 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1206 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1213 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1214 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1215 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1216 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1217 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1218 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1219 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1221 dnl This is just to silence aclocal about the macro not being used
1222 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1223 # Macro to add for using GNU gettext.
1224 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1226 # This file can be copied and used freely without restrictions. It can
1227 # be used in projects which are not available under the GNU Public License
1228 # but which still want to provide support for the GNU gettext functionality.
1229 # Please note that the actual code is *not* freely available.
1233 AC_DEFUN(AM_WITH_NLS,
1234 [AC_MSG_CHECKING([whether NLS is requested])
1235 dnl Default is enabled NLS
1237 [ --disable-nls do not use Native Language Support],
1238 USE_NLS=$enableval, USE_NLS=yes)
1239 AC_MSG_RESULT($USE_NLS)
1242 USE_INCLUDED_LIBINTL=no
1244 dnl If we use NLS figure out what method
1245 if test "$USE_NLS" = "yes"; then
1246 AC_DEFINE(ENABLE_NLS)
1247 AC_MSG_CHECKING([whether included gettext is requested])
1248 AC_ARG_WITH(included-gettext,
1249 [ --with-included-gettext use the GNU gettext library included here],
1250 nls_cv_force_use_gnu_gettext=$withval,
1251 nls_cv_force_use_gnu_gettext=no)
1252 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1254 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1255 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1256 dnl User does not insist on using GNU NLS library. Figure out what
1257 dnl to use. If gettext or catgets are available (in this order) we
1258 dnl use this. Else we have to fall back to GNU NLS library.
1259 dnl catgets is only used if permitted by option --with-catgets.
1261 nls_cv_header_libgt=
1264 AC_CHECK_HEADER(libintl.h,
1265 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1266 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1267 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1269 if test "$gt_cv_func_gettext_libc" != "yes"; then
1270 AC_CHECK_LIB(intl, bindtextdomain,
1271 [AC_CACHE_CHECK([for gettext in libintl],
1272 gt_cv_func_gettext_libintl,
1273 [AC_CHECK_LIB(intl, gettext,
1274 dnl ============== A fix is here! ======================
1275 dnl -lintl was not added to the LIBS variable in this case
1276 [gt_cv_func_gettext_libintl=yes
1279 gt_cv_func_gettext_libintl=no)],
1280 gt_cv_func_gettext_libintl=no)])
1283 if test "$gt_cv_func_gettext_libc" = "yes" \
1284 || test "$gt_cv_func_gettext_libintl" = "yes"; then
1285 AC_DEFINE(HAVE_GETTEXT)
1286 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1287 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1288 if test "$MSGFMT" != "no"; then
1289 AC_CHECK_FUNCS(dcgettext)
1290 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1291 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1292 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1293 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1294 return _nl_msg_cat_cntr],
1304 if test "$CATOBJEXT" = "NONE"; then
1305 AC_MSG_CHECKING([whether catgets can be used])
1306 AC_ARG_WITH(catgets,
1307 [ --with-catgets use catgets functions if available],
1308 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1309 AC_MSG_RESULT($nls_cv_use_catgets)
1311 if test "$nls_cv_use_catgets" = "yes"; then
1312 dnl No gettext in C library. Try catgets next.
1313 AC_CHECK_LIB(i, main)
1314 AC_CHECK_FUNC(catgets,
1315 [AC_DEFINE(HAVE_CATGETS)
1316 INTLOBJS="\$(CATOBJS)"
1317 AC_PATH_PROG(GENCAT, gencat, no)dnl
1318 if test "$GENCAT" != "no"; then
1319 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1320 if test "$GMSGFMT" = "no"; then
1321 AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1322 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1324 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1325 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1326 USE_INCLUDED_LIBINTL=yes
1330 INTLDEPS='$(top_builddir)/intl/libintl.a'
1332 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1333 nls_cv_header_intl=intl/libintl.h
1334 nls_cv_header_libgt=intl/libgettext.h
1339 if test "$CATOBJEXT" = "NONE"; then
1340 dnl Neither gettext nor catgets in included in the C library.
1341 dnl Fall back on GNU gettext library.
1342 nls_cv_use_gnu_gettext=yes
1346 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1347 dnl Mark actions used to generate GNU NLS library.
1348 INTLOBJS="\$(GETTOBJS)"
1349 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1350 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1351 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1352 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1353 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1355 USE_INCLUDED_LIBINTL=yes
1359 INTLDEPS='$(top_builddir)/intl/libintl.a'
1361 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1362 nls_cv_header_intl=intl/libintl.h
1363 nls_cv_header_libgt=intl/libgettext.h
1366 dnl Test whether we really found GNU xgettext.
1367 if test "$XGETTEXT" != ":"; then
1368 dnl If it is no GNU xgettext we define it as : so that the
1369 dnl Makefiles still can work.
1370 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1374 [found xgettext program is not GNU xgettext; ignore it])
1379 # We need to process the po/ directory.
1383 nls_cv_header_intl=intl/libintl.h
1384 nls_cv_header_libgt=intl/libgettext.h
1386 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1388 [case "$CONFIG_FILES" in *po/Makefile.in*)
1389 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1393 # If this is used in GNU gettext we have to set USE_NLS to `yes'
1394 # because some of the sources are only built for this goal.
1395 if test "$PACKAGE" = gettext; then
1397 USE_INCLUDED_LIBINTL=yes
1400 dnl These rules are solely for the distribution goal. While doing this
1401 dnl we only have to keep exactly one list of the available catalogs
1402 dnl in configure.in.
1403 for lang in $ALL_LINGUAS; do
1404 GMOFILES="$GMOFILES $lang.gmo"
1405 POFILES="$POFILES $lang.po"
1408 dnl Make all variables we use known to autoconf.
1409 AC_SUBST(USE_INCLUDED_LIBINTL)
1412 AC_SUBST(DATADIRNAME)
1414 AC_SUBST(INSTOBJEXT)
1422 AC_DEFUN(AM_GNU_GETTEXT,
1423 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1424 AC_REQUIRE([AC_PROG_CC])dnl
1425 AC_REQUIRE([AC_PROG_RANLIB])dnl
1426 AC_REQUIRE([AC_ISC_POSIX])dnl
1427 AC_REQUIRE([AC_HEADER_STDC])dnl
1428 AC_REQUIRE([AC_C_CONST])dnl
1429 AC_REQUIRE([AC_C_INLINE])dnl
1430 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1431 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1432 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1433 AC_REQUIRE([AC_FUNC_MMAP])dnl
1435 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1436 unistd.h sys/param.h])
1437 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1438 strdup __argz_count __argz_stringify __argz_next])
1440 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1441 AC_CHECK_FUNCS(stpcpy)
1443 if test "${ac_cv_func_stpcpy}" = "yes"; then
1444 AC_DEFINE(HAVE_STPCPY)
1450 if test "x$CATOBJEXT" != "x"; then
1451 if test "x$ALL_LINGUAS" = "x"; then
1454 AC_MSG_CHECKING(for catalogs to be installed)
1456 dnl ============== Fix is here! ======================
1457 dnl Some sh do not like substitution in bounds of for loops
1458 dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do
1459 tmplinguas=${LINGUAS=$ALL_LINGUAS}
1460 for lang in ${tmplinguas}; do
1462 case "$ALL_LINGUAS" in
1463 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1466 LINGUAS=$NEW_LINGUAS
1467 AC_MSG_RESULT($LINGUAS)
1470 dnl Construct list of names of catalog files to be constructed.
1471 if test -n "$LINGUAS"; then
1472 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1476 dnl The reference to <locale.h> in the installed <libintl.h> file
1477 dnl must be resolved because we cannot expect the users of this
1478 dnl to define HAVE_LOCALE_H.
1479 if test $ac_cv_header_locale_h = yes; then
1480 INCLUDE_LOCALE_H="#include <locale.h>"
1483 /* The system does not provide the header <locale.h>. Take care yourself. */"
1485 AC_SUBST(INCLUDE_LOCALE_H)
1487 dnl Determine which catalog format we have (if any is needed)
1488 dnl For now we know about two different formats:
1489 dnl Linux libc-5 and the normal X/Open format
1490 test -d intl || mkdir intl
1491 if test "$CATOBJEXT" = ".cat"; then
1492 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1494 dnl Transform the SED scripts while copying because some dumb SEDs
1495 dnl cannot handle comments.
1496 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1498 dnl po2tbl.sed is always needed.
1499 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1500 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1502 dnl In the intl/Makefile.in we have a special dependency which makes
1503 dnl only sense for gettext. We comment this out for non-gettext
1505 if test "$PACKAGE" = "gettext"; then
1515 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1516 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1517 dnl Try to locate is.
1519 if test -n "$ac_aux_dir"; then
1520 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1522 if test -z "$MKINSTALLDIRS"; then
1523 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1525 AC_SUBST(MKINSTALLDIRS)
1527 dnl *** For now the libtool support in intl/Makefile is not for real.
1531 dnl Generate list of files to be processed by xgettext which will
1532 dnl be included in po/Makefile.
1533 test -d po || mkdir po
1534 if test "x$srcdir" != "x."; then
1535 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1536 posrcprefix="$srcdir/"
1538 posrcprefix="../$srcdir/"
1544 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1545 < $srcdir/po/POTFILES.in > po/POTFILES
1547 # Check whether LC_MESSAGES is available in <locale.h>.
1548 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1550 # This file can be copied and used freely without restrictions. It can
1551 # be used in projects which are not available under the GNU Public License
1552 # but which still want to provide support for the GNU gettext functionality.
1553 # Please note that the actual code is *not* freely available.
1557 AC_DEFUN(AM_LC_MESSAGES,
1558 [if test $ac_cv_header_locale_h = yes; then
1559 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1560 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1561 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1562 if test $am_cv_val_LC_MESSAGES = yes; then
1563 AC_DEFINE(HAVE_LC_MESSAGES)
1566 # Search path for a program which passes the given test.
1567 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1569 # This file can be copied and used freely without restrictions. It can
1570 # be used in projects which are not available under the GNU Public License
1571 # but which still want to provide support for the GNU gettext functionality.
1572 # Please note that the actual code is *not* freely available.
1576 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1577 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1578 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
1579 [# Extract the first word of "$2", so it can be a program name with args.
1580 set dummy $2; ac_word=[$]2
1581 AC_MSG_CHECKING([for $ac_word])
1582 AC_CACHE_VAL(ac_cv_path_$1,
1585 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1588 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1589 for ac_dir in ifelse([$5], , $PATH, [$5]); do
1590 test -z "$ac_dir" && ac_dir=.
1591 if test -f $ac_dir/$ac_word; then
1593 ac_cv_path_$1="$ac_dir/$ac_word"
1599 dnl If no 4th arg is given, leave the cache variable unset,
1600 dnl so AC_PATH_PROGS will keep looking.
1601 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1606 if test -n "[$]$1"; then
1607 AC_MSG_RESULT([$]$1)