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";;
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 -Wno-return-type -fno-exceptions -fno-rtti";;
190 *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
195 if test x$with_warnings = xyes ; then
197 2.95.*) CXXFLAGS="$CXXFLAGS -Wall -W -Wconversion";;
198 2.96*) CXXFLAGS="$CXXFLAGS -Wall -W -Wconversion";;
199 *) CXXFLAGS="$CXXFLAGS -ansi -Wall -W";;
201 if test $lyx_devel_version = yes ; then
205 *) CXXFLAGS="$CXXFLAGS -pedantic";;
211 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
216 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
218 AC_DEFUN(LYX_CXX_RTTI,[
219 ### Check whether the compiler supports runtime type information
220 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
224 virtual int tag() { return 0; }
226 class derived1 : public rtti {
228 int tag() { return 1; }
230 class derived2 : public rtti {
232 int tag() { return 2; }
235 derived1 * foo1 = new derived1();
236 derived2 * foo2 = new derived2();
238 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
242 bar1 = dynamic_cast<derived1 *>(bar);
247 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
249 if test x$lyx_cv_rtti = xyes ; then
250 AC_DEFINE(HAVE_RTTI, 1,
251 [Define to 1 if your compiler supports runtime type information])
255 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
256 dnl understands the "explicit" directive.
257 AC_DEFUN(LYX_CXX_EXPLICIT,[
258 ### Check whether the compiler understands the keyword `explicit'
259 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
264 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
266 if test $lyx_cv_explicit = no ; then
267 AC_DEFINE(explicit,[ ],
268 [Define to nothing if your compiler does not understand the
269 'explicit' directive])
273 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
274 dnl has a working stl stack template
275 AC_DEFUN(LYX_CXX_STL_STACK,[
276 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
283 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
285 if test $lyx_cv_broken_stack = yes ; then
286 AC_DEFINE(BROKEN_STL_STACK, 1,
287 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
292 dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming
293 dnl count template, if not the old HP version is assumed.
294 AC_DEFUN(LYX_STD_COUNT,[
295 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
301 int countChar(string const & a, char const c)
303 return count(a.begin(), a.end(), c);
307 int i = countChar(a, 'l');
308 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
310 if test $lyx_cv_std_count = yes ; then
311 AC_DEFINE(HAVE_STD_COUNT, 1,
312 [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.])
316 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
317 dnl supports modern STL streams
318 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
319 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
323 std::streambuf * test = std::cerr.rdbuf();
325 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
327 if test $lyx_cv_modern_streams = yes ; then
328 AC_DEFINE(MODERN_STL_STREAMS, 1,
329 [Define if you have modern standard-compliant STL streams])
333 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
334 dnl has a working stl string container, the check is really stupid
335 dnl and could need some improvement.
336 AC_DEFUN(LYX_CXX_STL_STRING,[
337 AC_REQUIRE([LYX_PROG_CXX])
338 AC_MSG_CHECKING(whether the included std::string should be used)
339 AC_ARG_WITH(included-string,
340 [ --with-included-string use LyX string class instead of STL string],
341 [with_included_string=$withval],
346 string a("hello there");
351 with_included_string=no
353 with_included_string=yes
357 if test x$with_included_string = xyes ; then
358 AC_DEFINE(USE_INCLUDED_STRING, 1,
359 [Define to use the lyxstring class bundled with LyX.])
360 lyx_flags="$lyx_flags included-string"
362 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
363 AC_MSG_RESULT([$with_included_string])
367 dnl Usage: LYX_REGEX : checks if the header regex.h is available
368 dnl if it is not available the automake variable USE_REGEX will be
369 dnl defined and the regex.h and regex.c that we provide will be used.
371 AC_CHECK_HEADERS(regex.h, lyx_regex=no, lyx_regex=yes)
372 AM_CONDITIONAL(USE_REGEX, test x$lyx_regex = xyes)
377 AC_DEFUN(LYX_CXX_MUTABLE, [
378 AC_REQUIRE([LYX_PROG_CXX])
379 AC_MSG_CHECKING(if C++ compiler supports mutable)
385 void foo() const { c=0; }
390 AC_DEFINE(HAVE_MUTABLE, 1,
391 [Defined if you compiler supports 'mutable'.])
395 AC_MSG_RESULT([$ac_mutable])
400 AC_DEFUN(LYX_CXX_PARTIAL, [
401 AC_REQUIRE([LYX_PROG_CXX])
402 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
405 template<class T, class K>
409 template<class T> class k<void,T> { };
414 ac_partial_specialization=yes
415 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
416 [Defined if your compiler supports partial specialization.])
418 ac_partial_specialization=no
420 AC_MSG_RESULT([$ac_partial_specialization])
424 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
425 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
426 dnl if true. This macro does not do a thourough test, but it should be
427 dnl good enough to suit our needs.
428 AC_DEFUN(LYX_CXX_NAMESPACES,[
429 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
437 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
439 if test $lyx_cv_cxx_namespace = yes ; then
440 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
441 [Define if your C++ compiler has correct support for namespaces])
445 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
446 dnl provides wrappers for C headers and use our alternate version otherwise.
447 AC_DEFUN(LYX_CXX_CHEADERS,[
448 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
458 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
459 if test $lyx_cv_cxx_cheaders = no ; then
460 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
464 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
465 AC_DEFUN(LYX_PATH_XPM,[
466 ### Check for Xpm library
467 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
468 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
470 ### Check for Xpm headers
471 lyx_cv_xpm_h_location="<xpm.h>"
472 AC_CHECK_HEADER(X11/xpm.h,[
473 ac_cv_header_xpm_h=yes
474 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
475 AC_CHECK_HEADER(xpm.h,[],[
476 LYX_LIB_ERROR(xpm.h,Xpm)])])
477 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
479 ### Test for the header version
480 if test $ac_cv_header_xpm_h = yes; then
481 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
482 [ cat > conftest.$ac_ext <<EOF
483 #line __oline__ "configure"
484 #include "confdefs.h"
486 #include XPM_H_LOCATION
487 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
489 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
490 grep '^"%%%"' 2>/dev/null | \
491 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
492 case "$lyx_cv_xpmr" in
494 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
495 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
499 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
501 case "$lyx_cv_xpmr" in
503 [789]|[0-9][0-9]*) ;;
505 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
506 If you experience strange crashes with LyX, try to upgrade
507 to at least version 4.7 (aka 3.4g).
508 If you have installed a newer version of the library, check whether you
509 have an old xpm.h header file in your include path.]);;
514 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
515 AC_DEFUN(LYX_PATH_XFORMS,[
516 ### Check for xforms library
517 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
518 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
519 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
521 ### Check for xforms headers
522 lyx_cv_forms_h_location="<forms.h>"
523 AC_CHECK_HEADER(X11/forms.h,[
524 ac_cv_header_forms_h=yes
525 lyx_cv_forms_h_location="<X11/forms.h>"],[
526 AC_CHECK_HEADER(forms.h,[],[
527 LYX_LIB_ERROR(forms.h,forms)])])
528 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
529 if test $ac_cv_header_forms_h = yes; then
530 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
531 [ cat > conftest.$ac_ext <<EOF
532 #line __oline__ "configure"
533 #include "confdefs.h"
535 #include FORMS_H_LOCATION
536 #if ! defined(FL_INCLUDE_VERSION)
539 "%%%"FL_VERSION.FL_REVISION"%%%"
542 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
543 grep '^"%%%"' 2>/dev/null | \
544 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
546 case "$lyx_cv_xfversion" in
547 "(unknown)"|0.82|0.83|0.84|0.85)
549 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
550 This version of LyX works best with version 0.88[,] although it
551 supports also versions 0.81[,] 0.86 and 0.87.) ;;
554 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
555 it is recommended that you upgrade to version 0.88.) ;;
557 0.89) LYX_WARNING(dnl
558 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
559 it is an unproven version and might still have some bugs. If you
560 have problems[,] please use version 0.88 instead.) ;;
562 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
563 since it is newer than 0.88. You might have slight problems with it.);;
568 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
570 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
571 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
572 os=`uname -s | tr '[A-Z]' '[a-z]'`
574 test "$os" = hp-ux && ac_cv_hpux=yes])
575 if test "$ac_cv_hpux" = yes; then
576 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
580 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
583 [#The headers are not correct under SunOS4
584 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
586 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
587 changequote([, ]) dnl
589 test "$os" = SunOS4 && ac_cv_sunos4=yes])
590 if test "$ac_cv_sunos4" = yes; then
591 test "x$GXX" = xyes && lyx_broken_headers=yes
595 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
598 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
600 if test `uname -s` != "SCO_SV"; then
601 lyx_machine_rel=`uname -m`:`uname -r`
602 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
604 if test -f /usr/options/cb.name; then
606 elif /bin/uname -X 2>/dev/null >/dev/null ; then
611 if test "$ac_cv_sco" = yes; then
612 test "x$GXX" = xyes && lyx_broken_headers=yes
615 dnl Usage: LYX_FUNC_PUTENV_ARGTYPE
616 dnl Checks whether putenv() takes 'char const *' or 'char *' as
617 dnl argument. This is needed because Solaris 7 (wrongly?) uses 'char *',
618 dnl while everybody else uses the former...
619 AC_DEFUN(LYX_FUNC_PUTENV_ARGTYPE,
620 [AC_MSG_CHECKING([type of argument for putenv()])
621 AC_CACHE_VAL(lyx_cv_func_putenv_arg,dnl
623 [#include <cstdlib>],
624 [char const * foo = "bar";
626 [lyx_cv_func_putenv_arg='char const *'],[lyx_cv_func_putenv_arg='char *'])])
627 AC_MSG_RESULT($lyx_cv_func_putenv_arg)
628 AC_DEFINE_UNQUOTED(PUTENV_TYPE_ARG,$lyx_cv_func_putenv_arg,dnl
629 [Define to the type of the argument of putenv(). Needed on Solaris 7.])])
632 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
633 dnl [default-yes-value])
634 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
635 dnl resulting directory name in 'dir-var-name'.
636 AC_DEFUN(LYX_WITH_DIR,[
637 AC_ARG_WITH($1,[ --with-$1 specify $2])
638 AC_MSG_CHECKING([for $2])
639 if test -z "$with_$3"; then
640 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
642 test "x$with_$3" = xyes && with_$3=$5
645 AC_MSG_RESULT($lyx_cv_$3)])
648 dnl Usage: LYX_LOOP_DIR(value,action)
649 dnl Executes action for values of variable `dir' in `values'. `values' can
650 dnl use ":" as a separator.
651 AC_DEFUN(LYX_LOOP_DIR,[
652 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
653 for dir in `eval "echo $1"`; do
654 if test ! "$dir" = NONE; then
655 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
663 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
665 AC_DEFUN(LYX_ADD_LIB_DIR,[
667 if test "`(uname) 2>/dev/null`" = SunOS &&
668 uname -r | grep '^5' >/dev/null; then
669 if test $ac_cv_prog_gxx = yes ; then
670 $1="${$1} -Wl[,]-R$2"
677 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
679 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
681 ### Check for a headers existence and location iff it exists
682 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
683 ## It almost works. I've tried a few variations but they give errors
684 ## of one sort or other: bad substitution or file not found etc. The
685 ## actual header _is_ found though and the cache variable is set however
686 ## the reported setting (on screen) is equal to $ac_safe for some unknown
688 AC_DEFUN(LYX_PATH_HEADER,
689 [ AC_CHECK_HEADER($1,[
690 ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
691 AC_CACHE_CHECK([path to $1],lyx_cv_path_$ac_safe,
692 [ cat > conftest.$ac_ext <<EOF
693 #line __oline__ "configure"
694 #include "confdefs.h"
698 lyx_cv_path_$ac_safe=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
699 grep $1 2>/dev/null | \
700 sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
702 AC_DEFINE_UNQUOTED(${ac_tr_safe},${lyx_cv_path_$ac_safe})])
704 ### end of LYX_PATH_HEADER
706 ### Check for stl_string_fwd.h existence and location if it exists
707 AC_DEFUN(LYX_STL_STRING_FWD,
708 [ AC_CHECK_HEADER(stl_string_fwd.h,[
709 AC_CACHE_CHECK([path to stl_string_fwd.h],lyx_cv_path_stl_string_fwd_h,
710 [ cat > conftest.$ac_ext <<EOF
711 #line __oline__ "configure"
712 #include "confdefs.h"
714 #include <stl_string_fwd.h>
716 lyx_cv_path_stl_string_fwd_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
717 grep 'stl_string_fwd.h' 2>/dev/null | \
718 sed -e 's/.*\(".*stl_string_fwd.h"\).*/\1/' -e "1q"`
720 AC_DEFINE_UNQUOTED(STL_STRING_FWD_H_LOCATION,$lyx_cv_path_stl_string_fwd_h,
721 [define this to the location of stl_string_fwd.h to be used with #include,
722 NOTE: Do not set it to <stl_string_fwd.h> as that will find the LyX
723 supplied version of the header.
724 e.g. <../include/stl_string_fwd.h> or better yet use an absolute path])])
728 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
729 dnl if the cache file is inconsistent with the current host,
730 dnl target and build system types, execute CMD or print a default
732 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
733 AC_REQUIRE([AC_CANONICAL_SYSTEM])
734 AC_MSG_CHECKING([config.cache system type])
735 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
736 test x"$ac_cv_host_system_type" != x"$host"; } ||
737 { test x"${ac_cv_build_system_type+set}" = x"set" &&
738 test x"$ac_cv_build_system_type" != x"$build"; } ||
739 { test x"${ac_cv_target_system_type+set}" = x"set" &&
740 test x"$ac_cv_target_system_type" != x"$target"; }; then
741 AC_MSG_RESULT([different])
743 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
745 AC_MSG_RESULT([same])
747 ac_cv_host_system_type="$host"
748 ac_cv_build_system_type="$build"
749 ac_cv_target_system_type="$target"
752 dnl We use this until autoconf fixes its version.
753 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
754 [AC_MSG_CHECKING([types of arguments for select()])
755 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
756 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
757 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
758 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
759 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
761 [#ifdef HAVE_SYS_TYPES_H
762 #include <sys/types.h>
764 #ifdef HAVE_SYS_TIME_H
765 #include <sys/time.h>
767 #ifdef HAVE_SYS_SELECT_H
768 #include <sys/select.h>
770 #ifdef HAVE_SYS_SOCKET_H
771 #include <sys/socket.h>
773 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
774 [ac_not_found=no ; break 3],ac_not_found=yes)
781 if test "$ac_not_found" = yes; then
782 ac_cv_func_select_arg1=int
783 ac_cv_func_select_arg234='int *'
784 ac_cv_func_select_arg5='struct timeval *'
786 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
787 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
788 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
789 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
792 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
793 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
794 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
796 ## This program is free software; you can redistribute it and/or modify
797 ## it under the terms of the GNU General Public License as published by
798 ## the Free Software Foundation; either version 2 of the License, or
799 ## (at your option) any later version.
801 ## This program is distributed in the hope that it will be useful, but
802 ## WITHOUT ANY WARRANTY; without even the implied warranty of
803 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
804 ## General Public License for more details.
806 ## You should have received a copy of the GNU General Public License
807 ## along with this program; if not, write to the Free Software
808 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
810 ## As a special exception to the GNU General Public License, if you
811 ## distribute this file as part of a program that contains a
812 ## configuration script generated by Autoconf, you may include it under
813 ## the same distribution terms that you use for the rest of that program.
815 # serial 40 AC_PROG_LIBTOOL
816 AC_DEFUN(AC_PROG_LIBTOOL,
817 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
819 # Save cache, so that ltconfig can load it
822 # Actually configure libtool. ac_aux_dir is where install-sh is found.
823 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
824 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
825 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
826 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
827 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
828 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
829 || AC_MSG_ERROR([libtool configure failed])
831 # Reload cache, that may have been modified by ltconfig
834 # This can be used to rebuild libtool when needed
835 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
837 # Always use our own libtool.
838 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
841 # Redirect the config.log output again, so that the ltconfig log is not
842 # clobbered by the next message.
846 AC_DEFUN(AC_LIBTOOL_SETUP,
848 AC_REQUIRE([AC_ENABLE_SHARED])dnl
849 AC_REQUIRE([AC_ENABLE_STATIC])dnl
850 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
851 AC_REQUIRE([AC_CANONICAL_HOST])dnl
852 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
853 AC_REQUIRE([AC_PROG_RANLIB])dnl
854 AC_REQUIRE([AC_PROG_CC])dnl
855 AC_REQUIRE([AC_PROG_LD])dnl
856 AC_REQUIRE([AC_PROG_NM])dnl
857 AC_REQUIRE([AC_PROG_LN_S])dnl
861 NONE) lt_target="$host" ;;
862 *) lt_target="$target" ;;
865 # Check for any special flags to pass to ltconfig.
866 libtool_flags="--cache-file=$cache_file"
867 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
868 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
869 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
870 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
871 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
872 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
873 [libtool_flags="$libtool_flags --enable-dlopen"])
874 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
875 [libtool_flags="$libtool_flags --enable-win32-dll"])
876 AC_ARG_ENABLE(libtool-lock,
877 [ --disable-libtool-lock avoid locking (might break parallel builds)])
878 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
879 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
881 # Some flags need to be propagated to the compiler or linker for good
885 # Find out which ABI we are using.
886 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
887 if AC_TRY_EVAL(ac_compile); then
888 case "`/usr/bin/file conftest.o`" in
904 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
905 SAVE_CFLAGS="$CFLAGS"
906 CFLAGS="$CFLAGS -belf"
907 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
908 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
909 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
910 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
911 CFLAGS="$SAVE_CFLAGS"
915 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
916 [*-*-cygwin* | *-*-mingw*)
917 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
918 AC_CHECK_TOOL(AS, as, false)
919 AC_CHECK_TOOL(OBJDUMP, objdump, false)
925 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
926 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
928 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
929 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
931 # AC_ENABLE_SHARED - implement the --enable-shared flag
932 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
933 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
935 AC_DEFUN(AC_ENABLE_SHARED, [dnl
936 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
937 AC_ARG_ENABLE(shared,
938 changequote(<<, >>)dnl
939 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
941 [p=${PACKAGE-default}
943 yes) enable_shared=yes ;;
944 no) enable_shared=no ;;
947 # Look at the argument we got. We use all the common list separators.
948 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
949 for pkg in $enableval; do
950 if test "X$pkg" = "X$p"; then
957 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
960 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
961 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
962 AC_ENABLE_SHARED(no)])
964 # AC_ENABLE_STATIC - implement the --enable-static flag
965 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
966 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
968 AC_DEFUN(AC_ENABLE_STATIC, [dnl
969 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
970 AC_ARG_ENABLE(static,
971 changequote(<<, >>)dnl
972 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
974 [p=${PACKAGE-default}
976 yes) enable_static=yes ;;
977 no) enable_static=no ;;
980 # Look at the argument we got. We use all the common list separators.
981 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
982 for pkg in $enableval; do
983 if test "X$pkg" = "X$p"; then
990 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
993 # AC_DISABLE_STATIC - set the default static flag to --disable-static
994 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
995 AC_ENABLE_STATIC(no)])
998 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
999 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
1000 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
1002 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
1003 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
1004 AC_ARG_ENABLE(fast-install,
1005 changequote(<<, >>)dnl
1006 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
1007 changequote([, ])dnl
1008 [p=${PACKAGE-default}
1009 case "$enableval" in
1010 yes) enable_fast_install=yes ;;
1011 no) enable_fast_install=no ;;
1013 enable_fast_install=no
1014 # Look at the argument we got. We use all the common list separators.
1015 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
1016 for pkg in $enableval; do
1017 if test "X$pkg" = "X$p"; then
1018 enable_fast_install=yes
1024 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
1027 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
1028 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1029 AC_ENABLE_FAST_INSTALL(no)])
1031 # AC_PROG_LD - find the path to the GNU or non-GNU linker
1032 AC_DEFUN(AC_PROG_LD,
1033 [AC_ARG_WITH(gnu-ld,
1034 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
1035 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
1036 AC_REQUIRE([AC_PROG_CC])dnl
1037 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1038 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1040 if test "$ac_cv_prog_gcc" = yes; then
1041 # Check if gcc -print-prog-name=ld gives a path.
1042 AC_MSG_CHECKING([for ld used by GCC])
1043 ac_prog=`($CC -print-prog-name=ld) 2>&5`
1045 # Accept absolute paths.
1047 [\\/]* | [A-Za-z]:[\\/]*)
1048 re_direlt='/[^/][^/]*/\.\./'
1050 # Canonicalize the path of ld
1051 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
1052 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
1053 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
1055 test -z "$LD" && LD="$ac_prog"
1058 # If it fails, then pretend we aren't using GCC.
1062 # If it is relative, then search for the first ld in PATH.
1066 elif test "$with_gnu_ld" = yes; then
1067 AC_MSG_CHECKING([for GNU ld])
1069 AC_MSG_CHECKING([for non-GNU ld])
1071 AC_CACHE_VAL(ac_cv_path_LD,
1072 [if test -z "$LD"; then
1073 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1074 for ac_dir in $PATH; do
1075 test -z "$ac_dir" && ac_dir=.
1076 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
1077 ac_cv_path_LD="$ac_dir/$ac_prog"
1078 # Check to see if the program is GNU ld. I'd rather use --version,
1079 # but apparently some GNU ld's only accept -v.
1080 # Break only if it was the GNU/non-GNU ld that we prefer.
1081 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
1082 test "$with_gnu_ld" != no && break
1084 test "$with_gnu_ld" != yes && break
1090 ac_cv_path_LD="$LD" # Let the user override the test with a path.
1093 if test -n "$LD"; then
1098 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1102 AC_DEFUN(AC_PROG_LD_GNU,
1103 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1104 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1105 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1106 ac_cv_prog_gnu_ld=yes
1108 ac_cv_prog_gnu_ld=no
1112 # AC_PROG_NM - find the path to a BSD-compatible name lister
1113 AC_DEFUN(AC_PROG_NM,
1114 [AC_MSG_CHECKING([for BSD-compatible nm])
1115 AC_CACHE_VAL(ac_cv_path_NM,
1116 [if test -n "$NM"; then
1117 # Let the user override the test.
1120 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1121 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1122 test -z "$ac_dir" && ac_dir=.
1123 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1124 # Check to see if the nm accepts a BSD-compat flag.
1125 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1126 # nm: unknown option "B" ignored
1127 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1128 ac_cv_path_NM="$ac_dir/nm -B"
1130 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1131 ac_cv_path_NM="$ac_dir/nm -p"
1134 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1135 continue # so that we can try to find one that supports BSD flags
1140 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1143 AC_MSG_RESULT([$NM])
1146 # AC_CHECK_LIBM - check for math library
1147 AC_DEFUN(AC_CHECK_LIBM,
1148 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1150 case "$lt_target" in
1151 *-*-beos* | *-*-cygwin*)
1152 # These system don't have libm
1155 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1156 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1159 AC_CHECK_LIB(m, main, LIBM="-lm")
1164 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1165 # the libltdl convenience library, adds --enable-ltdl-convenience to
1166 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1167 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1168 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1169 # '${top_builddir}/' (note the single quotes!) if your package is not
1170 # flat, and, if you're not using automake, define top_builddir as
1171 # appropriate in the Makefiles.
1172 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1173 case "$enable_ltdl_convenience" in
1174 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1175 "") enable_ltdl_convenience=yes
1176 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1178 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1179 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1182 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1183 # the libltdl installable library, and adds --enable-ltdl-install to
1184 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1185 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1186 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1187 # '${top_builddir}/' (note the single quotes!) if your package is not
1188 # flat, and, if you're not using automake, define top_builddir as
1189 # appropriate in the Makefiles.
1190 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1191 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1192 AC_CHECK_LIB(ltdl, main,
1193 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1194 [if test x"$enable_ltdl_install" = xno; then
1195 AC_MSG_WARN([libltdl not installed, but installation disabled])
1197 enable_ltdl_install=yes
1200 if test x"$enable_ltdl_install" = x"yes"; then
1201 ac_configure_args="$ac_configure_args --enable-ltdl-install"
1202 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1203 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1205 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1212 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1213 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1214 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1215 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1216 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1217 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1218 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1220 dnl This is just to silence aclocal about the macro not being used
1221 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1222 # Macro to add for using GNU gettext.
1223 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1225 # This file can be copied and used freely without restrictions. It can
1226 # be used in projects which are not available under the GNU Public License
1227 # but which still want to provide support for the GNU gettext functionality.
1228 # Please note that the actual code is *not* freely available.
1232 AC_DEFUN(AM_WITH_NLS,
1233 [AC_MSG_CHECKING([whether NLS is requested])
1234 dnl Default is enabled NLS
1236 [ --disable-nls do not use Native Language Support],
1237 USE_NLS=$enableval, USE_NLS=yes)
1238 AC_MSG_RESULT($USE_NLS)
1241 USE_INCLUDED_LIBINTL=no
1243 dnl If we use NLS figure out what method
1244 if test "$USE_NLS" = "yes"; then
1245 AC_DEFINE(ENABLE_NLS)
1246 AC_MSG_CHECKING([whether included gettext is requested])
1247 AC_ARG_WITH(included-gettext,
1248 [ --with-included-gettext use the GNU gettext library included here],
1249 nls_cv_force_use_gnu_gettext=$withval,
1250 nls_cv_force_use_gnu_gettext=no)
1251 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1253 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1254 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1255 dnl User does not insist on using GNU NLS library. Figure out what
1256 dnl to use. If gettext or catgets are available (in this order) we
1257 dnl use this. Else we have to fall back to GNU NLS library.
1258 dnl catgets is only used if permitted by option --with-catgets.
1260 nls_cv_header_libgt=
1263 AC_CHECK_HEADER(libintl.h,
1264 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1265 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1266 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1268 if test "$gt_cv_func_gettext_libc" != "yes"; then
1269 AC_CHECK_LIB(intl, bindtextdomain,
1270 [AC_CACHE_CHECK([for gettext in libintl],
1271 gt_cv_func_gettext_libintl,
1272 [AC_CHECK_LIB(intl, gettext,
1273 gt_cv_func_gettext_libintl=yes,
1274 gt_cv_func_gettext_libintl=no)],
1275 gt_cv_func_gettext_libintl=no)])
1278 if test "$gt_cv_func_gettext_libc" = "yes" \
1279 || test "$gt_cv_func_gettext_libintl" = "yes"; then
1280 AC_DEFINE(HAVE_GETTEXT)
1281 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1282 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1283 if test "$MSGFMT" != "no"; then
1284 AC_CHECK_FUNCS(dcgettext)
1285 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1286 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1287 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1288 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1289 return _nl_msg_cat_cntr],
1299 if test "$CATOBJEXT" = "NONE"; then
1300 AC_MSG_CHECKING([whether catgets can be used])
1301 AC_ARG_WITH(catgets,
1302 [ --with-catgets use catgets functions if available],
1303 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1304 AC_MSG_RESULT($nls_cv_use_catgets)
1306 if test "$nls_cv_use_catgets" = "yes"; then
1307 dnl No gettext in C library. Try catgets next.
1308 AC_CHECK_LIB(i, main)
1309 AC_CHECK_FUNC(catgets,
1310 [AC_DEFINE(HAVE_CATGETS)
1311 INTLOBJS="\$(CATOBJS)"
1312 AC_PATH_PROG(GENCAT, gencat, no)dnl
1313 if test "$GENCAT" != "no"; then
1314 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1315 if test "$GMSGFMT" = "no"; then
1316 AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1317 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1319 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1320 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1321 USE_INCLUDED_LIBINTL=yes
1325 INTLDEPS='$(top_builddir)/intl/libintl.a'
1327 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1328 nls_cv_header_intl=intl/libintl.h
1329 nls_cv_header_libgt=intl/libgettext.h
1334 if test "$CATOBJEXT" = "NONE"; then
1335 dnl Neither gettext nor catgets in included in the C library.
1336 dnl Fall back on GNU gettext library.
1337 nls_cv_use_gnu_gettext=yes
1341 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1342 dnl Mark actions used to generate GNU NLS library.
1343 INTLOBJS="\$(GETTOBJS)"
1344 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1345 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1346 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1347 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1348 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1350 USE_INCLUDED_LIBINTL=yes
1354 INTLDEPS='$(top_builddir)/intl/libintl.a'
1356 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1357 nls_cv_header_intl=intl/libintl.h
1358 nls_cv_header_libgt=intl/libgettext.h
1361 dnl Test whether we really found GNU xgettext.
1362 if test "$XGETTEXT" != ":"; then
1363 dnl If it is no GNU xgettext we define it as : so that the
1364 dnl Makefiles still can work.
1365 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1369 [found xgettext program is not GNU xgettext; ignore it])
1374 # We need to process the po/ directory.
1378 nls_cv_header_intl=intl/libintl.h
1379 nls_cv_header_libgt=intl/libgettext.h
1381 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1383 [case "$CONFIG_FILES" in *po/Makefile.in*)
1384 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1388 # If this is used in GNU gettext we have to set USE_NLS to `yes'
1389 # because some of the sources are only built for this goal.
1390 if test "$PACKAGE" = gettext; then
1392 USE_INCLUDED_LIBINTL=yes
1395 dnl These rules are solely for the distribution goal. While doing this
1396 dnl we only have to keep exactly one list of the available catalogs
1397 dnl in configure.in.
1398 for lang in $ALL_LINGUAS; do
1399 GMOFILES="$GMOFILES $lang.gmo"
1400 POFILES="$POFILES $lang.po"
1403 dnl Make all variables we use known to autoconf.
1404 AC_SUBST(USE_INCLUDED_LIBINTL)
1407 AC_SUBST(DATADIRNAME)
1409 AC_SUBST(INSTOBJEXT)
1417 AC_DEFUN(AM_GNU_GETTEXT,
1418 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1419 AC_REQUIRE([AC_PROG_CC])dnl
1420 AC_REQUIRE([AC_PROG_RANLIB])dnl
1421 AC_REQUIRE([AC_ISC_POSIX])dnl
1422 AC_REQUIRE([AC_HEADER_STDC])dnl
1423 AC_REQUIRE([AC_C_CONST])dnl
1424 AC_REQUIRE([AC_C_INLINE])dnl
1425 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1426 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1427 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1428 AC_REQUIRE([AC_FUNC_MMAP])dnl
1430 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1431 unistd.h sys/param.h])
1432 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1433 strdup __argz_count __argz_stringify __argz_next])
1435 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1436 AC_CHECK_FUNCS(stpcpy)
1438 if test "${ac_cv_func_stpcpy}" = "yes"; then
1439 AC_DEFINE(HAVE_STPCPY)
1445 if test "x$CATOBJEXT" != "x"; then
1446 if test "x$ALL_LINGUAS" = "x"; then
1449 AC_MSG_CHECKING(for catalogs to be installed)
1451 dnl ============== Fix is here! ======================
1452 dnl Some sh do not like substitution in bounds of for loops
1453 dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do
1454 tmplinguas=${LINGUAS=$ALL_LINGUAS}
1455 for lang in ${tmplinguas}; do
1457 case "$ALL_LINGUAS" in
1458 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1461 LINGUAS=$NEW_LINGUAS
1462 AC_MSG_RESULT($LINGUAS)
1465 dnl Construct list of names of catalog files to be constructed.
1466 if test -n "$LINGUAS"; then
1467 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1471 dnl The reference to <locale.h> in the installed <libintl.h> file
1472 dnl must be resolved because we cannot expect the users of this
1473 dnl to define HAVE_LOCALE_H.
1474 if test $ac_cv_header_locale_h = yes; then
1475 INCLUDE_LOCALE_H="#include <locale.h>"
1478 /* The system does not provide the header <locale.h>. Take care yourself. */"
1480 AC_SUBST(INCLUDE_LOCALE_H)
1482 dnl Determine which catalog format we have (if any is needed)
1483 dnl For now we know about two different formats:
1484 dnl Linux libc-5 and the normal X/Open format
1485 test -d intl || mkdir intl
1486 if test "$CATOBJEXT" = ".cat"; then
1487 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1489 dnl Transform the SED scripts while copying because some dumb SEDs
1490 dnl cannot handle comments.
1491 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1493 dnl po2tbl.sed is always needed.
1494 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1495 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1497 dnl In the intl/Makefile.in we have a special dependency which makes
1498 dnl only sense for gettext. We comment this out for non-gettext
1500 if test "$PACKAGE" = "gettext"; then
1510 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1511 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1512 dnl Try to locate is.
1514 if test -n "$ac_aux_dir"; then
1515 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1517 if test -z "$MKINSTALLDIRS"; then
1518 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1520 AC_SUBST(MKINSTALLDIRS)
1522 dnl *** For now the libtool support in intl/Makefile is not for real.
1526 dnl Generate list of files to be processed by xgettext which will
1527 dnl be included in po/Makefile.
1528 test -d po || mkdir po
1529 if test "x$srcdir" != "x."; then
1530 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1531 posrcprefix="$srcdir/"
1533 posrcprefix="../$srcdir/"
1539 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1540 < $srcdir/po/POTFILES.in > po/POTFILES
1542 # Check whether LC_MESSAGES is available in <locale.h>.
1543 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1545 # This file can be copied and used freely without restrictions. It can
1546 # be used in projects which are not available under the GNU Public License
1547 # but which still want to provide support for the GNU gettext functionality.
1548 # Please note that the actual code is *not* freely available.
1552 AC_DEFUN(AM_LC_MESSAGES,
1553 [if test $ac_cv_header_locale_h = yes; then
1554 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1555 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1556 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1557 if test $am_cv_val_LC_MESSAGES = yes; then
1558 AC_DEFINE(HAVE_LC_MESSAGES)
1561 # Search path for a program which passes the given test.
1562 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1564 # This file can be copied and used freely without restrictions. It can
1565 # be used in projects which are not available under the GNU Public License
1566 # but which still want to provide support for the GNU gettext functionality.
1567 # Please note that the actual code is *not* freely available.
1571 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1572 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1573 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
1574 [# Extract the first word of "$2", so it can be a program name with args.
1575 set dummy $2; ac_word=[$]2
1576 AC_MSG_CHECKING([for $ac_word])
1577 AC_CACHE_VAL(ac_cv_path_$1,
1580 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1583 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1584 for ac_dir in ifelse([$5], , $PATH, [$5]); do
1585 test -z "$ac_dir" && ac_dir=.
1586 if test -f $ac_dir/$ac_word; then
1588 ac_cv_path_$1="$ac_dir/$ac_word"
1594 dnl If no 4th arg is given, leave the cache variable unset,
1595 dnl so AC_PATH_PROGS will keep looking.
1596 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1601 if test -n "[$]$1"; then
1602 AC_MSG_RESULT([$]$1)