]> git.lyx.org Git - lyx.git/blob - acinclude.m4
More textinset fixes! Now also undo works and I removed some unneeded
[lyx.git] / acinclude.m4
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)
4
5
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,[
10 changequote(, ) dnl
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
15   lyx_devel_version=yes
16   echo "WARNING: This is a development version. Expect bugs."
17 else
18   lyx_devel_version=no
19 fi
20 if echo "$VERSION" | grep 'pre' > /dev/null ; then
21     lyx_prerelease=yes
22     echo "WARNING: This is a prerelease. Be careful and backup your documents."
23 else
24     lyx_prerelease=no
25 fi
26 changequote([, ]) dnl
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)
31 fi])
32
33 dnl Usage: LYX_ERROR(message)  Displays the warning "message" and sets the
34 dnl flag lyx_error to yes.
35 AC_DEFUN(LYX_ERROR,[
36 lyx_error_txt="$lyx_error_txt
37 ** $1
38 "
39 lyx_error=yes])
40
41
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
46 == $1
47 "
48 lyx_warning=yes])
49
50
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.])])
56
57
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
62 cat <<EOF
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)
66 $lyx_error_txt
67 $lyx_warning_txt
68 deleting cache $cache_file
69 EOF
70   rm -f $cache_file
71 else
72
73 if test x$lyx_warning = xyes; then
74 cat <<EOF
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)
78 $lyx_warning_txt
79 EOF
80 fi
81 cat <<EOF
82 Configuration of LyX was successful.  
83 Type 'make' to compile the program, 
84 and then 'make install' to install it.
85 EOF
86 fi])
87
88
89 dnl LYX_SEARCH_PROG(VARIABLE-NAME,PROGRAMS-LIST,ACTION-IF-FOUND)
90 dnl             
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
100         $1="$ac_prog"
101         break
102       fi
103     done
104     IFS="$ac_save_ifs"
105   fi
106
107   if test -n "[$]$1"; then
108     ac_result=yes
109   else
110     ac_result=no
111   fi
112   ifelse($3,,,[$3])
113   test -n "[$]$1" && break
114 done
115 ])dnl
116
117
118 AC_DEFUN(LYX_PROG_CXX_WORKS,
119 [AC_LANG_SAVE
120 AC_LANG_CPLUSPLUS
121 AC_TRY_COMPILER([class foo { int bar; }; int main(){return(0);}], ac_cv_prog_cxx_works, ac_cv_prog_cxx_cross)
122 AC_LANG_RESTORE
123 if test $ac_cv_prog_cxx_works = no; then
124   CXX=
125 fi
126 cross_compiling=$ac_cv_prog_cxx_cross
127 ])
128
129
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)
134
135 if test -z "$CXX" ; then
136   AC_ERROR([Unable to find a working C++ compiler])
137 fi
138
139 AC_SUBST(CXX)
140 AC_MSG_RESULT($CXX)
141
142 AC_MSG_CHECKING([whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
143 AC_MSG_RESULT($cross_compiling)
144
145 AC_PROG_CXX_GNU
146
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
151         with_warnings=yes;
152     else
153         with_warnings=no;
154     fi;])
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])
160 fi
161
162 # optimize less for development versions
163 if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
164   lyx_opt="-O"
165 else
166   lyx_opt="-O2"
167 fi
168
169 # set the debug flags correctly.
170 if test $ac_cv_prog_gxx = yes; then
171   GXX=yes
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"
177   CXXFLAGS=
178 dnl Check the version of g++
179   gxx_version=`g++ --version`
180   
181   AC_PROG_CXX_G
182   if test "$ac_test_CXXFLAGS" = set; then
183     CXXFLAGS="$ac_save_CXXFLAGS"
184   elif test $ac_cv_prog_cxx_g = yes; then
185     case $gxx_version in
186       2.95.1)  CXXFLAGS="-g $lyx_opt -fpermissive -fno-rtti -fno-exceptions";;
187       2.95.*)  CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
188       2.96*)   CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
189       *2.91.*) CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
190       *)       CXXFLAGS="-g $lyx_opt -fno-rtti -fno-exceptions";;
191     esac
192   else
193     CXXFLAGS="$lyx_opt"
194   fi
195   if test x$with_warnings = xyes ; then
196     case $gxx_version in
197         2.95.*) CXXFLAGS="$CXXFLAGS -W -Wall -Wconversion -Winline";;
198         2.96*)  CXXFLAGS="$CXXFLAGS -W -Wall -Wconversion";;
199         *)      CXXFLAGS="$CXXFLAGS -ansi -W -Wall -Wno-return-type";;
200     esac
201     if test $lyx_devel_version = yes ; then
202         case $gxx_version in
203             2.95.*) ;;
204             2.96*) ;;
205             *2.91*) ;;
206             *) CXXFLAGS="$CXXFLAGS -pedantic";;
207         esac
208     fi
209   fi
210 else
211   GXX=
212   test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
213 fi
214 ])dnl
215
216
217 dnl Usage: LYX_CXX_RTTI : checks whether the C++ compiler
218 dnl   supports RTTI
219 AC_DEFUN(LYX_CXX_RTTI,[
220 ### Check whether the compiler supports runtime type information
221 AC_CACHE_CHECK(whether the C++ compiler supports RTTI,lyx_cv_rtti,
222  [AC_TRY_RUN([
223 class rtti {
224 public:
225    virtual int tag() { return 0; }
226 };
227 class derived1 : public rtti {
228 public:
229     int tag() { return 1; }
230 };
231 class derived2 : public rtti {
232 public:
233     int tag() { return 2; }
234 };
235 int main() {
236     derived1 * foo1 = new derived1();
237     derived2 * foo2 = new derived2();
238     rtti * bar = foo1;
239     derived1 * bar1 = dynamic_cast<derived1 *>(bar);
240     if (bar1 == 0)
241         exit(1);
242     bar = foo2;
243     bar1 = dynamic_cast<derived1 *>(bar);
244     if (bar1 != 0)
245         exit(1);
246     return 0;
247 }
248 ],lyx_cv_rtti=yes,lyx_cv_rtti=no,lyx_cv_rtti=no)
249 ])
250 if test x$lyx_cv_rtti = xyes ; then
251   AC_DEFINE(HAVE_RTTI, 1, 
252    [Define to 1 if your compiler supports runtime type information])
253 fi])
254
255
256 dnl Usage: LYX_CXX_EXPLICIT : checks whether the C++ compiler
257 dnl   understands the "explicit" directive.
258 AC_DEFUN(LYX_CXX_EXPLICIT,[
259 ### Check whether the compiler understands the keyword `explicit'
260 AC_CACHE_CHECK(whether the C++ compiler understands explicit,lyx_cv_explicit,
261  [AC_TRY_COMPILE([
262 class Expl {
263 public:
264         explicit Expl() {};
265 };],,lyx_cv_explicit=yes,lyx_cv_explicit=no)
266 ])
267 if test $lyx_cv_explicit = no ; then
268   AC_DEFINE(explicit,[ ], 
269    [Define to nothing if your compiler does not understand the
270    'explicit' directive])
271 fi])
272
273
274 dnl Usage: LYX_CXX_STL_STACK : checks whether the C++ compiler
275 dnl   has a working stl stack template
276 AC_DEFUN(LYX_CXX_STL_STACK,[
277 AC_CACHE_CHECK(for broken STL stack template,lyx_cv_broken_stack,
278  [AC_TRY_COMPILE([
279 #include <stack>
280 using std::stack;
281 ],[
282     stack<int> stakk;
283     stakk.push(0);
284 ],lyx_cv_broken_stack=no,lyx_cv_broken_stack=yes)
285 ])
286 if test $lyx_cv_broken_stack = yes ; then
287   AC_DEFINE(BROKEN_STL_STACK, 1, 
288    [Define if you have the STL from libg++ 2.7.x, where stack<> is not defined
289    correctly])
290 fi])
291
292
293 dnl Usage: LYX_STD_COUNT : checks wherer the C++ library have a conforming
294 dnl    count template, if not the old HP version is assumed.
295 AC_DEFUN(LYX_STD_COUNT,[
296 AC_CACHE_CHECK(for conforming std::count,lyx_cv_std_count,
297  [AC_TRY_COMPILE([
298 #include <string>
299 #include <algorithm>
300 using std::string;
301 using std::count;
302 int countChar(string const & a, char const c)
303 {
304         return count(a.begin(), a.end(), c);
305 }
306 ],[
307     string a("hello");
308     int i = countChar(a, 'l');
309 ],lyx_cv_std_count=yes,lyx_cv_std_count=no)
310 ])
311 if test $lyx_cv_std_count = yes ; then
312     AC_DEFINE(HAVE_STD_COUNT, 1,
313     [Define if you have a conforming std::count template, otherwise HP version of count template is assumed.])
314 fi])
315
316
317 dnl Usage: LYX_CXX_STL_MODERN_STREAMS : checks whether the C++ compiler
318 dnl   supports modern STL streams
319 AC_DEFUN(LYX_CXX_STL_MODERN_STREAMS,[
320 AC_CACHE_CHECK(for modern STL streams,lyx_cv_modern_streams,
321  [AC_TRY_COMPILE([
322 #include <iostream>
323 ],[
324  std::streambuf * test = std::cerr.rdbuf();
325  test->pubsync();
326 ],lyx_cv_modern_streams=yes,lyx_cv_modern_streams=no)
327 ])
328 if test $lyx_cv_modern_streams = yes ; then
329   AC_DEFINE(MODERN_STL_STREAMS, 1, 
330    [Define if you have modern standard-compliant STL streams])
331 fi])
332
333
334 dnl Usage: LYX_CXX_STL_STRING : checks whether the C++ compiler
335 dnl   has a working stl string container, the check is really stupid
336 dnl   and could need some improvement.
337 AC_DEFUN(LYX_CXX_STL_STRING,[
338     AC_REQUIRE([LYX_PROG_CXX])
339     AC_MSG_CHECKING(whether the included std::string should be used)
340     AC_ARG_WITH(included-string,
341        [  --with-included-string  use LyX string class instead of STL string],
342        [with_included_string=$withval],
343        [AC_TRY_COMPILE([
344             #include <string>
345             using std::string;
346         ],[
347             string a("hello there");
348             a.clear();
349             a = "hey";
350             a.erase();
351         ],[
352             with_included_string=no
353         ],[
354             with_included_string=yes
355             
356         ])
357     ])
358     if test x$with_included_string = xyes ; then
359         AC_DEFINE(USE_INCLUDED_STRING, 1,
360             [Define to use the lyxstring class bundled with LyX.])
361             lyx_flags="$lyx_flags included-string"
362     fi
363     AM_CONDITIONAL(USE_LYXSTRING, test x$with_included_string = xyes)
364     AC_MSG_RESULT([$with_included_string])
365 ])
366
367
368 dnl Usage: LYX_REGEX : checks if the header regex.h is available
369 dnl   if it is not available the automake variable USE_REGEX will be
370 dnl   defined and the regex.h and regex.c that we provide will be used.
371 AC_DEFUN(LYX_REGEX,[
372     AC_CHECK_HEADERS(regex.h, lyx_regex=no, lyx_regex=yes)
373     AM_CONDITIONAL(USE_REGEX, test x$lyx_regex = xyes)
374 ])
375
376
377 dnl LYX_CXX_MUTABLE
378 AC_DEFUN(LYX_CXX_MUTABLE, [
379 AC_REQUIRE([LYX_PROG_CXX])
380 AC_MSG_CHECKING(if C++ compiler supports mutable)
381 AC_TRY_COMPILE(
382 [
383 class k {       
384         mutable char *c;
385 public:
386    void foo() const { c=0; }
387 };
388 ],[
389 ],[
390   ac_mutable=yes
391   AC_DEFINE(HAVE_MUTABLE, 1, 
392    [Defined if you compiler supports 'mutable'.])
393 ],[
394   ac_mutable=no
395 ]) 
396 AC_MSG_RESULT([$ac_mutable])
397 ])
398
399
400 dnl LYX_CXX_PARTIAL
401 AC_DEFUN(LYX_CXX_PARTIAL, [
402 AC_REQUIRE([LYX_PROG_CXX])
403 AC_MSG_CHECKING(if C++ compiler supports partial specialization)
404 AC_TRY_COMPILE(
405 [
406 template<class T, class K>
407 class k {       
408 public:
409 };
410 template<class T> class k<void,T> { };
411 ],[
412   k<float, float> b;
413   k<void,void> a;
414 ],[
415   ac_partial_specialization=yes
416   AC_DEFINE(HAVE_PARTIAL_SPECIALIZATION, 1, 
417    [Defined if your compiler supports partial specialization.])
418 ],[
419   ac_partial_specialization=no
420 ]) 
421 AC_MSG_RESULT([$ac_partial_specialization])
422 ])
423
424
425 dnl Usage: LYX_CXX_NAMESPACES : checks whether the C++ compiler
426 dnl   has a correct namespace handling and define CXX_WORKING_NAMESPACES 
427 dnl   if true. This macro does not do a thourough test, but it should be 
428 dnl   good enough to suit our needs.
429 AC_DEFUN(LYX_CXX_NAMESPACES,[
430 AC_CACHE_CHECK(for correct namespaces support,lyx_cv_cxx_namespace,
431  [AC_TRY_COMPILE([
432   namespace foo {
433     int bar;
434   }
435 ],[
436         foo::bar = 0;
437         return 0;
438 ],lyx_cv_cxx_namespace=yes,lyx_cv_cxx_namespace=no)
439 ])
440 if test $lyx_cv_cxx_namespace = yes ; then
441   AC_DEFINE(CXX_WORKING_NAMESPACES, 1, 
442    [Define if your C++ compiler has correct support for namespaces])
443 fi])
444
445
446 dnl Usage: LYX_CXX_CHEADERS : checks whether the C++ compiler
447 dnl   provides wrappers for C headers and use our alternate version otherwise.
448 AC_DEFUN(LYX_CXX_CHEADERS,[
449 AC_CACHE_CHECK(for C headers wrappers,lyx_cv_cxx_cheaders,
450  [AC_TRY_CPP([
451 #include <clocale>
452 #include <cctype>
453 #include <cerrno>
454 #include <cmath>
455 #include <csignal>
456 #include <cstdio>
457 #include <cstdlib>
458 #include <cstring>
459 #include <ctime>],[lyx_cv_cxx_cheaders=yes],[lyx_cv_cxx_cheaders=no])])
460 if test $lyx_cv_cxx_cheaders = no ; then
461   LYX_ADD_INC_DIR(lyx_cppflags,\$(top_srcdir)/src/cheaders)  
462 fi])
463
464
465 dnl Usage LYX_PATH_XPM: Checks for xpm library and header
466 AC_DEFUN(LYX_PATH_XPM,[
467 ### Check for Xpm library
468 AC_CHECK_LIB(Xpm, XpmCreateBufferFromImage,LYX_LIBS="-lXpm $LYX_LIBS",
469         [LYX_LIB_ERROR(libXpm,Xpm)], $LYX_LIBS)
470
471 ### Check for Xpm headers
472 lyx_cv_xpm_h_location="<xpm.h>"
473 AC_CHECK_HEADER(X11/xpm.h,[
474   ac_cv_header_xpm_h=yes
475   lyx_cv_xpm_h_location="<X11/xpm.h>"],[
476 AC_CHECK_HEADER(xpm.h,[],[
477 LYX_LIB_ERROR(xpm.h,Xpm)])])
478 AC_DEFINE_UNQUOTED(XPM_H_LOCATION,$lyx_cv_xpm_h_location)
479
480 ### Test for the header version
481 if test $ac_cv_header_xpm_h = yes; then
482   AC_CACHE_CHECK([xpm header version],lyx_cv_xpmversion,
483   [ cat > conftest.$ac_ext <<EOF
484 #line __oline__ "configure"
485 #include "confdefs.h"
486
487 #include XPM_H_LOCATION
488 "%%%"lyx_cv_xpmv=XpmVersion;lyx_cv_xpmr=XpmRevision"%%%"
489 EOF
490     eval `(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
491       grep '^"%%%"'  2>/dev/null | \
492       sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
493     case "$lyx_cv_xpmr" in
494 changequote(,)
495      [0-9]) lyxxpmr_alpha=`echo $lyx_cv_xpmr |tr 123456789 abcdefghi`
496             lyxxpmv_alpha=" (aka 3.$lyx_cv_xpmv$lyxxpmr_alpha)";;
497 changequote([,])
498          *) ;;
499     esac
500     lyx_cv_xpmversion="$lyx_cv_xpmv.$lyx_cv_xpmr$lyxxpmv_alpha"
501     rm -f conftest*])
502   case "$lyx_cv_xpmr" in 
503 changequote(,)
504         [789]|[0-9][0-9]*) ;;
505 changequote([,])
506         *) LYX_WARNING([Version $lyx_cv_xpmversion of the Xpm library is a bit old. 
507    If you experience strange crashes with LyX, try to upgrade 
508    to at least version 4.7 (aka 3.4g).
509    If you have installed a newer version of the library, check whether you
510    have an old xpm.h header file in your include path.]);;
511   esac
512 fi])
513
514
515 dnl Usage LYX_PATH_XFORMS: Checks for xforms library and flags
516 AC_DEFUN(LYX_PATH_XFORMS,[
517 ### Check for xforms library
518 AC_CHECK_LIB(forms, fl_initialize, LYX_LIBS="-lforms $LYX_LIBS", 
519   [AC_CHECK_LIB(xforms, fl_initialize, LYX_LIBS="-lxforms $LYX_LIBS", 
520     [LYX_LIB_ERROR(libforms or libxforms,xforms)], $LYX_LIBS)], $LYX_LIBS) 
521
522 ### Check for xforms headers
523 lyx_cv_forms_h_location="<forms.h>"
524 AC_CHECK_HEADER(X11/forms.h,[
525   ac_cv_header_forms_h=yes
526   lyx_cv_forms_h_location="<X11/forms.h>"],[
527 AC_CHECK_HEADER(forms.h,[],[
528 LYX_LIB_ERROR(forms.h,forms)])])
529 AC_DEFINE_UNQUOTED(FORMS_H_LOCATION,$lyx_cv_forms_h_location)
530 if test $ac_cv_header_forms_h = yes; then
531   AC_CACHE_CHECK([xforms header version],lyx_cv_xfversion,
532   [ cat > conftest.$ac_ext <<EOF
533 #line __oline__ "configure"
534 #include "confdefs.h"
535
536 #include FORMS_H_LOCATION
537 #if ! defined(FL_INCLUDE_VERSION)
538 "%%%"(unknown)"%%%"
539 #else
540 "%%%"FL_VERSION.FL_REVISION"%%%"
541 #endif
542 EOF
543 lyx_cv_xfversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
544   grep '^"%%%"'  2>/dev/null | \
545   sed -e 's/^"%%%"\(.*\)"%%%"/\1/' -e 's/ //g'`
546 rm -f conftest*])
547 case "$lyx_cv_xfversion" in 
548   "(unknown)"|0.82|0.83|0.84|0.85) 
549      LYX_ERROR(dnl
550 Version $lyx_cv_xfversion of xforms is not compatible with LyX. 
551    This version of LyX works best with version 0.88[,] although it
552    supports also versions 0.81[,] 0.86 and 0.87.) ;;
553   0.81|0.86|0.87) 
554      LYX_WARNING(dnl
555 While LyX is compatible with version $lyx_cv_xfversion of xforms[,] 
556    it is recommended that you upgrade to version 0.88.) ;;
557      0.88) ;;
558      0.89) LYX_WARNING(dnl
559 LyX should work ok with version $lyx_cv_xfversion of xforms[,] but
560 it is an unproven version and might still have some bugs. If you
561 have problems[,] please use version 0.88 instead.) ;;
562           *) LYX_WARNING(dnl
563 Version $lyx_cv_xfversion of xforms might not be compatible with LyX[,] 
564    since it is newer than 0.88. You might have slight problems with it.);;
565 esac
566 fi])
567
568
569 dnl Usage: LYX_HPUX  Checks for HP-UX and update CXXFLAGS accordingly
570 AC_DEFUN(LYX_HPUX,
571 [#It seems that HPUX requires using -fpcc-struct-return with gcc.
572 AC_CACHE_CHECK(for HP-UX,ac_cv_hpux,[
573 os=`uname -s | tr '[A-Z]' '[a-z]'`
574 ac_cv_hpux=no
575 test "$os" = hp-ux && ac_cv_hpux=yes])
576 if test "$ac_cv_hpux" = yes; then
577  test "x$GXX" = xyes && CXXFLAGS="$CXXFLAGS -fpcc-struct-return"
578 fi])
579
580
581 dnl Usage: LYX_SUNOS4 Checks for SunOS 4.x and sets the flag lyx_broken_headers
582 dnl   if necessary
583 AC_DEFUN(LYX_SUNOS4,
584 [#The headers are not correct under SunOS4
585 AC_CACHE_CHECK(for SunOS 4.x,ac_cv_sunos4,[
586 changequote(, ) dnl
587 os=`uname -a | sed -e 's/^\([^ ]*\) [^ ]* \([0-9]\)\..*/\1\2/'`
588 changequote([, ]) dnl
589 ac_cv_sunos4=no
590 test "$os" = SunOS4 && ac_cv_sunos4=yes])
591 if test "$ac_cv_sunos4" = yes; then
592  test "x$GXX" = xyes && lyx_broken_headers=yes
593 fi])
594
595
596 dnl Usage: LYX_SCO Checks for SCO and sets the flag lyx_broken_headers
597 dnl   if necessary
598 AC_DEFUN(LYX_SCO,
599 [AC_CACHE_CHECK(for SCO 3.2v4,ac_cv_sco,[
600 ac_cv_sco=no
601 if test `uname -s` != "SCO_SV"; then
602   lyx_machine_rel=`uname -m`:`uname -r`
603   if test $lyx_machine_rel = i386:3.2 || test $lyx_machine_rel = i486:3.2;
604   then
605     if test -f /usr/options/cb.name; then
606       ac_cv_sco=no
607     elif /bin/uname -X 2>/dev/null >/dev/null ; then
608       ac_cv_sco=yes
609     fi
610   fi
611 fi])
612 if test "$ac_cv_sco" = yes; then
613  test "x$GXX" = xyes && lyx_broken_headers=yes
614 fi])
615
616 dnl Usage: LYX_FUNC_PUTENV_ARGTYPE
617 dnl Checks whether putenv() takes 'char const *' or 'char *' as
618 dnl argument. This is needed because Solaris 7 (wrongly?) uses 'char *', 
619 dnl while everybody else uses the former...
620 AC_DEFUN(LYX_FUNC_PUTENV_ARGTYPE,
621 [AC_MSG_CHECKING([type of argument for putenv()])
622  AC_CACHE_VAL(lyx_cv_func_putenv_arg,dnl
623   [AC_TRY_COMPILE(dnl
624 [#include <cstdlib>],
625 [char const * foo = "bar";
626  putenv(foo);],dnl
627    [lyx_cv_func_putenv_arg='char const *'],[lyx_cv_func_putenv_arg='char *'])])
628  AC_MSG_RESULT($lyx_cv_func_putenv_arg)
629  AC_DEFINE_UNQUOTED(PUTENV_TYPE_ARG,$lyx_cv_func_putenv_arg,dnl
630    [Define to the type of the argument of putenv(). Needed on Solaris 7.])])
631
632
633 dnl Usage: LYX_WITH_DIR(dir-name,desc,dir-var-name,default-value, 
634 dnl                       [default-yes-value])  
635 dnl  Adds a --with-'dir-name' option (described by 'desc') and puts the 
636 dnl  resulting directory name in 'dir-var-name'.
637 AC_DEFUN(LYX_WITH_DIR,[
638   AC_ARG_WITH($1,[  --with-$1        specify $2])
639   AC_MSG_CHECKING([for $2])
640   if test -z "$with_$3"; then
641      AC_CACHE_VAL(lyx_cv_$3, lyx_cv_$3=$4)
642   else
643     test "x$with_$3" = xyes && with_$3=$5
644     lyx_cv_$3="$with_$3"
645   fi
646   AC_MSG_RESULT($lyx_cv_$3)])
647
648
649 dnl Usage: LYX_LOOP_DIR(value,action)
650 dnl Executes action for values of variable `dir' in `values'. `values' can 
651 dnl use ":" as a separator.
652 AC_DEFUN(LYX_LOOP_DIR,[
653 IFS="${IFS=     }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
654 for dir in `eval "echo $1"`; do
655   if test ! "$dir" = NONE; then
656     test ! -d "$dir" && AC_ERROR([\"$dir\" is not a directory])
657     $2
658   fi
659 done
660 IFS=$ac_save_ifs
661 ])
662
663
664 dnl Usage: LYX_ADD_LIB_DIR(var-name,dir) Adds a -L directive to variable 
665 dnl var-name. 
666 AC_DEFUN(LYX_ADD_LIB_DIR,[
667 $1="${$1} -L$2"
668 if test "`(uname) 2>/dev/null`" = SunOS &&
669     uname -r | grep '^5' >/dev/null; then
670   if test $ac_cv_prog_gxx = yes ; then 
671     $1="${$1} -Wl[,]-R$2" 
672   else
673     $1="${$1} -R$2"
674   fi
675 fi])
676
677
678 dnl Usage: LYX_ADD_INC_DIR(var-name,dir) Adds a -I directive to variable 
679 dnl var-name. 
680 AC_DEFUN(LYX_ADD_INC_DIR,[$1="${$1} -I$2 "])
681
682 ### Check for a headers existence and location iff it exists
683 ## This is supposed to be a generalised version of LYX_STL_STRING_FWD
684 ## It almost works.  I've tried a few variations but they give errors
685 ## of one sort or other: bad substitution or file not found etc.  The
686 ## actual header _is_ found though and the cache variable is set however
687 ## the reported setting (on screen) is equal to $ac_safe for some unknown
688 ## reason.
689 AC_DEFUN(LYX_PATH_HEADER,
690 [ AC_CHECK_HEADER($1,[
691   ac_tr_safe=PATH_`echo $ac_safe | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
692   AC_CACHE_CHECK([path to $1],lyx_cv_path_$ac_safe,
693   [ cat > conftest.$ac_ext <<EOF
694 #line __oline__ "configure"
695 #include "confdefs.h"
696
697 #include <$1>
698 EOF
699 lyx_cv_path_$ac_safe=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
700   grep $1  2>/dev/null | \
701   sed -e 's/.*\(".*$1"\).*/\1/' -e "1q"`
702 rm -f conftest*])
703   AC_DEFINE_UNQUOTED(${ac_tr_safe},${lyx_cv_path_$ac_safe})])
704 ])
705 ### end of LYX_PATH_HEADER
706
707 ### Check for stl_string_fwd.h existence and location if it exists
708 AC_DEFUN(LYX_STL_STRING_FWD,
709 [ AC_CHECK_HEADER(stl_string_fwd.h,[
710   AC_CACHE_CHECK([path to stl_string_fwd.h],lyx_cv_path_stl_string_fwd_h,
711   [ cat > conftest.$ac_ext <<EOF
712 #line __oline__ "configure"
713 #include "confdefs.h"
714
715 #include <stl_string_fwd.h>
716 EOF
717 lyx_cv_path_stl_string_fwd_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
718   grep 'stl_string_fwd.h'  2>/dev/null | \
719   sed -e 's/.*\(".*stl_string_fwd.h"\).*/\1/' -e "1q"`
720 rm -f conftest*])
721   AC_DEFINE_UNQUOTED(STL_STRING_FWD_H_LOCATION,$lyx_cv_path_stl_string_fwd_h,
722 [define this to the location of stl_string_fwd.h to be used with #include,
723   NOTE: Do not set it to <stl_string_fwd.h> as that will find the LyX
724         supplied version of the header.
725   e.g. <../include/stl_string_fwd.h> or better yet use an absolute path])])
726 ])
727
728
729 dnl AC_VALIDATE_CACHE_SYSTEM_TYPE[(cmd)]
730 dnl if the cache file is inconsistent with the current host,
731 dnl target and build system types, execute CMD or print a default
732 dnl error message.
733 AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [
734     AC_REQUIRE([AC_CANONICAL_SYSTEM])
735     AC_MSG_CHECKING([config.cache system type])
736     if { test x"${ac_cv_host_system_type+set}" = x"set" &&
737          test x"$ac_cv_host_system_type" != x"$host"; } ||
738        { test x"${ac_cv_build_system_type+set}" = x"set" &&
739          test x"$ac_cv_build_system_type" != x"$build"; } ||
740        { test x"${ac_cv_target_system_type+set}" = x"set" &&
741          test x"$ac_cv_target_system_type" != x"$target"; }; then
742         AC_MSG_RESULT([different])
743         ifelse($#, 1, [$1],
744                 [AC_MSG_ERROR(["you must remove config.cache and restart configure"])])
745     else
746         AC_MSG_RESULT([same])
747     fi
748     ac_cv_host_system_type="$host"
749     ac_cv_build_system_type="$build"
750     ac_cv_target_system_type="$target"
751 ])
752
753 dnl We use this until autoconf fixes its version.
754 AC_DEFUN(LYX_FUNC_SELECT_ARGTYPES,
755 [AC_MSG_CHECKING([types of arguments for select()])
756  AC_CACHE_VAL(ac_cv_func_select_arg234,dnl
757  [AC_CACHE_VAL(ac_cv_func_select_arg1,dnl
758   [AC_CACHE_VAL(ac_cv_func_select_arg5,dnl
759    [for ac_cv_func_select_arg234 in 'fd_set *' 'int *' 'void *'; do
760      for ac_cv_func_select_arg1 in 'int' 'size_t' 'unsigned long' 'unsigned'; do      for ac_cv_func_select_arg5 in 'struct timeval *' 'const struct timeval *'; do
761        AC_TRY_COMPILE(dnl
762 [#ifdef HAVE_SYS_TYPES_H
763 #include <sys/types.h>
764 #endif
765 #ifdef HAVE_SYS_TIME_H
766 #include <sys/time.h>
767 #endif
768 #ifdef HAVE_SYS_SELECT_H
769 #include <sys/select.h>
770 #endif
771 #ifdef HAVE_SYS_SOCKET_H
772 #include <sys/socket.h>
773 #endif
774 extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
775         [ac_not_found=no ; break 3],ac_not_found=yes)
776       done
777      done
778     done
779    ])dnl AC_CACHE_VAL
780   ])dnl AC_CACHE_VAL
781  ])dnl AC_CACHE_VAL
782  if test "$ac_not_found" = yes; then
783   ac_cv_func_select_arg1=int 
784   ac_cv_func_select_arg234='int *' 
785   ac_cv_func_select_arg5='struct timeval *'
786  fi
787  AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5])
788  AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG1,$ac_cv_func_select_arg1)
789  AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG234,($ac_cv_func_select_arg234))
790  AC_DEFINE_UNQUOTED(SELECT_TYPE_ARG5,($ac_cv_func_select_arg5))
791 ])
792
793 ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
794 ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
795 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
796 ##
797 ## This program is free software; you can redistribute it and/or modify
798 ## it under the terms of the GNU General Public License as published by
799 ## the Free Software Foundation; either version 2 of the License, or
800 ## (at your option) any later version.
801 ##
802 ## This program is distributed in the hope that it will be useful, but
803 ## WITHOUT ANY WARRANTY; without even the implied warranty of
804 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
805 ## General Public License for more details.
806 ##
807 ## You should have received a copy of the GNU General Public License
808 ## along with this program; if not, write to the Free Software
809 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
810 ##
811 ## As a special exception to the GNU General Public License, if you
812 ## distribute this file as part of a program that contains a
813 ## configuration script generated by Autoconf, you may include it under
814 ## the same distribution terms that you use for the rest of that program.
815
816 # serial 40 AC_PROG_LIBTOOL
817 AC_DEFUN(AC_PROG_LIBTOOL,
818 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
819
820 # Save cache, so that ltconfig can load it
821 AC_CACHE_SAVE
822
823 # Actually configure libtool.  ac_aux_dir is where install-sh is found.
824 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
825 LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
826 LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
827 DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
828 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
829 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
830 || AC_MSG_ERROR([libtool configure failed])
831
832 # Reload cache, that may have been modified by ltconfig
833 AC_CACHE_LOAD
834
835 # This can be used to rebuild libtool when needed
836 LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
837
838 # Always use our own libtool.
839 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
840 AC_SUBST(LIBTOOL)dnl
841
842 # Redirect the config.log output again, so that the ltconfig log is not
843 # clobbered by the next message.
844 exec 5>>./config.log
845 ])
846
847 AC_DEFUN(AC_LIBTOOL_SETUP,
848 [AC_PREREQ(2.13)dnl
849 AC_REQUIRE([AC_ENABLE_SHARED])dnl
850 AC_REQUIRE([AC_ENABLE_STATIC])dnl
851 AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
852 AC_REQUIRE([AC_CANONICAL_HOST])dnl
853 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
854 AC_REQUIRE([AC_PROG_RANLIB])dnl
855 AC_REQUIRE([AC_PROG_CC])dnl
856 AC_REQUIRE([AC_PROG_LD])dnl
857 AC_REQUIRE([AC_PROG_NM])dnl
858 AC_REQUIRE([AC_PROG_LN_S])dnl
859 dnl
860
861 case "$target" in
862 NONE) lt_target="$host" ;;
863 *) lt_target="$target" ;;
864 esac
865
866 # Check for any special flags to pass to ltconfig.
867 libtool_flags="--cache-file=$cache_file"
868 test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
869 test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
870 test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
871 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
872 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
873 ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
874 [libtool_flags="$libtool_flags --enable-dlopen"])
875 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
876 [libtool_flags="$libtool_flags --enable-win32-dll"])
877 AC_ARG_ENABLE(libtool-lock,
878   [  --disable-libtool-lock  avoid locking (might break parallel builds)])
879 test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
880 test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
881
882 # Some flags need to be propagated to the compiler or linker for good
883 # libtool support.
884 case "$lt_target" in
885 *-*-irix6*)
886   # Find out which ABI we are using.
887   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
888   if AC_TRY_EVAL(ac_compile); then
889     case "`/usr/bin/file conftest.o`" in
890     *32-bit*)
891       LD="${LD-ld} -32"
892       ;;
893     *N32*)
894       LD="${LD-ld} -n32"
895       ;;
896     *64-bit*)
897       LD="${LD-ld} -64"
898       ;;
899     esac
900   fi
901   rm -rf conftest*
902   ;;
903
904 *-*-sco3.2v5*)
905   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
906   SAVE_CFLAGS="$CFLAGS"
907   CFLAGS="$CFLAGS -belf"
908   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
909     [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
910   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
911     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
912     CFLAGS="$SAVE_CFLAGS"
913   fi
914   ;;
915
916 ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
917 [*-*-cygwin* | *-*-mingw*)
918   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
919   AC_CHECK_TOOL(AS, as, false)
920   AC_CHECK_TOOL(OBJDUMP, objdump, false)
921   ;;
922 ])
923 esac
924 ])
925
926 # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
927 AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
928
929 # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
930 AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
931
932 # AC_ENABLE_SHARED - implement the --enable-shared flag
933 # Usage: AC_ENABLE_SHARED[(DEFAULT)]
934 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
935 #   `yes'.
936 AC_DEFUN(AC_ENABLE_SHARED, [dnl
937 define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
938 AC_ARG_ENABLE(shared,
939 changequote(<<, >>)dnl
940 <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
941 changequote([, ])dnl
942 [p=${PACKAGE-default}
943 case "$enableval" in
944 yes) enable_shared=yes ;;
945 no) enable_shared=no ;;
946 *)
947   enable_shared=no
948   # Look at the argument we got.  We use all the common list separators.
949   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
950   for pkg in $enableval; do
951     if test "X$pkg" = "X$p"; then
952       enable_shared=yes
953     fi
954   done
955   IFS="$ac_save_ifs"
956   ;;
957 esac],
958 enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
959 ])
960
961 # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
962 AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
963 AC_ENABLE_SHARED(no)])
964
965 # AC_ENABLE_STATIC - implement the --enable-static flag
966 # Usage: AC_ENABLE_STATIC[(DEFAULT)]
967 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
968 #   `yes'.
969 AC_DEFUN(AC_ENABLE_STATIC, [dnl
970 define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
971 AC_ARG_ENABLE(static,
972 changequote(<<, >>)dnl
973 <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
974 changequote([, ])dnl
975 [p=${PACKAGE-default}
976 case "$enableval" in
977 yes) enable_static=yes ;;
978 no) enable_static=no ;;
979 *)
980   enable_static=no
981   # Look at the argument we got.  We use all the common list separators.
982   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
983   for pkg in $enableval; do
984     if test "X$pkg" = "X$p"; then
985       enable_static=yes
986     fi
987   done
988   IFS="$ac_save_ifs"
989   ;;
990 esac],
991 enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
992 ])
993
994 # AC_DISABLE_STATIC - set the default static flag to --disable-static
995 AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
996 AC_ENABLE_STATIC(no)])
997
998
999 # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
1000 # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
1001 #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
1002 #   `yes'.
1003 AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
1004 define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
1005 AC_ARG_ENABLE(fast-install,
1006 changequote(<<, >>)dnl
1007 <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
1008 changequote([, ])dnl
1009 [p=${PACKAGE-default}
1010 case "$enableval" in
1011 yes) enable_fast_install=yes ;;
1012 no) enable_fast_install=no ;;
1013 *)
1014   enable_fast_install=no
1015   # Look at the argument we got.  We use all the common list separators.
1016   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
1017   for pkg in $enableval; do
1018     if test "X$pkg" = "X$p"; then
1019       enable_fast_install=yes
1020     fi
1021   done
1022   IFS="$ac_save_ifs"
1023   ;;
1024 esac],
1025 enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
1026 ])
1027
1028 # AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
1029 AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1030 AC_ENABLE_FAST_INSTALL(no)])
1031
1032 # AC_PROG_LD - find the path to the GNU or non-GNU linker
1033 AC_DEFUN(AC_PROG_LD,
1034 [AC_ARG_WITH(gnu-ld,
1035 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
1036 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
1037 AC_REQUIRE([AC_PROG_CC])dnl
1038 AC_REQUIRE([AC_CANONICAL_HOST])dnl
1039 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
1040 ac_prog=ld
1041 if test "$ac_cv_prog_gcc" = yes; then
1042   # Check if gcc -print-prog-name=ld gives a path.
1043   AC_MSG_CHECKING([for ld used by GCC])
1044   ac_prog=`($CC -print-prog-name=ld) 2>&5`
1045   case "$ac_prog" in
1046     # Accept absolute paths.
1047 changequote(,)dnl
1048     [\\/]* | [A-Za-z]:[\\/]*)
1049       re_direlt='/[^/][^/]*/\.\./'
1050 changequote([,])dnl
1051       # Canonicalize the path of ld
1052       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
1053       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
1054         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
1055       done
1056       test -z "$LD" && LD="$ac_prog"
1057       ;;
1058   "")
1059     # If it fails, then pretend we aren't using GCC.
1060     ac_prog=ld
1061     ;;
1062   *)
1063     # If it is relative, then search for the first ld in PATH.
1064     with_gnu_ld=unknown
1065     ;;
1066   esac
1067 elif test "$with_gnu_ld" = yes; then
1068   AC_MSG_CHECKING([for GNU ld])
1069 else
1070   AC_MSG_CHECKING([for non-GNU ld])
1071 fi
1072 AC_CACHE_VAL(ac_cv_path_LD,
1073 [if test -z "$LD"; then
1074   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1075   for ac_dir in $PATH; do
1076     test -z "$ac_dir" && ac_dir=.
1077     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
1078       ac_cv_path_LD="$ac_dir/$ac_prog"
1079       # Check to see if the program is GNU ld.  I'd rather use --version,
1080       # but apparently some GNU ld's only accept -v.
1081       # Break only if it was the GNU/non-GNU ld that we prefer.
1082       if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
1083         test "$with_gnu_ld" != no && break
1084       else
1085         test "$with_gnu_ld" != yes && break
1086       fi
1087     fi
1088   done
1089   IFS="$ac_save_ifs"
1090 else
1091   ac_cv_path_LD="$LD" # Let the user override the test with a path.
1092 fi])
1093 LD="$ac_cv_path_LD"
1094 if test -n "$LD"; then
1095   AC_MSG_RESULT($LD)
1096 else
1097   AC_MSG_RESULT(no)
1098 fi
1099 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
1100 AC_PROG_LD_GNU
1101 ])
1102
1103 AC_DEFUN(AC_PROG_LD_GNU,
1104 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
1105 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
1106 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
1107   ac_cv_prog_gnu_ld=yes
1108 else
1109   ac_cv_prog_gnu_ld=no
1110 fi])
1111 ])
1112
1113 # AC_PROG_NM - find the path to a BSD-compatible name lister
1114 AC_DEFUN(AC_PROG_NM,
1115 [AC_MSG_CHECKING([for BSD-compatible nm])
1116 AC_CACHE_VAL(ac_cv_path_NM,
1117 [if test -n "$NM"; then
1118   # Let the user override the test.
1119   ac_cv_path_NM="$NM"
1120 else
1121   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
1122   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
1123     test -z "$ac_dir" && ac_dir=.
1124     if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
1125       # Check to see if the nm accepts a BSD-compat flag.
1126       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
1127       #   nm: unknown option "B" ignored
1128       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1129         ac_cv_path_NM="$ac_dir/nm -B"
1130         break
1131       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
1132         ac_cv_path_NM="$ac_dir/nm -p"
1133         break
1134       else
1135         ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
1136         continue # so that we can try to find one that supports BSD flags
1137       fi
1138     fi
1139   done
1140   IFS="$ac_save_ifs"
1141   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
1142 fi])
1143 NM="$ac_cv_path_NM"
1144 AC_MSG_RESULT([$NM])
1145 ])
1146
1147 # AC_CHECK_LIBM - check for math library
1148 AC_DEFUN(AC_CHECK_LIBM,
1149 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1150 LIBM=
1151 case "$lt_target" in
1152 *-*-beos* | *-*-cygwin*)
1153   # These system don't have libm
1154   ;;
1155 *-ncr-sysv4.3*)
1156   AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
1157   AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
1158   ;;
1159 *)
1160   AC_CHECK_LIB(m, main, LIBM="-lm")
1161   ;;
1162 esac
1163 ])
1164
1165 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
1166 # the libltdl convenience library, adds --enable-ltdl-convenience to
1167 # the configure arguments.  Note that LIBLTDL is not AC_SUBSTed, nor
1168 # is AC_CONFIG_SUBDIRS called.  If DIR is not provided, it is assumed
1169 # to be `${top_builddir}/libltdl'.  Make sure you start DIR with
1170 # '${top_builddir}/' (note the single quotes!) if your package is not
1171 # flat, and, if you're not using automake, define top_builddir as
1172 # appropriate in the Makefiles.
1173 AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1174   case "$enable_ltdl_convenience" in
1175   no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
1176   "") enable_ltdl_convenience=yes
1177       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
1178   esac
1179   LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
1180   INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1181 ])
1182
1183 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
1184 # the libltdl installable library, and adds --enable-ltdl-install to
1185 # the configure arguments.  Note that LIBLTDL is not AC_SUBSTed, nor
1186 # is AC_CONFIG_SUBDIRS called.  If DIR is not provided, it is assumed
1187 # to be `${top_builddir}/libltdl'.  Make sure you start DIR with
1188 # '${top_builddir}/' (note the single quotes!) if your package is not
1189 # flat, and, if you're not using automake, define top_builddir as
1190 # appropriate in the Makefiles.
1191 # In the future, this macro may have to be called after AC_PROG_LIBTOOL.
1192 AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
1193   AC_CHECK_LIB(ltdl, main,
1194   [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
1195   [if test x"$enable_ltdl_install" = xno; then
1196      AC_MSG_WARN([libltdl not installed, but installation disabled])
1197    else
1198      enable_ltdl_install=yes
1199    fi
1200   ])
1201   if test x"$enable_ltdl_install" = x"yes"; then
1202     ac_configure_args="$ac_configure_args --enable-ltdl-install"
1203     LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
1204     INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
1205   else
1206     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
1207     LIBLTDL="-lltdl"
1208     INCLTDL=
1209   fi
1210 ])
1211
1212 dnl old names
1213 AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
1214 AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
1215 AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
1216 AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
1217 AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
1218 AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
1219 AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
1220
1221 dnl This is just to silence aclocal about the macro not being used
1222 ifelse([AC_DISABLE_FAST_INSTALL])dnl
1223 # Macro to add for using GNU gettext.
1224 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1225 #
1226 # This file can be copied and used freely without restrictions.  It can
1227 # be used in projects which are not available under the GNU Public License
1228 # but which still want to provide support for the GNU gettext functionality.
1229 # Please note that the actual code is *not* freely available.
1230
1231 # serial 5
1232
1233 AC_DEFUN(AM_WITH_NLS,
1234   [AC_MSG_CHECKING([whether NLS is requested])
1235     dnl Default is enabled NLS
1236     AC_ARG_ENABLE(nls,
1237       [  --disable-nls           do not use Native Language Support],
1238       USE_NLS=$enableval, USE_NLS=yes)
1239     AC_MSG_RESULT($USE_NLS)
1240     AC_SUBST(USE_NLS)
1241
1242     USE_INCLUDED_LIBINTL=no
1243
1244     dnl If we use NLS figure out what method
1245     if test "$USE_NLS" = "yes"; then
1246       AC_DEFINE(ENABLE_NLS)
1247       AC_MSG_CHECKING([whether included gettext is requested])
1248       AC_ARG_WITH(included-gettext,
1249         [  --with-included-gettext use the GNU gettext library included here],
1250         nls_cv_force_use_gnu_gettext=$withval,
1251         nls_cv_force_use_gnu_gettext=no)
1252       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
1253
1254       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
1255       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
1256         dnl User does not insist on using GNU NLS library.  Figure out what
1257         dnl to use.  If gettext or catgets are available (in this order) we
1258         dnl use this.  Else we have to fall back to GNU NLS library.
1259         dnl catgets is only used if permitted by option --with-catgets.
1260         nls_cv_header_intl=
1261         nls_cv_header_libgt=
1262         CATOBJEXT=NONE
1263
1264         AC_CHECK_HEADER(libintl.h,
1265           [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
1266             [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
1267                gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
1268
1269            if test "$gt_cv_func_gettext_libc" != "yes"; then
1270              AC_CHECK_LIB(intl, bindtextdomain,
1271                [AC_CACHE_CHECK([for gettext in libintl],
1272                  gt_cv_func_gettext_libintl,
1273                  [AC_CHECK_LIB(intl, gettext,
1274 dnl ============== A fix is here! ======================
1275 dnl -lintl was not added to the LIBS variable in this case
1276                   [gt_cv_func_gettext_libintl=yes
1277                    INTLLIBS="-lintl"],
1278 dnl ==== end of fix
1279                   gt_cv_func_gettext_libintl=no)],
1280                  gt_cv_func_gettext_libintl=no)])
1281            fi
1282
1283            if test "$gt_cv_func_gettext_libc" = "yes" \
1284               || test "$gt_cv_func_gettext_libintl" = "yes"; then
1285               AC_DEFINE(HAVE_GETTEXT)
1286               AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1287                 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
1288               if test "$MSGFMT" != "no"; then
1289                 AC_CHECK_FUNCS(dcgettext)
1290                 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1291                 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1292                   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1293                 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
1294                                return _nl_msg_cat_cntr],
1295                   [CATOBJEXT=.gmo
1296                    DATADIRNAME=share],
1297                   [CATOBJEXT=.mo
1298                    DATADIRNAME=lib])
1299                 INSTOBJEXT=.mo
1300               fi
1301             fi
1302         ])
1303
1304         if test "$CATOBJEXT" = "NONE"; then
1305           AC_MSG_CHECKING([whether catgets can be used])
1306           AC_ARG_WITH(catgets,
1307             [  --with-catgets          use catgets functions if available],
1308             nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
1309           AC_MSG_RESULT($nls_cv_use_catgets)
1310
1311           if test "$nls_cv_use_catgets" = "yes"; then
1312             dnl No gettext in C library.  Try catgets next.
1313             AC_CHECK_LIB(i, main)
1314             AC_CHECK_FUNC(catgets,
1315               [AC_DEFINE(HAVE_CATGETS)
1316                INTLOBJS="\$(CATOBJS)"
1317                AC_PATH_PROG(GENCAT, gencat, no)dnl
1318                if test "$GENCAT" != "no"; then
1319                  AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
1320                  if test "$GMSGFMT" = "no"; then
1321                    AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
1322                     [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
1323                  fi
1324                  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1325                    [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1326                  USE_INCLUDED_LIBINTL=yes
1327                  CATOBJEXT=.cat
1328                  INSTOBJEXT=.cat
1329                  DATADIRNAME=lib
1330                  INTLDEPS='$(top_builddir)/intl/libintl.a'
1331                  INTLLIBS=$INTLDEPS
1332                  LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1333                  nls_cv_header_intl=intl/libintl.h
1334                  nls_cv_header_libgt=intl/libgettext.h
1335                fi])
1336           fi
1337         fi
1338
1339         if test "$CATOBJEXT" = "NONE"; then
1340           dnl Neither gettext nor catgets in included in the C library.
1341           dnl Fall back on GNU gettext library.
1342           nls_cv_use_gnu_gettext=yes
1343         fi
1344       fi
1345
1346       if test "$nls_cv_use_gnu_gettext" = "yes"; then
1347         dnl Mark actions used to generate GNU NLS library.
1348         INTLOBJS="\$(GETTOBJS)"
1349         AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
1350           [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
1351         AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
1352         AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
1353           [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
1354         AC_SUBST(MSGFMT)
1355         USE_INCLUDED_LIBINTL=yes
1356         CATOBJEXT=.gmo
1357         INSTOBJEXT=.mo
1358         DATADIRNAME=share
1359         INTLDEPS='$(top_builddir)/intl/libintl.a'
1360         INTLLIBS=$INTLDEPS
1361         LIBS=`echo $LIBS | sed -e 's/-lintl//'`
1362         nls_cv_header_intl=intl/libintl.h
1363         nls_cv_header_libgt=intl/libgettext.h
1364       fi
1365
1366       dnl Test whether we really found GNU xgettext.
1367       if test "$XGETTEXT" != ":"; then
1368         dnl If it is no GNU xgettext we define it as : so that the
1369         dnl Makefiles still can work.
1370         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
1371           : ;
1372         else
1373           AC_MSG_RESULT(
1374             [found xgettext program is not GNU xgettext; ignore it])
1375           XGETTEXT=":"
1376         fi
1377       fi
1378
1379       # We need to process the po/ directory.
1380       POSUB=po
1381     else
1382       DATADIRNAME=share
1383       nls_cv_header_intl=intl/libintl.h
1384       nls_cv_header_libgt=intl/libgettext.h
1385     fi
1386     AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
1387     AC_OUTPUT_COMMANDS(
1388      [case "$CONFIG_FILES" in *po/Makefile.in*)
1389         sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
1390       esac])
1391
1392
1393     # If this is used in GNU gettext we have to set USE_NLS to `yes'
1394     # because some of the sources are only built for this goal.
1395     if test "$PACKAGE" = gettext; then
1396       USE_NLS=yes
1397       USE_INCLUDED_LIBINTL=yes
1398     fi
1399
1400     dnl These rules are solely for the distribution goal.  While doing this
1401     dnl we only have to keep exactly one list of the available catalogs
1402     dnl in configure.in.
1403     for lang in $ALL_LINGUAS; do
1404       GMOFILES="$GMOFILES $lang.gmo"
1405       POFILES="$POFILES $lang.po"
1406     done
1407
1408     dnl Make all variables we use known to autoconf.
1409     AC_SUBST(USE_INCLUDED_LIBINTL)
1410     AC_SUBST(CATALOGS)
1411     AC_SUBST(CATOBJEXT)
1412     AC_SUBST(DATADIRNAME)
1413     AC_SUBST(GMOFILES)
1414     AC_SUBST(INSTOBJEXT)
1415     AC_SUBST(INTLDEPS)
1416     AC_SUBST(INTLLIBS)
1417     AC_SUBST(INTLOBJS)
1418     AC_SUBST(POFILES)
1419     AC_SUBST(POSUB)
1420   ])
1421
1422 AC_DEFUN(AM_GNU_GETTEXT,
1423   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
1424    AC_REQUIRE([AC_PROG_CC])dnl
1425    AC_REQUIRE([AC_PROG_RANLIB])dnl
1426    AC_REQUIRE([AC_ISC_POSIX])dnl
1427    AC_REQUIRE([AC_HEADER_STDC])dnl
1428    AC_REQUIRE([AC_C_CONST])dnl
1429    AC_REQUIRE([AC_C_INLINE])dnl
1430    AC_REQUIRE([AC_TYPE_OFF_T])dnl
1431    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
1432    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
1433    AC_REQUIRE([AC_FUNC_MMAP])dnl
1434
1435    AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
1436 unistd.h sys/param.h])
1437    AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
1438 strdup __argz_count __argz_stringify __argz_next])
1439
1440    if test "${ac_cv_func_stpcpy+set}" != "set"; then
1441      AC_CHECK_FUNCS(stpcpy)
1442    fi
1443    if test "${ac_cv_func_stpcpy}" = "yes"; then
1444      AC_DEFINE(HAVE_STPCPY)
1445    fi
1446
1447    AM_LC_MESSAGES
1448    AM_WITH_NLS
1449
1450    if test "x$CATOBJEXT" != "x"; then
1451      if test "x$ALL_LINGUAS" = "x"; then
1452        LINGUAS=
1453      else
1454        AC_MSG_CHECKING(for catalogs to be installed)
1455        NEW_LINGUAS=
1456 dnl ============== Fix is here! ======================
1457 dnl Some sh do not like substitution in bounds of for loops
1458 dnl    for lang in ${LINGUAS=$ALL_LINGUAS}; do
1459     tmplinguas=${LINGUAS=$ALL_LINGUAS}
1460     for lang in ${tmplinguas}; do
1461 dnl ==== end of fix
1462          case "$ALL_LINGUAS" in
1463           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
1464          esac
1465        done
1466        LINGUAS=$NEW_LINGUAS
1467        AC_MSG_RESULT($LINGUAS)
1468      fi
1469
1470      dnl Construct list of names of catalog files to be constructed.
1471      if test -n "$LINGUAS"; then
1472        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
1473      fi
1474    fi
1475
1476    dnl The reference to <locale.h> in the installed <libintl.h> file
1477    dnl must be resolved because we cannot expect the users of this
1478    dnl to define HAVE_LOCALE_H.
1479    if test $ac_cv_header_locale_h = yes; then
1480      INCLUDE_LOCALE_H="#include <locale.h>"
1481    else
1482      INCLUDE_LOCALE_H="\
1483 /* The system does not provide the header <locale.h>.  Take care yourself.  */"
1484    fi
1485    AC_SUBST(INCLUDE_LOCALE_H)
1486
1487    dnl Determine which catalog format we have (if any is needed)
1488    dnl For now we know about two different formats:
1489    dnl   Linux libc-5 and the normal X/Open format
1490    test -d intl || mkdir intl
1491    if test "$CATOBJEXT" = ".cat"; then
1492      AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
1493
1494      dnl Transform the SED scripts while copying because some dumb SEDs
1495      dnl cannot handle comments.
1496      sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
1497    fi
1498    dnl po2tbl.sed is always needed.
1499    sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
1500      $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
1501
1502    dnl In the intl/Makefile.in we have a special dependency which makes
1503    dnl only sense for gettext.  We comment this out for non-gettext
1504    dnl packages.
1505    if test "$PACKAGE" = "gettext"; then
1506      GT_NO="#NO#"
1507      GT_YES=
1508    else
1509      GT_NO=
1510      GT_YES="#YES#"
1511    fi
1512    AC_SUBST(GT_NO)
1513    AC_SUBST(GT_YES)
1514
1515    dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
1516    dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
1517    dnl Try to locate is.
1518    MKINSTALLDIRS=
1519    if test -n "$ac_aux_dir"; then
1520      MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
1521    fi
1522    if test -z "$MKINSTALLDIRS"; then
1523      MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
1524    fi
1525    AC_SUBST(MKINSTALLDIRS)
1526
1527    dnl *** For now the libtool support in intl/Makefile is not for real.
1528    l=
1529    AC_SUBST(l)
1530
1531    dnl Generate list of files to be processed by xgettext which will
1532    dnl be included in po/Makefile.
1533    test -d po || mkdir po
1534    if test "x$srcdir" != "x."; then
1535      if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
1536        posrcprefix="$srcdir/"
1537      else
1538        posrcprefix="../$srcdir/"
1539      fi
1540    else
1541      posrcprefix="../"
1542    fi
1543    rm -f po/POTFILES
1544    sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
1545         < $srcdir/po/POTFILES.in > po/POTFILES
1546   ])
1547 # Check whether LC_MESSAGES is available in <locale.h>.
1548 # Ulrich Drepper <drepper@cygnus.com>, 1995.
1549 #
1550 # This file can be copied and used freely without restrictions.  It can
1551 # be used in projects which are not available under the GNU Public License
1552 # but which still want to provide support for the GNU gettext functionality.
1553 # Please note that the actual code is *not* freely available.
1554
1555 # serial 1
1556
1557 AC_DEFUN(AM_LC_MESSAGES,
1558   [if test $ac_cv_header_locale_h = yes; then
1559     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
1560       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
1561        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
1562     if test $am_cv_val_LC_MESSAGES = yes; then
1563       AC_DEFINE(HAVE_LC_MESSAGES)
1564     fi
1565   fi])
1566 # Search path for a program which passes the given test.
1567 # Ulrich Drepper <drepper@cygnus.com>, 1996.
1568 #
1569 # This file can be copied and used freely without restrictions.  It can
1570 # be used in projects which are not available under the GNU Public License
1571 # but which still want to provide support for the GNU gettext functionality.
1572 # Please note that the actual code is *not* freely available.
1573
1574 # serial 1
1575
1576 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
1577 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
1578 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
1579 [# Extract the first word of "$2", so it can be a program name with args.
1580 set dummy $2; ac_word=[$]2
1581 AC_MSG_CHECKING([for $ac_word])
1582 AC_CACHE_VAL(ac_cv_path_$1,
1583 [case "[$]$1" in
1584   /*)
1585   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
1586   ;;
1587   *)
1588   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
1589   for ac_dir in ifelse([$5], , $PATH, [$5]); do
1590     test -z "$ac_dir" && ac_dir=.
1591     if test -f $ac_dir/$ac_word; then
1592       if [$3]; then
1593         ac_cv_path_$1="$ac_dir/$ac_word"
1594         break
1595       fi
1596     fi
1597   done
1598   IFS="$ac_save_ifs"
1599 dnl If no 4th arg is given, leave the cache variable unset,
1600 dnl so AC_PATH_PROGS will keep looking.
1601 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
1602 ])dnl
1603   ;;
1604 esac])dnl
1605 $1="$ac_cv_path_$1"
1606 if test -n "[$]$1"; then
1607   AC_MSG_RESULT([$]$1)
1608 else
1609   AC_MSG_RESULT(no)
1610 fi
1611 AC_SUBST($1)dnl
1612 ])