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