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