.
[gnupg.git] / acinclude.m4
1 dnl macros to configure g10
2
3
4 dnl WK_MSG_PRINT(STRING)
5 dnl print a message
6 dnl
7 define(WK_MSG_PRINT,
8   [ echo $ac_n "$1"" $ac_c" 1>&AC_FD_MSG
9   ])
10
11
12 dnl WK_CHECK_TYPEDEF(TYPE, HAVE_NAME)
13 dnl Check whether a typedef exists and create a #define $2 if it exists
14 dnl
15 AC_DEFUN(WK_CHECK_TYPEDEF,
16   [ AC_MSG_CHECKING(for $1 typedef)
17     AC_CACHE_VAL(wk_cv_typedef_$1,
18     [AC_TRY_COMPILE([#include <stdlib.h>
19     #include <sys/types.h>], [
20     #undef $1
21     int a = sizeof($1);
22     ], wk_cv_typedef_$1=yes, wk_cv_typedef_$1=no )])
23     AC_MSG_RESULT($wk_cv_typedef_$1)
24     if test "$wk_cv_typedef_$1" = yes; then
25         AC_DEFINE($2)
26     fi
27   ])
28
29
30
31 dnl WK_LINK_FILES( SRC, DEST )
32 dnl same as AC_LINK_FILES, but collect the files to link in
33 dnl some special variables and do the link
34 dnl when WK_DO_LINK_FILES is called
35 dnl This is a workaround for AC_LINK_FILES, because it does not work
36 dnl correct when using a caching scheme
37 dnl
38 define(WK_LINK_FILES,
39   [ if test "x$wk_link_files_src" = "x"; then
40         wk_link_files_src="$1"
41         wk_link_files_dst="$2"
42     else
43         wk_link_files_src="$wk_link_files_src $1"
44         wk_link_files_dst="$wk_link_files_dst $2"
45     fi
46   ])
47 define(WK_DO_LINK_FILES,
48   [ AC_LINK_FILES( $wk_link_files_src, $wk_link_files_dst )
49   ])
50
51
52 dnl WK_CHECK_ENDIAN
53 dnl define either LITTLE_ENDIAN_HOST or BIG_ENDIAN_HOST
54 dnl
55 define(WK_CHECK_ENDIAN,
56   [ if test "$cross_compiling" = yes; then
57         AC_MSG_WARN(cross compiling; assuming little endianess)
58     fi
59     AC_MSG_CHECKING(endianess)
60     AC_CACHE_VAL(wk_cv_c_endian,
61       [ wk_cv_c_endian=unknown
62         # See if sys/param.h defines the BYTE_ORDER macro.
63         AC_TRY_COMPILE([#include <sys/types.h>
64         #include <sys/param.h>], [
65         #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
66          bogus endian macros
67         #endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
68         AC_TRY_COMPILE([#include <sys/types.h>
69         #include <sys/param.h>], [
70         #if BYTE_ORDER != BIG_ENDIAN
71          not big endian
72         #endif], wk_cv_c_endian=big, wk_cv_c_endian=little)])
73         if test "$wk_cv_c_endian" = unknown; then
74             AC_TRY_RUN([main () {
75               /* Are we little or big endian?  From Harbison&Steele.  */
76               union
77               {
78                 long l;
79                 char c[sizeof (long)];
80               } u;
81               u.l = 1;
82               exit (u.c[sizeof (long) - 1] == 1);
83               }],
84               wk_cv_c_endian=little,
85               wk_cv_c_endian=big,
86               wk_cv_c_endian=little
87             )
88         fi
89       ])
90     AC_MSG_RESULT([$wk_cv_c_endian])
91     if test "$wk_cv_c_endian" = little; then
92       AC_DEFINE(LITTLE_ENDIAN_HOST)
93     else
94       AC_DEFINE(BIG_ENDIAN_HOST)
95     fi
96   ])
97
98 dnl WK_CHECK_CACHE
99 dnl
100 define(WK_CHECK_CACHE,
101   [ AC_MSG_CHECKING(cached information)
102     wk_hostcheck="$target"
103     AC_CACHE_VAL(wk_cv_hostcheck, [ wk_cv_hostcheck="$wk_hostcheck" ])
104     if test "$wk_cv_hostcheck" != "$wk_hostcheck"; then
105         AC_MSG_RESULT(changed)
106         AC_MSG_WARN(config.cache exists!)
107         AC_MSG_ERROR(you must do 'make distclean' first to compile for
108                  different target or different parameters.)
109     else
110         AC_MSG_RESULT(ok)
111     fi
112   ])
113
114
115
116
117 ######################################################################
118 # Check for SysV IPC  (from GIMP)
119 #   And see whether we have a SHM_LOCK (FreeBSD does not have it).
120 ######################################################################
121 dnl WK_CHECK_IPC
122 dnl
123 define(WK_CHECK_IPC,
124   [ AC_CHECK_HEADERS(sys/ipc.h sys/shm.h)
125     if test "$ac_cv_header_sys_shm_h" = "yes"; then
126       AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
127       AC_TRY_RUN([
128             #include <sys/types.h>
129             #include <sys/ipc.h>
130             #include <sys/shm.h>
131             int main()
132             {
133               int id;
134               char *shmaddr;
135             id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0777);
136             if (id == -1)
137               exit (2);
138               shmaddr = shmat (id, 0, 0);
139               shmctl (id, IPC_RMID, 0);
140               if ((char*) shmat (id, 0, 0) == (char*) -1)
141               {
142                 shmdt (shmaddr);
143                 exit (1);
144               }
145               shmdt (shmaddr);
146               shmdt (shmaddr);
147               exit (0);
148             }
149         ],
150         AC_DEFINE(IPC_RMID_DEFERRED_RELEASE)
151         AC_MSG_RESULT(yes),
152         AC_MSG_RESULT(no),
153         AC_MSG_RESULT(assuming no))
154       AC_MSG_CHECKING(whether SHM_LOCK is available)
155       AC_TRY_COMPILE([#include <sys/types.h>
156             #include <sys/ipc.h>
157             #include <sys/shm.h>],[
158             int foo( int shm_id ) {  shmctl(shm_id, SHM_LOCK, 0); }
159             ],
160         AC_DEFINE(IPC_HAVE_SHM_LOCK)
161         AC_MSG_RESULT(yes),
162         AC_MSG_RESULT(no))
163     fi
164   ])
165
166
167 ######################################################################
168 # Check whether mlock is broken (hpux 10.20 raises a SIGBUS if mlock
169 # is not called from uid 0 (not tested whether uid 0 works)
170 ######################################################################
171 dnl WK_CHECK_MLOCK
172 dnl
173 define(WK_CHECK_MLOCK,
174   [ AC_CHECK_FUNCS(mlock)
175     if test "$ac_cv_func_mlock" = "yes"; then
176         AC_MSG_CHECKING(whether mlock is broken)
177           AC_TRY_RUN([
178                 #include <stdlib.h>
179                 #include <unistd.h>
180                 #include <errno.h>
181                 #include <sys/mman.h>
182                 #include <sys/types.h>
183                 #include <fcntl.h>
184
185                 int main()
186                 {
187                     char *pool;
188                     int err;
189                     long int pgsize = getpagesize();
190
191                     pool = malloc( 4096 + pgsize );
192                     if( !pool )
193                         return 2;
194                     pool += (pgsize - ((long int)pool % pgsize));
195
196                     err = mlock( pool, 4096 );
197                     if( !err || errno == EPERM )
198                         return 0; /* okay */
199
200                     return 1;  /* hmmm */
201                 }
202
203             ],
204             AC_MSG_RESULT(no),
205             AC_DEFINE(HAVE_BROKEN_MLOCK)
206             AC_MSG_RESULT(yes),
207             AC_MSG_RESULT(assuming no))
208     fi
209   ])
210
211
212 ######################################################################
213 # progtest.m4 from gettext 0.35
214 ######################################################################
215 # Search path for a program which passes the given test.
216 # Ulrich Drepper <drepper@cygnus.com>, 1996.
217 #
218 # This file can be copied and used freely without restrictions.  It can
219 # be used in projects which are not available under the GNU Public License
220 # but which still want to provide support for the GNU gettext functionality.
221 # Please note that the actual code is *not* freely available.
222
223 # serial 1
224
225 dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
226 dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
227 AC_DEFUN(AM_PATH_PROG_WITH_TEST,
228 [# Extract the first word of "$2", so it can be a program name with args.
229 set dummy $2; ac_word=[$]2
230 AC_MSG_CHECKING([for $ac_word])
231 AC_CACHE_VAL(ac_cv_path_$1,
232 [case "[$]$1" in
233   /*)
234   ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
235   ;;
236   *)
237   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
238   for ac_dir in ifelse([$5], , $PATH, [$5]); do
239     test -z "$ac_dir" && ac_dir=.
240     if test -f $ac_dir/$ac_word; then
241       if [$3]; then
242         ac_cv_path_$1="$ac_dir/$ac_word"
243         break
244       fi
245     fi
246   done
247   IFS="$ac_save_ifs"
248 dnl If no 4th arg is given, leave the cache variable unset,
249 dnl so AC_PATH_PROGS will keep looking.
250 ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
251 ])dnl
252   ;;
253 esac])dnl
254 $1="$ac_cv_path_$1"
255 if test -n "[$]$1"; then
256   AC_MSG_RESULT([$]$1)
257 else
258   AC_MSG_RESULT(no)
259 fi
260 AC_SUBST($1)dnl
261 ])
262
263 ######################################################################
264 # lcmessage.m4 from gettext 0.35
265 ######################################################################
266 # Check whether LC_MESSAGES is available in <locale.h>.
267 # Ulrich Drepper <drepper@cygnus.com>, 1995.
268 #
269 # This file can be copied and used freely without restrictions.  It can
270 # be used in projects which are not available under the GNU Public License
271 # but which still want to provide support for the GNU gettext functionality.
272 # Please note that the actual code is *not* freely available.
273
274 # serial 1
275
276 AC_DEFUN(AM_LC_MESSAGES,
277   [if test $ac_cv_header_locale_h = yes; then
278     AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
279       [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
280        am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
281     if test $am_cv_val_LC_MESSAGES = yes; then
282       AC_DEFINE(HAVE_LC_MESSAGES)
283     fi
284   fi])
285
286 ######################################################################
287 # gettext.m4 from gettext 0.35
288 ######################################################################
289 # Macro to add for using GNU gettext.
290 # Ulrich Drepper <drepper@cygnus.com>, 1995.
291 #
292 # This file can be copied and used freely without restrictions.  It can
293 # be used in projects which are not available under the GNU Public License
294 # but which still want to provide support for the GNU gettext functionality.
295 # Please note that the actual code is *not* freely available.
296
297 # serial 5
298
299 AC_DEFUN(AM_WITH_NLS,
300   [AC_MSG_CHECKING([whether NLS is requested])
301     dnl Default is enabled NLS
302     AC_ARG_ENABLE(nls,
303       [  --disable-nls           do not use Native Language Support],
304       USE_NLS=$enableval, USE_NLS=yes)
305     AC_MSG_RESULT($USE_NLS)
306     AC_SUBST(USE_NLS)
307
308     USE_INCLUDED_LIBINTL=no
309
310     dnl If we use NLS figure out what method
311     if test "$USE_NLS" = "yes"; then
312       AC_DEFINE(ENABLE_NLS)
313       AC_MSG_CHECKING([whether included gettext is requested])
314       AC_ARG_WITH(included-gettext,
315         [  --with-included-gettext use the GNU gettext library included here],
316         nls_cv_force_use_gnu_gettext=$withval,
317         nls_cv_force_use_gnu_gettext=no)
318       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
319
320       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
321       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
322         dnl User does not insist on using GNU NLS library.  Figure out what
323         dnl to use.  If gettext or catgets are available (in this order) we
324         dnl use this.  Else we have to fall back to GNU NLS library.
325         dnl catgets is only used if permitted by option --with-catgets.
326         nls_cv_header_intl=
327         nls_cv_header_libgt=
328         CATOBJEXT=NONE
329
330         AC_CHECK_HEADER(libintl.h,
331           [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
332             [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
333                gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
334
335            if test "$gt_cv_func_gettext_libc" != "yes"; then
336              AC_CHECK_LIB(intl, bindtextdomain,
337                [AC_CACHE_CHECK([for gettext in libintl],
338                  gt_cv_func_gettext_libintl,
339                  [AC_CHECK_LIB(intl, gettext,
340                   gt_cv_func_gettext_libintl=yes,
341                   gt_cv_func_gettext_libintl=no)],
342                  gt_cv_func_gettext_libintl=no)])
343            fi
344
345            if test "$gt_cv_func_gettext_libc" = "yes" \
346               || test "$gt_cv_func_gettext_libintl" = "yes"; then
347               AC_DEFINE(HAVE_GETTEXT)
348               AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
349                 [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
350               if test "$MSGFMT" != "no"; then
351                 AC_CHECK_FUNCS(dcgettext)
352                 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
353                 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
354                   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
355                 AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
356                                return _nl_msg_cat_cntr],
357                   [CATOBJEXT=.gmo
358                    DATADIRNAME=share],
359                   [CATOBJEXT=.mo
360                    DATADIRNAME=lib])
361                 INSTOBJEXT=.mo
362               fi
363             fi
364         ])
365
366         if test "$CATOBJEXT" = "NONE"; then
367           AC_MSG_CHECKING([whether catgets can be used])
368           AC_ARG_WITH(catgets,
369             [  --with-catgets          use catgets functions if available],
370             nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
371           AC_MSG_RESULT($nls_cv_use_catgets)
372
373           if test "$nls_cv_use_catgets" = "yes"; then
374             dnl No gettext in C library.  Try catgets next.
375             AC_CHECK_LIB(i, main)
376             AC_CHECK_FUNC(catgets,
377               [AC_DEFINE(HAVE_CATGETS)
378                INTLOBJS="\$(CATOBJS)"
379                AC_PATH_PROG(GENCAT, gencat, no)dnl
380                if test "$GENCAT" != "no"; then
381                  AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
382                  if test "$GMSGFMT" = "no"; then
383                    AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
384                     [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
385                  fi
386                  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
387                    [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
388                  USE_INCLUDED_LIBINTL=yes
389                  CATOBJEXT=.cat
390                  INSTOBJEXT=.cat
391                  DATADIRNAME=lib
392                  INTLDEPS='$(top_builddir)/intl/libintl.a'
393                  INTLLIBS=$INTLDEPS
394                  LIBS=`echo $LIBS | sed -e 's/-lintl//'`
395                  nls_cv_header_intl=intl/libintl.h
396                  nls_cv_header_libgt=intl/libgettext.h
397                fi])
398           fi
399         fi
400
401         if test "$CATOBJEXT" = "NONE"; then
402           dnl Neither gettext nor catgets in included in the C library.
403           dnl Fall back on GNU gettext library.
404           nls_cv_use_gnu_gettext=yes
405         fi
406       fi
407
408       if test "$nls_cv_use_gnu_gettext" = "yes"; then
409         dnl Mark actions used to generate GNU NLS library.
410         INTLOBJS="\$(GETTOBJS)"
411         AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
412           [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
413         AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
414         AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
415           [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
416         AC_SUBST(MSGFMT)
417         USE_INCLUDED_LIBINTL=yes
418         CATOBJEXT=.gmo
419         INSTOBJEXT=.mo
420         DATADIRNAME=share
421         INTLDEPS='$(top_builddir)/intl/libintl.a'
422         INTLLIBS=$INTLDEPS
423         LIBS=`echo $LIBS | sed -e 's/-lintl//'`
424         nls_cv_header_intl=intl/libintl.h
425         nls_cv_header_libgt=intl/libgettext.h
426       fi
427
428       dnl Test whether we really found GNU xgettext.
429       if test "$XGETTEXT" != ":"; then
430         dnl If it is no GNU xgettext we define it as : so that the
431         dnl Makefiles still can work.
432         if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
433           : ;
434         else
435           AC_MSG_RESULT(
436             [found xgettext program is not GNU xgettext; ignore it])
437           XGETTEXT=":"
438         fi
439       fi
440
441       # We need to process the po/ directory.
442       POSUB=po
443     else
444       DATADIRNAME=share
445       nls_cv_header_intl=intl/libintl.h
446       nls_cv_header_libgt=intl/libgettext.h
447     fi
448     AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
449     AC_OUTPUT_COMMANDS(
450      [case "$CONFIG_FILES" in *po/Makefile.in*)
451         sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
452       esac])
453
454
455     # If this is used in GNU gettext we have to set USE_NLS to `yes'
456     # because some of the sources are only built for this goal.
457     if test "$PACKAGE" = gettext; then
458       USE_NLS=yes
459       USE_INCLUDED_LIBINTL=yes
460     fi
461
462     dnl These rules are solely for the distribution goal.  While doing this
463     dnl we only have to keep exactly one list of the available catalogs
464     dnl in configure.in.
465     for lang in $ALL_LINGUAS; do
466       GMOFILES="$GMOFILES $lang.gmo"
467       POFILES="$POFILES $lang.po"
468     done
469
470     dnl Make all variables we use known to autoconf.
471     AC_SUBST(USE_INCLUDED_LIBINTL)
472     AC_SUBST(CATALOGS)
473     AC_SUBST(CATOBJEXT)
474     AC_SUBST(DATADIRNAME)
475     AC_SUBST(GMOFILES)
476     AC_SUBST(INSTOBJEXT)
477     AC_SUBST(INTLDEPS)
478     AC_SUBST(INTLLIBS)
479     AC_SUBST(INTLOBJS)
480     AC_SUBST(POFILES)
481     AC_SUBST(POSUB)
482   ])
483
484 AC_DEFUN(AM_GNU_GETTEXT,
485   [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
486    AC_REQUIRE([AC_PROG_CC])dnl
487    AC_REQUIRE([AC_PROG_RANLIB])dnl
488    AC_REQUIRE([AC_ISC_POSIX])dnl
489    AC_REQUIRE([AC_HEADER_STDC])dnl
490    AC_REQUIRE([AC_C_CONST])dnl
491    AC_REQUIRE([AC_C_INLINE])dnl
492    AC_REQUIRE([AC_TYPE_OFF_T])dnl
493    AC_REQUIRE([AC_TYPE_SIZE_T])dnl
494    AC_REQUIRE([AC_FUNC_ALLOCA])dnl
495    AC_REQUIRE([AC_FUNC_MMAP])dnl
496
497    AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
498 unistd.h sys/param.h])
499    AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
500 strdup __argz_count __argz_stringify __argz_next])
501
502    if test "${ac_cv_func_stpcpy+set}" != "set"; then
503      AC_CHECK_FUNCS(stpcpy)
504    fi
505    if test "${ac_cv_func_stpcpy}" = "yes"; then
506      AC_DEFINE(HAVE_STPCPY)
507    fi
508
509    AM_LC_MESSAGES
510    AM_WITH_NLS
511
512    if test "x$CATOBJEXT" != "x"; then
513      if test "x$ALL_LINGUAS" = "x"; then
514        LINGUAS=
515      else
516        AC_MSG_CHECKING(for catalogs to be installed)
517        NEW_LINGUAS=
518        for lang in ${LINGUAS=$ALL_LINGUAS}; do
519          case "$ALL_LINGUAS" in
520           *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
521          esac
522        done
523        LINGUAS=$NEW_LINGUAS
524        AC_MSG_RESULT($LINGUAS)
525      fi
526
527      dnl Construct list of names of catalog files to be constructed.
528      if test -n "$LINGUAS"; then
529        for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
530      fi
531    fi
532
533    dnl The reference to <locale.h> in the installed <libintl.h> file
534    dnl must be resolved because we cannot expect the users of this
535    dnl to define HAVE_LOCALE_H.
536    if test $ac_cv_header_locale_h = yes; then
537      INCLUDE_LOCALE_H="#include <locale.h>"
538    else
539      INCLUDE_LOCALE_H="\
540 /* The system does not provide the header <locale.h>.  Take care yourself.  */"
541    fi
542    AC_SUBST(INCLUDE_LOCALE_H)
543
544    dnl Determine which catalog format we have (if any is needed)
545    dnl For now we know about two different formats:
546    dnl   Linux libc-5 and the normal X/Open format
547    test -d intl || mkdir intl
548    if test "$CATOBJEXT" = ".cat"; then
549      AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
550
551      dnl Transform the SED scripts while copying because some dumb SEDs
552      dnl cannot handle comments.
553      sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
554    fi
555    dnl po2tbl.sed is always needed.
556    sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
557      $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
558
559    dnl In the intl/Makefile.in we have a special dependency which makes
560    dnl only sense for gettext.  We comment this out for non-gettext
561    dnl packages.
562    if test "$PACKAGE" = "gettext"; then
563      GT_NO="#NO#"
564      GT_YES=
565    else
566      GT_NO=
567      GT_YES="#YES#"
568    fi
569    AC_SUBST(GT_NO)
570    AC_SUBST(GT_YES)
571
572    dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
573    dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
574    dnl Try to locate is.
575    MKINSTALLDIRS=
576    if test -n "$ac_aux_dir"; then
577      MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
578    fi
579    if test -z "$MKINSTALLDIRS"; then
580      MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
581    fi
582    AC_SUBST(MKINSTALLDIRS)
583
584    dnl *** For now the libtool support in intl/Makefile is not for real.
585    l=
586    AC_SUBST(l)
587
588    dnl Generate list of files to be processed by xgettext which will
589    dnl be included in po/Makefile.
590    test -d po || mkdir po
591    if test "x$srcdir" != "x."; then
592      if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
593        posrcprefix="$srcdir/"
594      else
595        posrcprefix="../$srcdir/"
596      fi
597    else
598      posrcprefix="../"
599    fi
600    rm -f po/POTFILES
601    sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
602         < $srcdir/po/POTFILES.in > po/POTFILES
603   ])
604