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