xref: /freebsd/contrib/dialog/aclocal.m4 (revision 3c91c65a2b999a8d27e99bcc6493de7cf812c948)
1dnl macros used for DIALOG configure script
2dnl $Id: aclocal.m4,v 1.82 2011/06/28 22:48:31 tom Exp $
3dnl ---------------------------------------------------------------------------
4dnl Copyright 1999-2010,2011 -- Thomas E. Dickey
5dnl
6dnl Permission is hereby granted, free of charge, to any person obtaining a
7dnl copy of this software and associated documentation files (the
8dnl "Software"), to deal in the Software without restriction, including
9dnl without limitation the rights to use, copy, modify, merge, publish,
10dnl distribute, distribute with modifications, sublicense, and/or sell
11dnl copies of the Software, and to permit persons to whom the Software is
12dnl furnished to do so, subject to the following conditions:
13dnl
14dnl The above copyright notice and this permission notice shall be included
15dnl in all copies or portions of the Software.
16dnl
17dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
21dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
22dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
23dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24dnl
25dnl Except as contained in this notice, the name(s) of the above copyright
26dnl holders shall not be used in advertising or otherwise to promote the
27dnl sale, use or other dealings in this Software without prior written
28dnl authorization.
29dnl
30dnl see
31dnl http://invisible-island.net/autoconf/
32dnl ---------------------------------------------------------------------------
33dnl ---------------------------------------------------------------------------
34dnl AM_GNU_GETTEXT version: 12 updated: 2010/06/19 07:02:11
35dnl --------------
36dnl Usage: Just like AM_WITH_NLS, which see.
37AC_DEFUN([AM_GNU_GETTEXT],
38  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
39   AC_REQUIRE([AC_PROG_CC])dnl
40   AC_REQUIRE([AC_CANONICAL_HOST])dnl
41   AC_REQUIRE([AC_PROG_RANLIB])dnl
42   AC_REQUIRE([AC_ISC_POSIX])dnl
43   AC_REQUIRE([AC_HEADER_STDC])dnl
44   AC_REQUIRE([AC_C_CONST])dnl
45   AC_REQUIRE([AC_C_INLINE])dnl
46   AC_REQUIRE([AC_TYPE_OFF_T])dnl
47   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
48   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
49   AC_REQUIRE([AC_FUNC_MMAP])dnl
50   AC_REQUIRE([jm_GLIBC21])dnl
51
52   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
53stdlib.h string.h unistd.h sys/param.h])
54   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
55getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
56strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
57
58   AM_ICONV
59   AM_LANGINFO_CODESET
60   AM_LC_MESSAGES
61   AM_WITH_NLS([$1],[$2],[$3],[$4])
62
63   if test "x$CATOBJEXT" != "x"; then
64     if test "x$ALL_LINGUAS" = "x"; then
65       LINGUAS=
66     else
67       AC_MSG_CHECKING(for catalogs to be installed)
68       NEW_LINGUAS=
69       for presentlang in $ALL_LINGUAS; do
70         useit=no
71         for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
72           # Use the presentlang catalog if desiredlang is
73           #   a. equal to presentlang, or
74           #   b. a variant of presentlang (because in this case,
75           #      presentlang can be used as a fallback for messages
76           #      which are not translated in the desiredlang catalog).
77           case "$desiredlang" in
78             "$presentlang"*) useit=yes;;
79           esac
80         done
81         if test $useit = yes; then
82           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
83         fi
84       done
85       LINGUAS=$NEW_LINGUAS
86       AC_MSG_RESULT($LINGUAS)
87     fi
88
89     dnl Construct list of names of catalog files to be constructed.
90     if test -n "$LINGUAS"; then
91       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
92     fi
93   fi
94
95   dnl Enable libtool support if the surrounding package wishes it.
96   INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
97   AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
98])dnl
99dnl ---------------------------------------------------------------------------
100dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03
101dnl --------
102dnl Inserted as requested by gettext 0.10.40
103dnl File from /usr/share/aclocal
104dnl iconv.m4
105dnl ====================
106dnl serial AM2
107dnl
108dnl From Bruno Haible.
109dnl
110dnl ====================
111dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the
112dnl range of locations searched.  Retain the same cache-variable naming to
113dnl allow reuse with the other gettext macros -Thomas E Dickey
114AC_DEFUN([AM_ICONV],
115[
116  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
117  dnl those with the standalone portable GNU libiconv installed).
118
119  AC_ARG_WITH([libiconv-prefix],
120[  --with-libiconv-prefix=DIR
121                          search for libiconv in DIR/include and DIR/lib], [
122    CF_ADD_OPTIONAL_PATH($withval, libiconv)
123   ])
124
125  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
126    CF_FIND_LINKAGE(CF__ICONV_HEAD,
127      CF__ICONV_BODY,
128      iconv,
129      am_cv_func_iconv=yes,
130      am_cv_func_iconv=["no, consider installing GNU libiconv"])])
131
132  if test "$am_cv_func_iconv" = yes; then
133    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
134
135    AC_CACHE_CHECK([if the declaration of iconv() needs const.],
136		   am_cv_proto_iconv_const,[
137      AC_TRY_COMPILE(CF__ICONV_HEAD [
138extern
139#ifdef __cplusplus
140"C"
141#endif
142#if defined(__STDC__) || defined(__cplusplus)
143size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
144#else
145size_t iconv();
146#endif
147],[], am_cv_proto_iconv_const=no,
148      am_cv_proto_iconv_const=yes)])
149
150    if test "$am_cv_proto_iconv_const" = yes ; then
151      am_cv_proto_iconv_arg1="const"
152    else
153      am_cv_proto_iconv_arg1=""
154    fi
155
156    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
157      [Define as const if the declaration of iconv() needs const.])
158  fi
159
160  LIBICONV=
161  if test "$cf_cv_find_linkage_iconv" = yes; then
162    CF_ADD_INCDIR($cf_cv_header_path_iconv)
163    if test -n "$cf_cv_library_file_iconv" ; then
164      LIBICONV="-liconv"
165      CF_ADD_LIBDIR($cf_cv_library_path_iconv)
166    fi
167  fi
168
169  AC_SUBST(LIBICONV)
170])dnl
171dnl ---------------------------------------------------------------------------
172dnl AM_LANGINFO_CODESET version: 3 updated: 2002/10/27 23:21:42
173dnl -------------------
174dnl Inserted as requested by gettext 0.10.40
175dnl File from /usr/share/aclocal
176dnl codeset.m4
177dnl ====================
178dnl serial AM1
179dnl
180dnl From Bruno Haible.
181AC_DEFUN([AM_LANGINFO_CODESET],
182[
183  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
184    [AC_TRY_LINK([#include <langinfo.h>],
185      [char* cs = nl_langinfo(CODESET);],
186      am_cv_langinfo_codeset=yes,
187      am_cv_langinfo_codeset=no)
188    ])
189  if test $am_cv_langinfo_codeset = yes; then
190    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
191      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
192  fi
193])dnl
194dnl ---------------------------------------------------------------------------
195dnl AM_LC_MESSAGES version: 4 updated: 2002/10/27 23:21:42
196dnl --------------
197dnl Inserted as requested by gettext 0.10.40
198dnl File from /usr/share/aclocal
199dnl lcmessage.m4
200dnl ====================
201dnl Check whether LC_MESSAGES is available in <locale.h>.
202dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
203dnl
204dnl This file can be copied and used freely without restrictions.  It can
205dnl be used in projects which are not available under the GNU General Public
206dnl License or the GNU Library General Public License but which still want
207dnl to provide support for the GNU gettext functionality.
208dnl Please note that the actual code of the GNU gettext library is covered
209dnl by the GNU Library General Public License, and the rest of the GNU
210dnl gettext package package is covered by the GNU General Public License.
211dnl They are *not* in the public domain.
212dnl
213dnl serial 2
214dnl
215AC_DEFUN([AM_LC_MESSAGES],
216  [if test $ac_cv_header_locale_h = yes; then
217    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
218      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
219       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
220    if test $am_cv_val_LC_MESSAGES = yes; then
221      AC_DEFINE(HAVE_LC_MESSAGES, 1,
222        [Define if your <locale.h> file defines LC_MESSAGES.])
223    fi
224  fi])dnl
225dnl ---------------------------------------------------------------------------
226dnl AM_PATH_PROG_WITH_TEST version: 8 updated: 2009/01/11 20:31:12
227dnl ----------------------
228dnl Inserted as requested by gettext 0.10.40
229dnl File from /usr/share/aclocal
230dnl progtest.m4
231dnl ====================
232dnl Search path for a program which passes the given test.
233dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
234dnl
235dnl This file can be copied and used freely without restrictions.  It can
236dnl be used in projects which are not available under the GNU General Public
237dnl License or the GNU Library General Public License but which still want
238dnl to provide support for the GNU gettext functionality.
239dnl Please note that the actual code of the GNU gettext library is covered
240dnl by the GNU Library General Public License, and the rest of the GNU
241dnl gettext package package is covered by the GNU General Public License.
242dnl They are *not* in the public domain.
243dnl
244dnl serial 2
245dnl
246dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
247dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
248AC_DEFUN([AM_PATH_PROG_WITH_TEST],
249[# Extract the first word of "$2", so it can be a program name with args.
250AC_REQUIRE([CF_PATHSEP])
251set dummy $2; ac_word=[$]2
252AC_MSG_CHECKING([for $ac_word])
253AC_CACHE_VAL(ac_cv_path_$1,
254[case "[$]$1" in
255  [[\\/]*|?:[\\/]]*)
256  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
257  ;;
258  *)
259  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
260  for ac_dir in ifelse([$5], , $PATH, [$5]); do
261    test -z "$ac_dir" && ac_dir=.
262    if test -f $ac_dir/$ac_word$ac_exeext; then
263      if [$3]; then
264	ac_cv_path_$1="$ac_dir/$ac_word$ac_exeext"
265	break
266      fi
267    fi
268  done
269  IFS="$ac_save_ifs"
270dnl If no 4th arg is given, leave the cache variable unset,
271dnl so AC_PATH_PROGS will keep looking.
272ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
273])dnl
274  ;;
275esac])dnl
276$1="$ac_cv_path_$1"
277if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
278  AC_MSG_RESULT([$]$1)
279else
280  AC_MSG_RESULT(no)
281fi
282AC_SUBST($1)dnl
283])dnl
284dnl ---------------------------------------------------------------------------
285dnl AM_WITH_NLS version: 24 updated: 2010/06/20 09:24:28
286dnl -----------
287dnl Inserted as requested by gettext 0.10.40
288dnl File from /usr/share/aclocal
289dnl gettext.m4
290dnl ====================
291dnl Macro to add for using GNU gettext.
292dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
293dnl ====================
294dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the
295dnl range of locations searched.  Retain the same cache-variable naming to
296dnl allow reuse with the other gettext macros -Thomas E Dickey
297dnl ====================
298dnl
299dnl This file can be copied and used freely without restrictions.  It can
300dnl be used in projects which are not available under the GNU General Public
301dnl License or the GNU Library General Public License but which still want
302dnl to provide support for the GNU gettext functionality.
303dnl Please note that the actual code of the GNU gettext library is covered
304dnl by the GNU Library General Public License, and the rest of the GNU
305dnl gettext package package is covered by the GNU General Public License.
306dnl They are *not* in the public domain.
307dnl
308dnl serial 10
309dnl
310dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR], [ENABLED]).
311dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
312dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
313dnl    depending on --{enable,disable}-{shared,static} and on the presence of
314dnl    AM-DISABLE-SHARED). Otherwise, a static library
315dnl    $(top_builddir)/intl/libintl.a will be created.
316dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
317dnl    implementations (in libc or libintl) without the ngettext() function
318dnl    will be ignored.
319dnl LIBDIR is used to find the intl libraries.  If empty,
320dnl    the value `$(top_builddir)/intl/' is used.
321dnl ENABLED is used to control the default for the related --enable-nls, since
322dnl    not all application developers want this feature by default, e.g., lynx.
323dnl
324dnl The result of the configuration is one of three cases:
325dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
326dnl    and used.
327dnl    Catalog format: GNU --> install in $(datadir)
328dnl    Catalog extension: .mo after installation, .gmo in source tree
329dnl 2) GNU gettext has been found in the system's C library.
330dnl    Catalog format: GNU --> install in $(datadir)
331dnl    Catalog extension: .mo after installation, .gmo in source tree
332dnl 3) No internationalization, always use English msgid.
333dnl    Catalog format: none
334dnl    Catalog extension: none
335dnl The use of .gmo is historical (it was needed to avoid overwriting the
336dnl GNU format catalogs when building on a platform with an X/Open gettext),
337dnl but we keep it in order not to force irrelevant filename changes on the
338dnl maintainers.
339dnl
340AC_DEFUN([AM_WITH_NLS],
341[AC_MSG_CHECKING([whether NLS is requested])
342  dnl Default is enabled NLS
343  ifelse([$4],,[
344  AC_ARG_ENABLE(nls,
345    [  --disable-nls           do not use Native Language Support],
346    USE_NLS=$enableval, USE_NLS=yes)],[
347  AC_ARG_ENABLE(nls,
348    [  --enable-nls            use Native Language Support],
349    USE_NLS=$enableval, USE_NLS=no)])
350  AC_MSG_RESULT($USE_NLS)
351  AC_SUBST(USE_NLS)
352
353  BUILD_INCLUDED_LIBINTL=no
354  USE_INCLUDED_LIBINTL=no
355  INTLLIBS=
356
357  dnl If we use NLS figure out what method
358  if test "$USE_NLS" = "yes"; then
359    AC_DEFINE(ENABLE_NLS, 1,
360      [Define to 1 if translation of program messages to the user's native language
361 is requested.])
362    AC_MSG_CHECKING([whether included gettext is requested])
363    AC_ARG_WITH(included-gettext,
364      [  --with-included-gettext use the GNU gettext library included here],
365      nls_cv_force_use_gnu_gettext=$withval,
366      nls_cv_force_use_gnu_gettext=no)
367    AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
368
369    nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
370    if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
371      dnl User does not insist on using GNU NLS library.  Figure out what
372      dnl to use.  If GNU gettext is available we use this.  Else we have
373      dnl to fall back to GNU NLS library.
374      CATOBJEXT=NONE
375
376      cf_save_LIBS_1="$LIBS"
377      CF_ADD_LIBS($LIBICONV)
378      AC_CACHE_CHECK([for libintl.h and gettext()], cf_cv_func_gettext,[
379        CF_FIND_LINKAGE(CF__INTL_HEAD,
380        CF__INTL_BODY,
381        intl,
382        cf_cv_func_gettext=yes,
383        cf_cv_func_gettext=no)
384      ])
385      LIBS="$cf_save_LIBS_1"
386
387      if test "$cf_cv_func_gettext" = yes ; then
388        AC_DEFINE(HAVE_LIBINTL_H)
389
390        dnl If an already present or preinstalled GNU gettext() is found,
391        dnl use it.  But if this macro is used in GNU gettext, and GNU
392        dnl gettext is already preinstalled in libintl, we update this
393        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
394        if test "$PACKAGE" != gettext; then
395          AC_DEFINE(HAVE_GETTEXT, 1,
396              [Define if the GNU gettext() function is already present or preinstalled.])
397
398          CF_ADD_INCDIR($cf_cv_header_path_intl)
399
400          if test -n "$cf_cv_library_file_intl" ; then
401            dnl If iconv() is in a separate libiconv library, then anyone
402            dnl linking with libintl{.a,.so} also needs to link with
403            dnl libiconv.
404            INTLLIBS="$cf_cv_library_file_intl $LIBICONV"
405            CF_ADD_LIBDIR($cf_cv_library_path_intl,INTLLIBS)
406          fi
407
408          gt_save_LIBS="$LIBS"
409          LIBS="$LIBS $INTLLIBS"
410          AC_CHECK_FUNCS(dcgettext)
411          LIBS="$gt_save_LIBS"
412
413          dnl Search for GNU msgfmt in the PATH.
414          AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
415              [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
416          AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
417
418          dnl Search for GNU xgettext in the PATH.
419          AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
420              [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
421
422          CATOBJEXT=.gmo
423        fi
424      fi
425
426      if test "$CATOBJEXT" = "NONE"; then
427        dnl GNU gettext is not found in the C library.
428        dnl Fall back on GNU gettext library.
429        nls_cv_use_gnu_gettext=yes
430      fi
431    fi
432
433    if test "$nls_cv_use_gnu_gettext" = "yes"; then
434      if test ! -d $srcdir/intl ; then
435        AC_MSG_ERROR(no NLS library is packaged with this application)
436      fi
437      dnl Mark actions used to generate GNU NLS library.
438      INTLOBJS="\$(GETTOBJS)"
439      AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
440          [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
441      AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
442      AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
443          [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
444      AC_SUBST(MSGFMT)
445      BUILD_INCLUDED_LIBINTL=yes
446      USE_INCLUDED_LIBINTL=yes
447      CATOBJEXT=.gmo
448      INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
449      LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
450    fi
451
452    dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
453    dnl Test whether we really found GNU msgfmt.
454    if test "$GMSGFMT" != ":"; then
455      dnl If it is no GNU msgfmt we define it as : so that the
456      dnl Makefiles still can work.
457      if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
458        : ;
459      else
460        AC_MSG_RESULT(
461          [found msgfmt program is not GNU msgfmt; ignore it])
462        GMSGFMT=":"
463      fi
464    fi
465
466    dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
467    dnl Test whether we really found GNU xgettext.
468    if test "$XGETTEXT" != ":"; then
469        dnl If it is no GNU xgettext we define it as : so that the
470        dnl Makefiles still can work.
471      if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
472        : ;
473      else
474        AC_MSG_RESULT(
475          [found xgettext program is not GNU xgettext; ignore it])
476        XGETTEXT=":"
477      fi
478    fi
479
480    dnl We need to process the po/ directory.
481    POSUB=po
482  fi
483
484  AC_OUTPUT_COMMANDS(
485   [for ac_file in $CONFIG_FILES; do
486
487      # Support "outfile[:infile[:infile...]]"
488      case "$ac_file" in
489        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
490      esac
491
492      # PO directories have a Makefile.in generated from Makefile.inn.
493      case "$ac_file" in */[Mm]akefile.in)
494        # Adjust a relative srcdir.
495        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
496        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
497        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
498        ac_base=`basename $ac_file .in`
499        # In autoconf-2.13 it is called $ac_given_srcdir.
500        # In autoconf-2.50 it is called $srcdir.
501        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
502
503        case "$ac_given_srcdir" in
504          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
505          /*) top_srcdir="$ac_given_srcdir" ;;
506          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
507        esac
508
509        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
510          rm -f "$ac_dir/POTFILES"
511          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
512          sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
513          test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base"
514          sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base"
515        fi
516        ;;
517      esac
518    done])
519
520  dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
521  dnl to 'yes' because some of the testsuite requires it.
522  if test "$PACKAGE" = gettext; then
523    BUILD_INCLUDED_LIBINTL=yes
524  fi
525
526  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
527  dnl because plural.y uses bison specific features. It requires at least
528  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
529  dnl compile.
530  dnl bison is only needed for the maintainer (who touches plural.y). But in
531  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
532  dnl the rule in general Makefile. Now, some people carelessly touch the
533  dnl files or have a broken "make" program, hence the plural.c rule will
534  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
535  dnl present or too old.
536  if test "$nls_cv_use_gnu_gettext" = "yes"; then
537    AC_CHECK_PROGS([INTLBISON], [bison])
538    if test -z "$INTLBISON"; then
539      ac_verc_fail=yes
540    else
541      dnl Found it, now check the version.
542      AC_MSG_CHECKING([version of bison])
543changequote(<<,>>)dnl
544      ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
545      case $ac_prog_version in
546        '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
547        1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
548changequote([,])dnl
549           ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
550        *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
551      esac
552    AC_MSG_RESULT([$ac_prog_version])
553    fi
554    if test $ac_verc_fail = yes; then
555      INTLBISON=:
556    fi
557  fi
558
559  dnl These rules are solely for the distribution goal.  While doing this
560  dnl we only have to keep exactly one list of the available catalogs
561  dnl in configure.in.
562  for lang in $ALL_LINGUAS; do
563    GMOFILES="$GMOFILES $lang.gmo"
564    POFILES="$POFILES $lang.po"
565  done
566
567  dnl Make all variables we use known to autoconf.
568  AC_SUBST(BUILD_INCLUDED_LIBINTL)
569  AC_SUBST(USE_INCLUDED_LIBINTL)
570  AC_SUBST(CATALOGS)
571  AC_SUBST(CATOBJEXT)
572  AC_SUBST(GMOFILES)
573  AC_SUBST(INTLLIBS)
574  AC_SUBST(INTLOBJS)
575  AC_SUBST(POFILES)
576  AC_SUBST(POSUB)
577
578  dnl For backward compatibility. Some configure.ins may be using this.
579  nls_cv_header_intl=
580  nls_cv_header_libgt=
581
582  dnl For backward compatibility. Some Makefiles may be using this.
583  DATADIRNAME=share
584  AC_SUBST(DATADIRNAME)
585
586  dnl For backward compatibility. Some Makefiles may be using this.
587  INSTOBJEXT=.mo
588  AC_SUBST(INSTOBJEXT)
589
590  dnl For backward compatibility. Some Makefiles may be using this.
591  GENCAT=gencat
592  AC_SUBST(GENCAT)
593])dnl
594dnl ---------------------------------------------------------------------------
595dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56
596dnl ------------
597dnl Conditionally generate script according to whether we're using the release
598dnl version of autoconf, or a patched version (using the ternary component as
599dnl the patch-version).
600define(CF_AC_PREREQ,
601[CF_PREREQ_COMPARE(
602AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)),
603AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), [$1], [$2], [$3])])dnl
604dnl ---------------------------------------------------------------------------
605dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
606dnl -------------
607dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
608dnl The second parameter if given makes this macro verbose.
609dnl
610dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
611dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
612dnl confused by the quotes (which require backslashes to keep them usable).
613AC_DEFUN([CF_ADD_CFLAGS],
614[
615cf_fix_cppflags=no
616cf_new_cflags=
617cf_new_cppflags=
618cf_new_extra_cppflags=
619
620for cf_add_cflags in $1
621do
622case $cf_fix_cppflags in
623no)
624	case $cf_add_cflags in #(vi
625	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
626		case $cf_add_cflags in
627		-D*)
628			cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
629
630			test "${cf_add_cflags}" != "${cf_tst_cflags}" \
631				&& test -z "${cf_tst_cflags}" \
632				&& cf_fix_cppflags=yes
633
634			if test $cf_fix_cppflags = yes ; then
635				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
636				continue
637			elif test "${cf_tst_cflags}" = "\"'" ; then
638				cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
639				continue
640			fi
641			;;
642		esac
643		case "$CPPFLAGS" in
644		*$cf_add_cflags) #(vi
645			;;
646		*) #(vi
647			case $cf_add_cflags in #(vi
648			-D*)
649				cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
650				CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
651				;;
652			esac
653			cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
654			;;
655		esac
656		;;
657	*)
658		cf_new_cflags="$cf_new_cflags $cf_add_cflags"
659		;;
660	esac
661	;;
662yes)
663	cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
664
665	cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
666
667	test "${cf_add_cflags}" != "${cf_tst_cflags}" \
668		&& test -z "${cf_tst_cflags}" \
669		&& cf_fix_cppflags=no
670	;;
671esac
672done
673
674if test -n "$cf_new_cflags" ; then
675	ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
676	CFLAGS="$CFLAGS $cf_new_cflags"
677fi
678
679if test -n "$cf_new_cppflags" ; then
680	ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
681	CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
682fi
683
684if test -n "$cf_new_extra_cppflags" ; then
685	ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
686	EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
687fi
688
689AC_SUBST(EXTRA_CPPFLAGS)
690
691])dnl
692dnl ---------------------------------------------------------------------------
693dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
694dnl -------------
695dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
696dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
697dnl but old versions (and some misinstalled ones) need that.  To make things
698dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
699dnl the include-path).
700AC_DEFUN([CF_ADD_INCDIR],
701[
702if test -n "$1" ; then
703  for cf_add_incdir in $1
704  do
705	while test $cf_add_incdir != /usr/include
706	do
707	  if test -d $cf_add_incdir
708	  then
709		cf_have_incdir=no
710		if test -n "$CFLAGS$CPPFLAGS" ; then
711		  # a loop is needed to ensure we can add subdirs of existing dirs
712		  for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
713			if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
714			  cf_have_incdir=yes; break
715			fi
716		  done
717		fi
718
719		if test "$cf_have_incdir" = no ; then
720		  if test "$cf_add_incdir" = /usr/local/include ; then
721			if test "$GCC" = yes
722			then
723			  cf_save_CPPFLAGS=$CPPFLAGS
724			  CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
725			  AC_TRY_COMPILE([#include <stdio.h>],
726				  [printf("Hello")],
727				  [],
728				  [cf_have_incdir=yes])
729			  CPPFLAGS=$cf_save_CPPFLAGS
730			fi
731		  fi
732		fi
733
734		if test "$cf_have_incdir" = no ; then
735		  CF_VERBOSE(adding $cf_add_incdir to include-path)
736		  ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
737
738		  cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
739		  test "$cf_top_incdir" = "$cf_add_incdir" && break
740		  cf_add_incdir="$cf_top_incdir"
741		else
742		  break
743		fi
744	  fi
745	done
746  done
747fi
748])dnl
749dnl ---------------------------------------------------------------------------
750dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
751dnl ----------
752dnl Add a library, used to enforce consistency.
753dnl
754dnl $1 = library to add, without the "-l"
755dnl $2 = variable to update (default $LIBS)
756AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
757dnl ---------------------------------------------------------------------------
758dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
759dnl -------------
760dnl	Adds to the library-path
761dnl
762dnl	Some machines have trouble with multiple -L options.
763dnl
764dnl $1 is the (list of) directory(s) to add
765dnl $2 is the optional name of the variable to update (default LDFLAGS)
766dnl
767AC_DEFUN([CF_ADD_LIBDIR],
768[
769if test -n "$1" ; then
770  for cf_add_libdir in $1
771  do
772    if test $cf_add_libdir = /usr/lib ; then
773      :
774    elif test -d $cf_add_libdir
775    then
776      cf_have_libdir=no
777      if test -n "$LDFLAGS$LIBS" ; then
778        # a loop is needed to ensure we can add subdirs of existing dirs
779        for cf_test_libdir in $LDFLAGS $LIBS ; do
780          if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
781            cf_have_libdir=yes; break
782          fi
783        done
784      fi
785      if test "$cf_have_libdir" = no ; then
786        CF_VERBOSE(adding $cf_add_libdir to library-path)
787        ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
788      fi
789    fi
790  done
791fi
792])dnl
793dnl ---------------------------------------------------------------------------
794dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05
795dnl -----------
796dnl Add one or more libraries, used to enforce consistency.
797dnl
798dnl $1 = libraries to add, with the "-l", etc.
799dnl $2 = variable to update (default $LIBS)
800AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl
801dnl ---------------------------------------------------------------------------
802dnl CF_ADD_OPTIONAL_PATH version: 1 updated: 2007/07/29 12:33:33
803dnl --------------------
804dnl Add an optional search-path to the compile/link variables.
805dnl See CF_WITH_PATH
806dnl
807dnl $1 = shell variable containing the result of --with-XXX=[DIR]
808dnl $2 = module to look for.
809AC_DEFUN([CF_ADD_OPTIONAL_PATH],[
810  case "$1" in #(vi
811  no) #(vi
812      ;;
813  yes) #(vi
814      ;;
815  *)
816      CF_ADD_SEARCHPATH([$1], [AC_MSG_ERROR(cannot find $2 under $1)])
817      ;;
818  esac
819])dnl
820dnl ---------------------------------------------------------------------------
821dnl CF_ADD_SEARCHPATH version: 5 updated: 2009/01/11 20:40:21
822dnl -----------------
823dnl Set $CPPFLAGS and $LDFLAGS with the directories given via the parameter.
824dnl They can be either the common root of include- and lib-directories, or the
825dnl lib-directory (to allow for things like lib64 directories).
826dnl See also CF_FIND_LINKAGE.
827dnl
828dnl $1 is the list of colon-separated directory names to search.
829dnl $2 is the action to take if a parameter does not yield a directory.
830AC_DEFUN([CF_ADD_SEARCHPATH],
831[
832AC_REQUIRE([CF_PATHSEP])
833for cf_searchpath in `echo "$1" | tr $PATH_SEPARATOR ' '`; do
834	if test -d $cf_searchpath/include; then
835		CF_ADD_INCDIR($cf_searchpath/include)
836	elif test -d $cf_searchpath/../include ; then
837		CF_ADD_INCDIR($cf_searchpath/../include)
838	ifelse([$2],,,[else
839$2])
840	fi
841	if test -d $cf_searchpath/lib; then
842		CF_ADD_LIBDIR($cf_searchpath/lib)
843	elif test -d $cf_searchpath ; then
844		CF_ADD_LIBDIR($cf_searchpath)
845	ifelse([$2],,,[else
846$2])
847	fi
848done
849])
850dnl ---------------------------------------------------------------------------
851dnl CF_ADD_SUBDIR_PATH version: 3 updated: 2010/07/03 20:58:12
852dnl ------------------
853dnl Append to a search-list for a nonstandard header/lib-file
854dnl	$1 = the variable to return as result
855dnl	$2 = the package name
856dnl	$3 = the subdirectory, e.g., bin, include or lib
857dnl $4 = the directory under which we will test for subdirectories
858dnl $5 = a directory that we do not want $4 to match
859AC_DEFUN([CF_ADD_SUBDIR_PATH],
860[
861test "$4" != "$5" && \
862test -d "$4" && \
863ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) {
864	test -n "$verbose" && echo "	... testing for $3-directories under $4"
865	test -d $4/$3 &&          $1="[$]$1 $4/$3"
866	test -d $4/$3/$2 &&       $1="[$]$1 $4/$3/$2"
867	test -d $4/$3/$2/$3 &&    $1="[$]$1 $4/$3/$2/$3"
868	test -d $4/$2/$3 &&       $1="[$]$1 $4/$2/$3"
869	test -d $4/$2/$3/$2 &&    $1="[$]$1 $4/$2/$3/$2"
870}
871])dnl
872dnl ---------------------------------------------------------------------------
873dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
874dnl --------------
875dnl Allow user to disable a normally-on option.
876AC_DEFUN([CF_ARG_DISABLE],
877[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
878dnl ---------------------------------------------------------------------------
879dnl CF_ARG_ENABLE version: 3 updated: 1999/03/30 17:24:31
880dnl -------------
881dnl Allow user to enable a normally-off option.
882AC_DEFUN([CF_ARG_ENABLE],
883[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl
884dnl ---------------------------------------------------------------------------
885dnl CF_ARG_MSG_ENABLE version: 2 updated: 2000/07/29 19:32:03
886dnl -----------------
887dnl Verbose form of AC_ARG_ENABLE:
888dnl
889dnl Parameters:
890dnl $1 = message
891dnl $2 = option name
892dnl $3 = help-string
893dnl $4 = action to perform if option is enabled
894dnl $5 = action if perform if option is disabled
895dnl $6 = default option value (either 'yes' or 'no')
896AC_DEFUN([CF_ARG_MSG_ENABLE],[
897AC_MSG_CHECKING($1)
898AC_ARG_ENABLE($2,[$3],,enableval=ifelse($6,,no,$6))
899AC_MSG_RESULT($enableval)
900if test "$enableval" != no ; then
901ifelse($4,,[	:],$4)
902else
903ifelse($5,,[	:],$5)
904fi
905])dnl
906dnl ---------------------------------------------------------------------------
907dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
908dnl -------------
909dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
910dnl values.
911dnl
912dnl Parameters:
913dnl $1 = option name
914dnl $2 = help-string
915dnl $3 = action to perform if option is not default
916dnl $4 = action if perform if option is default
917dnl $5 = default option value (either 'yes' or 'no')
918AC_DEFUN([CF_ARG_OPTION],
919[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
920  if test "$enableval" != "$5" ; then
921ifelse([$3],,[    :]dnl
922,[    $3]) ifelse([$4],,,[
923  else
924    $4])
925  fi],[enableval=$5 ifelse([$4],,,[
926  $4
927])dnl
928  ])])dnl
929dnl ---------------------------------------------------------------------------
930dnl CF_BUNDLED_INTL version: 16 updated: 2010/10/23 15:55:05
931dnl ---------------
932dnl Top-level macro for configuring an application with a bundled copy of
933dnl the intl and po directories for gettext.
934dnl
935dnl $1 specifies either Makefile or makefile, defaulting to the former.
936dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls
937dnl
938dnl Sets variables which can be used to substitute in makefiles:
939dnl	GT_YES       - "#" comment unless building intl library, otherwise empty
940dnl	GT_NO        - "#" comment if building intl library, otherwise empty
941dnl	INTLDIR_MAKE - to make ./intl directory
942dnl	MSG_DIR_MAKE - to make ./po directory
943dnl	SUB_MAKEFILE - list of makefiles in ./intl, ./po directories
944dnl
945dnl Defines:
946dnl	HAVE_LIBGETTEXT_H if we're using ./intl
947dnl	NLS_TEXTDOMAIN
948dnl
949dnl Environment:
950dnl	ALL_LINGUAS if set, lists the root names of the ".po" files.
951dnl	CONFIG_H assumed to be "config.h"
952dnl	PACKAGE must be set, used as default for textdomain
953dnl	VERSION may be set, otherwise extract from "VERSION" file.
954dnl
955AC_DEFUN([CF_BUNDLED_INTL],[
956cf_makefile=ifelse($1,,Makefile,$1)
957
958dnl Set of available languages (based on source distribution).  Note that
959dnl setting $LINGUAS overrides $ALL_LINGUAS.  Some environments set $LINGUAS
960dnl rather than $LC_ALL
961test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'`
962
963# Allow override of "config.h" definition:
964: ${CONFIG_H:=config.h}
965AC_SUBST(CONFIG_H)
966
967if test -z "$PACKAGE" ; then
968	AC_MSG_ERROR([[CF_BUNDLED_INTL] used without setting [PACKAGE] variable])
969fi
970
971if test -z "$VERSION" ; then
972if test -f $srcdir/VERSION ; then
973	VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
974else
975	VERSION=unknown
976fi
977fi
978AC_SUBST(VERSION)
979
980AM_GNU_GETTEXT(,,,[$2])
981
982if test "$USE_NLS" = yes ; then
983	AC_ARG_WITH(textdomain,
984		[  --with-textdomain=PKG   NLS text-domain (default is package name)],
985		[NLS_TEXTDOMAIN=$withval],
986		[NLS_TEXTDOMAIN=$PACKAGE])
987	AC_DEFINE_UNQUOTED(NLS_TEXTDOMAIN,"$NLS_TEXTDOMAIN")
988	AC_SUBST(NLS_TEXTDOMAIN)
989fi
990
991INTLDIR_MAKE=
992MSG_DIR_MAKE=
993SUB_MAKEFILE=
994
995dnl this updates SUB_MAKEFILE and MSG_DIR_MAKE:
996CF_OUR_MESSAGES($1)
997
998if test "$USE_INCLUDED_LIBINTL" = yes ; then
999        if test "$nls_cv_force_use_gnu_gettext" = yes ; then
1000		:
1001	elif test "$nls_cv_use_gnu_gettext" = yes ; then
1002		:
1003	else
1004		INTLDIR_MAKE="#"
1005	fi
1006	if test -z "$INTLDIR_MAKE"; then
1007		AC_DEFINE(HAVE_LIBGETTEXT_H)
1008		for cf_makefile in \
1009			$srcdir/intl/Makefile.in \
1010			$srcdir/intl/makefile.in
1011		do
1012			if test -f "$cf_makefile" ; then
1013				SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}"
1014				break
1015			fi
1016		done
1017	fi
1018else
1019	INTLDIR_MAKE="#"
1020	if test "$USE_NLS" = yes ; then
1021		AC_CHECK_HEADERS(libintl.h)
1022	fi
1023fi
1024
1025if test -z "$INTLDIR_MAKE" ; then
1026	CPPFLAGS="$CPPFLAGS -I../intl"
1027fi
1028
1029dnl FIXME:  we use this in lynx (the alternative is a spurious dependency upon
1030dnl GNU make)
1031if test "$BUILD_INCLUDED_LIBINTL" = yes ; then
1032	GT_YES="#"
1033	GT_NO=
1034else
1035	GT_YES=
1036	GT_NO="#"
1037fi
1038
1039AC_SUBST(INTLDIR_MAKE)
1040AC_SUBST(MSG_DIR_MAKE)
1041AC_SUBST(GT_YES)
1042AC_SUBST(GT_NO)
1043
1044dnl FIXME:  the underlying AM_GNU_GETTEXT macro either needs some fixes or a
1045dnl little documentation.  It doesn't define anything so that we can ifdef our
1046dnl own code, except ENABLE_NLS, which is too vague to be of any use.
1047
1048if test "$USE_INCLUDED_LIBINTL" = yes ; then
1049	if test "$nls_cv_force_use_gnu_gettext" = yes ; then
1050		AC_DEFINE(HAVE_GETTEXT)
1051	elif test "$nls_cv_use_gnu_gettext" = yes ; then
1052		AC_DEFINE(HAVE_GETTEXT)
1053	fi
1054	if test -n "$nls_cv_header_intl" ; then
1055		AC_DEFINE(HAVE_LIBINTL_H)
1056	fi
1057fi
1058])dnl
1059dnl ---------------------------------------------------------------------------
1060dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
1061dnl --------------
1062dnl Check if we're accidentally using a cache from a different machine.
1063dnl Derive the system name, as a check for reusing the autoconf cache.
1064dnl
1065dnl If we've packaged config.guess and config.sub, run that (since it does a
1066dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
1067dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
1068dnl which is useful in cross-compiles.
1069dnl
1070dnl Note: we would use $ac_config_sub, but that is one of the places where
1071dnl autoconf 2.5x broke compatibility with autoconf 2.13
1072AC_DEFUN([CF_CHECK_CACHE],
1073[
1074if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
1075	ifelse([$1],,[AC_CANONICAL_HOST],[$1])
1076	system_name="$host_os"
1077else
1078	system_name="`(uname -s -r) 2>/dev/null`"
1079	if test -z "$system_name" ; then
1080		system_name="`(hostname) 2>/dev/null`"
1081	fi
1082fi
1083test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
1084AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
1085
1086test -z "$system_name" && system_name="$cf_cv_system_name"
1087test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
1088
1089if test ".$system_name" != ".$cf_cv_system_name" ; then
1090	AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
1091	AC_MSG_ERROR("Please remove config.cache and try again.")
1092fi
1093])dnl
1094dnl ---------------------------------------------------------------------------
1095dnl CF_CURSES_CHTYPE version: 7 updated: 2010/10/23 15:54:49
1096dnl ----------------
1097dnl Test if curses defines 'chtype' (usually a 'long' type for SysV curses).
1098AC_DEFUN([CF_CURSES_CHTYPE],
1099[
1100AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
1101AC_CACHE_CHECK(for chtype typedef,cf_cv_chtype_decl,[
1102	AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>],
1103		[chtype foo],
1104		[cf_cv_chtype_decl=yes],
1105		[cf_cv_chtype_decl=no])])
1106if test $cf_cv_chtype_decl = yes ; then
1107	AC_DEFINE(HAVE_TYPE_CHTYPE)
1108	AC_CACHE_CHECK(if chtype is scalar or struct,cf_cv_chtype_type,[
1109		AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>],
1110			[chtype foo; long x = foo],
1111			[cf_cv_chtype_type=scalar],
1112			[cf_cv_chtype_type=struct])])
1113	if test $cf_cv_chtype_type = scalar ; then
1114		AC_DEFINE(TYPE_CHTYPE_IS_SCALAR)
1115	fi
1116fi
1117])dnl
1118dnl ---------------------------------------------------------------------------
1119dnl CF_CURSES_CONFIG version: 2 updated: 2006/10/29 11:06:27
1120dnl ----------------
1121dnl Tie together the configure-script macros for curses.  It may be ncurses,
1122dnl but unless asked, we do not make a special search for ncurses.  However,
1123dnl still check for the ncurses version number, for use in other macros.
1124AC_DEFUN([CF_CURSES_CONFIG],
1125[
1126CF_CURSES_CPPFLAGS
1127CF_NCURSES_VERSION
1128CF_CURSES_LIBS
1129])dnl
1130dnl ---------------------------------------------------------------------------
1131dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08
1132dnl ------------------
1133dnl Look for the curses headers.
1134AC_DEFUN([CF_CURSES_CPPFLAGS],[
1135
1136AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[
1137cf_cv_curses_incdir=no
1138case $host_os in #(vi
1139hpux10.*) #(vi
1140	if test "x$cf_cv_screen" = "xcurses_colr"
1141	then
1142		test -d /usr/include/curses_colr && \
1143		cf_cv_curses_incdir="-I/usr/include/curses_colr"
1144	fi
1145	;;
1146sunos3*|sunos4*)
1147	if test "x$cf_cv_screen" = "xcurses_5lib"
1148	then
1149		test -d /usr/5lib && \
1150		test -d /usr/5include && \
1151		cf_cv_curses_incdir="-I/usr/5include"
1152	fi
1153	;;
1154esac
1155])
1156test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
1157
1158CF_CURSES_HEADER
1159CF_TERM_HEADER
1160])dnl
1161dnl ---------------------------------------------------------------------------
1162dnl CF_CURSES_FUNCS version: 17 updated: 2011/05/14 16:07:29
1163dnl ---------------
1164dnl Curses-functions are a little complicated, since a lot of them are macros.
1165AC_DEFUN([CF_CURSES_FUNCS],
1166[
1167AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
1168AC_REQUIRE([CF_XOPEN_CURSES])
1169AC_REQUIRE([CF_CURSES_TERM_H])
1170AC_REQUIRE([CF_CURSES_UNCTRL_H])
1171for cf_func in $1
1172do
1173	CF_UPPER(cf_tr_func,$cf_func)
1174	AC_MSG_CHECKING(for ${cf_func})
1175	CF_MSG_LOG(${cf_func})
1176	AC_CACHE_VAL(cf_cv_func_$cf_func,[
1177		eval cf_result='$ac_cv_func_'$cf_func
1178		if test ".$cf_result" != ".no"; then
1179			AC_TRY_LINK(CF__CURSES_HEAD,
1180			[
1181#ifndef ${cf_func}
1182long foo = (long)(&${cf_func});
1183if (foo + 1234 > 5678)
1184	${cf_cv_main_return:-return}(foo);
1185#endif
1186			],
1187			[cf_result=yes],
1188			[cf_result=no])
1189		fi
1190		eval 'cf_cv_func_'$cf_func'=$cf_result'
1191	])
1192	# use the computed/retrieved cache-value:
1193	eval 'cf_result=$cf_cv_func_'$cf_func
1194	AC_MSG_RESULT($cf_result)
1195	if test $cf_result != no; then
1196		AC_DEFINE_UNQUOTED(HAVE_${cf_tr_func})
1197	fi
1198done
1199])dnl
1200dnl ---------------------------------------------------------------------------
1201dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
1202dnl ----------------
1203dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
1204dnl variations of ncurses' installs.
1205dnl
1206dnl $1 = ncurses when looking for ncurses, or is empty
1207AC_DEFUN([CF_CURSES_HEADER],[
1208AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
1209cf_cv_ncurses_header=none
1210for cf_header in ifelse($1,,,[ \
1211    $1/ncurses.h \
1212	$1/curses.h]) \
1213	ncurses.h \
1214	curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
1215do
1216AC_TRY_COMPILE([#include <${cf_header}>],
1217	[initscr(); tgoto("?", 0,0)],
1218	[cf_cv_ncurses_header=$cf_header; break],[])
1219done
1220])
1221
1222if test "$cf_cv_ncurses_header" = none ; then
1223	AC_MSG_ERROR(No curses header-files found)
1224fi
1225
1226# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
1227AC_CHECK_HEADERS($cf_cv_ncurses_header)
1228])dnl
1229dnl ---------------------------------------------------------------------------
1230dnl CF_CURSES_LIBS version: 34 updated: 2011/04/09 14:51:08
1231dnl --------------
1232dnl Look for the curses libraries.  Older curses implementations may require
1233dnl termcap/termlib to be linked as well.  Call CF_CURSES_CPPFLAGS first.
1234AC_DEFUN([CF_CURSES_LIBS],[
1235
1236AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
1237AC_MSG_CHECKING(if we have identified curses libraries)
1238AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
1239    [initscr(); tgoto("?", 0,0)],
1240    cf_result=yes,
1241    cf_result=no)
1242AC_MSG_RESULT($cf_result)
1243
1244if test "$cf_result" = no ; then
1245case $host_os in #(vi
1246freebsd*) #(vi
1247    AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)])
1248    ;;
1249hpux10.*) #(vi
1250	# Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr
1251	# next (1998), and xcurses "newer" (2000).  There is no header file for
1252	# Hcurses; the subdirectory curses_colr has the headers (curses.h and
1253	# term.h) for cur_colr
1254	if test "x$cf_cv_screen" = "xcurses_colr"
1255	then
1256		AC_CHECK_LIB(cur_colr,initscr,[
1257			CF_ADD_LIBS(-lcur_colr)
1258			ac_cv_func_initscr=yes
1259			],[
1260		AC_CHECK_LIB(Hcurses,initscr,[
1261			# HP's header uses __HP_CURSES, but user claims _HP_CURSES.
1262			CF_ADD_LIBS(-lHcurses)
1263			CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES"
1264			ac_cv_func_initscr=yes
1265			])])
1266	fi
1267    ;;
1268linux*)
1269	case `arch 2>/dev/null` in
1270	x86_64)
1271		if test -d /lib64
1272		then
1273			CF_ADD_LIBDIR(/lib64)
1274		else
1275			CF_ADD_LIBDIR(/lib)
1276		fi
1277		;;
1278	*)
1279		CF_ADD_LIBDIR(/lib)
1280		;;
1281	esac
1282    ;;
1283sunos3*|sunos4*)
1284	if test "x$cf_cv_screen" = "xcurses_5lib"
1285	then
1286		if test -d /usr/5lib ; then
1287			CF_ADD_LIBDIR(/usr/5lib)
1288			CF_ADD_LIBS(-lcurses -ltermcap)
1289		fi
1290    fi
1291    ac_cv_func_initscr=yes
1292    ;;
1293esac
1294
1295if test ".$ac_cv_func_initscr" != .yes ; then
1296    cf_save_LIBS="$LIBS"
1297    cf_term_lib=""
1298    cf_curs_lib=""
1299
1300    if test ".${cf_cv_ncurses_version:-no}" != .no
1301    then
1302        cf_check_list="ncurses curses cursesX"
1303    else
1304        cf_check_list="cursesX curses ncurses"
1305    fi
1306
1307    # Check for library containing tgoto.  Do this before curses library
1308    # because it may be needed to link the test-case for initscr.
1309    AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
1310        for cf_term_lib in $cf_check_list termcap termlib unknown
1311        do
1312            AC_CHECK_LIB($cf_term_lib,tgoto,[break])
1313        done
1314    ])
1315
1316    # Check for library containing initscr
1317    test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
1318 	for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
1319    do
1320        AC_CHECK_LIB($cf_curs_lib,initscr,[break])
1321    done
1322    test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
1323
1324    LIBS="-l$cf_curs_lib $cf_save_LIBS"
1325    if test "$cf_term_lib" = unknown ; then
1326        AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
1327        AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
1328            [initscr()],
1329            [cf_result=yes],
1330            [cf_result=no])
1331        AC_MSG_RESULT($cf_result)
1332        test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
1333    elif test "$cf_curs_lib" = "$cf_term_lib" ; then
1334        :
1335    elif test "$cf_term_lib" != predefined ; then
1336        AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
1337        AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
1338            [initscr(); tgoto((char *)0, 0, 0);],
1339            [cf_result=no],
1340            [
1341            LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
1342            AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
1343                [initscr()],
1344                [cf_result=yes],
1345                [cf_result=error])
1346            ])
1347        AC_MSG_RESULT($cf_result)
1348    fi
1349fi
1350fi
1351
1352])dnl
1353dnl ---------------------------------------------------------------------------
1354dnl CF_CURSES_TERM_H version: 9 updated: 2011/04/09 18:19:55
1355dnl ----------------
1356dnl SVr4 curses should have term.h as well (where it puts the definitions of
1357dnl the low-level interface).  This may not be true in old/broken implementations,
1358dnl as well as in misconfigured systems (e.g., gcc configured for Solaris 2.4
1359dnl running with Solaris 2.5.1).
1360AC_DEFUN([CF_CURSES_TERM_H],
1361[
1362AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
1363
1364AC_CACHE_CHECK(for term.h, cf_cv_term_header,[
1365
1366# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
1367# for <term.h> if we do not find the variant.
1368
1369cf_header_list="term.h ncurses/term.h ncursesw/term.h"
1370
1371case ${cf_cv_ncurses_header:-curses.h} in #(vi
1372*/*)
1373	cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h
1374	cf_header_list="$cf_header_item $cf_header_list"
1375	;;
1376esac
1377
1378for cf_header in $cf_header_list
1379do
1380	AC_TRY_COMPILE([
1381#include <${cf_cv_ncurses_header:-curses.h}>
1382#include <${cf_header}>],
1383	[WINDOW *x],
1384	[cf_cv_term_header=$cf_header
1385	 break],
1386	[cf_cv_term_header=no])
1387done
1388
1389case $cf_cv_term_header in #(vi
1390no)
1391	# If curses is ncurses, some packagers still mess it up by trying to make
1392	# us use GNU termcap.  This handles the most common case.
1393	for cf_header in ncurses/term.h ncursesw/term.h
1394	do
1395		AC_TRY_COMPILE([
1396#include <${cf_cv_ncurses_header:-curses.h}>
1397#ifdef NCURSES_VERSION
1398#include <${cf_header}>
1399#else
1400make an error
1401#endif],
1402			[WINDOW *x],
1403			[cf_cv_term_header=$cf_header
1404			 break],
1405			[cf_cv_term_header=no])
1406	done
1407	;;
1408esac
1409])
1410
1411case $cf_cv_term_header in #(vi
1412term.h) #(vi
1413	AC_DEFINE(HAVE_TERM_H)
1414	;;
1415ncurses/term.h) #(vi
1416	AC_DEFINE(HAVE_NCURSES_TERM_H)
1417	;;
1418ncursesw/term.h)
1419	AC_DEFINE(HAVE_NCURSESW_TERM_H)
1420	;;
1421esac
1422])dnl
1423dnl ---------------------------------------------------------------------------
1424dnl CF_CURSES_UNCTRL_H version: 1 updated: 2011/04/09 18:19:55
1425dnl ------------------
1426dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages
1427dnl may put it in a subdirectory (along with ncurses' other headers, of
1428dnl course).  Packages which put the headers in inconsistent locations are
1429dnl broken).
1430AC_DEFUN([CF_CURSES_UNCTRL_H],
1431[
1432AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
1433
1434AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[
1435
1436# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look
1437# for <unctrl.h> if we do not find the variant.
1438
1439cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h"
1440
1441case ${cf_cv_ncurses_header:-curses.h} in #(vi
1442*/*)
1443	cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h
1444	cf_header_list="$cf_header_item $cf_header_list"
1445	;;
1446esac
1447
1448for cf_header in $cf_header_list
1449do
1450	AC_TRY_COMPILE([
1451#include <${cf_cv_ncurses_header:-curses.h}>
1452#include <${cf_header}>],
1453	[WINDOW *x],
1454	[cf_cv_unctrl_header=$cf_header
1455	 break],
1456	[cf_cv_unctrl_header=no])
1457done
1458
1459case $cf_cv_unctrl_header in #(vi
1460no)
1461	AC_MSG_WARN(unctrl.h header not found)
1462	;;
1463esac
1464])
1465
1466case $cf_cv_unctrl_header in #(vi
1467unctrl.h) #(vi
1468	AC_DEFINE(HAVE_UNCTRL_H)
1469	;;
1470ncurses/unctrl.h) #(vi
1471	AC_DEFINE(HAVE_NCURSES_UNCTRL_H)
1472	;;
1473ncursesw/unctrl.h)
1474	AC_DEFINE(HAVE_NCURSESW_UNCTRL_H)
1475	;;
1476esac
1477])dnl
1478dnl ---------------------------------------------------------------------------
1479dnl CF_CURSES_WACS_MAP version: 5 updated: 2011/01/15 11:28:59
1480dnl ------------------
1481dnl Check for likely values of wacs_map[].
1482AC_DEFUN([CF_CURSES_WACS_MAP],
1483[
1484AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
1485	cf_cv_curses_wacs_map=unknown
1486	for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char
1487	do
1488	AC_TRY_LINK([
1489#ifndef _XOPEN_SOURCE_EXTENDED
1490#define _XOPEN_SOURCE_EXTENDED
1491#endif
1492#include <${cf_cv_ncurses_header:-curses.h}>],
1493	[void *foo = &($name['k'])],
1494	[cf_cv_curses_wacs_map=$name
1495	 break])
1496	done])
1497
1498test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
1499])dnl
1500dnl ---------------------------------------------------------------------------
1501dnl CF_CURSES_WACS_SYMBOLS version: 1 updated: 2011/01/15 11:28:59
1502dnl ----------------------
1503dnl Do a check to see if the WACS_xxx constants are defined compatibly with
1504dnl X/Open Curses.  In particular, NetBSD's implementation of the WACS_xxx
1505dnl constants is broken since those constants do not point to cchar_t's.
1506AC_DEFUN([CF_CURSES_WACS_SYMBOLS],
1507[
1508AC_REQUIRE([CF_CURSES_WACS_MAP])
1509
1510AC_CACHE_CHECK(for wide alternate character constants, cf_cv_curses_wacs_symbols,[
1511cf_cv_curses_wacs_symbols=no
1512if test "$cf_cv_curses_wacs_map" != unknown
1513then
1514	AC_TRY_LINK([
1515#ifndef _XOPEN_SOURCE_EXTENDED
1516#define _XOPEN_SOURCE_EXTENDED
1517#endif
1518#include <${cf_cv_ncurses_header:-curses.h}>],
1519	[cchar_t *foo = WACS_PLUS;
1520	 $cf_cv_curses_wacs_map['k'] = *WACS_PLUS],
1521	[cf_cv_curses_wacs_symbols=yes])
1522else
1523	AC_TRY_LINK([
1524#ifndef _XOPEN_SOURCE_EXTENDED
1525#define _XOPEN_SOURCE_EXTENDED
1526#endif
1527#include <${cf_cv_ncurses_header:-curses.h}>],
1528	[cchar_t *foo = WACS_PLUS],
1529	[cf_cv_curses_wacs_symbols=yes])
1530fi
1531])
1532
1533test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS)
1534])dnl
1535dnl ---------------------------------------------------------------------------
1536dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1537dnl ----------
1538dnl "dirname" is not portable, so we fake it with a shell script.
1539AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1540dnl ---------------------------------------------------------------------------
1541dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57
1542dnl ---------------
1543dnl You can always use "make -n" to see the actual options, but it's hard to
1544dnl pick out/analyze warning messages when the compile-line is long.
1545dnl
1546dnl Sets:
1547dnl	ECHO_LT - symbol to control if libtool is verbose
1548dnl	ECHO_LD - symbol to prefix "cc -o" lines
1549dnl	RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
1550dnl	SHOW_CC - symbol to put before explicit "cc -c" lines
1551dnl	ECHO_CC - symbol to put before any "cc" line
1552dnl
1553AC_DEFUN([CF_DISABLE_ECHO],[
1554AC_MSG_CHECKING(if you want to see long compiling messages)
1555CF_ARG_DISABLE(echo,
1556	[  --disable-echo          display "compiling" commands],
1557	[
1558    ECHO_LT='--silent'
1559    ECHO_LD='@echo linking [$]@;'
1560    RULE_CC='@echo compiling [$]<'
1561    SHOW_CC='@echo compiling [$]@'
1562    ECHO_CC='@'
1563],[
1564    ECHO_LT=''
1565    ECHO_LD=''
1566    RULE_CC=''
1567    SHOW_CC=''
1568    ECHO_CC=''
1569])
1570AC_MSG_RESULT($enableval)
1571AC_SUBST(ECHO_LT)
1572AC_SUBST(ECHO_LD)
1573AC_SUBST(RULE_CC)
1574AC_SUBST(SHOW_CC)
1575AC_SUBST(ECHO_CC)
1576])dnl
1577dnl ---------------------------------------------------------------------------
1578dnl CF_DISABLE_LIBTOOL_VERSION version: 1 updated: 2010/05/15 15:45:59
1579dnl --------------------------
1580dnl Check if we should use the libtool 1.5 feature "-version-number" instead of
1581dnl the older "-version-info" feature.  The newer feature allows us to use
1582dnl version numbering on shared libraries which make them compatible with
1583dnl various systems.
1584AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION],
1585[
1586AC_MSG_CHECKING(if libtool -version-number should be used)
1587CF_ARG_DISABLE(libtool-version,
1588	[  --disable-libtool-version  enable to use libtool's incompatible naming scheme],
1589	[cf_libtool_version=no],
1590	[cf_libtool_version=yes])
1591AC_MSG_RESULT($cf_libtool_version)
1592
1593if test "$cf_libtool_version" = yes ; then
1594	LIBTOOL_VERSION="-version-number"
1595else
1596	LIBTOOL_VERSION="-version-info"
1597fi
1598
1599AC_SUBST(LIBTOOL_VERSION)
1600])dnl
1601dnl ---------------------------------------------------------------------------
1602dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
1603dnl ---------------------
1604dnl The rpath-hack makes it simpler to build programs, particularly with the
1605dnl *BSD ports which may have essential libraries in unusual places.  But it
1606dnl can interfere with building an executable for the base system.  Use this
1607dnl option in that case.
1608AC_DEFUN([CF_DISABLE_RPATH_HACK],
1609[
1610AC_MSG_CHECKING(if rpath-hack should be disabled)
1611CF_ARG_DISABLE(rpath-hack,
1612	[  --disable-rpath-hack    don't add rpath options for additional libraries],
1613	[cf_disable_rpath_hack=yes],
1614	[cf_disable_rpath_hack=no])
1615AC_MSG_RESULT($cf_disable_rpath_hack)
1616if test "$cf_disable_rpath_hack" = no ; then
1617	CF_RPATH_HACK
1618fi
1619])
1620dnl ---------------------------------------------------------------------------
1621dnl CF_FIND_HEADER version: 2 updated: 2007/07/29 11:32:00
1622dnl --------------
1623dnl Find a header file, searching for it if it is not already in the include
1624dnl path.
1625dnl
1626dnl	$1 = the header filename
1627dnl	$2 = the package name
1628dnl	$3 = action to perform if successful
1629dnl	$4 = action to perform if not successful
1630AC_DEFUN([CF_FIND_HEADER],[
1631AC_CHECK_HEADER([$1],
1632	cf_find_header=yes,[
1633	cf_find_header=no
1634CF_HEADER_PATH(cf_search,$2)
1635for cf_incdir in $cf_search
1636do
1637	if test -f $cf_incdir/$1 ; then
1638		CF_ADD_INCDIR($cf_incdir)
1639		CF_VERBOSE(... found in $cf_incdir)
1640		cf_find_header=yes
1641		break
1642	fi
1643	CF_VERBOSE(... tested $cf_incdir)
1644done
1645])
1646if test "$cf_find_header" = yes ; then
1647ifelse([$3],,:,[$3])
1648ifelse([$4],,,[else
1649$4])
1650fi
1651])dnl
1652dnl ---------------------------------------------------------------------------
1653dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
1654dnl ---------------
1655dnl Look for a non-standard library, given parameters for AC_TRY_LINK.  We
1656dnl prefer a standard location, and use -L options only if we do not find the
1657dnl library in the standard library location(s).
1658dnl	$1 = library name
1659dnl	$2 = library class, usually the same as library name
1660dnl	$3 = includes
1661dnl	$4 = code fragment to compile/link
1662dnl	$5 = corresponding function-name
1663dnl	$6 = flag, nonnull if failure should not cause an error-exit
1664dnl
1665dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
1666dnl to use a -L option.
1667AC_DEFUN([CF_FIND_LIBRARY],
1668[
1669	eval 'cf_cv_have_lib_'$1'=no'
1670	cf_libdir=""
1671	AC_CHECK_FUNC($5,
1672		eval 'cf_cv_have_lib_'$1'=yes',[
1673		cf_save_LIBS="$LIBS"
1674		AC_MSG_CHECKING(for $5 in -l$1)
1675		LIBS="-l$1 $LIBS"
1676		AC_TRY_LINK([$3],[$4],
1677			[AC_MSG_RESULT(yes)
1678			 eval 'cf_cv_have_lib_'$1'=yes'
1679			],
1680			[AC_MSG_RESULT(no)
1681			CF_LIBRARY_PATH(cf_search,$2)
1682			for cf_libdir in $cf_search
1683			do
1684				AC_MSG_CHECKING(for -l$1 in $cf_libdir)
1685				LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
1686				AC_TRY_LINK([$3],[$4],
1687					[AC_MSG_RESULT(yes)
1688			 		 eval 'cf_cv_have_lib_'$1'=yes'
1689					 break],
1690					[AC_MSG_RESULT(no)
1691					 LIBS="$cf_save_LIBS"])
1692			done
1693			])
1694		])
1695eval 'cf_found_library=[$]cf_cv_have_lib_'$1
1696ifelse($6,,[
1697if test $cf_found_library = no ; then
1698	AC_MSG_ERROR(Cannot link $1 library)
1699fi
1700])
1701])dnl
1702dnl ---------------------------------------------------------------------------
1703dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
1704dnl ---------------
1705dnl Find a library (specifically the linkage used in the code fragment),
1706dnl searching for it if it is not already in the library path.
1707dnl See also CF_ADD_SEARCHPATH.
1708dnl
1709dnl Parameters (4-on are optional):
1710dnl     $1 = headers for library entrypoint
1711dnl     $2 = code fragment for library entrypoint
1712dnl     $3 = the library name without the "-l" option or ".so" suffix.
1713dnl     $4 = action to perform if successful (default: update CPPFLAGS, etc)
1714dnl     $5 = action to perform if not successful
1715dnl     $6 = module name, if not the same as the library name
1716dnl     $7 = extra libraries
1717dnl
1718dnl Sets these variables:
1719dnl     $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1720dnl     $cf_cv_header_path_$3 - include-directory if needed
1721dnl     $cf_cv_library_path_$3 - library-directory if needed
1722dnl     $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1723AC_DEFUN([CF_FIND_LINKAGE],[
1724
1725# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1726# will be set on completion of the AC_TRY_LINK below.
1727cf_cv_header_path_$3=
1728cf_cv_library_path_$3=
1729
1730CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1731
1732cf_save_LIBS="$LIBS"
1733
1734AC_TRY_LINK([$1],[$2],[
1735	cf_cv_find_linkage_$3=yes
1736	cf_cv_header_path_$3=/usr/include
1737	cf_cv_library_path_$3=/usr/lib
1738],[
1739
1740LIBS="-l$3 $7 $cf_save_LIBS"
1741
1742AC_TRY_LINK([$1],[$2],[
1743	cf_cv_find_linkage_$3=yes
1744	cf_cv_header_path_$3=/usr/include
1745	cf_cv_library_path_$3=/usr/lib
1746	cf_cv_library_file_$3="-l$3"
1747],[
1748	cf_cv_find_linkage_$3=no
1749	LIBS="$cf_save_LIBS"
1750
1751    CF_VERBOSE(find linkage for $3 library)
1752    CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1753
1754    cf_save_CPPFLAGS="$CPPFLAGS"
1755    cf_test_CPPFLAGS="$CPPFLAGS"
1756
1757    CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1758    for cf_cv_header_path_$3 in $cf_search
1759    do
1760      if test -d $cf_cv_header_path_$3 ; then
1761        CF_VERBOSE(... testing $cf_cv_header_path_$3)
1762        CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1763        AC_TRY_COMPILE([$1],[$2],[
1764            CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1765            cf_cv_find_linkage_$3=maybe
1766            cf_test_CPPFLAGS="$CPPFLAGS"
1767            break],[
1768            CPPFLAGS="$cf_save_CPPFLAGS"
1769            ])
1770      fi
1771    done
1772
1773    if test "$cf_cv_find_linkage_$3" = maybe ; then
1774
1775      CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1776
1777      cf_save_LIBS="$LIBS"
1778      cf_save_LDFLAGS="$LDFLAGS"
1779
1780      ifelse([$6],,,[
1781        CPPFLAGS="$cf_test_CPPFLAGS"
1782        LIBS="-l$3 $7 $cf_save_LIBS"
1783        AC_TRY_LINK([$1],[$2],[
1784            CF_VERBOSE(... found $3 library in system)
1785            cf_cv_find_linkage_$3=yes])
1786            CPPFLAGS="$cf_save_CPPFLAGS"
1787            LIBS="$cf_save_LIBS"
1788            ])
1789
1790      if test "$cf_cv_find_linkage_$3" != yes ; then
1791        CF_LIBRARY_PATH(cf_search,$3)
1792        for cf_cv_library_path_$3 in $cf_search
1793        do
1794          if test -d $cf_cv_library_path_$3 ; then
1795            CF_VERBOSE(... testing $cf_cv_library_path_$3)
1796            CPPFLAGS="$cf_test_CPPFLAGS"
1797            LIBS="-l$3 $7 $cf_save_LIBS"
1798            LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1799            AC_TRY_LINK([$1],[$2],[
1800                CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1801                cf_cv_find_linkage_$3=yes
1802                cf_cv_library_file_$3="-l$3"
1803                break],[
1804                CPPFLAGS="$cf_save_CPPFLAGS"
1805                LIBS="$cf_save_LIBS"
1806                LDFLAGS="$cf_save_LDFLAGS"
1807                ])
1808          fi
1809        done
1810        CPPFLAGS="$cf_save_CPPFLAGS"
1811        LDFLAGS="$cf_save_LDFLAGS"
1812      fi
1813
1814    else
1815      cf_cv_find_linkage_$3=no
1816    fi
1817    ],$7)
1818])
1819
1820LIBS="$cf_save_LIBS"
1821
1822if test "$cf_cv_find_linkage_$3" = yes ; then
1823ifelse([$4],,[
1824	CF_ADD_INCDIR($cf_cv_header_path_$3)
1825	CF_ADD_LIBDIR($cf_cv_library_path_$3)
1826	CF_ADD_LIB($3)
1827],[$4])
1828else
1829ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1830fi
1831])dnl
1832dnl ---------------------------------------------------------------------------
1833dnl CF_FUNC_WAIT version: 2 updated: 1997/10/21 19:45:33
1834dnl ------------
1835dnl Test for the presence of <sys/wait.h>, 'union wait', arg-type of 'wait()'
1836dnl and/or 'waitpid()'.
1837dnl
1838dnl Note that we cannot simply grep for 'union wait' in the wait.h file,
1839dnl because some Posix systems turn this on only when a BSD variable is
1840dnl defined.
1841dnl
1842dnl I don't use AC_HEADER_SYS_WAIT, because it defines HAVE_SYS_WAIT_H, which
1843dnl would conflict with an attempt to test that header directly.
1844dnl
1845AC_DEFUN([CF_FUNC_WAIT],
1846[
1847AC_REQUIRE([CF_UNION_WAIT])
1848if test $cf_cv_type_unionwait = yes; then
1849
1850	AC_MSG_CHECKING(if union wait can be used as wait-arg)
1851	AC_CACHE_VAL(cf_cv_arg_union_wait,[
1852		AC_TRY_COMPILE($cf_wait_headers,
1853 			[union wait x; wait(&x)],
1854			[cf_cv_arg_union_wait=yes],
1855			[cf_cv_arg_union_wait=no])
1856		])
1857	AC_MSG_RESULT($cf_cv_arg_union_wait)
1858	test $cf_cv_arg_union_wait = yes && AC_DEFINE(WAIT_USES_UNION)
1859
1860	AC_MSG_CHECKING(if union wait can be used as waitpid-arg)
1861	AC_CACHE_VAL(cf_cv_arg_union_waitpid,[
1862		AC_TRY_COMPILE($cf_wait_headers,
1863 			[union wait x; waitpid(0, &x, 0)],
1864			[cf_cv_arg_union_waitpid=yes],
1865			[cf_cv_arg_union_waitpid=no])
1866		])
1867	AC_MSG_RESULT($cf_cv_arg_union_waitpid)
1868	test $cf_cv_arg_union_waitpid = yes && AC_DEFINE(WAITPID_USES_UNION)
1869
1870fi
1871])dnl
1872dnl ---------------------------------------------------------------------------
1873dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32
1874dnl -----------------
1875dnl Test for availability of useful gcc __attribute__ directives to quiet
1876dnl compiler warnings.  Though useful, not all are supported -- and contrary
1877dnl to documentation, unrecognized directives cause older compilers to barf.
1878AC_DEFUN([CF_GCC_ATTRIBUTES],
1879[
1880if test "$GCC" = yes
1881then
1882cat > conftest.i <<EOF
1883#ifndef GCC_PRINTF
1884#define GCC_PRINTF 0
1885#endif
1886#ifndef GCC_SCANF
1887#define GCC_SCANF 0
1888#endif
1889#ifndef GCC_NORETURN
1890#define GCC_NORETURN /* nothing */
1891#endif
1892#ifndef GCC_UNUSED
1893#define GCC_UNUSED /* nothing */
1894#endif
1895EOF
1896if test "$GCC" = yes
1897then
1898	AC_CHECKING([for $CC __attribute__ directives])
1899cat > conftest.$ac_ext <<EOF
1900#line __oline__ "${as_me:-configure}"
1901#include "confdefs.h"
1902#include "conftest.h"
1903#include "conftest.i"
1904#if	GCC_PRINTF
1905#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1906#else
1907#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1908#endif
1909#if	GCC_SCANF
1910#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
1911#else
1912#define GCC_SCANFLIKE(fmt,var)  /*nothing*/
1913#endif
1914extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1915extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1916extern void foo(void) GCC_NORETURN;
1917int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1918EOF
1919	cf_printf_attribute=no
1920	cf_scanf_attribute=no
1921	for cf_attribute in scanf printf unused noreturn
1922	do
1923		CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1924		cf_directive="__attribute__(($cf_attribute))"
1925		echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1926
1927		case $cf_attribute in #(vi
1928		printf) #(vi
1929			cf_printf_attribute=yes
1930			cat >conftest.h <<EOF
1931#define GCC_$cf_ATTRIBUTE 1
1932EOF
1933			;;
1934		scanf) #(vi
1935			cf_scanf_attribute=yes
1936			cat >conftest.h <<EOF
1937#define GCC_$cf_ATTRIBUTE 1
1938EOF
1939			;;
1940		*) #(vi
1941			cat >conftest.h <<EOF
1942#define GCC_$cf_ATTRIBUTE $cf_directive
1943EOF
1944			;;
1945		esac
1946
1947		if AC_TRY_EVAL(ac_compile); then
1948			test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1949			cat conftest.h >>confdefs.h
1950			case $cf_attribute in #(vi
1951			printf) #(vi
1952				if test "$cf_printf_attribute" = no ; then
1953					cat >>confdefs.h <<EOF
1954#define GCC_PRINTFLIKE(fmt,var) /* nothing */
1955EOF
1956				else
1957					cat >>confdefs.h <<EOF
1958#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1959EOF
1960				fi
1961				;;
1962			scanf) #(vi
1963				if test "$cf_scanf_attribute" = no ; then
1964					cat >>confdefs.h <<EOF
1965#define GCC_SCANFLIKE(fmt,var) /* nothing */
1966EOF
1967				else
1968					cat >>confdefs.h <<EOF
1969#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
1970EOF
1971				fi
1972				;;
1973			esac
1974		fi
1975	done
1976else
1977	fgrep define conftest.i >>confdefs.h
1978fi
1979rm -rf conftest*
1980fi
1981])dnl
1982dnl ---------------------------------------------------------------------------
1983dnl CF_GCC_VERSION version: 5 updated: 2010/04/24 11:02:31
1984dnl --------------
1985dnl Find version of gcc
1986AC_DEFUN([CF_GCC_VERSION],[
1987AC_REQUIRE([AC_PROG_CC])
1988GCC_VERSION=none
1989if test "$GCC" = yes ; then
1990	AC_MSG_CHECKING(version of $CC)
1991	GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1992	test -z "$GCC_VERSION" && GCC_VERSION=unknown
1993	AC_MSG_RESULT($GCC_VERSION)
1994fi
1995])dnl
1996dnl ---------------------------------------------------------------------------
1997dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
1998dnl ---------------
1999dnl Check if the compiler supports useful warning options.  There's a few that
2000dnl we don't use, simply because they're too noisy:
2001dnl
2002dnl	-Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
2003dnl	-Wredundant-decls (system headers make this too noisy)
2004dnl	-Wtraditional (combines too many unrelated messages, only a few useful)
2005dnl	-Wwrite-strings (too noisy, but should review occasionally).  This
2006dnl		is enabled for ncurses using "--enable-const".
2007dnl	-pedantic
2008dnl
2009dnl Parameter:
2010dnl	$1 is an optional list of gcc warning flags that a particular
2011dnl		application might want to use, e.g., "no-unused" for
2012dnl		-Wno-unused
2013dnl Special:
2014dnl	If $with_ext_const is "yes", add a check for -Wwrite-strings
2015dnl
2016AC_DEFUN([CF_GCC_WARNINGS],
2017[
2018AC_REQUIRE([CF_GCC_VERSION])
2019CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
2020
2021cat > conftest.$ac_ext <<EOF
2022#line __oline__ "${as_me:-configure}"
2023int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2024EOF
2025
2026if test "$INTEL_COMPILER" = yes
2027then
2028# The "-wdXXX" options suppress warnings:
2029# remark #1419: external declaration in primary source file
2030# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2031# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2032# remark #193: zero used for undefined preprocessing identifier
2033# remark #593: variable "curs_sb_left_arrow" was set but never used
2034# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2035# remark #869: parameter "tw" was never referenced
2036# remark #981: operands are evaluated in unspecified order
2037# warning #279: controlling expression is constant
2038
2039	AC_CHECKING([for $CC warning options])
2040	cf_save_CFLAGS="$CFLAGS"
2041	EXTRA_CFLAGS="-Wall"
2042	for cf_opt in \
2043		wd1419 \
2044		wd1683 \
2045		wd1684 \
2046		wd193 \
2047		wd593 \
2048		wd279 \
2049		wd810 \
2050		wd869 \
2051		wd981
2052	do
2053		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2054		if AC_TRY_EVAL(ac_compile); then
2055			test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2056			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2057		fi
2058	done
2059	CFLAGS="$cf_save_CFLAGS"
2060
2061elif test "$GCC" = yes
2062then
2063	AC_CHECKING([for $CC warning options])
2064	cf_save_CFLAGS="$CFLAGS"
2065	EXTRA_CFLAGS=
2066	cf_warn_CONST=""
2067	test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
2068	for cf_opt in W Wall \
2069		Wbad-function-cast \
2070		Wcast-align \
2071		Wcast-qual \
2072		Winline \
2073		Wmissing-declarations \
2074		Wmissing-prototypes \
2075		Wnested-externs \
2076		Wpointer-arith \
2077		Wshadow \
2078		Wstrict-prototypes \
2079		Wundef $cf_warn_CONST $1
2080	do
2081		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2082		if AC_TRY_EVAL(ac_compile); then
2083			test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2084			case $cf_opt in #(vi
2085			Wcast-qual) #(vi
2086				CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
2087				;;
2088			Winline) #(vi
2089				case $GCC_VERSION in
2090				[[34]].*)
2091					CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2092					continue;;
2093				esac
2094				;;
2095			esac
2096			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2097		fi
2098	done
2099	CFLAGS="$cf_save_CFLAGS"
2100fi
2101rm -rf conftest*
2102
2103AC_SUBST(EXTRA_CFLAGS)
2104])dnl
2105dnl ---------------------------------------------------------------------------
2106dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
2107dnl -------------
2108dnl Check if we must define _GNU_SOURCE to get a reasonable value for
2109dnl _XOPEN_SOURCE, upon which many POSIX definitions depend.  This is a defect
2110dnl (or misfeature) of glibc2, which breaks portability of many applications,
2111dnl since it is interwoven with GNU extensions.
2112dnl
2113dnl Well, yes we could work around it...
2114AC_DEFUN([CF_GNU_SOURCE],
2115[
2116AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
2117AC_TRY_COMPILE([#include <sys/types.h>],[
2118#ifndef _XOPEN_SOURCE
2119make an error
2120#endif],
2121	[cf_cv_gnu_source=no],
2122	[cf_save="$CPPFLAGS"
2123	 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2124	 AC_TRY_COMPILE([#include <sys/types.h>],[
2125#ifdef _XOPEN_SOURCE
2126make an error
2127#endif],
2128	[cf_cv_gnu_source=no],
2129	[cf_cv_gnu_source=yes])
2130	CPPFLAGS="$cf_save"
2131	])
2132])
2133test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2134])dnl
2135dnl ---------------------------------------------------------------------------
2136dnl CF_HEADERS_SH version: 1 updated: 2007/07/04 15:37:05
2137dnl -------------
2138dnl Setup variables needed to construct headers-sh
2139AC_DEFUN([CF_HEADERS_SH],[
2140PACKAGE_PREFIX=$1
2141PACKAGE_CONFIG=$2
2142AC_SUBST(PACKAGE_PREFIX)
2143AC_SUBST(PACKAGE_CONFIG)
2144EXTRA_OUTPUT="$EXTRA_OUTPUT headers-sh:$srcdir/headers-sh.in"
2145])
2146dnl ---------------------------------------------------------------------------
2147dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
2148dnl --------------
2149dnl Construct a search-list of directories for a nonstandard header-file
2150dnl
2151dnl Parameters
2152dnl	$1 = the variable to return as result
2153dnl	$2 = the package name
2154AC_DEFUN([CF_HEADER_PATH],
2155[
2156$1=
2157
2158# collect the current set of include-directories from compiler flags
2159cf_header_path_list=""
2160if test -n "${CFLAGS}${CPPFLAGS}" ; then
2161	for cf_header_path in $CPPFLAGS $CFLAGS
2162	do
2163		case $cf_header_path in #(vi
2164		-I*)
2165			cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2166			CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2167			cf_header_path_list="$cf_header_path_list [$]$1"
2168			;;
2169		esac
2170	done
2171fi
2172
2173# add the variations for the package we are looking for
2174CF_SUBDIR_PATH($1,$2,include)
2175
2176test "$includedir" != NONE && \
2177test "$includedir" != "/usr/include" && \
2178test -d "$includedir" && {
2179	test -d $includedir &&    $1="[$]$1 $includedir"
2180	test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2181}
2182
2183test "$oldincludedir" != NONE && \
2184test "$oldincludedir" != "/usr/include" && \
2185test -d "$oldincludedir" && {
2186	test -d $oldincludedir    && $1="[$]$1 $oldincludedir"
2187	test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2188}
2189
2190$1="[$]$1 $cf_header_path_list"
2191])dnl
2192dnl ---------------------------------------------------------------------------
2193dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2194dnl ---------------
2195dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2196AC_DEFUN([CF_HELP_MESSAGE],
2197[AC_DIVERT_HELP([$1])dnl
2198])dnl
2199dnl ---------------------------------------------------------------------------
2200dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
2201dnl ---------------
2202dnl Construct the list of include-options according to whether we're building
2203dnl in the source directory or using '--srcdir=DIR' option.  If we're building
2204dnl with gcc, don't append the includedir if it happens to be /usr/include,
2205dnl since that usually breaks gcc's shadow-includes.
2206AC_DEFUN([CF_INCLUDE_DIRS],
2207[
2208CPPFLAGS="$CPPFLAGS -I. -I../include"
2209if test "$srcdir" != "."; then
2210	CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
2211fi
2212if test "$GCC" != yes; then
2213	CPPFLAGS="$CPPFLAGS -I\${includedir}"
2214elif test "$includedir" != "/usr/include"; then
2215	if test "$includedir" = '${prefix}/include' ; then
2216		if test $prefix != /usr ; then
2217			CPPFLAGS="$CPPFLAGS -I\${includedir}"
2218		fi
2219	else
2220		CPPFLAGS="$CPPFLAGS -I\${includedir}"
2221	fi
2222fi
2223AC_SUBST(CPPFLAGS)
2224])dnl
2225dnl ---------------------------------------------------------------------------
2226dnl CF_INCLUDE_PATH version: 5 updated: 2010/01/17 20:36:17
2227dnl ---------------
2228dnl	Adds to the include-path
2229dnl
2230dnl	Autoconf 1.11 should have provided a way to add include path options to
2231dnl	the cpp-tests.
2232dnl
2233AC_DEFUN([CF_INCLUDE_PATH],
2234[
2235$1=
2236for cf_path in $1
2237do
2238	cf_result="no"
2239	AC_MSG_CHECKING(for directory $cf_path)
2240	if test -d $cf_path
2241	then
2242		INCLUDES="$INCLUDES -I$cf_path"
2243		ac_cpp="${ac_cpp} -I$cf_path"
2244		CFLAGS="$CFLAGS -I$cf_path"
2245		cf_result="yes"
2246		case $cf_path in
2247		/usr/include|/usr/include/*)
2248			;;
2249		*)
2250			CF_DIRNAME(cf_temp,$cf_path)
2251			case $cf_temp in
2252			*/include)
2253				INCLUDES="$INCLUDES -I$cf_temp"
2254				ac_cpp="${ac_cpp} -I$cf_temp"
2255				CFLAGS="$CFLAGS -I$cf_temp"
2256				;;
2257			esac
2258		esac
2259	fi
2260	AC_MSG_RESULT($cf_result)
2261done
2262])dnl
2263dnl ---------------------------------------------------------------------------
2264dnl CF_INTEL_COMPILER version: 4 updated: 2010/05/26 05:38:42
2265dnl -----------------
2266dnl Check if the given compiler is really the Intel compiler for Linux.  It
2267dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2268dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2269dnl
2270dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2271dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
2272dnl the wrappers for gcc and g++ warnings.
2273dnl
2274dnl $1 = GCC (default) or GXX
2275dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2276dnl $3 = CFLAGS (default) or CXXFLAGS
2277AC_DEFUN([CF_INTEL_COMPILER],[
2278ifelse([$2],,INTEL_COMPILER,[$2])=no
2279
2280if test "$ifelse([$1],,[$1],GCC)" = yes ; then
2281	case $host_os in
2282	linux*|gnu*)
2283		AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
2284		cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
2285		ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
2286		AC_TRY_COMPILE([],[
2287#ifdef __INTEL_COMPILER
2288#else
2289make an error
2290#endif
2291],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
2292cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc"
2293],[])
2294		ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
2295		AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
2296		;;
2297	esac
2298fi
2299])dnl
2300dnl ---------------------------------------------------------------------------
2301dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
2302dnl ------------
2303dnl Add checks for large file support.
2304AC_DEFUN([CF_LARGEFILE],[
2305ifdef([AC_FUNC_FSEEKO],[
2306    AC_SYS_LARGEFILE
2307    if test "$enable_largefile" != no ; then
2308	AC_FUNC_FSEEKO
2309
2310	# Normally we would collect these definitions in the config.h,
2311	# but (like _XOPEN_SOURCE), some environments rely on having these
2312	# defined before any of the system headers are included.  Another
2313	# case comes up with C++, e.g., on AIX the compiler compiles the
2314	# header files by themselves before looking at the body files it is
2315	# told to compile.  For ncurses, those header files do not include
2316	# the config.h
2317	test "$ac_cv_sys_large_files"      != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2318	test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2319	test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2320
2321	AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2322		AC_TRY_COMPILE([
2323#include <sys/types.h>
2324#include <dirent.h>
2325		],[
2326		/* if transitional largefile support is setup, this is true */
2327		extern struct dirent64 * readdir(DIR *);
2328		struct dirent64 *x = readdir((DIR *)0);
2329		struct dirent *y = readdir((DIR *)0);
2330		int z = x - y;
2331		],
2332		[cf_cv_struct_dirent64=yes],
2333		[cf_cv_struct_dirent64=no])
2334	])
2335	test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
2336    fi
2337])
2338])
2339dnl ---------------------------------------------------------------------------
2340dnl CF_LD_RPATH_OPT version: 4 updated: 2011/06/04 20:09:13
2341dnl ---------------
2342dnl For the given system and compiler, find the compiler flags to pass to the
2343dnl loader to use the "rpath" feature.
2344AC_DEFUN([CF_LD_RPATH_OPT],
2345[
2346AC_REQUIRE([CF_CHECK_CACHE])
2347
2348LD_RPATH_OPT=
2349AC_MSG_CHECKING(for an rpath option)
2350case $cf_cv_system_name in #(vi
2351irix*) #(vi
2352	if test "$GCC" = yes; then
2353		LD_RPATH_OPT="-Wl,-rpath,"
2354	else
2355		LD_RPATH_OPT="-rpath "
2356	fi
2357	;;
2358linux*|gnu*|k*bsd*-gnu) #(vi
2359	LD_RPATH_OPT="-Wl,-rpath,"
2360	;;
2361openbsd[[2-9]].*|mirbsd*) #(vi
2362	LD_RPATH_OPT="-Wl,-rpath,"
2363	;;
2364freebsd*) #(vi
2365	LD_RPATH_OPT="-rpath "
2366	;;
2367netbsd*) #(vi
2368	LD_RPATH_OPT="-Wl,-rpath,"
2369	;;
2370osf*|mls+*) #(vi
2371	LD_RPATH_OPT="-rpath "
2372	;;
2373solaris2*) #(vi
2374	LD_RPATH_OPT="-R"
2375	;;
2376*)
2377	;;
2378esac
2379AC_MSG_RESULT($LD_RPATH_OPT)
2380
2381case "x$LD_RPATH_OPT" in #(vi
2382x-R*)
2383	AC_MSG_CHECKING(if we need a space after rpath option)
2384	cf_save_LIBS="$LIBS"
2385	CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
2386	AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
2387	LIBS="$cf_save_LIBS"
2388	AC_MSG_RESULT($cf_rpath_space)
2389	test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
2390	;;
2391esac
2392])dnl
2393dnl ---------------------------------------------------------------------------
2394dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
2395dnl ---------------
2396dnl Construct a search-list of directories for a nonstandard library-file
2397dnl
2398dnl Parameters
2399dnl	$1 = the variable to return as result
2400dnl	$2 = the package name
2401AC_DEFUN([CF_LIBRARY_PATH],
2402[
2403$1=
2404cf_library_path_list=""
2405if test -n "${LDFLAGS}${LIBS}" ; then
2406	for cf_library_path in $LDFLAGS $LIBS
2407	do
2408		case $cf_library_path in #(vi
2409		-L*)
2410			cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
2411			CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
2412			cf_library_path_list="$cf_library_path_list [$]$1"
2413			;;
2414		esac
2415	done
2416fi
2417
2418CF_SUBDIR_PATH($1,$2,lib)
2419
2420$1="$cf_library_path_list [$]$1"
2421])dnl
2422dnl ---------------------------------------------------------------------------
2423dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
2424dnl -------------
2425dnl Compute the library-prefix for the given host system
2426dnl $1 = variable to set
2427AC_DEFUN([CF_LIB_PREFIX],
2428[
2429	case $cf_cv_system_name in #(vi
2430	OS/2*|os2*) #(vi
2431        LIB_PREFIX=''
2432        ;;
2433	*)	LIB_PREFIX='lib'
2434        ;;
2435	esac
2436ifelse($1,,,[$1=$LIB_PREFIX])
2437	AC_SUBST(LIB_PREFIX)
2438])dnl
2439dnl ---------------------------------------------------------------------------
2440dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46
2441dnl ------------
2442dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
2443dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
2444dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
2445dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
2446AC_DEFUN([CF_MAKEFLAGS],
2447[
2448AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
2449	cf_cv_makeflags=''
2450	for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
2451	do
2452		cat >cf_makeflags.tmp <<CF_EOF
2453SHELL = /bin/sh
2454all :
2455	@ echo '.$cf_option'
2456CF_EOF
2457		cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ 	]]*$,,'`
2458		case "$cf_result" in
2459		.*k)
2460			cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
2461			case "$cf_result" in
2462			.*CC=*)	cf_cv_makeflags=
2463				;;
2464			*)	cf_cv_makeflags=$cf_option
2465				;;
2466			esac
2467			break
2468			;;
2469		.-)	;;
2470		*)	echo "given option \"$cf_option\", no match \"$cf_result\""
2471			;;
2472		esac
2473	done
2474	rm -f cf_makeflags.tmp
2475])
2476
2477AC_SUBST(cf_cv_makeflags)
2478])dnl
2479dnl ---------------------------------------------------------------------------
2480dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
2481dnl ------------
2482dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
2483dnl a monocase filesystem.
2484AC_DEFUN([CF_MAKE_TAGS],[
2485AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
2486
2487AC_CHECK_PROGS(CTAGS, exctags ctags)
2488AC_CHECK_PROGS(ETAGS, exetags etags)
2489
2490AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
2491
2492if test "$cf_cv_mixedcase" = yes ; then
2493	AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
2494else
2495	MAKE_UPPER_TAGS=no
2496fi
2497
2498if test "$MAKE_UPPER_TAGS" = yes ; then
2499	MAKE_UPPER_TAGS=
2500else
2501	MAKE_UPPER_TAGS="#"
2502fi
2503
2504if test "$MAKE_LOWER_TAGS" = yes ; then
2505	MAKE_LOWER_TAGS=
2506else
2507	MAKE_LOWER_TAGS="#"
2508fi
2509
2510AC_SUBST(CTAGS)
2511AC_SUBST(ETAGS)
2512
2513AC_SUBST(MAKE_UPPER_TAGS)
2514AC_SUBST(MAKE_LOWER_TAGS)
2515])dnl
2516dnl ---------------------------------------------------------------------------
2517dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
2518dnl -----------
2519dnl Checks for libraries.  At least one UNIX system, Apple Macintosh
2520dnl Rhapsody 5.5, does not have -lm.  We cannot use the simpler
2521dnl AC_CHECK_LIB(m,sin), because that fails for C++.
2522AC_DEFUN([CF_MATH_LIB],
2523[
2524AC_CACHE_CHECK(if -lm needed for math functions,
2525	cf_cv_need_libm,[
2526	AC_TRY_LINK([
2527	#include <stdio.h>
2528	#include <math.h>
2529	],
2530	[double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
2531	[cf_cv_need_libm=no],
2532	[cf_cv_need_libm=yes])])
2533if test "$cf_cv_need_libm" = yes
2534then
2535ifelse($1,,[
2536	CF_ADD_LIB(m)
2537],[$1=-lm])
2538fi
2539])
2540dnl ---------------------------------------------------------------------------
2541dnl CF_MBSTATE_T version: 3 updated: 2007/03/25 15:55:36
2542dnl ------------
2543dnl Check if mbstate_t is declared, and if so, which header file.
2544dnl This (including wchar.h) is needed on Tru64 5.0 to declare mbstate_t,
2545dnl as well as include stdio.h to work around a misuse of varargs in wchar.h
2546AC_DEFUN([CF_MBSTATE_T],
2547[
2548AC_CACHE_CHECK(if we must include wchar.h to declare mbstate_t,cf_cv_mbstate_t,[
2549AC_TRY_COMPILE([
2550#include <stdlib.h>
2551#include <stdio.h>
2552#ifdef HAVE_LIBUTF8_H
2553#include <libutf8.h>
2554#endif],
2555	[mbstate_t state],
2556	[cf_cv_mbstate_t=no],
2557	[AC_TRY_COMPILE([
2558#include <stdlib.h>
2559#include <stdio.h>
2560#include <wchar.h>
2561#ifdef HAVE_LIBUTF8_H
2562#include <libutf8.h>
2563#endif],
2564	[mbstate_t value],
2565	[cf_cv_mbstate_t=yes],
2566	[cf_cv_mbstate_t=unknown])])])
2567
2568if test "$cf_cv_mbstate_t" = yes ; then
2569	AC_DEFINE(NEED_WCHAR_H)
2570fi
2571
2572if test "$cf_cv_mbstate_t" != unknown ; then
2573	AC_DEFINE(HAVE_MBSTATE_T)
2574fi
2575])dnl
2576dnl ---------------------------------------------------------------------------
2577dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
2578dnl ----------------------
2579dnl Check if the file-system supports mixed-case filenames.  If we're able to
2580dnl create a lowercase name and see it as uppercase, it doesn't support that.
2581AC_DEFUN([CF_MIXEDCASE_FILENAMES],
2582[
2583AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
2584if test "$cross_compiling" = yes ; then
2585	case $target_alias in #(vi
2586	*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
2587		cf_cv_mixedcase=no
2588		;;
2589	*)
2590		cf_cv_mixedcase=yes
2591		;;
2592	esac
2593else
2594	rm -f conftest CONFTEST
2595	echo test >conftest
2596	if test -f CONFTEST ; then
2597		cf_cv_mixedcase=no
2598	else
2599		cf_cv_mixedcase=yes
2600	fi
2601	rm -f conftest CONFTEST
2602fi
2603])
2604test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
2605])dnl
2606dnl ---------------------------------------------------------------------------
2607dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
2608dnl ----------
2609dnl Write a debug message to config.log, along with the line number in the
2610dnl configure script.
2611AC_DEFUN([CF_MSG_LOG],[
2612echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
2613])dnl
2614dnl ---------------------------------------------------------------------------
2615dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05
2616dnl -------------------
2617dnl Check if we can compile with ncurses' header file
2618dnl $1 is the cache variable to set
2619dnl $2 is the header-file to include
2620dnl $3 is the root name (ncurses or ncursesw)
2621AC_DEFUN([CF_NCURSES_CC_CHECK],[
2622	AC_TRY_COMPILE([
2623]ifelse($3,ncursesw,[
2624#define _XOPEN_SOURCE_EXTENDED
2625#undef  HAVE_LIBUTF8_H	/* in case we used CF_UTF8_LIB */
2626#define HAVE_LIBUTF8_H	/* to force ncurses' header file to use cchar_t */
2627])[
2628#include <$2>],[
2629#ifdef NCURSES_VERSION
2630]ifelse($3,ncursesw,[
2631#ifndef WACS_BSSB
2632	make an error
2633#endif
2634])[
2635printf("%s\n", NCURSES_VERSION);
2636#else
2637#ifdef __NCURSES_H
2638printf("old\n");
2639#else
2640	make an error
2641#endif
2642#endif
2643	]
2644	,[$1=$2]
2645	,[$1=no])
2646])dnl
2647dnl ---------------------------------------------------------------------------
2648dnl CF_NCURSES_CONFIG version: 8 updated: 2010/07/08 05:17:30
2649dnl -----------------
2650dnl Tie together the configure-script macros for ncurses.
2651dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
2652dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable.
2653dnl
2654dnl $1 is the root library name (default: "ncurses")
2655AC_DEFUN([CF_NCURSES_CONFIG],
2656[
2657cf_ncuconfig_root=ifelse($1,,ncurses,$1)
2658
2659echo "Looking for ${cf_ncuconfig_root}-config"
2660AC_PATH_PROGS(NCURSES_CONFIG,${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config,none)
2661
2662if test "$NCURSES_CONFIG" != none ; then
2663
2664CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
2665CF_ADD_LIBS(`$NCURSES_CONFIG --libs`)
2666
2667# even with config script, some packages use no-override for curses.h
2668CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
2669
2670dnl like CF_NCURSES_CPPFLAGS
2671AC_DEFINE(NCURSES)
2672
2673dnl like CF_NCURSES_LIBS
2674CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
2675AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2676
2677dnl like CF_NCURSES_VERSION
2678cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
2679
2680else
2681
2682CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
2683CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
2684
2685fi
2686])dnl
2687dnl ---------------------------------------------------------------------------
2688dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
2689dnl -------------------
2690dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
2691dnl the CPPFLAGS variable so we can include its header.
2692dnl
2693dnl The header files may be installed as either curses.h, or ncurses.h (would
2694dnl be obsolete, except that some packagers prefer this name to distinguish it
2695dnl from a "native" curses implementation).  If not installed for overwrite,
2696dnl the curses.h file would be in an ncurses subdirectory (e.g.,
2697dnl /usr/include/ncurses), but someone may have installed overwriting the
2698dnl vendor's curses.  Only very old versions (pre-1.9.2d, the first autoconf'd
2699dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
2700dnl the header.
2701dnl
2702dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
2703dnl is already in the include-path, don't even bother with this, since we cannot
2704dnl easily determine which file it is.  In this case, it has to be <curses.h>.
2705dnl
2706dnl The optional parameter gives the root name of the library, in case it is
2707dnl not installed as the default curses library.  That is how the
2708dnl wide-character version of ncurses is installed.
2709AC_DEFUN([CF_NCURSES_CPPFLAGS],
2710[AC_REQUIRE([CF_WITH_CURSES_DIR])
2711
2712AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
2713cf_ncuhdr_root=ifelse($1,,ncurses,$1)
2714
2715test -n "$cf_cv_curses_dir" && \
2716test "$cf_cv_curses_dir" != "no" && { \
2717  CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
2718}
2719
2720AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
2721	cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
2722	( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
2723	for cf_header in $cf_header_list
2724	do
2725		CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
2726		test "$cf_cv_ncurses_h" != no && break
2727	done
2728])
2729
2730CF_NCURSES_HEADER
2731CF_TERM_HEADER
2732
2733# some applications need this, but should check for NCURSES_VERSION
2734AC_DEFINE(NCURSES)
2735
2736CF_NCURSES_VERSION
2737])dnl
2738dnl ---------------------------------------------------------------------------
2739dnl CF_NCURSES_HEADER version: 2 updated: 2008/03/23 14:48:54
2740dnl -----------------
2741dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
2742dnl variations of ncurses' installs.
2743dnl
2744dnl See also CF_CURSES_HEADER, which sets the same cache variable.
2745AC_DEFUN([CF_NCURSES_HEADER],[
2746
2747if test "$cf_cv_ncurses_h" != no ; then
2748	cf_cv_ncurses_header=$cf_cv_ncurses_h
2749else
2750
2751AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
2752	test -n "$verbose" && echo
2753	CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
2754	test -n "$verbose" && echo search path $cf_search
2755	cf_save2_CPPFLAGS="$CPPFLAGS"
2756	for cf_incdir in $cf_search
2757	do
2758		CF_ADD_INCDIR($cf_incdir)
2759		for cf_header in \
2760			ncurses.h \
2761			curses.h
2762		do
2763			CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
2764			if test "$cf_cv_ncurses_h2" != no ; then
2765				cf_cv_ncurses_h2=$cf_incdir/$cf_header
2766				test -n "$verbose" && echo $ac_n "	... found $ac_c" 1>&AC_FD_MSG
2767				break
2768			fi
2769			test -n "$verbose" && echo "	... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
2770		done
2771		CPPFLAGS="$cf_save2_CPPFLAGS"
2772		test "$cf_cv_ncurses_h2" != no && break
2773	done
2774	test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found)
2775	])
2776
2777	CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
2778	cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
2779	if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
2780		cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
2781	fi
2782	CF_ADD_INCDIR($cf_1st_incdir)
2783
2784fi
2785
2786# Set definitions to allow ifdef'ing for ncurses.h
2787
2788case $cf_cv_ncurses_header in # (vi
2789*ncurses.h)
2790	AC_DEFINE(HAVE_NCURSES_H)
2791	;;
2792esac
2793
2794case $cf_cv_ncurses_header in # (vi
2795ncurses/curses.h|ncurses/ncurses.h)
2796	AC_DEFINE(HAVE_NCURSES_NCURSES_H)
2797	;;
2798ncursesw/curses.h|ncursesw/ncurses.h)
2799	AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
2800	;;
2801esac
2802
2803])dnl
2804dnl ---------------------------------------------------------------------------
2805dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38
2806dnl ---------------
2807dnl Look for the ncurses library.  This is a little complicated on Linux,
2808dnl because it may be linked with the gpm (general purpose mouse) library.
2809dnl Some distributions have gpm linked with (bsd) curses, which makes it
2810dnl unusable with ncurses.  However, we don't want to link with gpm unless
2811dnl ncurses has a dependency, since gpm is normally set up as a shared library,
2812dnl and the linker will record a dependency.
2813dnl
2814dnl The optional parameter gives the root name of the library, in case it is
2815dnl not installed as the default curses library.  That is how the
2816dnl wide-character version of ncurses is installed.
2817AC_DEFUN([CF_NCURSES_LIBS],
2818[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
2819
2820cf_nculib_root=ifelse($1,,ncurses,$1)
2821	# This works, except for the special case where we find gpm, but
2822	# ncurses is in a nonstandard location via $LIBS, and we really want
2823	# to link gpm.
2824cf_ncurses_LIBS=""
2825cf_ncurses_SAVE="$LIBS"
2826AC_CHECK_LIB(gpm,Gpm_Open,
2827	[AC_CHECK_LIB(gpm,initscr,
2828		[LIBS="$cf_ncurses_SAVE"],
2829		[cf_ncurses_LIBS="-lgpm"])])
2830
2831case $host_os in #(vi
2832freebsd*)
2833	# This is only necessary if you are linking against an obsolete
2834	# version of ncurses (but it should do no harm, since it's static).
2835	if test "$cf_nculib_root" = ncurses ; then
2836		AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
2837	fi
2838	;;
2839esac
2840
2841CF_ADD_LIBS($cf_ncurses_LIBS)
2842
2843if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
2844then
2845	CF_ADD_LIBS(-l$cf_nculib_root)
2846else
2847	CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
2848		[#include <${cf_cv_ncurses_header:-curses.h}>],
2849		[initscr()],
2850		initscr)
2851fi
2852
2853if test -n "$cf_ncurses_LIBS" ; then
2854	AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
2855	cf_ncurses_SAVE="$LIBS"
2856	for p in $cf_ncurses_LIBS ; do
2857		q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
2858		if test "$q" != "$LIBS" ; then
2859			LIBS="$q"
2860		fi
2861	done
2862	AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
2863		[initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
2864		[AC_MSG_RESULT(yes)],
2865		[AC_MSG_RESULT(no)
2866		 LIBS="$cf_ncurses_SAVE"])
2867fi
2868
2869CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
2870AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2871])dnl
2872dnl ---------------------------------------------------------------------------
2873dnl CF_NCURSES_VERSION version: 13 updated: 2010/10/23 15:54:49
2874dnl ------------------
2875dnl Check for the version of ncurses, to aid in reporting bugs, etc.
2876dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS.  We don't use
2877dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
2878AC_DEFUN([CF_NCURSES_VERSION],
2879[
2880AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
2881AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
2882	cf_cv_ncurses_version=no
2883	cf_tempfile=out$$
2884	rm -f $cf_tempfile
2885	AC_TRY_RUN([
2886#include <${cf_cv_ncurses_header:-curses.h}>
2887#include <stdio.h>
2888int main()
2889{
2890	FILE *fp = fopen("$cf_tempfile", "w");
2891#ifdef NCURSES_VERSION
2892# ifdef NCURSES_VERSION_PATCH
2893	fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
2894# else
2895	fprintf(fp, "%s\n", NCURSES_VERSION);
2896# endif
2897#else
2898# ifdef __NCURSES_H
2899	fprintf(fp, "old\n");
2900# else
2901	make an error
2902# endif
2903#endif
2904	${cf_cv_main_return:-return}(0);
2905}],[
2906	cf_cv_ncurses_version=`cat $cf_tempfile`],,[
2907
2908	# This will not work if the preprocessor splits the line after the
2909	# Autoconf token.  The 'unproto' program does that.
2910	cat > conftest.$ac_ext <<EOF
2911#include <${cf_cv_ncurses_header:-curses.h}>
2912#undef Autoconf
2913#ifdef NCURSES_VERSION
2914Autoconf NCURSES_VERSION
2915#else
2916#ifdef __NCURSES_H
2917Autoconf "old"
2918#endif
2919;
2920#endif
2921EOF
2922	cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
2923	AC_TRY_EVAL(cf_try)
2924	if test -f conftest.out ; then
2925		cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
2926		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
2927		rm -f conftest.out
2928	fi
2929])
2930	rm -f $cf_tempfile
2931])
2932test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
2933])dnl
2934dnl ---------------------------------------------------------------------------
2935dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
2936dnl ------------------
2937dnl see CF_WITH_NO_LEAKS
2938AC_DEFUN([CF_NO_LEAKS_OPTION],[
2939AC_MSG_CHECKING(if you want to use $1 for testing)
2940AC_ARG_WITH($1,
2941	[$2],
2942	[AC_DEFINE($3)ifelse([$4],,[
2943	 $4
2944])
2945	: ${with_cflags:=-g}
2946	: ${with_no_leaks:=yes}
2947	 with_$1=yes],
2948	[with_$1=])
2949AC_MSG_RESULT(${with_$1:-no})
2950
2951case .$with_cflags in #(vi
2952.*-g*)
2953	case .$CFLAGS in #(vi
2954	.*-g*) #(vi
2955		;;
2956	*)
2957		CF_ADD_CFLAGS([-g])
2958		;;
2959	esac
2960	;;
2961esac
2962])dnl
2963dnl ---------------------------------------------------------------------------
2964dnl CF_OUR_MESSAGES version: 7 updated: 2004/09/12 19:45:55
2965dnl ---------------
2966dnl Check if we use the messages included with this program
2967dnl
2968dnl $1 specifies either Makefile or makefile, defaulting to the former.
2969dnl
2970dnl Sets variables which can be used to substitute in makefiles:
2971dnl	MSG_DIR_MAKE - to make ./po directory
2972dnl	SUB_MAKEFILE - makefile in ./po directory (see CF_BUNDLED_INTL)
2973dnl
2974AC_DEFUN([CF_OUR_MESSAGES],
2975[
2976cf_makefile=ifelse($1,,Makefile,$1)
2977
2978use_our_messages=no
2979if test "$USE_NLS" = yes ; then
2980if test -d $srcdir/po ; then
2981AC_MSG_CHECKING(if we should use included message-library)
2982	AC_ARG_ENABLE(included-msgs,
2983	[  --disable-included-msgs use included messages, for i18n support],
2984	[use_our_messages=$enableval],
2985	[use_our_messages=yes])
2986fi
2987AC_MSG_RESULT($use_our_messages)
2988fi
2989
2990MSG_DIR_MAKE="#"
2991if test "$use_our_messages" = yes
2992then
2993	SUB_MAKEFILE="$SUB_MAKEFILE po/$cf_makefile.in:$srcdir/po/$cf_makefile.inn"
2994	MSG_DIR_MAKE=
2995fi
2996
2997AC_SUBST(MSG_DIR_MAKE)
2998AC_SUBST(SUB_MAKEFILE)
2999])dnl
3000dnl ---------------------------------------------------------------------------
3001dnl CF_PATHSEP version: 5 updated: 2010/05/26 05:38:42
3002dnl ----------
3003dnl Provide a value for the $PATH and similar separator
3004AC_DEFUN([CF_PATHSEP],
3005[
3006	case $cf_cv_system_name in
3007	os2*)	PATH_SEPARATOR=';'  ;;
3008	*)	PATH_SEPARATOR=':'  ;;
3009	esac
3010ifelse([$1],,,[$1=$PATH_SEPARATOR])
3011	AC_SUBST(PATH_SEPARATOR)
3012])dnl
3013dnl ---------------------------------------------------------------------------
3014dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
3015dnl --------------
3016dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
3017dnl begins with one of the prefix/exec_prefix variables, and then again if the
3018dnl result begins with 'NONE'.  This is necessary to work around autoconf's
3019dnl delayed evaluation of those symbols.
3020AC_DEFUN([CF_PATH_SYNTAX],[
3021if test "x$prefix" != xNONE; then
3022  cf_path_syntax="$prefix"
3023else
3024  cf_path_syntax="$ac_default_prefix"
3025fi
3026
3027case ".[$]$1" in #(vi
3028.\[$]\(*\)*|.\'*\'*) #(vi
3029  ;;
3030..|./*|.\\*) #(vi
3031  ;;
3032.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
3033  ;;
3034.\[$]{*prefix}*) #(vi
3035  eval $1="[$]$1"
3036  case ".[$]$1" in #(vi
3037  .NONE/*)
3038    $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
3039    ;;
3040  esac
3041  ;; #(vi
3042.no|.NONE/*)
3043  $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
3044  ;;
3045*)
3046  ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
3047  ;;
3048esac
3049])dnl
3050dnl ---------------------------------------------------------------------------
3051dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
3052dnl -----------------
3053dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
3054dnl
3055dnl	POSIX.1-1990				_POSIX_SOURCE
3056dnl	POSIX.1-1990 and			_POSIX_SOURCE and
3057dnl		POSIX.2-1992 C-Language			_POSIX_C_SOURCE=2
3058dnl		Bindings Option
3059dnl	POSIX.1b-1993				_POSIX_C_SOURCE=199309L
3060dnl	POSIX.1c-1996				_POSIX_C_SOURCE=199506L
3061dnl	X/Open 2000				_POSIX_C_SOURCE=200112L
3062dnl
3063dnl Parameters:
3064dnl	$1 is the nominal value for _POSIX_C_SOURCE
3065AC_DEFUN([CF_POSIX_C_SOURCE],
3066[
3067cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
3068
3069cf_save_CFLAGS="$CFLAGS"
3070cf_save_CPPFLAGS="$CPPFLAGS"
3071
3072CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
3073CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
3074
3075AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
3076	CF_MSG_LOG(if the symbol is already defined go no further)
3077	AC_TRY_COMPILE([#include <sys/types.h>],[
3078#ifndef _POSIX_C_SOURCE
3079make an error
3080#endif],
3081	[cf_cv_posix_c_source=no],
3082	[cf_want_posix_source=no
3083	 case .$cf_POSIX_C_SOURCE in #(vi
3084	 .[[12]]??*) #(vi
3085		cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
3086		;;
3087	 .2) #(vi
3088		cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
3089		cf_want_posix_source=yes
3090		;;
3091	 .*)
3092		cf_want_posix_source=yes
3093		;;
3094	 esac
3095	 if test "$cf_want_posix_source" = yes ; then
3096		AC_TRY_COMPILE([#include <sys/types.h>],[
3097#ifdef _POSIX_SOURCE
3098make an error
3099#endif],[],
3100		cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
3101	 fi
3102	 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
3103	 CFLAGS="$cf_trim_CFLAGS"
3104	 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
3105	 CF_MSG_LOG(if the second compile does not leave our definition intact error)
3106	 AC_TRY_COMPILE([#include <sys/types.h>],[
3107#ifndef _POSIX_C_SOURCE
3108make an error
3109#endif],,
3110	 [cf_cv_posix_c_source=no])
3111	 CFLAGS="$cf_save_CFLAGS"
3112	 CPPFLAGS="$cf_save_CPPFLAGS"
3113	])
3114])
3115
3116if test "$cf_cv_posix_c_source" != no ; then
3117	CFLAGS="$cf_trim_CFLAGS"
3118	CPPFLAGS="$cf_trim_CPPFLAGS"
3119	CF_ADD_CFLAGS($cf_cv_posix_c_source)
3120fi
3121
3122])dnl
3123dnl ---------------------------------------------------------------------------
3124dnl CF_PROG_CC_U_D version: 1 updated: 2005/07/14 16:59:30
3125dnl --------------
3126dnl Check if C (preprocessor) -U and -D options are processed in the order
3127dnl given rather than by type of option.  Some compilers insist on apply all
3128dnl of the -U options after all of the -D options.  Others allow mixing them,
3129dnl and may predefine symbols that conflict with those we define.
3130AC_DEFUN([CF_PROG_CC_U_D],
3131[
3132AC_CACHE_CHECK(if $CC -U and -D options work together,cf_cv_cc_u_d_options,[
3133	cf_save_CPPFLAGS="$CPPFLAGS"
3134	CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS"
3135	AC_TRY_COMPILE([],[
3136#ifndef U_D_OPTIONS
3137make an undefined-error
3138#endif
3139#ifdef  D_U_OPTIONS
3140make a defined-error
3141#endif
3142	],[
3143	cf_cv_cc_u_d_options=yes],[
3144	cf_cv_cc_u_d_options=no])
3145	CPPFLAGS="$cf_save_CPPFLAGS"
3146])
3147])dnl
3148dnl ---------------------------------------------------------------------------
3149dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
3150dnl -----------
3151dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
3152AC_DEFUN([CF_PROG_EXT],
3153[
3154AC_REQUIRE([CF_CHECK_CACHE])
3155case $cf_cv_system_name in
3156os2*)
3157    CFLAGS="$CFLAGS -Zmt"
3158    CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
3159    CXXFLAGS="$CXXFLAGS -Zmt"
3160    # autoconf's macro sets -Zexe and suffix both, which conflict:w
3161    LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
3162    ac_cv_exeext=.exe
3163    ;;
3164esac
3165
3166AC_EXEEXT
3167AC_OBJEXT
3168
3169PROG_EXT="$EXEEXT"
3170AC_SUBST(PROG_EXT)
3171test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
3172])dnl
3173dnl ---------------------------------------------------------------------------
3174dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
3175dnl ----------------
3176dnl Remove all -U and -D options that refer to the given symbol from a list
3177dnl of C compiler options.  This works around the problem that not all
3178dnl compilers process -U and -D options from left-to-right, so a -U option
3179dnl cannot be used to cancel the effect of a preceding -D option.
3180dnl
3181dnl $1 = target (which could be the same as the source variable)
3182dnl $2 = source (including '$')
3183dnl $3 = symbol to remove
3184define([CF_REMOVE_DEFINE],
3185[
3186$1=`echo "$2" | \
3187	sed	-e 's/-[[UD]]'"$3"'\(=[[^ 	]]*\)\?[[ 	]]/ /g' \
3188		-e 's/-[[UD]]'"$3"'\(=[[^ 	]]*\)\?[$]//g'`
3189])dnl
3190dnl ---------------------------------------------------------------------------
3191dnl CF_RPATH_HACK version: 9 updated: 2011/02/13 13:31:33
3192dnl -------------
3193AC_DEFUN([CF_RPATH_HACK],
3194[
3195AC_REQUIRE([CF_LD_RPATH_OPT])
3196AC_MSG_CHECKING(for updated LDFLAGS)
3197if test -n "$LD_RPATH_OPT" ; then
3198	AC_MSG_RESULT(maybe)
3199
3200	AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
3201	cf_rpath_list="/usr/lib /lib"
3202	if test "$cf_ldd_prog" != no
3203	then
3204		cf_rpath_oops=
3205
3206AC_TRY_LINK([#include <stdio.h>],
3207		[printf("Hello");],
3208		[cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort -u`
3209		 cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ 	]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort -u`])
3210
3211		# If we passed the link-test, but get a "not found" on a given library,
3212		# this could be due to inept reconfiguration of gcc to make it only
3213		# partly honor /usr/local/lib (or whatever).  Sometimes this behavior
3214		# is intentional, e.g., installing gcc in /usr/bin and suppressing the
3215		# /usr/local libraries.
3216		if test -n "$cf_rpath_oops"
3217		then
3218			for cf_rpath_src in $cf_rpath_oops
3219			do
3220				for cf_rpath_dir in \
3221					/usr/local \
3222					/usr/pkg \
3223					/opt/sfw
3224				do
3225					if test -f $cf_rpath_dir/lib/$cf_rpath_src
3226					then
3227						CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src)
3228						LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
3229						break
3230					fi
3231				done
3232			done
3233		fi
3234	fi
3235
3236	CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
3237
3238	CF_RPATH_HACK_2(LDFLAGS)
3239	CF_RPATH_HACK_2(LIBS)
3240
3241	CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
3242fi
3243AC_SUBST(EXTRA_LDFLAGS)
3244])dnl
3245dnl ---------------------------------------------------------------------------
3246dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
3247dnl ---------------
3248dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
3249dnl EXTRA_LDFLAGS for each -L option found.
3250dnl
3251dnl $cf_rpath_list contains a list of directories to ignore.
3252dnl
3253dnl $1 = variable name to update.  The LDFLAGS variable should be the only one,
3254dnl      but LIBS often has misplaced -L options.
3255AC_DEFUN([CF_RPATH_HACK_2],
3256[
3257CF_VERBOSE(...checking $1 [$]$1)
3258
3259cf_rpath_dst=
3260for cf_rpath_src in [$]$1
3261do
3262	case $cf_rpath_src in #(vi
3263	-L*) #(vi
3264
3265		# check if this refers to a directory which we will ignore
3266		cf_rpath_skip=no
3267		if test -n "$cf_rpath_list"
3268		then
3269			for cf_rpath_item in $cf_rpath_list
3270			do
3271				if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
3272				then
3273					cf_rpath_skip=yes
3274					break
3275				fi
3276			done
3277		fi
3278
3279		if test "$cf_rpath_skip" = no
3280		then
3281			# transform the option
3282			if test "$LD_RPATH_OPT" = "-R " ; then
3283				cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
3284			else
3285				cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
3286			fi
3287
3288			# if we have not already added this, add it now
3289			cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
3290			if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
3291			then
3292				CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
3293				EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
3294			fi
3295		fi
3296		;;
3297	esac
3298	cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
3299done
3300$1=$cf_rpath_dst
3301
3302CF_VERBOSE(...checked $1 [$]$1)
3303AC_SUBST(EXTRA_LDFLAGS)
3304])dnl
3305dnl ---------------------------------------------------------------------------
3306dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
3307dnl --------------
3308dnl Construct a search-list for a nonstandard header/lib-file
3309dnl	$1 = the variable to return as result
3310dnl	$2 = the package name
3311dnl	$3 = the subdirectory, e.g., bin, include or lib
3312AC_DEFUN([CF_SUBDIR_PATH],
3313[
3314$1=
3315
3316CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
3317CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
3318CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
3319CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
3320CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
3321])dnl
3322dnl ---------------------------------------------------------------------------
3323dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
3324dnl --------
3325dnl	Shorthand macro for substituting things that the user may override
3326dnl	with an environment variable.
3327dnl
3328dnl	$1 = long/descriptive name
3329dnl	$2 = environment variable
3330dnl	$3 = default value
3331AC_DEFUN([CF_SUBST],
3332[AC_CACHE_VAL(cf_cv_subst_$2,[
3333AC_MSG_CHECKING(for $1 (symbol $2))
3334CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
3335cf_cv_subst_$2=[$]$2
3336AC_MSG_RESULT([$]$2)
3337])
3338])dnl
3339dnl ---------------------------------------------------------------------------
3340dnl CF_SYSTYPE version: 3 updated: 2001/02/03 00:14:59
3341dnl ----------
3342dnl Derive the system-type (our main clue to the method of building shared
3343dnl libraries).
3344AC_DEFUN([CF_SYSTYPE],
3345[
3346AC_MSG_CHECKING(for system type)
3347AC_CACHE_VAL(cf_cv_systype,[
3348AC_ARG_WITH(system-type,
3349[  --with-system-type=XXX  test: override derived host system-type],
3350[cf_cv_systype=$withval],
3351[
3352cf_cv_systype="`(uname -s || hostname || echo unknown) 2>/dev/null |sed -e s'/[[:\/.-]]/_/'g  | sed 1q`"
3353if test -z "$cf_cv_systype"; then cf_cv_systype=unknown;fi
3354])])
3355AC_MSG_RESULT($cf_cv_systype)
3356])dnl
3357dnl ---------------------------------------------------------------------------
3358dnl CF_SYS_NAME version: 3 updated: 2008/03/23 14:48:54
3359dnl -----------
3360dnl Derive the system name, as a check for reusing the autoconf cache
3361AC_DEFUN([CF_SYS_NAME],
3362[
3363SYS_NAME=`(uname -s -r || uname -a || hostname) 2>/dev/null | sed 1q`
3364test -z "$SYS_NAME" && SYS_NAME=unknown
3365AC_DEFINE_UNQUOTED(SYS_NAME,"$SYS_NAME")
3366
3367AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$SYS_NAME"])
3368
3369if test ".$SYS_NAME" != ".$cf_cv_system_name" ; then
3370	AC_MSG_RESULT("Cached system name does not agree with actual")
3371	AC_MSG_ERROR("Please remove config.cache and try again.")
3372fi])
3373dnl ---------------------------------------------------------------------------
3374dnl CF_TERM_HEADER version: 2 updated: 2010/10/23 15:54:49
3375dnl --------------
3376dnl Look for term.h, which is part of X/Open curses.  It defines the interface
3377dnl to terminfo database.  Usually it is in the same include-path as curses.h,
3378dnl but some packagers change this, breaking various applications.
3379AC_DEFUN([CF_TERM_HEADER],[
3380AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
3381case ${cf_cv_ncurses_header} in #(vi
3382*/ncurses.h|*/ncursesw.h) #(vi
3383	cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
3384	;;
3385*)
3386	cf_term_header=term.h
3387	;;
3388esac
3389
3390for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
3391do
3392AC_TRY_COMPILE([#include <stdio.h>
3393#include <${cf_cv_ncurses_header:-curses.h}>
3394#include <$cf_test>
3395],[int x = auto_left_margin],[
3396	cf_cv_term_header="$cf_test"],[
3397	cf_cv_term_header=unknown
3398	])
3399	test "$cf_cv_term_header" != unknown && break
3400done
3401])
3402
3403# Set definitions to allow ifdef'ing to accommodate subdirectories
3404
3405case $cf_cv_term_header in # (vi
3406*term.h)
3407	AC_DEFINE(HAVE_TERM_H)
3408	;;
3409esac
3410
3411case $cf_cv_term_header in # (vi
3412ncurses/term.h) #(vi
3413	AC_DEFINE(HAVE_NCURSES_TERM_H)
3414	;;
3415ncursesw/term.h)
3416	AC_DEFINE(HAVE_NCURSESW_TERM_H)
3417	;;
3418esac
3419])dnl
3420dnl ---------------------------------------------------------------------------
3421dnl CF_UNION_WAIT version: 5 updated: 1997/11/23 14:49:44
3422dnl -------------
3423dnl Check to see if the BSD-style union wait is declared.  Some platforms may
3424dnl use this, though it is deprecated in favor of the 'int' type in Posix.
3425dnl Some vendors provide a bogus implementation that declares union wait, but
3426dnl uses the 'int' type instead; we try to spot these by checking for the
3427dnl associated macros.
3428dnl
3429dnl Ahem.  Some implementers cast the status value to an int*, as an attempt to
3430dnl use the macros for either union wait or int.  So we do a check compile to
3431dnl see if the macros are defined and apply to an int.
3432dnl
3433dnl Sets: $cf_cv_type_unionwait
3434dnl Defines: HAVE_TYPE_UNIONWAIT
3435AC_DEFUN([CF_UNION_WAIT],
3436[
3437AC_REQUIRE([CF_WAIT_HEADERS])
3438AC_MSG_CHECKING([for union wait])
3439AC_CACHE_VAL(cf_cv_type_unionwait,[
3440	AC_TRY_LINK($cf_wait_headers,
3441	[int x;
3442	 int y = WEXITSTATUS(x);
3443	 int z = WTERMSIG(x);
3444	 wait(&x);
3445	],
3446	[cf_cv_type_unionwait=no
3447	 echo compiles ok w/o union wait 1>&AC_FD_CC
3448	],[
3449	AC_TRY_LINK($cf_wait_headers,
3450	[union wait x;
3451#ifdef WEXITSTATUS
3452	 int y = WEXITSTATUS(x);
3453#endif
3454#ifdef WTERMSIG
3455	 int z = WTERMSIG(x);
3456#endif
3457	 wait(&x);
3458	],
3459	[cf_cv_type_unionwait=yes
3460	 echo compiles ok with union wait and possibly macros too 1>&AC_FD_CC
3461	],
3462	[cf_cv_type_unionwait=no])])])
3463AC_MSG_RESULT($cf_cv_type_unionwait)
3464test $cf_cv_type_unionwait = yes && AC_DEFINE(HAVE_TYPE_UNIONWAIT)
3465])dnl
3466dnl ---------------------------------------------------------------------------
3467dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
3468dnl --------
3469dnl Make an uppercase version of a variable
3470dnl $1=uppercase($2)
3471AC_DEFUN([CF_UPPER],
3472[
3473$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3474])dnl
3475dnl ---------------------------------------------------------------------------
3476dnl CF_UTF8_LIB version: 7 updated: 2010/06/20 09:24:28
3477dnl -----------
3478dnl Check for multibyte support, and if not found, utf8 compatibility library
3479AC_DEFUN([CF_UTF8_LIB],
3480[
3481AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
3482	cf_save_LIBS="$LIBS"
3483	AC_TRY_LINK([
3484#include <stdlib.h>],[putwc(0,0);],
3485	[cf_cv_utf8_lib=yes],
3486	[CF_FIND_LINKAGE([
3487#include <libutf8.h>],[putwc(0,0);],utf8,
3488		[cf_cv_utf8_lib=add-on],
3489		[cf_cv_utf8_lib=no])
3490])])
3491
3492# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
3493# ncurses/ncursesw:
3494if test "$cf_cv_utf8_lib" = "add-on" ; then
3495	AC_DEFINE(HAVE_LIBUTF8_H)
3496	CF_ADD_INCDIR($cf_cv_header_path_utf8)
3497	CF_ADD_LIBDIR($cf_cv_library_path_utf8)
3498	CF_ADD_LIBS($cf_cv_library_file_utf8)
3499fi
3500])dnl
3501dnl ---------------------------------------------------------------------------
3502dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
3503dnl ----------
3504dnl Use AC_VERBOSE w/o the warnings
3505AC_DEFUN([CF_VERBOSE],
3506[test -n "$verbose" && echo "	$1" 1>&AC_FD_MSG
3507CF_MSG_LOG([$1])
3508])dnl
3509dnl ---------------------------------------------------------------------------
3510dnl CF_VERSION_INFO version: 4 updated: 2011/01/02 19:09:47
3511dnl ---------------
3512dnl Define several useful symbols derived from the VERSION file.  A separate
3513dnl file is preferred to embedding the version numbers in various scripts.
3514dnl (automake is a textbook-example of why the latter is a bad idea, but there
3515dnl are others).
3516dnl
3517dnl The file contents are:
3518dnl	libtool-version	release-version	patch-version
3519dnl or
3520dnl	release-version
3521dnl where
3522dnl	libtool-version (see ?) consists of 3 integers separated by '.'
3523dnl	release-version consists of a major version and minor version
3524dnl		separated by '.', optionally followed by a patch-version
3525dnl		separated by '-'.  The minor version need not be an
3526dnl		integer (but it is preferred).
3527dnl	patch-version is an integer in the form yyyymmdd, so ifdef's and
3528dnl		scripts can easily compare versions.
3529dnl
3530dnl If libtool is used, the first form is required, since CF_WITH_LIBTOOL
3531dnl simply extracts the first field using 'cut -f1'.
3532dnl
3533dnl Optional parameters:
3534dnl $1 = internal name for package
3535dnl $2 = external name for package
3536AC_DEFUN([CF_VERSION_INFO],
3537[
3538if test -f $srcdir/VERSION ; then
3539	AC_MSG_CHECKING(for package version)
3540
3541	# if there are not enough fields, cut returns the last one...
3542	cf_field1=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
3543	cf_field2=`sed -e '2,$d' $srcdir/VERSION|cut -f2`
3544	cf_field3=`sed -e '2,$d' $srcdir/VERSION|cut -f3`
3545
3546	# this is how CF_BUNDLED_INTL uses $VERSION:
3547	VERSION="$cf_field1"
3548
3549	VERSION_MAJOR=`echo "$cf_field2" | sed -e 's/\..*//'`
3550	test -z "$VERSION_MAJOR" && AC_MSG_ERROR(missing major-version)
3551
3552	VERSION_MINOR=`echo "$cf_field2" | sed -e 's/^[[^.]]*\.//' -e 's/-.*//'`
3553	test -z "$VERSION_MINOR" && AC_MSG_ERROR(missing minor-version)
3554
3555	AC_MSG_RESULT(${VERSION_MAJOR}.${VERSION_MINOR})
3556
3557	AC_MSG_CHECKING(for package patch date)
3558	VERSION_PATCH=`echo "$cf_field3" | sed -e 's/^[[^-]]*-//'`
3559	case .$VERSION_PATCH in
3560	.)
3561		AC_MSG_ERROR(missing patch-date $VERSION_PATCH)
3562		;;
3563	.[[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]])
3564		;;
3565	*)
3566		AC_MSG_ERROR(illegal patch-date $VERSION_PATCH)
3567		;;
3568	esac
3569	AC_MSG_RESULT($VERSION_PATCH)
3570else
3571	AC_MSG_ERROR(did not find $srcdir/VERSION)
3572fi
3573
3574# show the actual data that we have for versions:
3575CF_VERBOSE(VERSION $VERSION)
3576CF_VERBOSE(VERSION_MAJOR $VERSION_MAJOR)
3577CF_VERBOSE(VERSION_MINOR $VERSION_MINOR)
3578CF_VERBOSE(VERSION_PATCH $VERSION_PATCH)
3579
3580AC_SUBST(VERSION)
3581AC_SUBST(VERSION_MAJOR)
3582AC_SUBST(VERSION_MINOR)
3583AC_SUBST(VERSION_PATCH)
3584
3585dnl if a package name is given, define its corresponding version info.  We
3586dnl need the package name to ensure that the defined symbols are unique.
3587ifelse($1,,,[
3588	cf_PACKAGE=$1
3589	PACKAGE=ifelse($2,,$1,$2)
3590	AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
3591	AC_SUBST(PACKAGE)
3592	CF_UPPER(cf_PACKAGE,$cf_PACKAGE)
3593	AC_DEFINE_UNQUOTED(${cf_PACKAGE}_VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}")
3594	AC_DEFINE_UNQUOTED(${cf_PACKAGE}_PATCHDATE,${VERSION_PATCH})
3595])
3596])dnl
3597dnl ---------------------------------------------------------------------------
3598dnl CF_WAIT_HEADERS version: 2 updated: 1997/10/21 19:45:33
3599dnl ---------------
3600dnl Build up an expression $cf_wait_headers with the header files needed to
3601dnl compile against the prototypes for 'wait()', 'waitpid()', etc.  Assume it's
3602dnl Posix, which uses <sys/types.h> and <sys/wait.h>, but allow SVr4 variation
3603dnl with <wait.h>.
3604AC_DEFUN([CF_WAIT_HEADERS],
3605[
3606AC_HAVE_HEADERS(sys/wait.h)
3607cf_wait_headers="#include <sys/types.h>
3608"
3609if test $ac_cv_header_sys_wait_h = yes; then
3610cf_wait_headers="$cf_wait_headers
3611#include <sys/wait.h>
3612"
3613else
3614AC_HAVE_HEADERS(wait.h)
3615AC_HAVE_HEADERS(waitstatus.h)
3616if test $ac_cv_header_wait_h = yes; then
3617cf_wait_headers="$cf_wait_headers
3618#include <wait.h>
3619"
3620fi
3621if test $ac_cv_header_waitstatus_h = yes; then
3622cf_wait_headers="$cf_wait_headers
3623#include <waitstatus.h>
3624"
3625fi
3626fi
3627])dnl
3628dnl ---------------------------------------------------------------------------
3629dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
3630dnl ------------------
3631dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
3632dnl libraries.
3633AC_DEFUN([CF_WITH_CURSES_DIR],[
3634
3635AC_MSG_CHECKING(for specific curses-directory)
3636AC_ARG_WITH(curses-dir,
3637	[  --with-curses-dir=DIR   directory in which (n)curses is installed],
3638	[cf_cv_curses_dir=$withval],
3639	[cf_cv_curses_dir=no])
3640AC_MSG_RESULT($cf_cv_curses_dir)
3641
3642if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
3643then
3644	CF_PATH_SYNTAX(withval)
3645	if test -d "$cf_cv_curses_dir"
3646	then
3647		CF_ADD_INCDIR($cf_cv_curses_dir/include)
3648		CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
3649	fi
3650fi
3651])dnl
3652dnl ---------------------------------------------------------------------------
3653dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
3654dnl ----------------
3655dnl Configure-option for dbmalloc.  The optional parameter is used to override
3656dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
3657AC_DEFUN([CF_WITH_DBMALLOC],[
3658CF_NO_LEAKS_OPTION(dbmalloc,
3659	[  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
3660	[USE_DBMALLOC])
3661
3662if test "$with_dbmalloc" = yes ; then
3663	AC_CHECK_HEADER(dbmalloc.h,
3664		[AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))])
3665fi
3666])dnl
3667dnl ---------------------------------------------------------------------------
3668dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47
3669dnl ---------------
3670dnl Configure-option for dmalloc.  The optional parameter is used to override
3671dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
3672AC_DEFUN([CF_WITH_DMALLOC],[
3673CF_NO_LEAKS_OPTION(dmalloc,
3674	[  --with-dmalloc          test: use Gray Watson's dmalloc library],
3675	[USE_DMALLOC])
3676
3677if test "$with_dmalloc" = yes ; then
3678	AC_CHECK_HEADER(dmalloc.h,
3679		[AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))])
3680fi
3681])dnl
3682dnl ---------------------------------------------------------------------------
3683dnl CF_WITH_LIBTOOL version: 27 updated: 2011/06/28 18:45:38
3684dnl ---------------
3685dnl Provide a configure option to incorporate libtool.  Define several useful
3686dnl symbols for the makefile rules.
3687dnl
3688dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
3689dnl macros from libtool.m4 which is in the aclocal directory of automake.
3690dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
3691dnl But that still does not work properly since the macro is expanded outside
3692dnl the CF_WITH_LIBTOOL macro:
3693dnl
3694dnl	#!/bin/sh
3695dnl	ACLOCAL=`aclocal --print-ac-dir`
3696dnl	if test -z "$ACLOCAL" ; then
3697dnl		echo cannot find aclocal directory
3698dnl		exit 1
3699dnl	elif test ! -f $ACLOCAL/libtool.m4 ; then
3700dnl		echo cannot find libtool.m4 file
3701dnl		exit 1
3702dnl	fi
3703dnl
3704dnl	LOCAL=aclocal.m4
3705dnl	ORIG=aclocal.m4.orig
3706dnl
3707dnl	trap "mv $ORIG $LOCAL" 0 1 2 5 15
3708dnl	rm -f $ORIG
3709dnl	mv $LOCAL $ORIG
3710dnl
3711dnl	# sed the LIBTOOL= assignment to omit the current directory?
3712dnl	sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL:-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
3713dnl	cat $ORIG >>$LOCAL
3714dnl
3715dnl	autoconf-257 $*
3716dnl
3717AC_DEFUN([CF_WITH_LIBTOOL],
3718[
3719AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION])
3720ifdef([AC_PROG_LIBTOOL],,[
3721LIBTOOL=
3722])
3723# common library maintenance symbols that are convenient for libtool scripts:
3724LIB_CREATE='${AR} -cr'
3725LIB_OBJECT='${OBJECTS}'
3726LIB_SUFFIX=.a
3727LIB_PREP="$RANLIB"
3728
3729# symbols used to prop libtool up to enable it to determine what it should be
3730# doing:
3731LIB_CLEAN=
3732LIB_COMPILE=
3733LIB_LINK='${CC}'
3734LIB_INSTALL=
3735LIB_UNINSTALL=
3736
3737AC_MSG_CHECKING(if you want to build libraries with libtool)
3738AC_ARG_WITH(libtool,
3739	[  --with-libtool          generate libraries with libtool],
3740	[with_libtool=$withval],
3741	[with_libtool=no])
3742AC_MSG_RESULT($with_libtool)
3743if test "$with_libtool" != "no"; then
3744ifdef([AC_PROG_LIBTOOL],[
3745	# missing_content_AC_PROG_LIBTOOL{{
3746	AC_PROG_LIBTOOL
3747	# missing_content_AC_PROG_LIBTOOL}}
3748],[
3749	if test "$with_libtool" != "yes" ; then
3750		CF_PATH_SYNTAX(with_libtool)
3751		LIBTOOL=$with_libtool
3752	else
3753		AC_PATH_PROG(LIBTOOL,libtool)
3754	fi
3755	if test -z "$LIBTOOL" ; then
3756		AC_MSG_ERROR(Cannot find libtool)
3757	fi
3758])dnl
3759	LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
3760	LIB_OBJECT='${OBJECTS:.o=.lo}'
3761	LIB_SUFFIX=.la
3762	LIB_CLEAN='${LIBTOOL} --mode=clean'
3763	LIB_COMPILE='${LIBTOOL} --mode=compile'
3764	LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
3765	LIB_INSTALL='${LIBTOOL} --mode=install'
3766	LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
3767	LIB_PREP=:
3768
3769	# Show the version of libtool
3770	AC_MSG_CHECKING(version of libtool)
3771
3772	# Save the version in a cache variable - this is not entirely a good
3773	# thing, but the version string from libtool is very ugly, and for
3774	# bug reports it might be useful to have the original string. "("
3775	cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
3776	AC_MSG_RESULT($cf_cv_libtool_version)
3777	if test -z "$cf_cv_libtool_version" ; then
3778		AC_MSG_ERROR(This is not GNU libtool)
3779	fi
3780
3781	# special hack to add -no-undefined (which libtool should do for itself)
3782	LT_UNDEF=
3783	case "$cf_cv_system_name" in #(vi
3784	cygwin*|mingw32*|uwin*|aix[[456]]) #(vi
3785		LT_UNDEF=-no-undefined
3786		;;
3787	esac
3788	AC_SUBST([LT_UNDEF])
3789
3790	# special hack to add --tag option for C++ compiler
3791	case $cf_cv_libtool_version in #(vi
3792	1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) #(vi
3793		LIBTOOL_CXX="$LIBTOOL --tag=CXX"
3794		LIBTOOL="$LIBTOOL --tag=CC"
3795		;;
3796	*)
3797		LIBTOOL_CXX="$LIBTOOL"
3798		;;
3799	esac
3800else
3801	LIBTOOL=""
3802	LIBTOOL_CXX=""
3803fi
3804
3805test -z "$LIBTOOL" && ECHO_LT=
3806
3807AC_SUBST(LIBTOOL)
3808AC_SUBST(LIBTOOL_CXX)
3809AC_SUBST(LIBTOOL_OPTS)
3810
3811AC_SUBST(LIB_CREATE)
3812AC_SUBST(LIB_OBJECT)
3813AC_SUBST(LIB_SUFFIX)
3814AC_SUBST(LIB_PREP)
3815
3816AC_SUBST(LIB_CLEAN)
3817AC_SUBST(LIB_COMPILE)
3818AC_SUBST(LIB_LINK)
3819AC_SUBST(LIB_INSTALL)
3820AC_SUBST(LIB_UNINSTALL)
3821
3822])dnl
3823dnl ---------------------------------------------------------------------------
3824dnl CF_WITH_LIBTOOL_OPTS version: 2 updated: 2007/04/08 18:14:54
3825dnl --------------------
3826dnl Allow user to pass additional libtool options into the library creation
3827dnl and link steps.  The main use for this is to do something like
3828dnl	./configure --with-libtool-opts=-static
3829dnl to get the same behavior as automake-flavored
3830dnl	./configure --enable-static
3831AC_DEFUN([CF_WITH_LIBTOOL_OPTS],[
3832AC_MSG_CHECKING(for additional libtool options)
3833AC_ARG_WITH(libtool-opts,
3834	[  --with-libtool-opts=XXX specify additional libtool options],
3835	[with_libtool_opts=$withval],
3836	[with_libtool_opts=no])
3837AC_MSG_RESULT($with_libtool_opts)
3838
3839case .$with_libtool_opts in
3840.yes|.no|.)
3841	;;
3842*)
3843	LIBTOOL_OPTS=$with_libtool_opts
3844	;;
3845esac
3846
3847AC_SUBST(LIBTOOL_OPTS)
3848])dnl
3849dnl ---------------------------------------------------------------------------
3850dnl CF_WITH_NO_LEAKS version: 1 updated: 2006/12/14 18:00:21
3851dnl ----------------
3852AC_DEFUN([CF_WITH_NO_LEAKS],[
3853
3854AC_REQUIRE([CF_WITH_DMALLOC])
3855AC_REQUIRE([CF_WITH_DBMALLOC])
3856AC_REQUIRE([CF_WITH_PURIFY])
3857AC_REQUIRE([CF_WITH_VALGRIND])
3858
3859AC_MSG_CHECKING(if you want to perform memory-leak testing)
3860AC_ARG_WITH(no-leaks,
3861	[  --with-no-leaks         test: free permanent memory, analyze leaks],
3862	[AC_DEFINE(NO_LEAKS)
3863	 cf_doalloc=".${with_dmalloc}${with_dbmalloc}${with_purify}${with_valgrind}"
3864	 case ${cf_doalloc} in #(vi
3865	 *yes*) ;;
3866	 *) AC_DEFINE(DOALLOC,10000) ;;
3867	 esac
3868	 with_no_leaks=yes],
3869	[with_no_leaks=])
3870AC_MSG_RESULT($with_no_leaks)
3871])dnl
3872dnl ---------------------------------------------------------------------------
3873dnl CF_WITH_PURIFY version: 2 updated: 2006/12/14 18:43:43
3874dnl --------------
3875AC_DEFUN([CF_WITH_PURIFY],[
3876CF_NO_LEAKS_OPTION(purify,
3877	[  --with-purify           test: use Purify],
3878	[USE_PURIFY],
3879	[LINK_PREFIX="$LINK_PREFIX purify"])
3880AC_SUBST(LINK_PREFIX)
3881])dnl
3882dnl ---------------------------------------------------------------------------
3883dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
3884dnl ----------------
3885AC_DEFUN([CF_WITH_VALGRIND],[
3886CF_NO_LEAKS_OPTION(valgrind,
3887	[  --with-valgrind         test: use valgrind],
3888	[USE_VALGRIND])
3889])dnl
3890dnl ---------------------------------------------------------------------------
3891dnl CF_WITH_WARNINGS version: 5 updated: 2004/07/23 14:40:34
3892dnl ----------------
3893dnl Combine the checks for gcc features into a configure-script option
3894dnl
3895dnl Parameters:
3896dnl	$1 - see CF_GCC_WARNINGS
3897AC_DEFUN([CF_WITH_WARNINGS],
3898[
3899if ( test "$GCC" = yes || test "$GXX" = yes )
3900then
3901AC_MSG_CHECKING(if you want to check for gcc warnings)
3902AC_ARG_WITH(warnings,
3903	[  --with-warnings         test: turn on gcc warnings],
3904	[cf_opt_with_warnings=$withval],
3905	[cf_opt_with_warnings=no])
3906AC_MSG_RESULT($cf_opt_with_warnings)
3907if test "$cf_opt_with_warnings" != no ; then
3908	CF_GCC_ATTRIBUTES
3909	CF_GCC_WARNINGS([$1])
3910fi
3911fi
3912])dnl
3913dnl ---------------------------------------------------------------------------
3914dnl CF_XOPEN_CURSES version: 11 updated: 2011/01/18 18:15:30
3915dnl ---------------
3916dnl Test if we should define X/Open source for curses, needed on Digital Unix
3917dnl 4.x, to see the extended functions, but breaks on IRIX 6.x.
3918dnl
3919dnl The getbegyx() check is needed for HPUX, which omits legacy macros such
3920dnl as getbegy().  The latter is better design, but the former is standard.
3921AC_DEFUN([CF_XOPEN_CURSES],
3922[
3923AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
3924AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[
3925AC_TRY_LINK([
3926#include <stdlib.h>
3927#include <${cf_cv_ncurses_header:-curses.h}>],[
3928#if defined(NCURSES_VERSION_PATCH)
3929#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403)
3930	make an error
3931#endif
3932#endif
3933	long x = winnstr(stdscr, "", 0);
3934	int x1, y1;
3935	getbegyx(stdscr, y1, x1)],
3936	[cf_cv_need_xopen_extension=no],
3937	[AC_TRY_LINK([
3938#define _XOPEN_SOURCE_EXTENDED
3939#include <stdlib.h>
3940#include <${cf_cv_ncurses_header:-curses.h}>],[
3941#ifdef NCURSES_VERSION
3942	cchar_t check;
3943	int check2 = curs_set((int)sizeof(check));
3944#endif
3945	long x = winnstr(stdscr, "", 0);
3946	int x1, y1;
3947	getbegyx(stdscr, y1, x1)],
3948	[cf_cv_need_xopen_extension=yes],
3949	[cf_cv_need_xopen_extension=unknown])])])
3950test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
3951])dnl
3952dnl ---------------------------------------------------------------------------
3953dnl CF_XOPEN_SOURCE version: 35 updated: 2011/02/20 20:37:37
3954dnl ---------------
3955dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
3956dnl or adapt to the vendor's definitions to get equivalent functionality,
3957dnl without losing the common non-POSIX features.
3958dnl
3959dnl Parameters:
3960dnl	$1 is the nominal value for _XOPEN_SOURCE
3961dnl	$2 is the nominal value for _POSIX_C_SOURCE
3962AC_DEFUN([CF_XOPEN_SOURCE],[
3963
3964cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
3965cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
3966cf_xopen_source=
3967
3968case $host_os in #(vi
3969aix[[456]]*) #(vi
3970	cf_xopen_source="-D_ALL_SOURCE"
3971	;;
3972cygwin) #(vi
3973	cf_XOPEN_SOURCE=600
3974	;;
3975darwin[[0-8]].*) #(vi
3976	cf_xopen_source="-D_APPLE_C_SOURCE"
3977	;;
3978darwin*) #(vi
3979	cf_xopen_source="-D_DARWIN_C_SOURCE"
3980	;;
3981freebsd*|dragonfly*) #(vi
3982	# 5.x headers associate
3983	#	_XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
3984	#	_XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
3985	cf_POSIX_C_SOURCE=200112L
3986	cf_XOPEN_SOURCE=600
3987	cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3988	;;
3989hpux11*) #(vi
3990	cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
3991	;;
3992hpux*) #(vi
3993	cf_xopen_source="-D_HPUX_SOURCE"
3994	;;
3995irix[[56]].*) #(vi
3996	cf_xopen_source="-D_SGI_SOURCE"
3997	;;
3998linux*|gnu*|mint*|k*bsd*-gnu) #(vi
3999	CF_GNU_SOURCE
4000	;;
4001mirbsd*) #(vi
4002	# setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
4003	;;
4004netbsd*) #(vi
4005	# setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
4006	;;
4007openbsd*) #(vi
4008	# setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
4009	;;
4010osf[[45]]*) #(vi
4011	cf_xopen_source="-D_OSF_SOURCE"
4012	;;
4013nto-qnx*) #(vi
4014	cf_xopen_source="-D_QNX_SOURCE"
4015	;;
4016sco*) #(vi
4017	# setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
4018	;;
4019solaris2.1[[0-9]]) #(vi
4020	cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
4021	;;
4022solaris2.[[1-9]]) #(vi
4023	cf_xopen_source="-D__EXTENSIONS__"
4024	;;
4025*)
4026	AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
4027	AC_TRY_COMPILE([#include <sys/types.h>],[
4028#ifndef _XOPEN_SOURCE
4029make an error
4030#endif],
4031	[cf_cv_xopen_source=no],
4032	[cf_save="$CPPFLAGS"
4033	 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
4034	 AC_TRY_COMPILE([#include <sys/types.h>],[
4035#ifdef _XOPEN_SOURCE
4036make an error
4037#endif],
4038	[cf_cv_xopen_source=no],
4039	[cf_cv_xopen_source=$cf_XOPEN_SOURCE])
4040	CPPFLAGS="$cf_save"
4041	])
4042])
4043	if test "$cf_cv_xopen_source" != no ; then
4044		CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
4045		CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
4046		cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
4047		CF_ADD_CFLAGS($cf_temp_xopen_source)
4048	fi
4049	CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
4050	;;
4051esac
4052
4053if test -n "$cf_xopen_source" ; then
4054	CF_ADD_CFLAGS($cf_xopen_source)
4055fi
4056])
4057dnl ---------------------------------------------------------------------------
4058dnl CF__CURSES_HEAD version: 2 updated: 2010/10/23 15:54:49
4059dnl ---------------
4060dnl Define a reusable chunk which includes <curses.h> and <term.h> when they
4061dnl are both available.
4062define([CF__CURSES_HEAD],[
4063#ifdef HAVE_XCURSES
4064#include <xcurses.h>
4065char * XCursesProgramName = "test";
4066#else
4067#include <${cf_cv_ncurses_header:-curses.h}>
4068#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
4069#include <ncursesw/term.h>
4070#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
4071#include <ncurses/term.h>
4072#elif defined(HAVE_TERM_H)
4073#include <term.h>
4074#endif
4075#endif
4076])
4077dnl ---------------------------------------------------------------------------
4078dnl CF__ICONV_BODY version: 2 updated: 2007/07/26 17:35:47
4079dnl --------------
4080dnl Test-code needed for iconv compile-checks
4081define([CF__ICONV_BODY],[
4082	iconv_t cd = iconv_open("","");
4083	iconv(cd,NULL,NULL,NULL,NULL);
4084	iconv_close(cd);]
4085)dnl
4086dnl ---------------------------------------------------------------------------
4087dnl CF__ICONV_HEAD version: 1 updated: 2007/07/26 15:57:03
4088dnl --------------
4089dnl Header-files needed for iconv compile-checks
4090define([CF__ICONV_HEAD],[
4091#include <stdlib.h>
4092#include <iconv.h>]
4093)dnl
4094dnl ---------------------------------------------------------------------------
4095dnl CF__INTL_BODY version: 1 updated: 2007/07/26 17:35:47
4096dnl -------------
4097dnl Test-code needed for libintl compile-checks
4098dnl $1 = parameter 2 from AM_WITH_NLS
4099define([CF__INTL_BODY],[
4100    bindtextdomain ("", "");
4101    return (int) gettext ("")
4102            ifelse([$1], need-ngettext, [ + (int) ngettext ("", "", 0)], [])
4103            [ + _nl_msg_cat_cntr]
4104])
4105dnl ---------------------------------------------------------------------------
4106dnl CF__INTL_HEAD version: 1 updated: 2007/07/26 17:35:47
4107dnl -------------
4108dnl Header-files needed for libintl compile-checks
4109define([CF__INTL_HEAD],[
4110#include <libintl.h>
4111extern int _nl_msg_cat_cntr;
4112])dnl
4113dnl ---------------------------------------------------------------------------
4114dnl jm_GLIBC21 version: 3 updated: 2002/10/27 23:21:42
4115dnl ----------
4116dnl Inserted as requested by gettext 0.10.40
4117dnl File from /usr/share/aclocal
4118dnl glibc21.m4
4119dnl ====================
4120dnl serial 2
4121dnl
4122dnl Test for the GNU C Library, version 2.1 or newer.
4123dnl From Bruno Haible.
4124AC_DEFUN([jm_GLIBC21],
4125  [
4126    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
4127      ac_cv_gnu_library_2_1,
4128      [AC_EGREP_CPP([Lucky GNU user],
4129	[
4130#include <features.h>
4131#ifdef __GNU_LIBRARY__
4132 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
4133  Lucky GNU user
4134 #endif
4135#endif
4136	],
4137	ac_cv_gnu_library_2_1=yes,
4138	ac_cv_gnu_library_2_1=no)
4139      ]
4140    )
4141    AC_SUBST(GLIBC21)
4142    GLIBC21="$ac_cv_gnu_library_2_1"
4143  ]
4144)
4145