1 dnl Some useful functions for LyXs configure.in -*- sh -*-
2 dnl Author: Jean-Marc Lasgouttes (Jean-Marc.Lasgouttes@inria.fr)
3 dnl Lars Gullik Bjønnes (larsbj@lyx.org)
6 dnl Usage LYX_GET_VERSION Sets "lyx_version" to the version of LyX being
7 dnl built, displays it and sets variable "lyx_devel" to yes or no depending
8 dnl whether the version is a development release or not.
9 AC_DEFUN(LYX_GET_VERSION,[
11 VERSION=`grep '#define *LYX_VERSION' $1 |
12 sed -e 's/^.*"\(.*\)"$/\1/' 2>/dev/null`
13 echo "configuring LyX version $VERSION"
14 if echo "$VERSION" | grep 'cvs' >/dev/null ; then
16 echo "WARNING: This is a development version. Expect bugs."
20 if echo "$VERSION" | grep 'pre' > /dev/null ; then
22 echo "WARNING: This is a prerelease. Be careful and backup your documents."
27 PACKAGE=lyx${program_suffix}
28 AC_SUBST(lyx_devel_version)
29 if test $lyx_devel_version = yes ; then
30 AC_DEFINE(DEVEL_VERSION, 1, Define if you are building a development version of LyX)
33 dnl Usage: LYX_ERROR(message) Displays the warning "message" and sets the
34 dnl flag lyx_error to yes.
36 lyx_error_txt="$lyx_error_txt
42 dnl Usage: LYX_WARNING(message) Displays the warning "message" and sets the
43 dnl flag lyx_warning to yes.
44 AC_DEFUN(LYX_WARNING,[
45 lyx_warning_txt="$lyx_warning_txt
51 dnl Usage: LYX_LIB_ERROR(file,library) Displays an error message indication
52 dnl that 'file' cannot be found because 'lib' may be uncorrectly installed.
53 AC_DEFUN(LYX_LIB_ERROR,[
54 LYX_ERROR([Cannot find $1. Please check that the $2 library
55 is correctly installed on your system.])])
58 dnl Usage: LYX_CHECK_ERRORS Displays a warning message if a LYX_ERROR
59 dnl has occured previously.
60 AC_DEFUN(LYX_CHECK_ERRORS,[
61 if test x$lyx_error = xyes; then
63 **** The following problems have been detected by configure.
64 **** Please check the messages below before running 'make'.
65 **** (see the section 'Problems' in the INSTALL file)
68 deleting cache $cache_file
73 if test x$lyx_warning = xyes; then
75 === The following minor problems have been detected by configure.
76 === Please check the messages below before running 'make'.
77 === (see the section 'Problems' in the INSTALL file)
82 Configuration of LyX was successful.
83 Type 'make' to compile the program,
84 and then 'make install' to install it.
89 dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
91 define(LYX_SEARCH_PROG,[dnl
92 for ac_prog in $2 ; do
93 # Extract the first word of "$ac_prog", so it can be a program name with args.
94 set dummy $ac_prog ; ac_word=$[2]
95 if test -z "[$]$1"; then
96 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
97 for ac_dir in $PATH; do
98 test -z "$ac_dir" && ac_dir=.
99 if test -f [$ac_dir/$ac_word]; then
107 if test -n "[$]$1"; then
113 test -n "[$]$1" && break
118 AC_DEFUN(LYX_PROG_CXX_WORKS,
121 AC_TRY_COMPILER([class foo { int bar; }; int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
123 if test $ac_cv_prog_cxx_works = no; then
126 cross_compiling=$ac_cv_prog_cxx_cross
130 AC_DEFUN(LYX_PROG_CXX,
131 [AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
132 AC_MSG_CHECKING([for a working C++ compiler])
133 LYX_SEARCH_PROG(CXX, $CCC g++ gcc c++ CC cxx xlC cc++, LYX_PROG_CXX_WORKS)
135 if test -z "$CXX" ; then
136 AC_ERROR([Unable to find a working C++ compiler])
142 AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
143 AC_MSG_RESULT($cross_compiling)
147 dnl We might want to get or shut warnings.
148 AC_ARG_WITH(warnings,
149 [ --with-warnings tell the compiler to display more warnings],,
150 [ if test $lyx_devel_version = yes -o $lyx_prerelease = yes && test $ac_cv_prog_gxx = yes ; then
155 if test x$with_warnings = xyes ; then
156 lyx_flags="$lyx_flags warnings"
157 AC_DEFINE(WITH_WARNINGS, 1,
158 [Define this if you want to see the warning directives put here and
159 there by the developpers to get attention])
162 # optimize less for development versions
163 if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
169 # set the debug flags correctly.
170 if test $ac_cv_prog_gxx = yes; then
172 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
173 dnl plays around with CXXFLAGS (such as to build both debugging and
174 dnl normal versions of a library), tasteless as that idea is.
175 ac_test_CXXFLAGS="${CXXFLAGS+set}"
176 ac_save_CXXFLAGS="$CXXFLAGS"
178 dnl Check the version of g++
179 gxx_version=`g++ --version`
182 if test "$ac_test_CXXFLAGS" = set; then
183 CXXFLAGS="$ac_save_CXXFLAGS"
184 elif test $ac_cv_prog_cxx_g = yes; then
186 2.7*) CXXFLAGS="$lyx_opt";;
187 2.95.1) CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti";;
188 2.95.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
189 *) CXXFLAGS="-g $lyx_opt -fno-exceptions -fno-rtti";;
194 if test x$with_warnings = xyes ; then
196 2.95.*) CXXFLAGS="$CXXFLAGS -Wall -W -Wconversion";;
197 *) CXXFLAGS="$CXXFLAGS -ansi -Wall -W";;
199 if test $lyx_devel_version = yes ; then
202 *) CXXFLAGS="$CXXFLAGS -pedantic";;
208 test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
213 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
215 AC_DEFUN(LYX_CXX_RTTI,[
216 ### Check whether the compiler supports runtime type information
217 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
221 virtual int tag() { return 0; }
223 class derived1 : public rtti {
225 int tag() { return 1; }
227 class derived2 : public rtti {
229 int tag() { return 2; }
232 derived1 * foo1 = new derived1();
233 derived2 * foo2 = new derived2();
235 derived1 * bar1 = dynamic_cast<derived1 *>(bar);
239 bar1 = dynamic_cast<derived1 *>(bar);
244 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
246 if test x$lyx_cv_rtti = xyes ; then
247 AC_DEFINE(HAVE_RTTI, 1,
248 [Define to 1 if your compiler supports runtime type information])
252 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
253 dnl understands the "explicit" directive.
254 AC_DEFUN(LYX_CXX_EXPLICIT,[
255 ### Check whether the compiler understands the keyword `explicit'
256 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
261 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
263 if test $lyx_cv_explicit = no ; then
264 AC_DEFINE(explicit,[ ],
265 [Define to nothing if your compiler does not understand the
266 'explicit' directive])
270 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
271 dnl has a working stl stack template
272 AC_DEFUN(LYX_CXX_STL_STACK,[
273 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
280 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
282 if test $lyx_cv_broken_stack = yes ; then
283 AC_DEFINE(BROKEN_STL_STACK, 1,
284 [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
289 dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming
290 dnl count template, if not the old HP version is assumed.
291 AC_DEFUN(LYX_STD_COUNT,[
292 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
298 int countChar(string const & a, char const c)
300 return count(a.begin(), a.end(), c);
304 int i = countChar(a, 'l');
305 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
307 if test $lyx_cv_std_count = yes ; then
308 AC_DEFINE(HAVE_STD_COUNT, 1,
309 [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.])
313 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
314 dnl supports modern STL streams
315 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
316 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
320 std::streambuf * test = std::cerr.rdbuf();
322 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
324 if test $lyx_cv_modern_streams = yes ; then
325 AC_DEFINE(MODERN_STL_STREAMS, 1,
326 [Define if you have modern standard-compliant STL streams])
330 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
331 dnl has a working stl string container, the check is really stupid
332 dnl and could need some improvement.
333 AC_DEFUN(LYX_CXX_STL_STRING,[
334 AC_REQUIRE([LYX_PROG_CXX])
335 AC_MSG_CHECKING(whether the included std::string should be used)
336 AC_ARG_WITH(included-string,
337 [ --with-included-string use LyX string class instead of STL string],
338 [with_included_string=$withval],
343 string a("hello there");
348 with_included_string=no
350 with_included_string=yes
354 if test x$with_included_string = xyes ; then
355 AC_DEFINE(USE_INCLUDED_STRING, 1,
356 [Define to use the lyxstring class bundled with LyX.])
357 lyx_flags="$lyx_flags included-string"
359 AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
360 AC_MSG_RESULT([$with_included_string])
364 dnl Usage: LYX_REGEX : checks if the header regex.h is available
365 dnl if it is not available the automake variable USE_REGEX will be
366 dnl defined and the regex.h and regex.c that we provide will be used.
368 AC_CHECK_HEADERS(regex.h, lyx_regex=no, lyx_regex=yes)
369 AM_CONDITIONAL(USE_REGEX, test x$lyx_regex = xyes)
374 AC_DEFUN(LYX_CXX_MUTABLE, [
375 AC_REQUIRE([LYX_PROG_CXX])
376 AC_MSG_CHECKING(if C++ compiler supports mutable)
382 void foo() const { c=0; }
387 AC_DEFINE(HAVE_MUTABLE, 1,
388 [Defined if you compiler supports 'mutable'.])
392 AC_MSG_RESULT([$ac_mutable])
397 AC_DEFUN(LYX_CXX_PARTIAL, [
398 AC_REQUIRE([LYX_PROG_CXX])
399 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
402 template<class T, class K>
406 template<class T> class k<void,T> { };
411 ac_partial_specialization=yes
412 AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1,
413 [Defined if your compiler supports partial specialization.])
415 ac_partial_specialization=no
417 AC_MSG_RESULT([$ac_partial_specialization])
421 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
422 dnl has a correct namespace handling and define CXX_WORKING_NAMESPACES
423 dnl if true. This macro does not do a thourough test, but it should be
424 dnl good enough to suit our needs.
425 AC_DEFUN(LYX_CXX_NAMESPACES,[
426 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
433 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
435 if test $lyx_cv_cxx_namespace = yes ; then
436 AC_DEFINE(CXX_WORKING_NAMESPACES, 1,
437 [Define if your C++ compiler has correct support for namespaces])
441 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
442 dnl provides wrappers for C headers and use our alternate version otherwise.
443 AC_DEFUN(LYX_CXX_CHEADERS,[
444 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
454 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
455 if test $lyx_cv_cxx_cheaders = no ; then
456 LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)
460 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
461 AC_DEFUN(LYX_PATH_XPM,[
462 ### Check for Xpm library
463 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
464 [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
466 ### Check for Xpm headers
467 lyx_cv_xpm_h_location="<xpm.h>"
468 AC_CHECK_HEADER(X11/xpm.h,[
469 ac_cv_header_xpm_h=yes
470 lyx_cv_xpm_h_location="<X11/xpm.h>"],[
471 AC_CHECK_HEADER(xpm.h,[],[
472 LYX_LIB_ERROR(xpm.h,Xpm)])])
473 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
475 ### Test for the header version
476 if test $ac_cv_header_xpm_h = yes; then
477 AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
478 [ cat > conftest.$ac_ext <<EOF
479 #line __oline__ "configure"
480 #include "confdefs.h"
482 #include XPM_H_LOCATION
483 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
485 eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
486 grep '^"%%%"' 2>/dev/null | \
487 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
488 case "$lyx_cv_xpmr" in
490 [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
491 lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
495 lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
497 case "$lyx_cv_xpmr" in
499 [789]|[0-9][0-9]*) ;;
501 *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old.
502 If you experience strange crashes with LyX, try to upgrade
503 to at least version 4.7 (aka 3.4g).
504 If you have installed a newer version of the library, check whether you
505 have an old xpm.h header file in your include path.]);;
510 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
511 AC_DEFUN(LYX_PATH_XFORMS,[
512 ### Check for xforms library
513 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS",
514 [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS",
515 [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS)
517 ### Check for xforms headers
518 lyx_cv_forms_h_location="<forms.h>"
519 AC_CHECK_HEADER(X11/forms.h,[
520 ac_cv_header_forms_h=yes
521 lyx_cv_forms_h_location="<X11/forms.h>"],[
522 AC_CHECK_HEADER(forms.h,[],[
523 LYX_LIB_ERROR(forms.h,forms)])])
524 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
525 if test $ac_cv_header_forms_h = yes; then
526 AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
527 [ cat > conftest.$ac_ext <<EOF
528 #line __oline__ "configure"
529 #include "confdefs.h"
531 #include FORMS_H_LOCATION
532 #if ! defined(FL_INCLUDE_VERSION)
535 "%%%"FL_VERSION.FL_REVISION"%%%"
538 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
539 grep '^"%%%"' 2>/dev/null | \
540 sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
542 case "$lyx_cv_xfversion" in
543 "(unknown)"|0.82|0.83|0.84|0.85)
545 Version $lyx_cv_xfversion of xforms is not compatible with LyX.
546 This version of LyX works best with version 0.88[,] although it
547 supports also versions 0.81[,] 0.86 and 0.87.) ;;
550 While LyX is compatible with version $lyx_cv_xfversion of xforms[,]
551 it is recommended that you upgrade to version 0.88.) ;;
553 0.89) LYX_WARNING(dnl
554 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
555 it is an unproven version and might still have some bugs. If you
556 have problems[,] please use version 0.88 instead.) ;;
558 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,]
559 since it is newer than 0.88. You might have slight problems with it.);;
564 dnl Usage: LYX_HPUX Checks for HP-UX and update CXXFLAGS accordingly
566 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
567 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
568 os=`uname -s | tr '[A-Z]' '[a-z]'`
570 test "$os" = hp-ux && ac_cv_hpux=yes])
571 if test "$ac_cv_hpux" = yes; then
572 test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
576 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
579 [#The headers are not correct under SunOS4
580 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
582 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
583 changequote([, ]) dnl
585 test "$os" = SunOS4 && ac_cv_sunos4=yes])
586 if test "$ac_cv_sunos4" = yes; then
587 test "x$GXX" = xyes && lyx_broken_headers=yes
591 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
594 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
596 if test `uname -s` != "SCO_SV"; then
597 lyx_machine_rel=`uname -m`:`uname -r`
598 if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
600 if test -f /usr/options/cb.name; then
602 elif /bin/uname -X 2>/dev/null >/dev/null ; then
607 if test "$ac_cv_sco" = yes; then
608 test "x$GXX" = xyes && lyx_broken_headers=yes
611 dnl Usage: LYX_FUNC_PUTENV_ARGTYPE
612 dnl Checks whether putenv() takes 'char const *' or 'char *' as
613 dnl argument. This is needed because Solaris 7 (wrongly?) uses 'char *',
614 dnl while everybody else uses the former...
615 AC_DEFUN(LYX_FUNC_PUTENV_ARGTYPE,
616 [AC_MSG_CHECKING([type of argument for putenv()])
617 AC_CACHE_VAL(lyx_cv_func_putenv_arg,dnl
620 extern int putenv(const char *);],,dnl
621 [lyx_cv_func_putenv_arg='char const *'],[lyx_cv_func_putenv_arg='char *'])])
622 AC_MSG_RESULT($lyx_cv_func_putenv_arg)
623 AC_DEFINE_UNQUOTED(PUTENV_TYPE_ARG,$lyx_cv_func_putenv_arg,dnl
624 [Define to the type of the argument of putenv(). Needed on Solaris 7.])])
627 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value,
628 dnl [default-yes-value])
629 dnl Adds a --with-'dir-name' option (described by 'desc') and puts the
630 dnl resulting directory name in 'dir-var-name'.
631 AC_DEFUN(LYX_WITH_DIR,[
632 AC_ARG_WITH($1,[ --with-$1 specify $2])
633 AC_MSG_CHECKING([for $2])
634 if test -z "$with_$3"; then
635 AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
637 test "x$with_$3" = xyes && with_$3=$5
640 AC_MSG_RESULT($lyx_cv_$3)])
643 dnl Usage: LYX_LOOP_DIR(value,action)
644 dnl Executes action for values of variable `dir' in `values'. `values' can
645 dnl use ":" as a separator.
646 AC_DEFUN(LYX_LOOP_DIR,[
647 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
648 for dir in `eval "echo $1"`; do
649 if test ! "$dir" = NONE; then
650 test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
658 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable
660 AC_DEFUN(LYX_ADD_LIB_DIR,[
662 if test "`(uname) 2>/dev/null`" = SunOS &&
663 uname -r | grep '^5' >/dev/null; then
664 if test $ac_cv_prog_gxx = yes ; then
665 $1="${$1} -Wl[,]-R$2"
672 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable
674 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
676 ### Check for a headers existence and location iff it exists
677 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
678 ## It almost works. I've tried a few variations but they give errors
679 ## of one sort or other: bad substitution or file not found etc. The
680 ## actual header _is_ found though and the cache variable is set however
681 ## the reported setting (on screen) is equal to $ac_safe for some unknown
683 AC_DEFUN(LYX_PATH_HEADER,
684 [ AC_CHECK_HEADER($1,[
685 ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
686 AC_CACHE_CHECK([path to $1],lyx_cv_path_$ac_safe,
687 [ cat > conftest.$ac_ext <<EOF
688 #line __oline__ "configure"
689 #include "confdefs.h"
693 lyx_cv_path_$ac_safe=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
694 grep $1 2>/dev/null | \
695 sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
697 AC_DEFINE_UNQUOTED(${ac_tr_safe},${lyx_cv_path_$ac_safe})])
699 ### end of LYX_PATH_HEADER
701 ### Check for stl_string_fwd.h existence and location if it exists
702 AC_DEFUN(LYX_STL_STRING_FWD,
703 [ AC_CHECK_HEADER(stl_string_fwd.h,[
704 AC_CACHE_CHECK([path to stl_string_fwd.h],lyx_cv_path_stl_string_fwd_h,
705 [ cat > conftest.$ac_ext <<EOF
706 #line __oline__ "configure"
707 #include "confdefs.h"
709 #include <stl_string_fwd.h>
711 lyx_cv_path_stl_string_fwd_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
712 grep 'stl_string_fwd.h' 2>/dev/null | \
713 sed -e 's/.*\(".*stl_string_fwd.h"\).*/\1/' -e "1q"`
715 AC_DEFINE_UNQUOTED(STL_STRING_FWD_H_LOCATION,$lyx_cv_path_stl_string_fwd_h,
716 [define this to the location of stl_string_fwd.h to be used with #include,
717 NOTE: Do not set it to <stl_string_fwd.h> as that will find the LyX
718 supplied version of the header.
719 e.g. <../include/stl_string_fwd.h> or better yet use an absolute path])])
723 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
724 dnl if the cache file is inconsistent with the current host,
725 dnl target and build system types, execute CMD or print a default
727 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
728 AC_REQUIRE([AC_CANONICAL_SYSTEM])
729 AC_MSG_CHECKING([config.cache system type])
730 if { test x"${ac_cv_host_system_type+set}" = x"set" &&
731 test x"$ac_cv_host_system_type" != x"$host"; } ||
732 { test x"${ac_cv_build_system_type+set}" = x"set" &&
733 test x"$ac_cv_build_system_type" != x"$build"; } ||
734 { test x"${ac_cv_target_system_type+set}" = x"set" &&
735 test x"$ac_cv_target_system_type" != x"$target"; }; then
736 AC_MSG_RESULT([different])
738 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
740 AC_MSG_RESULT([same])
742 ac_cv_host_system_type="$host"
743 ac_cv_build_system_type="$build"
744 ac_cv_target_system_type="$target"
747 dnl We use this until autoconf fixes its version.
748 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
749 [AC_MSG_CHECKING([types of arguments for select()])
750 AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
751 [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
752 [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
753 [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
754 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
756 [#ifdef HAVE_SYS_TYPES_H
757 #include <sys/types.h>
759 #ifdef HAVE_SYS_TIME_H
760 #include <sys/time.h>
762 #ifdef HAVE_SYS_SELECT_H
763 #include <sys/select.h>
765 #ifdef HAVE_SYS_SOCKET_H
766 #include <sys/socket.h>
768 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
769 [ac_not_found=no ; break 3],ac_not_found=yes)
776 if test "$ac_not_found" = yes; then
777 ac_cv_func_select_arg1=int
778 ac_cv_func_select_arg234='int *'
779 ac_cv_func_select_arg5='struct timeval *'
781 AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
782 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
783 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
784 AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
787 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
788 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
789 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
791 ## This program is free software; you can redistribute it and/or modify
792 ## it under the terms of the GNU General Public License as published by
793 ## the Free Software Foundation; either version 2 of the License, or
794 ## (at your option) any later version.
796 ## This program is distributed in the hope that it will be useful, but
797 ## WITHOUT ANY WARRANTY; without even the implied warranty of
798 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
799 ## General Public License for more details.
801 ## You should have received a copy of the GNU General Public License
802 ## along with this program; if not, write to the Free Software
803 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
805 ## As a special exception to the GNU General Public License, if you
806 ## distribute this file as part of a program that contains a
807 ## configuration script generated by Autoconf, you may include it under
808 ## the same distribution terms that you use for the rest of that program.
810 # serial 40 AC_PROG_LIBTOOL
811 AC_DEFUN(AC_PROG_LIBTOOL,
812 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
814 # Save cache, so that ltconfig can load it
817 # Actually configure libtool. ac_aux_dir is where install-sh is found.
818 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
819 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
820 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
821 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
822 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
823 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
824 || AC_MSG_ERROR([libtool configure failed])
826 # Reload cache, that may have been modified by ltconfig
829 # This can be used to rebuild libtool when needed
830 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
832 # Always use our own libtool.
833 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
836 # Redirect the config.log output again, so that the ltconfig log is not
837 # clobbered by the next message.
841 AC_DEFUN(AC_LIBTOOL_SETUP,
843 AC_REQUIRE([AC_ENABLE_SHARED])dnl
844 AC_REQUIRE([AC_ENABLE_STATIC])dnl
845 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
846 AC_REQUIRE([AC_CANONICAL_HOST])dnl
847 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
848 AC_REQUIRE([AC_PROG_RANLIB])dnl
849 AC_REQUIRE([AC_PROG_CC])dnl
850 AC_REQUIRE([AC_PROG_LD])dnl
851 AC_REQUIRE([AC_PROG_NM])dnl
852 AC_REQUIRE([AC_PROG_LN_S])dnl
856 NONE) lt_target="$host" ;;
857 *) lt_target="$target" ;;
860 # Check for any special flags to pass to ltconfig.
861 libtool_flags="--cache-file=$cache_file"
862 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
863 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
864 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
865 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
866 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
867 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
868 [libtool_flags="$libtool_flags --enable-dlopen"])
869 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
870 [libtool_flags="$libtool_flags --enable-win32-dll"])
871 AC_ARG_ENABLE(libtool-lock,
872 [ --disable-libtool-lock avoid locking (might break parallel builds)])
873 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
874 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
876 # Some flags need to be propagated to the compiler or linker for good
880 # Find out which ABI we are using.
881 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
882 if AC_TRY_EVAL(ac_compile); then
883 case "`/usr/bin/file conftest.o`" in
899 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
900 SAVE_CFLAGS="$CFLAGS"
901 CFLAGS="$CFLAGS -belf"
902 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
903 [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
904 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
905 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
906 CFLAGS="$SAVE_CFLAGS"
910 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
911 [*-*-cygwin* | *-*-mingw*)
912 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
913 AC_CHECK_TOOL(AS, as, false)
914 AC_CHECK_TOOL(OBJDUMP, objdump, false)
920 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
921 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
923 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
924 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
926 # AC_ENABLE_SHARED - implement the --enable-shared flag
927 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
928 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
930 AC_DEFUN(AC_ENABLE_SHARED, [dnl
931 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
932 AC_ARG_ENABLE(shared,
933 changequote(<<, >>)dnl
934 << --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
936 [p=${PACKAGE-default}
938 yes) enable_shared=yes ;;
939 no) enable_shared=no ;;
942 # Look at the argument we got. We use all the common list separators.
943 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
944 for pkg in $enableval; do
945 if test "X$pkg" = "X$p"; then
952 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
955 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
956 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
957 AC_ENABLE_SHARED(no)])
959 # AC_ENABLE_STATIC - implement the --enable-static flag
960 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
961 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
963 AC_DEFUN(AC_ENABLE_STATIC, [dnl
964 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
965 AC_ARG_ENABLE(static,
966 changequote(<<, >>)dnl
967 << --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
969 [p=${PACKAGE-default}
971 yes) enable_static=yes ;;
972 no) enable_static=no ;;
975 # Look at the argument we got. We use all the common list separators.
976 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
977 for pkg in $enableval; do
978 if test "X$pkg" = "X$p"; then
985 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
988 # AC_DISABLE_STATIC - set the default static flag to --disable-static
989 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
990 AC_ENABLE_STATIC(no)])
993 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
994 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
995 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
997 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
998 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
999 AC_ARG_ENABLE(fast-install,
1000 changequote(<<, >>)dnl
1001 << --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
1002 changequote([, ])dnl
1003 [p=${PACKAGE-default}
1004 case "$enableval" in
1005 yes) enable_fast_install=yes ;;
1006 no) enable_fast_install=no ;;
1008 enable_fast_install=no
1009 # Look at the argument we got. We use all the common list separators.
1010 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
1011 for pkg in $enableval; do
1012 if test "X$pkg" = "X$p"; then
1013 enable_fast_install=yes
1019 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
1022 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
1023 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1024 AC_ENABLE_FAST_INSTALL(no)])
1026 # AC_PROG_LD - find the path to the GNU or non-GNU linker
1027 AC_DEFUN(AC_PROG_LD,
1028 [AC_ARG_WITH(gnu-ld,
1029 [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
1030 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
1031 AC_REQUIRE([AC_PROG_CC])dnl
1032 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1033 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1035 if test "$ac_cv_prog_gcc" = yes; then
1036 # Check if gcc -print-prog-name=ld gives a path.
1037 AC_MSG_CHECKING([for ld used by GCC])
1038 ac_prog=`($CC -print-prog-name=ld) 2>&5`
1040 # Accept absolute paths.
1042 [\\/]* | [A-Za-z]:[\\/]*)
1043 re_direlt='/[^/][^/]*/\.\./'
1045 # Canonicalize the path of ld
1046 ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
1047 while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
1048 ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
1050 test -z "$LD" && LD="$ac_prog"
1053 # If it fails, then pretend we aren't using GCC.
1057 # If it is relative, then search for the first ld in PATH.
1061 elif test "$with_gnu_ld" = yes; then
1062 AC_MSG_CHECKING([for GNU ld])
1064 AC_MSG_CHECKING([for non-GNU ld])
1066 AC_CACHE_VAL(ac_cv_path_LD,
1067 [if test -z "$LD"; then
1068 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1069 for ac_dir in $PATH; do
1070 test -z "$ac_dir" && ac_dir=.
1071 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
1072 ac_cv_path_LD="$ac_dir/$ac_prog"
1073 # Check to see if the program is GNU ld. I'd rather use --version,
1074 # but apparently some GNU ld's only accept -v.
1075 # Break only if it was the GNU/non-GNU ld that we prefer.
1076 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
1077 test "$with_gnu_ld" != no && break
1079 test "$with_gnu_ld" != yes && break
1085 ac_cv_path_LD="$LD" # Let the user override the test with a path.
1088 if test -n "$LD"; then
1093 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1097 AC_DEFUN(AC_PROG_LD_GNU,
1098 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1099 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1100 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1101 ac_cv_prog_gnu_ld=yes
1103 ac_cv_prog_gnu_ld=no
1107 # AC_PROG_NM - find the path to a BSD-compatible name lister
1108 AC_DEFUN(AC_PROG_NM,
1109 [AC_MSG_CHECKING([for BSD-compatible nm])
1110 AC_CACHE_VAL(ac_cv_path_NM,
1111 [if test -n "$NM"; then
1112 # Let the user override the test.
1115 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1116 for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1117 test -z "$ac_dir" && ac_dir=.
1118 if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1119 # Check to see if the nm accepts a BSD-compat flag.
1120 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1121 # nm: unknown option "B" ignored
1122 if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1123 ac_cv_path_NM="$ac_dir/nm -B"
1125 elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1126 ac_cv_path_NM="$ac_dir/nm -p"
1129 ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1130 continue # so that we can try to find one that supports BSD flags
1135 test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1138 AC_MSG_RESULT([$NM])
1141 # AC_CHECK_LIBM - check for math library
1142 AC_DEFUN(AC_CHECK_LIBM,
1143 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1145 case "$lt_target" in
1146 *-*-beos* | *-*-cygwin*)
1147 # These system don't have libm
1150 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1151 AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1154 AC_CHECK_LIB(m, main, LIBM="-lm")
1159 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1160 # the libltdl convenience library, adds --enable-ltdl-convenience to
1161 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1162 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1163 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1164 # '${top_builddir}/' (note the single quotes!) if your package is not
1165 # flat, and, if you're not using automake, define top_builddir as
1166 # appropriate in the Makefiles.
1167 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1168 case "$enable_ltdl_convenience" in
1169 no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1170 "") enable_ltdl_convenience=yes
1171 ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1173 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1174 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1177 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1178 # the libltdl installable library, and adds --enable-ltdl-install to
1179 # the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
1180 # is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
1181 # to be `${top_builddir}/libltdl'. Make sure you start DIR with
1182 # '${top_builddir}/' (note the single quotes!) if your package is not
1183 # flat, and, if you're not using automake, define top_builddir as
1184 # appropriate in the Makefiles.
1185 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1186 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1187 AC_CHECK_LIB(ltdl, main,
1188 [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1189 [if test x"$enable_ltdl_install" = xno; then
1190 AC_MSG_WARN([libltdl not installed, but installation disabled])
1192 enable_ltdl_install=yes
1195 if test x"$enable_ltdl_install" = x"yes"; then
1196 ac_configure_args="$ac_configure_args --enable-ltdl-install"
1197 LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1198 INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1200 ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1207 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1208 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1209 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1210 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1211 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1212 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1213 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1215 dnl This is just to silence aclocal about the macro not being used
1216 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1217 # Macro to add for using GNU gettext.
1218 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1220 # This file can be copied and used freely without restrictions. It can
1221 # be used in projects which are not available under the GNU Public License
1222 # but which still want to provide support for the GNU gettext functionality.
1223 # Please note that the actual code is *not* freely available.
1227 AC_DEFUN(AM_WITH_NLS,
1228 [AC_MSG_CHECKING([whether NLS is requested])
1229 dnl Default is enabled NLS
1231 [ --disable-nls do not use Native Language Support],
1232 USE_NLS=$enableval, USE_NLS=yes)
1233 AC_MSG_RESULT($USE_NLS)
1236 USE_INCLUDED_LIBINTL=no
1238 dnl If we use NLS figure out what method
1239 if test "$USE_NLS" = "yes"; then
1240 AC_DEFINE(ENABLE_NLS)
1241 AC_MSG_CHECKING([whether included gettext is requested])
1242 AC_ARG_WITH(included-gettext,
1243 [ --with-included-gettext use the GNU gettext library included here],
1244 nls_cv_force_use_gnu_gettext=$withval,
1245 nls_cv_force_use_gnu_gettext=no)
1246 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1248 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1249 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1250 dnl User does not insist on using GNU NLS library. Figure out what
1251 dnl to use. If gettext or catgets are available (in this order) we
1252 dnl use this. Else we have to fall back to GNU NLS library.
1253 dnl catgets is only used if permitted by option --with-catgets.
1255 nls_cv_header_libgt=
1258 AC_CHECK_HEADER(libintl.h,
1259 [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1260 [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1261 gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1263 if test "$gt_cv_func_gettext_libc" != "yes"; then
1264 AC_CHECK_LIB(intl, bindtextdomain,
1265 [AC_CACHE_CHECK([for gettext in libintl],
1266 gt_cv_func_gettext_libintl,
1267 [AC_CHECK_LIB(intl, gettext,
1268 gt_cv_func_gettext_libintl=yes,
1269 gt_cv_func_gettext_libintl=no)],
1270 gt_cv_func_gettext_libintl=no)])
1273 if test "$gt_cv_func_gettext_libc" = "yes" \
1274 || test "$gt_cv_func_gettext_libintl" = "yes"; then
1275 AC_DEFINE(HAVE_GETTEXT)
1276 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1277 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1278 if test "$MSGFMT" != "no"; then
1279 AC_CHECK_FUNCS(dcgettext)
1280 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1281 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1282 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1283 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1284 return _nl_msg_cat_cntr],
1294 if test "$CATOBJEXT" = "NONE"; then
1295 AC_MSG_CHECKING([whether catgets can be used])
1296 AC_ARG_WITH(catgets,
1297 [ --with-catgets use catgets functions if available],
1298 nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1299 AC_MSG_RESULT($nls_cv_use_catgets)
1301 if test "$nls_cv_use_catgets" = "yes"; then
1302 dnl No gettext in C library. Try catgets next.
1303 AC_CHECK_LIB(i, main)
1304 AC_CHECK_FUNC(catgets,
1305 [AC_DEFINE(HAVE_CATGETS)
1306 INTLOBJS="\$(CATOBJS)"
1307 AC_PATH_PROG(GENCAT, gencat, no)dnl
1308 if test "$GENCAT" != "no"; then
1309 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1310 if test "$GMSGFMT" = "no"; then
1311 AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1312 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1314 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1315 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1316 USE_INCLUDED_LIBINTL=yes
1320 INTLDEPS='$(top_builddir)/intl/libintl.a'
1322 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1323 nls_cv_header_intl=intl/libintl.h
1324 nls_cv_header_libgt=intl/libgettext.h
1329 if test "$CATOBJEXT" = "NONE"; then
1330 dnl Neither gettext nor catgets in included in the C library.
1331 dnl Fall back on GNU gettext library.
1332 nls_cv_use_gnu_gettext=yes
1336 if test "$nls_cv_use_gnu_gettext" = "yes"; then
1337 dnl Mark actions used to generate GNU NLS library.
1338 INTLOBJS="\$(GETTOBJS)"
1339 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1340 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1341 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1342 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1343 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1345 USE_INCLUDED_LIBINTL=yes
1349 INTLDEPS='$(top_builddir)/intl/libintl.a'
1351 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1352 nls_cv_header_intl=intl/libintl.h
1353 nls_cv_header_libgt=intl/libgettext.h
1356 dnl Test whether we really found GNU xgettext.
1357 if test "$XGETTEXT" != ":"; then
1358 dnl If it is no GNU xgettext we define it as : so that the
1359 dnl Makefiles still can work.
1360 if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1364 [found xgettext program is not GNU xgettext; ignore it])
1369 # We need to process the po/ directory.
1373 nls_cv_header_intl=intl/libintl.h
1374 nls_cv_header_libgt=intl/libgettext.h
1376 AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1378 [case "$CONFIG_FILES" in *po/Makefile.in*)
1379 sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1383 # If this is used in GNU gettext we have to set USE_NLS to `yes'
1384 # because some of the sources are only built for this goal.
1385 if test "$PACKAGE" = gettext; then
1387 USE_INCLUDED_LIBINTL=yes
1390 dnl These rules are solely for the distribution goal. While doing this
1391 dnl we only have to keep exactly one list of the available catalogs
1392 dnl in configure.in.
1393 for lang in $ALL_LINGUAS; do
1394 GMOFILES="$GMOFILES $lang.gmo"
1395 POFILES="$POFILES $lang.po"
1398 dnl Make all variables we use known to autoconf.
1399 AC_SUBST(USE_INCLUDED_LIBINTL)
1402 AC_SUBST(DATADIRNAME)
1404 AC_SUBST(INSTOBJEXT)
1412 AC_DEFUN(AM_GNU_GETTEXT,
1413 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1414 AC_REQUIRE([AC_PROG_CC])dnl
1415 AC_REQUIRE([AC_PROG_RANLIB])dnl
1416 AC_REQUIRE([AC_ISC_POSIX])dnl
1417 AC_REQUIRE([AC_HEADER_STDC])dnl
1418 AC_REQUIRE([AC_C_CONST])dnl
1419 AC_REQUIRE([AC_C_INLINE])dnl
1420 AC_REQUIRE([AC_TYPE_OFF_T])dnl
1421 AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1422 AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1423 AC_REQUIRE([AC_FUNC_MMAP])dnl
1425 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1426 unistd.h sys/param.h])
1427 AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1428 strdup __argz_count __argz_stringify __argz_next])
1430 if test "${ac_cv_func_stpcpy+set}" != "set"; then
1431 AC_CHECK_FUNCS(stpcpy)
1433 if test "${ac_cv_func_stpcpy}" = "yes"; then
1434 AC_DEFINE(HAVE_STPCPY)
1440 if test "x$CATOBJEXT" != "x"; then
1441 if test "x$ALL_LINGUAS" = "x"; then
1444 AC_MSG_CHECKING(for catalogs to be installed)
1446 dnl ============== Fix is here! ======================
1447 dnl Some sh do not like substitution in bounds of for loops
1448 dnl for lang in ${LINGUAS=$ALL_LINGUAS}; do
1449 tmplinguas=${LINGUAS=$ALL_LINGUAS}
1450 for lang in ${tmplinguas}; do
1452 case "$ALL_LINGUAS" in
1453 *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1456 LINGUAS=$NEW_LINGUAS
1457 AC_MSG_RESULT($LINGUAS)
1460 dnl Construct list of names of catalog files to be constructed.
1461 if test -n "$LINGUAS"; then
1462 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1466 dnl The reference to <locale.h> in the installed <libintl.h> file
1467 dnl must be resolved because we cannot expect the users of this
1468 dnl to define HAVE_LOCALE_H.
1469 if test $ac_cv_header_locale_h = yes; then
1470 INCLUDE_LOCALE_H="#include <locale.h>"
1473 /* The system does not provide the header <locale.h>. Take care yourself. */"
1475 AC_SUBST(INCLUDE_LOCALE_H)
1477 dnl Determine which catalog format we have (if any is needed)
1478 dnl For now we know about two different formats:
1479 dnl Linux libc-5 and the normal X/Open format
1480 test -d intl || mkdir intl
1481 if test "$CATOBJEXT" = ".cat"; then
1482 AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1484 dnl Transform the SED scripts while copying because some dumb SEDs
1485 dnl cannot handle comments.
1486 sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1488 dnl po2tbl.sed is always needed.
1489 sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1490 $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1492 dnl In the intl/Makefile.in we have a special dependency which makes
1493 dnl only sense for gettext. We comment this out for non-gettext
1495 if test "$PACKAGE" = "gettext"; then
1505 dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1506 dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1507 dnl Try to locate is.
1509 if test -n "$ac_aux_dir"; then
1510 MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1512 if test -z "$MKINSTALLDIRS"; then
1513 MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1515 AC_SUBST(MKINSTALLDIRS)
1517 dnl *** For now the libtool support in intl/Makefile is not for real.
1521 dnl Generate list of files to be processed by xgettext which will
1522 dnl be included in po/Makefile.
1523 test -d po || mkdir po
1524 if test "x$srcdir" != "x."; then
1525 if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1526 posrcprefix="$srcdir/"
1528 posrcprefix="../$srcdir/"
1534 sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1535 < $srcdir/po/POTFILES.in > po/POTFILES
1537 # Check whether LC_MESSAGES is available in <locale.h>.
1538 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1540 # This file can be copied and used freely without restrictions. It can
1541 # be used in projects which are not available under the GNU Public License
1542 # but which still want to provide support for the GNU gettext functionality.
1543 # Please note that the actual code is *not* freely available.
1547 AC_DEFUN(AM_LC_MESSAGES,
1548 [if test $ac_cv_header_locale_h = yes; then
1549 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1550 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1551 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1552 if test $am_cv_val_LC_MESSAGES = yes; then
1553 AC_DEFINE(HAVE_LC_MESSAGES)
1556 # Search path for a program which passes the given test.
1557 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1559 # This file can be copied and used freely without restrictions. It can
1560 # be used in projects which are not available under the GNU Public License
1561 # but which still want to provide support for the GNU gettext functionality.
1562 # Please note that the actual code is *not* freely available.
1566 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1567 dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1568 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
1569 [# Extract the first word of "$2", so it can be a program name with args.
1570 set dummy $2; ac_word=[$]2
1571 AC_MSG_CHECKING([for $ac_word])
1572 AC_CACHE_VAL(ac_cv_path_$1,
1575 ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1578 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1579 for ac_dir in ifelse([$5], , $PATH, [$5]); do
1580 test -z "$ac_dir" && ac_dir=.
1581 if test -f $ac_dir/$ac_word; then
1583 ac_cv_path_$1="$ac_dir/$ac_word"
1589 dnl If no 4th arg is given, leave the cache variable unset,
1590 dnl so AC_PATH_PROGS will keep looking.
1591 ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1596 if test -n "[$]$1"; then
1597 AC_MSG_RESULT([$]$1)