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