]> ncurses.scripts.mit.edu Git - ncurses.git/blob - aclocal.m4
ncurses 5.9 - patch 20140609
[ncurses.git] / aclocal.m4
1 dnl***************************************************************************
2 dnl Copyright (c) 1998-2013,2014 Free Software Foundation, Inc.              *
3 dnl                                                                          *
4 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
5 dnl copy of this software and associated documentation files (the            *
6 dnl "Software"), to deal in the Software without restriction, including      *
7 dnl without limitation the rights to use, copy, modify, merge, publish,      *
8 dnl distribute, distribute with modifications, sublicense, and/or sell       *
9 dnl copies of the Software, and to permit persons to whom the Software is    *
10 dnl furnished to do so, subject to the following conditions:                 *
11 dnl                                                                          *
12 dnl The above copyright notice and this permission notice shall be included  *
13 dnl in all copies or substantial portions of the Software.                   *
14 dnl                                                                          *
15 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
16 dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
17 dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
18 dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
19 dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
20 dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
21 dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
22 dnl                                                                          *
23 dnl Except as contained in this notice, the name(s) of the above copyright   *
24 dnl holders shall not be used in advertising or otherwise to promote the     *
25 dnl sale, use or other dealings in this Software without prior written       *
26 dnl authorization.                                                           *
27 dnl***************************************************************************
28 dnl
29 dnl Author: Thomas E. Dickey 1995-on
30 dnl
31 dnl $Id: aclocal.m4,v 1.698 2014/06/01 15:35:36 tom Exp $
32 dnl Macros used in NCURSES auto-configuration script.
33 dnl
34 dnl These macros are maintained separately from NCURSES.  The copyright on
35 dnl this file applies to the aggregation of macros and does not affect use of
36 dnl these macros in other applications.
37 dnl
38 dnl See http://invisible-island.net/autoconf/ for additional information.
39 dnl
40 dnl ---------------------------------------------------------------------------
41 dnl ---------------------------------------------------------------------------
42 dnl AM_LANGINFO_CODESET version: 3 updated: 2002/10/27 23:21:42
43 dnl -------------------
44 dnl Inserted as requested by gettext 0.10.40
45 dnl File from /usr/share/aclocal
46 dnl codeset.m4
47 dnl ====================
48 dnl serial AM1
49 dnl
50 dnl From Bruno Haible.
51 AC_DEFUN([AM_LANGINFO_CODESET],
52 [
53   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
54     [AC_TRY_LINK([#include <langinfo.h>],
55       [char* cs = nl_langinfo(CODESET);],
56       am_cv_langinfo_codeset=yes,
57       am_cv_langinfo_codeset=no)
58     ])
59   if test $am_cv_langinfo_codeset = yes; then
60     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
61       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
62   fi
63 ])dnl
64 dnl ---------------------------------------------------------------------------
65 dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56
66 dnl ------------------
67 dnl Conditionally generate script according to whether we're using a given autoconf.
68 dnl
69 dnl $1 = version to compare against
70 dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
71 dnl $3 = code to use if AC_ACVERSION is older than $1.
72 define([CF_ACVERSION_CHECK],
73 [
74 ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl
75 ifdef([m4_version_compare],
76 [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
77 [CF_ACVERSION_COMPARE(
78 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
79 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
80 dnl ---------------------------------------------------------------------------
81 dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
82 dnl --------------------
83 dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
84 dnl                      MAJOR2, MINOR2, TERNARY2,
85 dnl                      PRINTABLE2, not FOUND, FOUND)
86 define([CF_ACVERSION_COMPARE],
87 [ifelse(builtin([eval], [$2 < $5]), 1,
88 [ifelse([$8], , ,[$8])],
89 [ifelse([$9], , ,[$9])])])dnl
90 dnl ---------------------------------------------------------------------------
91 dnl CF_ADA_INCLUDE_DIRS version: 8 updated: 2013/10/14 04:24:07
92 dnl -------------------
93 dnl Construct the list of include-options for the C programs in the Ada95
94 dnl binding.
95 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
96 [
97 ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
98 if test "$srcdir" != "."; then
99         ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
100 fi
101 if test "$GCC" != yes; then
102         ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
103 elif test "$includedir" != "/usr/include"; then
104         if test "$includedir" = '${prefix}/include' ; then
105                 if test x$prefix != x/usr ; then
106                         ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
107                 fi
108         else
109                 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
110         fi
111 fi
112 AC_SUBST(ACPPFLAGS)
113 ])dnl
114 dnl ---------------------------------------------------------------------------
115 dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
116 dnl ---------------
117 dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
118 AC_DEFUN([CF_ADD_ADAFLAGS],[
119         ADAFLAGS="$ADAFLAGS $1"
120         AC_SUBST(ADAFLAGS)
121 ])dnl
122 dnl ---------------------------------------------------------------------------
123 dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42
124 dnl -------------
125 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
126 dnl The second parameter if given makes this macro verbose.
127 dnl
128 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
129 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
130 dnl confused by the quotes (which require backslashes to keep them usable).
131 AC_DEFUN([CF_ADD_CFLAGS],
132 [
133 cf_fix_cppflags=no
134 cf_new_cflags=
135 cf_new_cppflags=
136 cf_new_extra_cppflags=
137
138 for cf_add_cflags in $1
139 do
140 case $cf_fix_cppflags in
141 no)
142         case $cf_add_cflags in #(vi
143         -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
144                 case $cf_add_cflags in
145                 -D*)
146                         cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
147
148                         test "${cf_add_cflags}" != "${cf_tst_cflags}" \
149                                 && test -z "${cf_tst_cflags}" \
150                                 && cf_fix_cppflags=yes
151
152                         if test $cf_fix_cppflags = yes ; then
153                                 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
154                                 continue
155                         elif test "${cf_tst_cflags}" = "\"'" ; then
156                                 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
157                                 continue
158                         fi
159                         ;;
160                 esac
161                 case "$CPPFLAGS" in
162                 *$cf_add_cflags) #(vi
163                         ;;
164                 *) #(vi
165                         case $cf_add_cflags in #(vi
166                         -D*)
167                                 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
168                                 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
169                                 ;;
170                         esac
171                         cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
172                         ;;
173                 esac
174                 ;;
175         *)
176                 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
177                 ;;
178         esac
179         ;;
180 yes)
181         cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
182
183         cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
184
185         test "${cf_add_cflags}" != "${cf_tst_cflags}" \
186                 && test -z "${cf_tst_cflags}" \
187                 && cf_fix_cppflags=no
188         ;;
189 esac
190 done
191
192 if test -n "$cf_new_cflags" ; then
193         ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
194         CFLAGS="$CFLAGS $cf_new_cflags"
195 fi
196
197 if test -n "$cf_new_cppflags" ; then
198         ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
199         CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
200 fi
201
202 if test -n "$cf_new_extra_cppflags" ; then
203         ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
204         EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
205 fi
206
207 AC_SUBST(EXTRA_CPPFLAGS)
208
209 ])dnl
210 dnl ---------------------------------------------------------------------------
211 dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
212 dnl -------------
213 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
214 dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
215 dnl but old versions (and some misinstalled ones) need that.  To make things
216 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
217 dnl the include-path).
218 AC_DEFUN([CF_ADD_INCDIR],
219 [
220 if test -n "$1" ; then
221   for cf_add_incdir in $1
222   do
223         while test $cf_add_incdir != /usr/include
224         do
225           if test -d $cf_add_incdir
226           then
227                 cf_have_incdir=no
228                 if test -n "$CFLAGS$CPPFLAGS" ; then
229                   # a loop is needed to ensure we can add subdirs of existing dirs
230                   for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
231                         if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
232                           cf_have_incdir=yes; break
233                         fi
234                   done
235                 fi
236
237                 if test "$cf_have_incdir" = no ; then
238                   if test "$cf_add_incdir" = /usr/local/include ; then
239                         if test "$GCC" = yes
240                         then
241                           cf_save_CPPFLAGS=$CPPFLAGS
242                           CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
243                           AC_TRY_COMPILE([#include <stdio.h>],
244                                   [printf("Hello")],
245                                   [],
246                                   [cf_have_incdir=yes])
247                           CPPFLAGS=$cf_save_CPPFLAGS
248                         fi
249                   fi
250                 fi
251
252                 if test "$cf_have_incdir" = no ; then
253                   CF_VERBOSE(adding $cf_add_incdir to include-path)
254                   ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
255
256                   cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
257                   test "$cf_top_incdir" = "$cf_add_incdir" && break
258                   cf_add_incdir="$cf_top_incdir"
259                 else
260                   break
261                 fi
262           fi
263         done
264   done
265 fi
266 ])dnl
267 dnl ---------------------------------------------------------------------------
268 dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
269 dnl ----------
270 dnl Add a library, used to enforce consistency.
271 dnl
272 dnl $1 = library to add, without the "-l"
273 dnl $2 = variable to update (default $LIBS)
274 AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
275 dnl ---------------------------------------------------------------------------
276 dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
277 dnl -------------
278 dnl     Adds to the library-path
279 dnl
280 dnl     Some machines have trouble with multiple -L options.
281 dnl
282 dnl $1 is the (list of) directory(s) to add
283 dnl $2 is the optional name of the variable to update (default LDFLAGS)
284 dnl
285 AC_DEFUN([CF_ADD_LIBDIR],
286 [
287 if test -n "$1" ; then
288   for cf_add_libdir in $1
289   do
290     if test $cf_add_libdir = /usr/lib ; then
291       :
292     elif test -d $cf_add_libdir
293     then
294       cf_have_libdir=no
295       if test -n "$LDFLAGS$LIBS" ; then
296         # a loop is needed to ensure we can add subdirs of existing dirs
297         for cf_test_libdir in $LDFLAGS $LIBS ; do
298           if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
299             cf_have_libdir=yes; break
300           fi
301         done
302       fi
303       if test "$cf_have_libdir" = no ; then
304         CF_VERBOSE(adding $cf_add_libdir to library-path)
305         ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
306       fi
307     fi
308   done
309 fi
310 ])dnl
311 dnl ---------------------------------------------------------------------------
312 dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05
313 dnl -----------
314 dnl Add one or more libraries, used to enforce consistency.
315 dnl
316 dnl $1 = libraries to add, with the "-l", etc.
317 dnl $2 = variable to update (default $LIBS)
318 AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl
319 dnl ---------------------------------------------------------------------------
320 dnl CF_ADD_SUBDIR_PATH version: 4 updated: 2013/10/08 17:47:05
321 dnl ------------------
322 dnl Append to a search-list for a nonstandard header/lib-file
323 dnl     $1 = the variable to return as result
324 dnl     $2 = the package name
325 dnl     $3 = the subdirectory, e.g., bin, include or lib
326 dnl $4 = the directory under which we will test for subdirectories
327 dnl $5 = a directory that we do not want $4 to match
328 AC_DEFUN([CF_ADD_SUBDIR_PATH],
329 [
330 test "x$4" != "x$5" && \
331 test -d "$4" && \
332 ifelse([$5],NONE,,[(test -z "$5" || test x$5 = xNONE || test "x$4" != "x$5") &&]) {
333         test -n "$verbose" && echo "    ... testing for $3-directories under $4"
334         test -d $4/$3 &&          $1="[$]$1 $4/$3"
335         test -d $4/$3/$2 &&       $1="[$]$1 $4/$3/$2"
336         test -d $4/$3/$2/$3 &&    $1="[$]$1 $4/$3/$2/$3"
337         test -d $4/$2/$3 &&       $1="[$]$1 $4/$2/$3"
338         test -d $4/$2/$3/$2 &&    $1="[$]$1 $4/$2/$3/$2"
339 }
340 ])dnl
341 dnl ---------------------------------------------------------------------------
342 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
343 dnl --------------
344 dnl Allow user to disable a normally-on option.
345 AC_DEFUN([CF_ARG_DISABLE],
346 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
347 dnl ---------------------------------------------------------------------------
348 dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
349 dnl -------------
350 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
351 dnl values.
352 dnl
353 dnl Parameters:
354 dnl $1 = option name
355 dnl $2 = help-string
356 dnl $3 = action to perform if option is not default
357 dnl $4 = action if perform if option is default
358 dnl $5 = default option value (either 'yes' or 'no')
359 AC_DEFUN([CF_ARG_OPTION],
360 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
361   if test "$enableval" != "$5" ; then
362 ifelse([$3],,[    :]dnl
363 ,[    $3]) ifelse([$4],,,[
364   else
365     $4])
366   fi],[enableval=$5 ifelse([$4],,,[
367   $4
368 ])dnl
369   ])])dnl
370 dnl ---------------------------------------------------------------------------
371 dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
372 dnl -----------
373 dnl Check for suitable "ar" (archiver) options for updating an archive.
374 AC_DEFUN([CF_AR_FLAGS],[
375 AC_REQUIRE([CF_PROG_AR])
376
377 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
378         cf_cv_ar_flags=unknown
379         for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
380         do
381
382                 # check if $ARFLAGS already contains this choice
383                 if test "x$ARFLAGS" != "x" ; then
384                         cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
385                         if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
386                                 cf_cv_ar_flags=
387                                 break
388                         fi
389                 fi
390
391                 rm -f conftest.$ac_cv_objext
392                 rm -f conftest.a
393
394                 cat >conftest.$ac_ext <<EOF
395 #line __oline__ "configure"
396 int     testdata[[3]] = { 123, 456, 789 };
397 EOF
398                 if AC_TRY_EVAL(ac_compile) ; then
399                         echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
400                         $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
401                         if test -f conftest.a ; then
402                                 cf_cv_ar_flags=$cf_ar_flags
403                                 break
404                         fi
405                 else
406                         CF_VERBOSE(cannot compile test-program)
407                         break
408                 fi
409         done
410         rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
411 ])
412
413 if test -n "$ARFLAGS" ; then
414         if test -n "$cf_cv_ar_flags" ; then
415                 ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
416         fi
417 else
418         ARFLAGS=$cf_cv_ar_flags
419 fi
420
421 AC_SUBST(ARFLAGS)
422 ])
423 dnl ---------------------------------------------------------------------------
424 dnl CF_AWK_BIG_PRINTF version: 4 updated: 2011/10/30 17:09:50
425 dnl -----------------
426 dnl Check if awk can handle big strings using printf.  Some older versions of
427 dnl awk choke on large strings passed via "%s".
428 dnl
429 dnl $1 = desired string size
430 dnl $2 = variable to set with result
431 AC_DEFUN([CF_AWK_BIG_PRINTF],
432 [
433         case x$AWK in #(vi
434         x)
435                 eval $2=no
436                 ;;
437         *) #(vi
438                 if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' 2>/dev/null \
439                         | $AWK '{ printf "%d\n", length([$]0); }' 2>/dev/null | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
440                         eval $2=yes
441                 else
442                         eval $2=no
443                 fi
444                 ;;
445         esac
446 ])dnl
447 dnl ---------------------------------------------------------------------------
448 dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
449 dnl ------------
450 dnl Test if 'bool' is a builtin type in the configured C++ compiler.  Some
451 dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
452 dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
453 dnl
454 dnl Treat the configuration-variable specially here, since we're directly
455 dnl substituting its value (i.e., 1/0).
456 dnl
457 dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
458 AC_DEFUN([CF_BOOL_DECL],
459 [
460 AC_MSG_CHECKING(if we should include stdbool.h)
461
462 AC_CACHE_VAL(cf_cv_header_stdbool_h,[
463         AC_TRY_COMPILE([],[bool foo = false],
464                 [cf_cv_header_stdbool_h=0],
465                 [AC_TRY_COMPILE([
466 #ifndef __BEOS__
467 #include <stdbool.h>
468 #endif
469 ],[bool foo = false],
470                         [cf_cv_header_stdbool_h=1],
471                         [cf_cv_header_stdbool_h=0])])])
472
473 if test "$cf_cv_header_stdbool_h" = 1
474 then    AC_MSG_RESULT(yes)
475 else    AC_MSG_RESULT(no)
476 fi
477
478 AC_MSG_CHECKING([for builtin bool type])
479
480 AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
481         AC_TRY_COMPILE([
482 #include <stdio.h>
483 #include <sys/types.h>
484 ],[bool x = false],
485                 [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
486                 [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
487         ])
488
489 if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
490 then    AC_MSG_RESULT(yes)
491 else    AC_MSG_RESULT(no)
492 fi
493 ])dnl
494 dnl ---------------------------------------------------------------------------
495 dnl CF_BOOL_SIZE version: 13 updated: 2013/04/13 18:03:21
496 dnl ------------
497 dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
498 dnl Don't bother looking for bool.h, since it's been deprecated.
499 dnl
500 dnl If the current compiler is C rather than C++, we get the bool definition
501 dnl from <stdbool.h>.
502 AC_DEFUN([CF_BOOL_SIZE],
503 [
504 AC_MSG_CHECKING([for size of bool])
505 AC_CACHE_VAL(cf_cv_type_of_bool,[
506         rm -f cf_test.out
507         AC_TRY_RUN([
508 #include <stdlib.h>
509 #include <stdio.h>
510
511 #if defined(__cplusplus)
512
513 #ifdef HAVE_GXX_BUILTIN_H
514 #include <g++/builtin.h>
515 #elif HAVE_GPP_BUILTIN_H
516 #include <gpp/builtin.h>
517 #elif HAVE_BUILTIN_H
518 #include <builtin.h>
519 #endif
520
521 #else
522
523 #if $cf_cv_header_stdbool_h
524 #include <stdbool.h>
525 #endif
526
527 #endif
528
529 int main()
530 {
531         FILE *fp = fopen("cf_test.out", "w");
532         if (fp != 0) {
533                 bool x = true;
534                 if ((bool)(-x) >= 0)
535                         fputs("unsigned ", fp);
536                 if (sizeof(x) == sizeof(int))       fputs("int",  fp);
537                 else if (sizeof(x) == sizeof(char)) fputs("char", fp);
538                 else if (sizeof(x) == sizeof(short))fputs("short",fp);
539                 else if (sizeof(x) == sizeof(long)) fputs("long", fp);
540                 fclose(fp);
541         }
542         ${cf_cv_main_return:-return}(0);
543 }
544                 ],
545                 [cf_cv_type_of_bool=`cat cf_test.out`
546                  if test -z "$cf_cv_type_of_bool"; then
547                    cf_cv_type_of_bool=unknown
548                  fi],
549                 [cf_cv_type_of_bool=unknown],
550                 [cf_cv_type_of_bool=unknown])
551         ])
552         rm -f cf_test.out
553 AC_MSG_RESULT($cf_cv_type_of_bool)
554 if test "$cf_cv_type_of_bool" = unknown ; then
555         case .$NCURSES_BOOL in #(vi
556         .auto|.) NCURSES_BOOL=unsigned;;
557         esac
558         AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
559         cf_cv_type_of_bool=$NCURSES_BOOL
560 fi
561 ])dnl
562 dnl ---------------------------------------------------------------------------
563 dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
564 dnl -----------
565 dnl If we're cross-compiling, allow the user to override the tools and their
566 dnl options.  The configure script is oriented toward identifying the host
567 dnl compiler, etc., but we need a build compiler to generate parts of the
568 dnl source.
569 dnl
570 dnl $1 = default for $CPPFLAGS
571 dnl $2 = default for $LIBS
572 AC_DEFUN([CF_BUILD_CC],[
573 CF_ACVERSION_CHECK(2.52,,
574         [AC_REQUIRE([CF_PROG_EXT])])
575 if test "$cross_compiling" = yes ; then
576
577         # defaults that we might want to override
578         : ${BUILD_CFLAGS:=''}
579         : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
580         : ${BUILD_LDFLAGS:=''}
581         : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
582         : ${BUILD_EXEEXT:='$x'}
583         : ${BUILD_OBJEXT:='o'}
584
585         AC_ARG_WITH(build-cc,
586                 [  --with-build-cc=XXX     the build C compiler ($BUILD_CC)],
587                 [BUILD_CC="$withval"],
588                 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
589         AC_MSG_CHECKING(for native build C compiler)
590         AC_MSG_RESULT($BUILD_CC)
591
592         AC_MSG_CHECKING(for native build C preprocessor)
593         AC_ARG_WITH(build-cpp,
594                 [  --with-build-cpp=XXX    the build C preprocessor ($BUILD_CPP)],
595                 [BUILD_CPP="$withval"],
596                 [BUILD_CPP='${BUILD_CC} -E'])
597         AC_MSG_RESULT($BUILD_CPP)
598
599         AC_MSG_CHECKING(for native build C flags)
600         AC_ARG_WITH(build-cflags,
601                 [  --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
602                 [BUILD_CFLAGS="$withval"])
603         AC_MSG_RESULT($BUILD_CFLAGS)
604
605         AC_MSG_CHECKING(for native build C preprocessor-flags)
606         AC_ARG_WITH(build-cppflags,
607                 [  --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
608                 [BUILD_CPPFLAGS="$withval"])
609         AC_MSG_RESULT($BUILD_CPPFLAGS)
610
611         AC_MSG_CHECKING(for native build linker-flags)
612         AC_ARG_WITH(build-ldflags,
613                 [  --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
614                 [BUILD_LDFLAGS="$withval"])
615         AC_MSG_RESULT($BUILD_LDFLAGS)
616
617         AC_MSG_CHECKING(for native build linker-libraries)
618         AC_ARG_WITH(build-libs,
619                 [  --with-build-libs=XXX   the build libraries (${BUILD_LIBS})],
620                 [BUILD_LIBS="$withval"])
621         AC_MSG_RESULT($BUILD_LIBS)
622
623         # this assumes we're on Unix.
624         BUILD_EXEEXT=
625         BUILD_OBJEXT=o
626
627         : ${BUILD_CC:='${CC}'}
628
629         if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
630                 AC_MSG_ERROR([Cross-build requires two compilers.
631 Use --with-build-cc to specify the native compiler.])
632         fi
633
634 else
635         : ${BUILD_CC:='${CC}'}
636         : ${BUILD_CPP:='${CPP}'}
637         : ${BUILD_CFLAGS:='${CFLAGS}'}
638         : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
639         : ${BUILD_LDFLAGS:='${LDFLAGS}'}
640         : ${BUILD_LIBS:='${LIBS}'}
641         : ${BUILD_EXEEXT:='$x'}
642         : ${BUILD_OBJEXT:='o'}
643 fi
644
645 AC_SUBST(BUILD_CC)
646 AC_SUBST(BUILD_CPP)
647 AC_SUBST(BUILD_CFLAGS)
648 AC_SUBST(BUILD_CPPFLAGS)
649 AC_SUBST(BUILD_LDFLAGS)
650 AC_SUBST(BUILD_LIBS)
651 AC_SUBST(BUILD_EXEEXT)
652 AC_SUBST(BUILD_OBJEXT)
653 ])dnl
654 dnl ---------------------------------------------------------------------------
655 dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
656 dnl ---------------
657 dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
658 dnl into CC.  This will not help with broken scripts that wrap the compiler with
659 dnl options, but eliminates a more common category of user confusion.
660 AC_DEFUN([CF_CC_ENV_FLAGS],
661 [
662 # This should have been defined by AC_PROG_CC
663 : ${CC:=cc}
664
665 AC_MSG_CHECKING(\$CC variable)
666 case "$CC" in #(vi
667 *[[\ \  ]]-[[IUD]]*)
668         AC_MSG_RESULT(broken)
669         AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
670         # humor him...
671         cf_flags=`echo "$CC" | sed -e 's/^[[^   ]]*[[   ]]//'`
672         CC=`echo "$CC" | sed -e 's/[[   ]].*//'`
673         CF_ADD_CFLAGS($cf_flags)
674         ;;
675 *)
676         AC_MSG_RESULT(ok)
677         ;;
678 esac
679 ])dnl
680 dnl ---------------------------------------------------------------------------
681 dnl CF_CFG_DEFAULTS version: 10 updated: 2013/09/07 13:54:05
682 dnl ---------------
683 dnl Determine the default configuration into which we'll install ncurses.  This
684 dnl can be overridden by the user's command-line options.  There's two items to
685 dnl look for:
686 dnl     1. the prefix (e.g., /usr)
687 dnl     2. the header files (e.g., /usr/include/ncurses)
688 dnl We'll look for a previous installation of ncurses and use the same defaults.
689 dnl
690 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
691 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
692 dnl programs from a vendor's.
693 AC_DEFUN([CF_CFG_DEFAULTS],
694 [
695 AC_MSG_CHECKING(for prefix)
696 if test "x$prefix" = "xNONE" ; then
697         case "$cf_cv_system_name" in
698                 # non-vendor systems don't have a conflict
699         openbsd*|freebsd*|mirbsd*|linux*|cygwin*|msys*|k*bsd*-gnu|mingw*)
700                 prefix=/usr
701                 ;;
702         *)      prefix=$ac_default_prefix
703                 ;;
704         esac
705 fi
706 AC_MSG_RESULT($prefix)
707
708 if test "x$prefix" = "xNONE" ; then
709 AC_MSG_CHECKING(for default include-directory)
710 test -n "$verbose" && echo 1>&AC_FD_MSG
711 for cf_symbol in \
712         $includedir \
713         $includedir/ncurses \
714         $prefix/include \
715         $prefix/include/ncurses \
716         /usr/local/include \
717         /usr/local/include/ncurses \
718         /usr/include \
719         /usr/include/ncurses
720 do
721         cf_dir=`eval echo $cf_symbol`
722         if test -f $cf_dir/curses.h ; then
723         if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
724                 includedir="$cf_symbol"
725                 test -n "$verbose"  && echo $ac_n "     found " 1>&AC_FD_MSG
726                 break
727         fi
728         fi
729         test -n "$verbose"  && echo "   tested $cf_dir" 1>&AC_FD_MSG
730 done
731 AC_MSG_RESULT($includedir)
732 fi
733 ])dnl
734 dnl ---------------------------------------------------------------------------
735 dnl CF_CGETENT version: 5 updated: 2012/10/06 17:56:13
736 dnl ----------
737 dnl Check if the terminal-capability database functions are available.  If not,
738 dnl ncurses has a much-reduced version.
739 AC_DEFUN([CF_CGETENT],[
740 AC_CACHE_CHECK(for terminal-capability database functions,cf_cv_cgetent,[
741 AC_TRY_LINK([
742 #include <stdlib.h>],[
743         char temp[128];
744         char *buf = temp;
745         char *db_array = temp;
746         cgetent(&buf, &db_array, "vt100");
747         cgetcap(buf, "tc", '=');
748         cgetmatch(buf, "tc");
749         ],
750         [cf_cv_cgetent=yes],
751         [cf_cv_cgetent=no])
752 ])
753
754 if test "$cf_cv_cgetent" = yes
755 then
756         AC_DEFINE(HAVE_BSD_CGETENT,1,[Define to 1 if we have BSD cgetent])
757 AC_CACHE_CHECK(if cgetent uses const parameter,cf_cv_cgetent_const,[
758 AC_TRY_LINK([
759 #include <stdlib.h>],[
760         char temp[128];
761         char *buf = temp;
762 #ifndef _NETBSD_SOURCE                  /* given, since April 2004 in stdlib.h */
763         const char *db_array = temp;
764         cgetent(&buf, &db_array, "vt100");
765 #endif
766         cgetcap(buf, "tc", '=');
767         cgetmatch(buf, "tc");
768         ],
769         [cf_cv_cgetent_const=yes],
770         [cf_cv_cgetent_const=no])
771 ])
772         if test "$cf_cv_cgetent_const" = yes
773         then
774                 AC_DEFINE_UNQUOTED(CGETENT_CONST,const,[Define to const if needed for some BSD cgetent variations])
775         fi
776 fi
777 ])dnl
778 dnl ---------------------------------------------------------------------------
779 dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
780 dnl --------------
781 dnl Check if we're accidentally using a cache from a different machine.
782 dnl Derive the system name, as a check for reusing the autoconf cache.
783 dnl
784 dnl If we've packaged config.guess and config.sub, run that (since it does a
785 dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
786 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
787 dnl which is useful in cross-compiles.
788 dnl
789 dnl Note: we would use $ac_config_sub, but that is one of the places where
790 dnl autoconf 2.5x broke compatibility with autoconf 2.13
791 AC_DEFUN([CF_CHECK_CACHE],
792 [
793 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
794         ifelse([$1],,[AC_CANONICAL_HOST],[$1])
795         system_name="$host_os"
796 else
797         system_name="`(uname -s -r) 2>/dev/null`"
798         if test -z "$system_name" ; then
799                 system_name="`(hostname) 2>/dev/null`"
800         fi
801 fi
802 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
803 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
804
805 test -z "$system_name" && system_name="$cf_cv_system_name"
806 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
807
808 if test ".$system_name" != ".$cf_cv_system_name" ; then
809         AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
810         AC_MSG_ERROR("Please remove config.cache and try again.")
811 fi
812 ])dnl
813 dnl ---------------------------------------------------------------------------
814 dnl CF_CHECK_ERRNO version: 11 updated: 2010/05/26 05:38:42
815 dnl --------------
816 dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
817 dnl the 'errno' variable.  Define a DECL_xxx symbol if we must declare it
818 dnl ourselves.
819 dnl
820 dnl $1 = the name to check
821 dnl $2 = the assumed type
822 AC_DEFUN([CF_CHECK_ERRNO],
823 [
824 AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
825     AC_TRY_COMPILE([
826 #ifdef HAVE_STDLIB_H
827 #include <stdlib.h>
828 #endif
829 #include <stdio.h>
830 #include <sys/types.h>
831 #include <errno.h> ],
832     ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1,
833     [cf_cv_dcl_$1=yes],
834     [cf_cv_dcl_$1=no])
835 ])
836
837 if test "$cf_cv_dcl_$1" = no ; then
838     CF_UPPER(cf_result,decl_$1)
839     AC_DEFINE_UNQUOTED($cf_result)
840 fi
841
842 # It's possible (for near-UNIX clones) that the data doesn't exist
843 CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2]))
844 ])dnl
845 dnl ---------------------------------------------------------------------------
846 dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
847 dnl --------------------
848 dnl Check for existence of external data in the current set of libraries.  If
849 dnl we can modify it, it's real enough.
850 dnl $1 = the name to check
851 dnl $2 = its type
852 AC_DEFUN([CF_CHECK_EXTERN_DATA],
853 [
854 AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
855     AC_TRY_LINK([
856 #undef $1
857 extern $2 $1;
858 ],
859     [$1 = 2],
860     [cf_cv_have_$1=yes],
861     [cf_cv_have_$1=no])
862 ])
863
864 if test "$cf_cv_have_$1" = yes ; then
865     CF_UPPER(cf_result,have_$1)
866     AC_DEFINE_UNQUOTED($cf_result)
867 fi
868
869 ])dnl
870 dnl ---------------------------------------------------------------------------
871 dnl CF_CHECK_GPM_WGETCH version: 2 updated: 2010/08/14 18:25:37
872 dnl -------------------
873 dnl Check if GPM is already linked with curses.  If so - and if the linkage
874 dnl is not "weak" - warn about this because it can create problems linking
875 dnl applications with ncurses.
876 AC_DEFUN([CF_CHECK_GPM_WGETCH],[
877 AC_CHECK_LIB(gpm,Gpm_Wgetch,[
878
879 AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
880 cf_cv_check_gpm_wgetch=unknown
881 if test "$cross_compiling" != yes ; then
882
883 cat >conftest.$ac_ext <<CF_EOF
884 #include <gpm.h>
885 int main()
886 {
887         Gpm_Wgetch();
888         ${cf_cv_main_return:-return}(0);
889 }
890 CF_EOF
891
892         cf_save_LIBS="$LIBS"
893         # This only works if we can look at the symbol table.  If a shared
894         # library is stripped for install, we cannot use that.  So we're forced
895         # to rely on the static library, noting that some packagers may not
896         # include it.
897         LIBS="-static -lgpm -dynamic $LIBS"
898         if AC_TRY_EVAL(ac_compile) ; then
899                 if AC_TRY_EVAL(ac_link) ; then
900                         cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
901                         test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
902                         test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
903                 fi
904         fi
905         rm -rf conftest*
906         LIBS="$cf_save_LIBS"
907 fi
908 ])
909
910 if test "$cf_cv_check_gpm_wgetch" != yes ; then
911         AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
912 fi
913 ])])dnl
914 dnl ---------------------------------------------------------------------------
915 dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
916 dnl ------------------------
917 dnl Show the version of libtool
918 dnl
919 dnl Save the version in a cache variable - this is not entirely a good thing,
920 dnl but the version string from libtool is very ugly, and for bug reports it
921 dnl might be useful to have the original string.
922 AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[
923 if test -n "$LIBTOOL" && test "$LIBTOOL" != none
924 then
925         AC_MSG_CHECKING(version of $LIBTOOL)
926         CF_LIBTOOL_VERSION
927         AC_MSG_RESULT($cf_cv_libtool_version)
928         if test -z "$cf_cv_libtool_version" ; then
929                 AC_MSG_ERROR(This is not GNU libtool)
930         fi
931 else
932         AC_MSG_ERROR(GNU libtool has not been found)
933 fi
934 ])dnl
935 dnl ---------------------------------------------------------------------------
936 dnl CF_CHECK_WCHAR_H version: 1 updated: 2011/10/29 15:01:05
937 dnl ----------------
938 dnl Check if wchar.h can be used, i.e., without defining _XOPEN_SOURCE_EXTENDED
939 AC_DEFUN([CF_CHECK_WCHAR_H],[
940 AC_CACHE_CHECK(if wchar.h can be used as is,cf_cv_wchar_h_okay,[
941 AC_TRY_COMPILE(
942 [
943 #include <stdlib.h>
944 #include <wchar.h>
945 ],[
946         wint_t foo = 0;
947         int bar = iswpunct(foo)],
948         [cf_cv_wchar_h_okay=yes],
949         [cf_cv_wchar_h_okay=no])])
950
951 if test $cf_cv_wchar_h_okay = no
952 then
953         CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
954 fi
955 ])dnl
956 dnl ---------------------------------------------------------------------------
957 dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
958 dnl -----------------
959 dnl Check if the given compiler is really clang.  clang's C driver defines
960 dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
961 dnl not ignore some gcc options.
962 dnl
963 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
964 dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
965 dnl the wrappers for gcc and g++ warnings.
966 dnl
967 dnl $1 = GCC (default) or GXX
968 dnl $2 = CLANG_COMPILER (default)
969 dnl $3 = CFLAGS (default) or CXXFLAGS
970 AC_DEFUN([CF_CLANG_COMPILER],[
971 ifelse([$2],,CLANG_COMPILER,[$2])=no
972
973 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
974         AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
975         cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
976         ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
977         AC_TRY_COMPILE([],[
978 #ifdef __clang__
979 #else
980 make an error
981 #endif
982 ],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
983 cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
984 ],[])
985         ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
986         AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
987 fi
988 ])
989 dnl ---------------------------------------------------------------------------
990 dnl CF_CPP_PARAM_INIT version: 6 updated: 2012/10/06 17:56:13
991 dnl -----------------
992 dnl Check if the C++ compiler accepts duplicate parameter initialization.  This
993 dnl is a late feature for the standard and is not in some recent compilers
994 dnl (1999/9/11).
995 AC_DEFUN([CF_CPP_PARAM_INIT],
996 [
997 if test -n "$CXX"; then
998 AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
999         AC_LANG_SAVE
1000         AC_LANG_CPLUSPLUS
1001         AC_TRY_RUN([
1002 class TEST {
1003 private:
1004         int value;
1005 public:
1006         TEST(int x = 1);
1007         ~TEST();
1008 };
1009
1010 TEST::TEST(int x = 1)   // some compilers do not like second initializer
1011 {
1012         value = x;
1013 }
1014 int main() { }
1015 ],
1016         [cf_cv_cpp_param_init=yes],
1017         [cf_cv_cpp_param_init=no],
1018         [cf_cv_cpp_param_init=unknown])
1019         AC_LANG_RESTORE
1020 ])
1021 fi
1022 test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT,1,[Define to 1 if C++ has parameter initialization])
1023 ])dnl
1024 dnl ---------------------------------------------------------------------------
1025 dnl CF_CPP_STATIC_CAST version: 3 updated: 2013/04/13 18:03:21
1026 dnl ------------------
1027 dnl Check if the C++ compiler accepts static_cast in generics.  This appears to
1028 dnl not be supported in g++ before 3.0
1029 AC_DEFUN([CF_CPP_STATIC_CAST],
1030 [
1031 if test -n "$CXX"; then
1032
1033 AC_CACHE_CHECK(if $CXX accepts static_cast,cf_cv_cpp_static_cast,[
1034         AC_LANG_SAVE
1035         AC_LANG_CPLUSPLUS
1036
1037         AC_TRY_COMPILE([
1038 class NCursesPanel
1039 {
1040 public:
1041   NCursesPanel(int nlines,
1042                int ncols,
1043                int begin_y = 0,
1044                int begin_x = 0)
1045   {
1046   }
1047   NCursesPanel();
1048   ~NCursesPanel();
1049 };
1050
1051 template<class T> class NCursesUserPanel : public NCursesPanel
1052 {
1053 public:
1054   NCursesUserPanel (int nlines,
1055                     int ncols,
1056                     int begin_y = 0,
1057                     int begin_x = 0,
1058                     const T* p_UserData = static_cast<T*>(0))
1059     : NCursesPanel (nlines, ncols, begin_y, begin_x)
1060   {
1061   };
1062   NCursesUserPanel(const T* p_UserData = static_cast<T*>(0)) : NCursesPanel()
1063   {
1064   };
1065
1066   virtual ~NCursesUserPanel() {};
1067 };
1068 ],[
1069         const char* p_UserData = static_cast<char*>(0)],
1070         [cf_cv_cpp_static_cast=yes],
1071         [cf_cv_cpp_static_cast=no])
1072
1073         AC_LANG_RESTORE
1074 ])
1075
1076 fi
1077
1078 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST,1,[Define to 1 if C++ has static_cast])
1079 ])dnl
1080 dnl ---------------------------------------------------------------------------
1081 dnl CF_CXX_AR_FLAGS version: 1 updated: 2011/10/29 08:35:34
1082 dnl ---------------
1083 dnl Setup special archiver flags for given compilers.
1084 AC_DEFUN([CF_CXX_AR_FLAGS],[
1085         CXX_AR='$(AR)'
1086         CXX_ARFLAGS='$(ARFLAGS)'
1087         case $cf_cv_system_name in #(vi
1088         irix*) #(vi
1089             if test "$GXX" != yes ; then
1090                 CXX_AR='$(CXX)'
1091                 CXX_ARFLAGS='-ar -o'
1092             fi
1093             ;;
1094         sco3.2v5*) #(vi
1095             CXXLDFLAGS="-u main"
1096             ;;
1097         solaris2*)
1098             if test "$GXX" != yes ; then
1099                 CXX_AR='$(CXX)'
1100                 CXX_ARFLAGS='-xar -o'
1101             fi
1102             ;;
1103         esac
1104         AC_SUBST(CXXLDFLAGS)
1105         AC_SUBST(CXX_AR)
1106         AC_SUBST(CXX_ARFLAGS)
1107 ])dnl
1108 dnl ---------------------------------------------------------------------------
1109 dnl CF_CXX_IOSTREAM_NAMESPACE version: 2 updated: 2012/10/06 17:56:13
1110 dnl -------------------------
1111 dnl For c++, check if iostream uses "std::" namespace.
1112 AC_DEFUN([CF_CXX_IOSTREAM_NAMESPACE],[
1113 AC_CHECK_HEADERS(iostream)
1114 if test x"$ac_cv_header_iostream" = xyes ; then
1115         AC_MSG_CHECKING(if iostream uses std-namespace)
1116         AC_TRY_COMPILE([
1117 #include <iostream>
1118 using std::endl;
1119 using std::cerr;],[
1120 cerr << "testing" << endl;
1121 ],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
1122         AC_MSG_RESULT($cf_iostream_namespace)
1123         if test "$cf_iostream_namespace" = yes ; then
1124                 AC_DEFINE(IOSTREAM_NAMESPACE,1,[Define to 1 if C++ has namespace iostream])
1125         fi
1126 fi
1127 ])dnl
1128 dnl ---------------------------------------------------------------------------
1129 dnl CF_C_INLINE version: 4 updated: 2012/06/16 14:55:39
1130 dnl -----------
1131 dnl Check if the C compiler supports "inline".
1132 dnl $1 is the name of a shell variable to set if inline is supported
1133 dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
1134 AC_DEFUN([CF_C_INLINE],[
1135 AC_C_INLINE
1136 $1=
1137 if test "$ac_cv_c_inline" != no ; then
1138   $1=inline
1139   if test "$INTEL_COMPILER" = yes
1140   then
1141     :
1142   elif test "$CLANG_COMPILER" = yes
1143   then
1144     :
1145   elif test "$GCC" = yes
1146   then
1147     AC_CACHE_CHECK(if $CC supports options to tune inlining,cf_cv_gcc_inline,[
1148       cf_save_CFLAGS=$CFLAGS
1149       CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
1150       AC_TRY_COMPILE([inline int foo(void) { return 1; }],
1151       [${cf_cv_main_return:-return} foo()],
1152       [cf_cv_gcc_inline=yes],
1153       [cf_cv_gcc_inline=no])
1154       CFLAGS=$cf_save_CFLAGS
1155     ])
1156     if test "$cf_cv_gcc_inline" = yes ; then
1157         CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
1158     fi
1159   fi
1160 fi
1161 AC_SUBST($1)
1162 ])dnl
1163 dnl ---------------------------------------------------------------------------
1164 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
1165 dnl ----------
1166 dnl "dirname" is not portable, so we fake it with a shell script.
1167 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
1168 dnl ---------------------------------------------------------------------------
1169 dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
1170 dnl ---------------
1171 AC_DEFUN([CF_DIRS_TO_MAKE],
1172 [
1173 DIRS_TO_MAKE="lib"
1174 for cf_item in $cf_list_models
1175 do
1176         CF_OBJ_SUBDIR($cf_item,cf_subdir)
1177         for cf_item2 in $DIRS_TO_MAKE
1178         do
1179                 test $cf_item2 = $cf_subdir && break
1180         done
1181         test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
1182 done
1183 for cf_dir in $DIRS_TO_MAKE
1184 do
1185         test ! -d $cf_dir && mkdir $cf_dir
1186 done
1187 AC_SUBST(DIRS_TO_MAKE)
1188 ])dnl
1189 dnl ---------------------------------------------------------------------------
1190 dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
1191 dnl ---------------
1192 dnl You can always use "make -n" to see the actual options, but it's hard to
1193 dnl pick out/analyze warning messages when the compile-line is long.
1194 dnl
1195 dnl Sets:
1196 dnl     ECHO_LT - symbol to control if libtool is verbose
1197 dnl     ECHO_LD - symbol to prefix "cc -o" lines
1198 dnl     RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
1199 dnl     SHOW_CC - symbol to put before explicit "cc -c" lines
1200 dnl     ECHO_CC - symbol to put before any "cc" line
1201 dnl
1202 AC_DEFUN([CF_DISABLE_ECHO],[
1203 AC_MSG_CHECKING(if you want to see long compiling messages)
1204 CF_ARG_DISABLE(echo,
1205         [  --disable-echo          do not display "compiling" commands],
1206         [
1207     ECHO_LT='--silent'
1208     ECHO_LD='@echo linking [$]@;'
1209     RULE_CC='@echo compiling [$]<'
1210     SHOW_CC='@echo compiling [$]@'
1211     ECHO_CC='@'
1212 ],[
1213     ECHO_LT=''
1214     ECHO_LD=''
1215     RULE_CC=''
1216     SHOW_CC=''
1217     ECHO_CC=''
1218 ])
1219 AC_MSG_RESULT($enableval)
1220 AC_SUBST(ECHO_LT)
1221 AC_SUBST(ECHO_LD)
1222 AC_SUBST(RULE_CC)
1223 AC_SUBST(SHOW_CC)
1224 AC_SUBST(ECHO_CC)
1225 ])dnl
1226 dnl ---------------------------------------------------------------------------
1227 dnl CF_DISABLE_GNAT_PROJECTS version: 1 updated: 2014/06/01 11:34:00
1228 dnl ------------------------
1229 AC_DEFUN([CF_DISABLE_GNAT_PROJECTS],[
1230 AC_MSG_CHECKING(if we want to use GNAT projects)
1231 CF_ARG_DISABLE(gnat-projects,
1232         [  --disable-gnat-projects test: disable GNAT projects even if usable],
1233         [enable_gnat_projects=no],
1234         [enable_gnat_projects=yes])
1235 AC_MSG_RESULT($enable_gnat_projects)
1236 ])dnl
1237 dnl ---------------------------------------------------------------------------
1238 dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03
1239 dnl ----------------
1240 dnl Combine no-leak checks with the libraries or tools that are used for the
1241 dnl checks.
1242 AC_DEFUN([CF_DISABLE_LEAKS],[
1243
1244 AC_REQUIRE([CF_WITH_DMALLOC])
1245 AC_REQUIRE([CF_WITH_DBMALLOC])
1246 AC_REQUIRE([CF_WITH_VALGRIND])
1247
1248 AC_MSG_CHECKING(if you want to perform memory-leak testing)
1249 AC_ARG_ENABLE(leaks,
1250         [  --disable-leaks         test: free permanent memory, analyze leaks],
1251         [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
1252         : ${with_no_leaks:=no})
1253 AC_MSG_RESULT($with_no_leaks)
1254
1255 if test "$with_no_leaks" = yes ; then
1256         AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
1257         AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.])
1258 fi
1259 ])dnl
1260 dnl ---------------------------------------------------------------------------
1261 dnl CF_DISABLE_LIBTOOL_VERSION version: 1 updated: 2010/05/15 15:45:59
1262 dnl --------------------------
1263 dnl Check if we should use the libtool 1.5 feature "-version-number" instead of
1264 dnl the older "-version-info" feature.  The newer feature allows us to use
1265 dnl version numbering on shared libraries which make them compatible with
1266 dnl various systems.
1267 AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION],
1268 [
1269 AC_MSG_CHECKING(if libtool -version-number should be used)
1270 CF_ARG_DISABLE(libtool-version,
1271         [  --disable-libtool-version  enable to use libtool's incompatible naming scheme],
1272         [cf_libtool_version=no],
1273         [cf_libtool_version=yes])
1274 AC_MSG_RESULT($cf_libtool_version)
1275
1276 if test "$cf_libtool_version" = yes ; then
1277         LIBTOOL_VERSION="-version-number"
1278 else
1279         LIBTOOL_VERSION="-version-info"
1280 fi
1281
1282 AC_SUBST(LIBTOOL_VERSION)
1283 ])dnl
1284 dnl ---------------------------------------------------------------------------
1285 dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33
1286 dnl ---------------------
1287 dnl The rpath-hack makes it simpler to build programs, particularly with the
1288 dnl *BSD ports which may have essential libraries in unusual places.  But it
1289 dnl can interfere with building an executable for the base system.  Use this
1290 dnl option in that case.
1291 AC_DEFUN([CF_DISABLE_RPATH_HACK],
1292 [
1293 AC_MSG_CHECKING(if rpath-hack should be disabled)
1294 CF_ARG_DISABLE(rpath-hack,
1295         [  --disable-rpath-hack    don't add rpath options for additional libraries],
1296         [cf_disable_rpath_hack=yes],
1297         [cf_disable_rpath_hack=no])
1298 AC_MSG_RESULT($cf_disable_rpath_hack)
1299 if test "$cf_disable_rpath_hack" = no ; then
1300         CF_RPATH_HACK
1301 fi
1302 ])
1303 dnl ---------------------------------------------------------------------------
1304 dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
1305 dnl ------------------
1306 dnl This is the "--enable-pc-files" option, which is available if there is a
1307 dnl pkg-config configuration on the local machine.
1308 AC_DEFUN([CF_ENABLE_PC_FILES],[
1309 AC_REQUIRE([CF_PKG_CONFIG])
1310 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
1311
1312 if test "$PKG_CONFIG" != none ; then
1313         AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
1314         AC_ARG_ENABLE(pc-files,
1315                 [  --enable-pc-files       generate and install .pc files for pkg-config],
1316                 [enable_pc_files=$enableval],
1317                 [enable_pc_files=no])
1318         AC_MSG_RESULT($enable_pc_files)
1319         if test "$enable_pc_files" != no
1320         then
1321                 CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
1322         fi
1323 else
1324         enable_pc_files=no
1325 fi
1326 ])dnl
1327 dnl ---------------------------------------------------------------------------
1328 dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
1329 dnl ---------------
1330 dnl Check if the rpath option should be used, setting cache variable
1331 dnl cf_cv_enable_rpath if so.
1332 AC_DEFUN([CF_ENABLE_RPATH],
1333 [
1334 AC_MSG_CHECKING(if rpath option should be used)
1335 AC_ARG_ENABLE(rpath,
1336 [  --enable-rpath          use rpath option when generating shared libraries],
1337 [cf_cv_enable_rpath=$enableval],
1338 [cf_cv_enable_rpath=no])
1339 AC_MSG_RESULT($cf_cv_enable_rpath)
1340 ])dnl
1341 dnl ---------------------------------------------------------------------------
1342 dnl CF_ENABLE_STRING_HACKS version: 3 updated: 2013/01/26 16:26:12
1343 dnl ----------------------
1344 dnl On a few platforms, the compiler and/or loader nags with untruthful
1345 dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect,
1346 dnl and implying that most uses of the recommended alternatives are correct.
1347 dnl
1348 dnl Factually speaking, no one has actually counted the number of uses of these
1349 dnl functions versus the total of incorrect uses.  Samples of a few thousand
1350 dnl instances are meaningless compared to the hundreds of millions of lines of
1351 dnl existing C code.
1352 dnl
1353 dnl strlcat/strlcpy are (as of 2012) non-standard, and are available on some
1354 dnl platforms, in implementations of varying quality.  Likewise, snprintf is
1355 dnl standard - but evolved through phases, and older implementations are likely
1356 dnl to yield surprising results, as documented in manpages on various systems.
1357 AC_DEFUN([CF_ENABLE_STRING_HACKS],
1358 [
1359 AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings)
1360 AC_ARG_ENABLE(string-hacks,
1361         [  --enable-string-hacks   work around bogus compiler/loader warnings],
1362         [with_string_hacks=$enableval],
1363         [with_string_hacks=no])
1364 AC_MSG_RESULT($with_string_hacks)
1365
1366 if test "x$with_string_hacks" = "xyes"; then
1367         AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings])
1368         AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings)
1369         AC_CHECK_FUNCS( strlcat strlcpy snprintf )
1370 fi
1371 ])dnl
1372 dnl ---------------------------------------------------------------------------
1373 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
1374 dnl --------
1375 dnl Check if 'errno' is declared in <errno.h>
1376 AC_DEFUN([CF_ERRNO],
1377 [
1378 CF_CHECK_ERRNO(errno)
1379 ])dnl
1380 dnl ---------------------------------------------------------------------------
1381 dnl CF_ETIP_DEFINES version: 5 updated: 2012/02/18 17:51:07
1382 dnl ---------------
1383 dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
1384 dnl math.h and builtin.h, only for ncurses
1385 AC_DEFUN([CF_ETIP_DEFINES],
1386 [
1387 AC_MSG_CHECKING(for special defines needed for etip.h)
1388 cf_save_CXXFLAGS="$CXXFLAGS"
1389 cf_result="none"
1390
1391 # etip.h includes ncurses.h which includes ncurses_dll.h
1392 # But ncurses_dll.h is generated - fix here.
1393 test -d include || mkdir include
1394 test -f include/ncurses_dll.h || sed -e 's/@NCURSES_WRAP_PREFIX@/'$NCURSES_WRAP_PREFIX'/g' ${srcdir}/include/ncurses_dll.h.in >include/ncurses_dll.h
1395
1396 for cf_math in "" MATH_H
1397 do
1398 for cf_excp in "" MATH_EXCEPTION
1399 do
1400         CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -Iinclude -I${srcdir}/include"
1401         test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
1402         test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
1403 AC_TRY_COMPILE([
1404 #include <etip.h.in>
1405 ],[],[
1406         test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
1407         test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
1408         cf_result="$cf_math $cf_excp"
1409         break 2
1410 ],[])
1411 done
1412 done
1413 AC_MSG_RESULT($cf_result)
1414 CXXFLAGS="$cf_save_CXXFLAGS"
1415 ])
1416 dnl ---------------------------------------------------------------------------
1417 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
1418 dnl ---------------
1419 dnl Find a library (specifically the linkage used in the code fragment),
1420 dnl searching for it if it is not already in the library path.
1421 dnl See also CF_ADD_SEARCHPATH.
1422 dnl
1423 dnl Parameters (4-on are optional):
1424 dnl     $1 = headers for library entrypoint
1425 dnl     $2 = code fragment for library entrypoint
1426 dnl     $3 = the library name without the "-l" option or ".so" suffix.
1427 dnl     $4 = action to perform if successful (default: update CPPFLAGS, etc)
1428 dnl     $5 = action to perform if not successful
1429 dnl     $6 = module name, if not the same as the library name
1430 dnl     $7 = extra libraries
1431 dnl
1432 dnl Sets these variables:
1433 dnl     $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
1434 dnl     $cf_cv_header_path_$3 - include-directory if needed
1435 dnl     $cf_cv_library_path_$3 - library-directory if needed
1436 dnl     $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
1437 AC_DEFUN([CF_FIND_LINKAGE],[
1438
1439 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
1440 # will be set on completion of the AC_TRY_LINK below.
1441 cf_cv_header_path_$3=
1442 cf_cv_library_path_$3=
1443
1444 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
1445
1446 cf_save_LIBS="$LIBS"
1447
1448 AC_TRY_LINK([$1],[$2],[
1449         cf_cv_find_linkage_$3=yes
1450         cf_cv_header_path_$3=/usr/include
1451         cf_cv_library_path_$3=/usr/lib
1452 ],[
1453
1454 LIBS="-l$3 $7 $cf_save_LIBS"
1455
1456 AC_TRY_LINK([$1],[$2],[
1457         cf_cv_find_linkage_$3=yes
1458         cf_cv_header_path_$3=/usr/include
1459         cf_cv_library_path_$3=/usr/lib
1460         cf_cv_library_file_$3="-l$3"
1461 ],[
1462         cf_cv_find_linkage_$3=no
1463         LIBS="$cf_save_LIBS"
1464
1465     CF_VERBOSE(find linkage for $3 library)
1466     CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
1467
1468     cf_save_CPPFLAGS="$CPPFLAGS"
1469     cf_test_CPPFLAGS="$CPPFLAGS"
1470
1471     CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
1472     for cf_cv_header_path_$3 in $cf_search
1473     do
1474       if test -d $cf_cv_header_path_$3 ; then
1475         CF_VERBOSE(... testing $cf_cv_header_path_$3)
1476         CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
1477         AC_TRY_COMPILE([$1],[$2],[
1478             CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
1479             cf_cv_find_linkage_$3=maybe
1480             cf_test_CPPFLAGS="$CPPFLAGS"
1481             break],[
1482             CPPFLAGS="$cf_save_CPPFLAGS"
1483             ])
1484       fi
1485     done
1486
1487     if test "$cf_cv_find_linkage_$3" = maybe ; then
1488
1489       CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
1490
1491       cf_save_LIBS="$LIBS"
1492       cf_save_LDFLAGS="$LDFLAGS"
1493
1494       ifelse([$6],,,[
1495         CPPFLAGS="$cf_test_CPPFLAGS"
1496         LIBS="-l$3 $7 $cf_save_LIBS"
1497         AC_TRY_LINK([$1],[$2],[
1498             CF_VERBOSE(... found $3 library in system)
1499             cf_cv_find_linkage_$3=yes])
1500             CPPFLAGS="$cf_save_CPPFLAGS"
1501             LIBS="$cf_save_LIBS"
1502             ])
1503
1504       if test "$cf_cv_find_linkage_$3" != yes ; then
1505         CF_LIBRARY_PATH(cf_search,$3)
1506         for cf_cv_library_path_$3 in $cf_search
1507         do
1508           if test -d $cf_cv_library_path_$3 ; then
1509             CF_VERBOSE(... testing $cf_cv_library_path_$3)
1510             CPPFLAGS="$cf_test_CPPFLAGS"
1511             LIBS="-l$3 $7 $cf_save_LIBS"
1512             LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
1513             AC_TRY_LINK([$1],[$2],[
1514                 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
1515                 cf_cv_find_linkage_$3=yes
1516                 cf_cv_library_file_$3="-l$3"
1517                 break],[
1518                 CPPFLAGS="$cf_save_CPPFLAGS"
1519                 LIBS="$cf_save_LIBS"
1520                 LDFLAGS="$cf_save_LDFLAGS"
1521                 ])
1522           fi
1523         done
1524         CPPFLAGS="$cf_save_CPPFLAGS"
1525         LDFLAGS="$cf_save_LDFLAGS"
1526       fi
1527
1528     else
1529       cf_cv_find_linkage_$3=no
1530     fi
1531     ],$7)
1532 ])
1533
1534 LIBS="$cf_save_LIBS"
1535
1536 if test "$cf_cv_find_linkage_$3" = yes ; then
1537 ifelse([$4],,[
1538         CF_ADD_INCDIR($cf_cv_header_path_$3)
1539         CF_ADD_LIBDIR($cf_cv_library_path_$3)
1540         CF_ADD_LIB($3)
1541 ],[$4])
1542 else
1543 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
1544 fi
1545 ])dnl
1546 dnl ---------------------------------------------------------------------------
1547 dnl CF_FIND_SUB_INCDIR version: 1 updated: 2014/04/12 16:47:01
1548 dnl ------------------
1549 dnl Find an include-directory with the given leaf-name.  This is useful for
1550 dnl example with FreeBSD ports, which use this convention to distinguish
1551 dnl different versions of the same port.
1552 AC_DEFUN([CF_FIND_SUB_INCDIR],[
1553         CF_SUBDIR_PATH(cf_search,$1,include)
1554         for cf_item in $cf_search
1555         do
1556                 case $cf_item in #(vi
1557                 */$1)
1558                         CF_ADD_INCDIR($cf_item)
1559                         ;;
1560                 esac
1561         done
1562 ])dnl
1563 dnl ---------------------------------------------------------------------------
1564 dnl CF_FIND_SUB_LIBDIR version: 1 updated: 2014/04/12 16:47:01
1565 dnl ------------------
1566 dnl Find a library-directory with the given leaf-name.  This is useful for
1567 dnl example with FreeBSD ports, which use this convention to distinguish
1568 dnl different versions of the same port.
1569 AC_DEFUN([CF_FIND_SUB_LIBDIR],[
1570         CF_SUBDIR_PATH(cf_search,$1,lib)
1571         for cf_item in $cf_search
1572         do
1573                 case $cf_item in #(vi
1574                 */$1)
1575                         CF_ADD_LIBDIR($cf_item)
1576                         ;;
1577                 esac
1578         done
1579 ])dnl
1580 dnl ---------------------------------------------------------------------------
1581 dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
1582 dnl -----------------
1583 dnl make ADAFLAGS consistent with CFLAGS
1584 AC_DEFUN([CF_FIXUP_ADAFLAGS],[
1585         AC_MSG_CHECKING(optimization options for ADAFLAGS)
1586         case "$CFLAGS" in
1587         *-g*)
1588                 CF_ADD_ADAFLAGS(-g)
1589                 ;;
1590         esac
1591         case "$CFLAGS" in
1592         *-O*)
1593                 cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[        ]].*//'`
1594                 CF_ADD_ADAFLAGS($cf_O_flag)
1595                 ;;
1596         esac
1597         AC_MSG_RESULT($ADAFLAGS)
1598 ])dnl
1599 dnl ---------------------------------------------------------------------------
1600 dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09
1601 dnl --------------
1602 dnl Forget that we saw the given tool.
1603 AC_DEFUN([CF_FORGET_TOOL],[
1604 unset ac_cv_prog_ac_ct_$1
1605 unset ac_ct_$1
1606 unset $1
1607 ])dnl
1608 dnl ---------------------------------------------------------------------------
1609 dnl CF_FUNC_DLSYM version: 3 updated: 2012/10/06 11:17:15
1610 dnl -------------
1611 dnl Test for dlsym() and related functions, as well as libdl.
1612 dnl
1613 dnl Sets
1614 dnl     $cf_have_dlsym
1615 dnl     $cf_have_libdl
1616 AC_DEFUN([CF_FUNC_DLSYM],[
1617 cf_have_dlsym=no
1618 AC_CHECK_FUNC(dlsym,cf_have_dlsym=yes,[
1619
1620 cf_have_libdl=no
1621 AC_CHECK_LIB(dl,dlsym,[
1622         cf_have_dlsym=yes
1623         cf_have_libdl=yes])])
1624
1625 if test "$cf_have_dlsym" = yes ; then
1626         test "$cf_have_libdl" = yes && CF_ADD_LIB(dl)
1627
1628         AC_MSG_CHECKING(whether able to link to dl*() functions)
1629         AC_TRY_LINK([#include <dlfcn.h>],[
1630                 void *obj;
1631                 if ((obj = dlopen("filename", 0)) != 0) {
1632                         if (dlsym(obj, "symbolname") == 0) {
1633                         dlclose(obj);
1634                         }
1635                 }],[
1636                 AC_DEFINE(HAVE_LIBDL,1,[Define to 1 if we have dl library])],[
1637                 AC_MSG_ERROR(Cannot link test program for libdl)])
1638         AC_MSG_RESULT(ok)
1639 else
1640         AC_MSG_ERROR(Cannot find dlsym function)
1641 fi
1642 ])
1643 dnl ---------------------------------------------------------------------------
1644 dnl CF_FUNC_MEMMOVE version: 8 updated: 2012/10/04 20:12:20
1645 dnl ---------------
1646 dnl Check for memmove, or a bcopy that can handle overlapping copy.  If neither
1647 dnl is found, add our own version of memmove to the list of objects.
1648 AC_DEFUN([CF_FUNC_MEMMOVE],
1649 [
1650 AC_CHECK_FUNC(memmove,,[
1651 AC_CHECK_FUNC(bcopy,[
1652         AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
1653                 AC_TRY_RUN([
1654 int main() {
1655         static char data[] = "abcdefghijklmnopqrstuwwxyz";
1656         char temp[40];
1657         bcopy(data, temp, sizeof(data));
1658         bcopy(temp+10, temp, 15);
1659         bcopy(temp+5, temp+15, 10);
1660         ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
1661 }
1662                 ],
1663                 [cf_cv_good_bcopy=yes],
1664                 [cf_cv_good_bcopy=no],
1665                 [cf_cv_good_bcopy=unknown])
1666                 ])
1667         ],[cf_cv_good_bcopy=no])
1668         if test "$cf_cv_good_bcopy" = yes ; then
1669                 AC_DEFINE(USE_OK_BCOPY,1,[Define to 1 to use bcopy when memmove is unavailable])
1670         else
1671                 AC_DEFINE(USE_MY_MEMMOVE,1,[Define to 1 to use replacement function when memmove is unavailable])
1672         fi
1673 ])])dnl
1674 dnl ---------------------------------------------------------------------------
1675 dnl CF_FUNC_NANOSLEEP version: 4 updated: 2012/10/06 17:56:13
1676 dnl -----------------
1677 dnl Check for existence of workable nanosleep() function.  Some systems, e.g.,
1678 dnl AIX 4.x, provide a non-working version.
1679 AC_DEFUN([CF_FUNC_NANOSLEEP],[
1680 AC_CACHE_CHECK(if nanosleep really works,cf_cv_func_nanosleep,[
1681 AC_TRY_RUN([
1682 #include <stdio.h>
1683 #include <errno.h>
1684 #include <time.h>
1685
1686 #ifdef HAVE_SYS_TIME_H
1687 #include <sys/time.h>
1688 #endif
1689
1690 int main() {
1691         struct timespec ts1, ts2;
1692         int code;
1693         ts1.tv_sec  = 0;
1694         ts1.tv_nsec = 750000000;
1695         ts2.tv_sec  = 0;
1696         ts2.tv_nsec = 0;
1697         errno = 0;
1698         code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
1699         ${cf_cv_main_return:-return}(code != 0);
1700 }
1701 ],
1702         [cf_cv_func_nanosleep=yes],
1703         [cf_cv_func_nanosleep=no],
1704         [cf_cv_func_nanosleep=unknown])])
1705
1706 test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP,1,[Define to 1 if we have nanosleep()])
1707 ])
1708 dnl ---------------------------------------------------------------------------
1709 dnl CF_FUNC_OPENPTY version: 3 updated: 2010/05/29 16:31:02
1710 dnl ---------------
1711 dnl Check for openpty() function, along with <pty.h> header.  It may need the
1712 dnl "util" library as well.
1713 AC_DEFUN([CF_FUNC_OPENPTY],
1714 [
1715 AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
1716 AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
1717     cf_save_LIBS="$LIBS"
1718     test $cf_cv_lib_util = yes && CF_ADD_LIB(util)
1719     for cf_header in pty.h libutil.h util.h
1720     do
1721     AC_TRY_LINK([
1722 #include <$cf_header>
1723 ],[
1724     int x = openpty((int *)0, (int *)0, (char *)0,
1725                    (struct termios *)0, (struct winsize *)0);
1726 ],[
1727         cf_cv_func_openpty=$cf_header
1728         break
1729 ],[
1730         cf_cv_func_openpty=no
1731 ])
1732     done
1733     LIBS="$cf_save_LIBS"
1734 ])
1735 ])dnl
1736 dnl ---------------------------------------------------------------------------
1737 dnl CF_FUNC_POLL version: 8 updated: 2012/10/04 05:24:07
1738 dnl ------------
1739 dnl See if the poll function really works.  Some platforms have poll(), but
1740 dnl it does not work for terminals or files.
1741 AC_DEFUN([CF_FUNC_POLL],[
1742 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
1743 AC_TRY_RUN([
1744 #include <stdlib.h>
1745 #include <stdio.h>
1746 #include <unistd.h>
1747 #include <fcntl.h>
1748 #ifdef HAVE_POLL_H
1749 #include <poll.h>
1750 #else
1751 #include <sys/poll.h>
1752 #endif
1753 int main() {
1754         struct pollfd myfds;
1755         int ret;
1756
1757         /* check for Darwin bug with respect to "devices" */
1758         myfds.fd = open("/dev/null", 1);        /* O_WRONLY */
1759         if (myfds.fd < 0)
1760                 myfds.fd = 0;
1761         myfds.events = POLLIN;
1762         myfds.revents = 0;
1763
1764         ret = poll(&myfds, 1, 100);
1765
1766         if (ret < 0 || (myfds.revents & POLLNVAL)) {
1767                 ret = -1;
1768         } else {
1769                 int fd = 0;
1770                 if (!isatty(fd)) {
1771                         fd = open("/dev/tty", 2);       /* O_RDWR */
1772                 }
1773
1774                 if (fd >= 0) {
1775                         /* also check with standard input */
1776                         myfds.fd = fd;
1777                         myfds.events = POLLIN;
1778                         myfds.revents = 0;
1779                         ret = poll(&myfds, 1, 100);
1780                 } else {
1781                         ret = -1;
1782                 }
1783         }
1784         ${cf_cv_main_return:-return}(ret < 0);
1785 }],
1786         [cf_cv_working_poll=yes],
1787         [cf_cv_working_poll=no],
1788         [cf_cv_working_poll=unknown])])
1789 test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL,1,[Define to 1 if the poll function seems to work])
1790 ])dnl
1791 dnl ---------------------------------------------------------------------------
1792 dnl CF_FUNC_TERMIOS version: 3 updated: 2012/10/06 17:56:13
1793 dnl ---------------
1794 dnl Some old/broken variations define tcgetattr() only as a macro in
1795 dnl termio(s).h
1796 AC_DEFUN([CF_FUNC_TERMIOS],[
1797 AC_REQUIRE([CF_STRUCT_TERMIOS])
1798 AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
1799 AC_TRY_LINK([
1800 #include <sys/types.h>
1801 #ifdef HAVE_UNISTD_H
1802 #include <unistd.h>
1803 #endif
1804 #ifdef HAVE_TERMIOS_H
1805 #include <termios.h>
1806 #define TTY struct termios
1807 #else
1808 #ifdef HAVE_TERMIO_H
1809 #include <termio.h>
1810 #define TTY struct termio
1811 #endif
1812 #endif
1813 ],[
1814 TTY foo;
1815 tcgetattr(1, &foo);],
1816 [cf_cv_have_tcgetattr=yes],
1817 [cf_cv_have_tcgetattr=no])])
1818 test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR,1,[Define to 1 if we have tcgetattr])
1819 ])dnl
1820 dnl ---------------------------------------------------------------------------
1821 dnl CF_FUNC_VSSCANF version: 4 updated: 2012/10/06 17:56:13
1822 dnl ---------------
1823 dnl Check for vsscanf() function, which is in c9x but generally not in earlier
1824 dnl versions of C.  It is in the GNU C library, and can often be simulated by
1825 dnl other functions.
1826 AC_DEFUN([CF_FUNC_VSSCANF],
1827 [
1828 AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
1829 AC_TRY_LINK([
1830 #include <stdarg.h>
1831 #include <stdio.h>],[
1832         va_list ap;
1833         vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
1834 AC_TRY_LINK([
1835 #include <stdarg.h>
1836 #include <stdio.h>],[
1837     FILE strbuf;
1838     char *str = "from";
1839
1840     strbuf._flag = _IOREAD;
1841     strbuf._ptr = strbuf._base = (unsigned char *) str;
1842     strbuf._cnt = strlen(str);
1843     strbuf._file = _NFILE;
1844     return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
1845 AC_TRY_LINK([
1846 #include <stdarg.h>
1847 #include <stdio.h>],[
1848     FILE strbuf;
1849     char *str = "from";
1850
1851     strbuf._flag = _IOREAD;
1852     strbuf._ptr = strbuf._base = (unsigned char *) str;
1853     strbuf._cnt = strlen(str);
1854     strbuf._file = _NFILE;
1855     return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
1856 cf_cv_func_vsscanf=no])])])])
1857
1858 case $cf_cv_func_vsscanf in #(vi
1859 vsscanf) AC_DEFINE(HAVE_VSSCANF,1,[Define to 1 if we have vsscanf]);; #(vi
1860 vfscanf) AC_DEFINE(HAVE_VFSCANF,1,[Define to 1 if we have vfscanf]);; #(vi
1861 _doscan) AC_DEFINE(HAVE__DOSCAN,1,[Define to 1 if we have _doscan]);;
1862 esac
1863
1864 ])dnl
1865 dnl ---------------------------------------------------------------------------
1866 dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
1867 dnl -----------------
1868 dnl Test for availability of useful gcc __attribute__ directives to quiet
1869 dnl compiler warnings.  Though useful, not all are supported -- and contrary
1870 dnl to documentation, unrecognized directives cause older compilers to barf.
1871 AC_DEFUN([CF_GCC_ATTRIBUTES],
1872 [
1873 if test "$GCC" = yes
1874 then
1875 cat > conftest.i <<EOF
1876 #ifndef GCC_PRINTF
1877 #define GCC_PRINTF 0
1878 #endif
1879 #ifndef GCC_SCANF
1880 #define GCC_SCANF 0
1881 #endif
1882 #ifndef GCC_NORETURN
1883 #define GCC_NORETURN /* nothing */
1884 #endif
1885 #ifndef GCC_UNUSED
1886 #define GCC_UNUSED /* nothing */
1887 #endif
1888 EOF
1889 if test "$GCC" = yes
1890 then
1891         AC_CHECKING([for $CC __attribute__ directives])
1892 cat > conftest.$ac_ext <<EOF
1893 #line __oline__ "${as_me:-configure}"
1894 #include "confdefs.h"
1895 #include "conftest.h"
1896 #include "conftest.i"
1897 #if     GCC_PRINTF
1898 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
1899 #else
1900 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
1901 #endif
1902 #if     GCC_SCANF
1903 #define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
1904 #else
1905 #define GCC_SCANFLIKE(fmt,var)  /*nothing*/
1906 #endif
1907 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1908 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1909 extern void foo(void) GCC_NORETURN;
1910 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1911 EOF
1912         cf_printf_attribute=no
1913         cf_scanf_attribute=no
1914         for cf_attribute in scanf printf unused noreturn
1915         do
1916                 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1917                 cf_directive="__attribute__(($cf_attribute))"
1918                 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1919
1920                 case $cf_attribute in #(vi
1921                 printf) #(vi
1922                         cf_printf_attribute=yes
1923                         cat >conftest.h <<EOF
1924 #define GCC_$cf_ATTRIBUTE 1
1925 EOF
1926                         ;;
1927                 scanf) #(vi
1928                         cf_scanf_attribute=yes
1929                         cat >conftest.h <<EOF
1930 #define GCC_$cf_ATTRIBUTE 1
1931 EOF
1932                         ;;
1933                 *) #(vi
1934                         cat >conftest.h <<EOF
1935 #define GCC_$cf_ATTRIBUTE $cf_directive
1936 EOF
1937                         ;;
1938                 esac
1939
1940                 if AC_TRY_EVAL(ac_compile); then
1941                         test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1942                         cat conftest.h >>confdefs.h
1943                         case $cf_attribute in #(vi
1944                         noreturn) #(vi
1945                                 AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
1946                                 ;;
1947                         printf) #(vi
1948                                 cf_value='/* nothing */'
1949                                 if test "$cf_printf_attribute" != no ; then
1950                                         cf_value='__attribute__((format(printf,fmt,var)))'
1951                                         AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
1952                                 fi
1953                                 AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
1954                                 ;;
1955                         scanf) #(vi
1956                                 cf_value='/* nothing */'
1957                                 if test "$cf_scanf_attribute" != no ; then
1958                                         cf_value='__attribute__((format(scanf,fmt,var)))'
1959                                         AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
1960                                 fi
1961                                 AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
1962                                 ;;
1963                         unused) #(vi
1964                                 AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
1965                                 ;;
1966                         esac
1967                 fi
1968         done
1969 else
1970         fgrep define conftest.i >>confdefs.h
1971 fi
1972 rm -rf conftest*
1973 fi
1974 ])dnl
1975 dnl ---------------------------------------------------------------------------
1976 dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
1977 dnl --------------
1978 dnl Find version of gcc
1979 AC_DEFUN([CF_GCC_VERSION],[
1980 AC_REQUIRE([AC_PROG_CC])
1981 GCC_VERSION=none
1982 if test "$GCC" = yes ; then
1983         AC_MSG_CHECKING(version of $CC)
1984         GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
1985         test -z "$GCC_VERSION" && GCC_VERSION=unknown
1986         AC_MSG_RESULT($GCC_VERSION)
1987 fi
1988 ])dnl
1989 dnl ---------------------------------------------------------------------------
1990 dnl CF_GCC_WARNINGS version: 31 updated: 2013/11/19 19:23:35
1991 dnl ---------------
1992 dnl Check if the compiler supports useful warning options.  There's a few that
1993 dnl we don't use, simply because they're too noisy:
1994 dnl
1995 dnl     -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1996 dnl     -Wredundant-decls (system headers make this too noisy)
1997 dnl     -Wtraditional (combines too many unrelated messages, only a few useful)
1998 dnl     -Wwrite-strings (too noisy, but should review occasionally).  This
1999 dnl             is enabled for ncurses using "--enable-const".
2000 dnl     -pedantic
2001 dnl
2002 dnl Parameter:
2003 dnl     $1 is an optional list of gcc warning flags that a particular
2004 dnl             application might want to use, e.g., "no-unused" for
2005 dnl             -Wno-unused
2006 dnl Special:
2007 dnl     If $with_ext_const is "yes", add a check for -Wwrite-strings
2008 dnl
2009 AC_DEFUN([CF_GCC_WARNINGS],
2010 [
2011 AC_REQUIRE([CF_GCC_VERSION])
2012 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
2013 CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
2014
2015 cat > conftest.$ac_ext <<EOF
2016 #line __oline__ "${as_me:-configure}"
2017 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2018 EOF
2019
2020 if test "$INTEL_COMPILER" = yes
2021 then
2022 # The "-wdXXX" options suppress warnings:
2023 # remark #1419: external declaration in primary source file
2024 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2025 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2026 # remark #193: zero used for undefined preprocessing identifier
2027 # remark #593: variable "curs_sb_left_arrow" was set but never used
2028 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2029 # remark #869: parameter "tw" was never referenced
2030 # remark #981: operands are evaluated in unspecified order
2031 # warning #279: controlling expression is constant
2032
2033         AC_CHECKING([for $CC warning options])
2034         cf_save_CFLAGS="$CFLAGS"
2035         EXTRA_CFLAGS="-Wall"
2036         for cf_opt in \
2037                 wd1419 \
2038                 wd1683 \
2039                 wd1684 \
2040                 wd193 \
2041                 wd593 \
2042                 wd279 \
2043                 wd810 \
2044                 wd869 \
2045                 wd981
2046         do
2047                 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2048                 if AC_TRY_EVAL(ac_compile); then
2049                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2050                         EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2051                 fi
2052         done
2053         CFLAGS="$cf_save_CFLAGS"
2054
2055 elif test "$GCC" = yes
2056 then
2057         AC_CHECKING([for $CC warning options])
2058         cf_save_CFLAGS="$CFLAGS"
2059         EXTRA_CFLAGS=
2060         cf_warn_CONST=""
2061         test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
2062         cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs"
2063         test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings=
2064         for cf_opt in W Wall \
2065                 Wbad-function-cast \
2066                 Wcast-align \
2067                 Wcast-qual \
2068                 Wdeclaration-after-statement \
2069                 Wextra \
2070                 Winline \
2071                 Wmissing-declarations \
2072                 Wmissing-prototypes \
2073                 Wnested-externs \
2074                 Wpointer-arith \
2075                 Wshadow \
2076                 Wstrict-prototypes \
2077                 Wundef $cf_gcc_warnings $cf_warn_CONST $1
2078         do
2079                 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
2080                 if AC_TRY_EVAL(ac_compile); then
2081                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2082                         case $cf_opt in #(vi
2083                         Wcast-qual) #(vi
2084                                 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
2085                                 ;;
2086                         Winline) #(vi
2087                                 case $GCC_VERSION in
2088                                 [[34]].*)
2089                                         CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2090                                         continue;;
2091                                 esac
2092                                 ;;
2093                         Wpointer-arith) #(vi
2094                                 case $GCC_VERSION in
2095                                 [[12]].*)
2096                                         CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
2097                                         continue;;
2098                                 esac
2099                                 ;;
2100                         esac
2101                         EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
2102                 fi
2103         done
2104         CFLAGS="$cf_save_CFLAGS"
2105 fi
2106 rm -rf conftest*
2107
2108 AC_SUBST(EXTRA_CFLAGS)
2109 ])dnl
2110 dnl ---------------------------------------------------------------------------
2111 dnl CF_GETOPT_HEADER version: 5 updated: 2012/10/06 16:39:58
2112 dnl ----------------
2113 dnl Check for getopt's variables which are commonly defined in stdlib.h,
2114 dnl unistd.h or (nonstandard) in getopt.h
2115 AC_DEFUN([CF_GETOPT_HEADER],
2116 [
2117 AC_HAVE_HEADERS(unistd.h getopt.h)
2118 AC_CACHE_CHECK(for header declaring getopt variables,cf_cv_getopt_header,[
2119 cf_cv_getopt_header=none
2120 for cf_header in stdio.h stdlib.h unistd.h getopt.h
2121 do
2122 AC_TRY_COMPILE([
2123 #include <$cf_header>],
2124 [int x = optind; char *y = optarg],
2125 [cf_cv_getopt_header=$cf_header
2126  break])
2127 done
2128 ])
2129 if test $cf_cv_getopt_header != none ; then
2130         AC_DEFINE(HAVE_GETOPT_HEADER,1,[Define to 1 if we need to include getopt.h])
2131 fi
2132 ])dnl
2133 dnl ---------------------------------------------------------------------------
2134 dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
2135 dnl ----------------
2136 AC_DEFUN([CF_GNAT_GENERICS],
2137 [
2138 AC_REQUIRE([CF_GNAT_VERSION])
2139
2140 AC_MSG_CHECKING(if GNAT supports generics)
2141 case $cf_gnat_version in #(vi
2142 3.[[1-9]]*|[[4-9]].*) #(vi
2143         cf_gnat_generics=yes
2144         ;;
2145 *)
2146         cf_gnat_generics=no
2147         ;;
2148 esac
2149 AC_MSG_RESULT($cf_gnat_generics)
2150
2151 if test "$cf_gnat_generics" = yes
2152 then
2153         cf_compile_generics=generics
2154         cf_generic_objects="\${GENOBJS}"
2155 else
2156         cf_compile_generics=
2157         cf_generic_objects=
2158 fi
2159
2160 AC_SUBST(cf_compile_generics)
2161 AC_SUBST(cf_generic_objects)
2162 ])dnl
2163 dnl ---------------------------------------------------------------------------
2164 dnl CF_GNAT_PROJECTS version: 7 updated: 2014/06/01 10:46:34
2165 dnl ----------------
2166 dnl GNAT projects are configured with ".gpr" project files.
2167 dnl GNAT libraries are a further development, using the project feature.
2168 AC_DEFUN([CF_GNAT_PROJECTS],
2169 [
2170 AC_REQUIRE([CF_GNAT_VERSION])
2171 AC_REQUIRE([CF_DISABLE_GNAT_PROJECTS])
2172
2173 cf_gnat_libraries=no
2174 cf_gnat_projects=no
2175
2176 if test "$enable_gnat_projects" != no ; then
2177 AC_MSG_CHECKING(if GNAT supports project files)
2178 case $cf_gnat_version in #(vi
2179 3.[[0-9]]*) #(vi
2180         ;;
2181 *)
2182         case $cf_cv_system_name in #(vi
2183         cygwin*|msys*) #(vi
2184                 ;;
2185         *)
2186                 mkdir conftest.src conftest.bin conftest.lib
2187                 cd conftest.src
2188                 rm -rf conftest* *~conftest*
2189                 cat >>library.gpr <<CF_EOF
2190 project Library is
2191   Kind := External ("LIB_KIND");
2192   for Library_Name use "ConfTest";
2193   for Object_Dir use ".";
2194   for Library_ALI_Dir use External("LIBRARY_DIR");
2195   for Library_Version use External ("SONAME");
2196   for Library_Kind use Kind;
2197   for Library_Dir use External("BUILD_DIR");
2198   Source_Dir := External ("SOURCE_DIR");
2199   for Source_Dirs use (Source_Dir);
2200 end Library;
2201 CF_EOF
2202                 cat >>confpackage.ads <<CF_EOF
2203 package ConfPackage is
2204    procedure conftest;
2205 end ConfPackage;
2206 CF_EOF
2207                 cat >>confpackage.adb <<CF_EOF
2208 with Text_IO;
2209 package body ConfPackage is
2210    procedure conftest is
2211    begin
2212       Text_IO.Put ("Hello World");
2213       Text_IO.New_Line;
2214    end conftest;
2215 end ConfPackage;
2216 CF_EOF
2217                 if ( $cf_ada_make $ADAFLAGS \
2218                                 -Plibrary.gpr \
2219                                 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
2220                                 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
2221                                 -XSOURCE_DIR=`pwd` \
2222                                 -XSONAME=libConfTest.so.1 \
2223                                 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
2224                         cf_gnat_projects=yes
2225                 fi
2226                 cd ..
2227                 if test -f conftest.lib/confpackage.ali
2228                 then
2229                         cf_gnat_libraries=yes
2230                 fi
2231                 rm -rf conftest* *~conftest*
2232                 ;;
2233         esac
2234         ;;
2235 esac
2236 AC_MSG_RESULT($cf_gnat_projects)
2237 fi # enable_gnat_projects
2238
2239 if test $cf_gnat_projects = yes
2240 then
2241         AC_MSG_CHECKING(if GNAT supports libraries)
2242         AC_MSG_RESULT($cf_gnat_libraries)
2243 fi
2244
2245 if test "$cf_gnat_projects" = yes
2246 then
2247         USE_OLD_MAKERULES="#"
2248         USE_GNAT_PROJECTS=""
2249 else
2250         USE_OLD_MAKERULES=""
2251         USE_GNAT_PROJECTS="#"
2252 fi
2253
2254 if test "$cf_gnat_libraries" = yes
2255 then
2256         USE_GNAT_LIBRARIES=""
2257 else
2258         USE_GNAT_LIBRARIES="#"
2259 fi
2260
2261 AC_SUBST(USE_OLD_MAKERULES)
2262 AC_SUBST(USE_GNAT_PROJECTS)
2263 AC_SUBST(USE_GNAT_LIBRARIES)
2264 ])dnl
2265 dnl ---------------------------------------------------------------------------
2266 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
2267 dnl --------------
2268 dnl Check if gnat supports SIGINT, and presumably tasking.  For the latter, it
2269 dnl is noted that gnat may compile a tasking unit even for configurations which
2270 dnl fail at runtime.
2271 AC_DEFUN([CF_GNAT_SIGINT],[
2272 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
2273 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
2274
2275 package ConfTest is
2276
2277    pragma Warnings (Off);  --  the next pragma exists since 3.11p
2278    pragma Unreserve_All_Interrupts;
2279    pragma Warnings (On);
2280
2281    protected Process is
2282       procedure Stop;
2283       function Continue return Boolean;
2284       pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
2285    private
2286       Done : Boolean := False;
2287    end Process;
2288
2289 end ConfTest;],
2290 [package body ConfTest is
2291    protected body Process is
2292       procedure Stop is
2293       begin
2294          Done := True;
2295       end Stop;
2296       function Continue return Boolean is
2297       begin
2298          return not Done;
2299       end Continue;
2300    end Process;
2301 end ConfTest;],
2302         [cf_cv_gnat_sigint=yes],
2303         [cf_cv_gnat_sigint=no])])
2304
2305 if test $cf_cv_gnat_sigint = yes ; then
2306         USE_GNAT_SIGINT=""
2307 else
2308         USE_GNAT_SIGINT="#"
2309 fi
2310 AC_SUBST(USE_GNAT_SIGINT)
2311 ])dnl
2312 dnl ---------------------------------------------------------------------------
2313 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
2314 dnl ----------------
2315 dnl Verify that a test program compiles/links with GNAT.
2316 dnl $cf_ada_make is set to the program that compiles/links
2317 dnl $ADAFLAGS may be set to the GNAT flags.
2318 dnl
2319 dnl $1 is the text of the spec
2320 dnl $2 is the text of the body
2321 dnl $3 is the shell command to execute if successful
2322 dnl $4 is the shell command to execute if not successful
2323 AC_DEFUN([CF_GNAT_TRY_LINK],
2324 [
2325 rm -rf conftest* *~conftest*
2326 cat >>conftest.ads <<CF_EOF
2327 $1
2328 CF_EOF
2329 cat >>conftest.adb <<CF_EOF
2330 $2
2331 CF_EOF
2332 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2333 ifelse($3,,      :,[      $3])
2334 ifelse($4,,,[else
2335    $4])
2336 fi
2337 rm -rf conftest* *~conftest*
2338 ])dnl
2339 dnl ---------------------------------------------------------------------------
2340 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
2341 dnl ---------------
2342 dnl Verify that a test program compiles and runs with GNAT
2343 dnl $cf_ada_make is set to the program that compiles/links
2344 dnl $ADAFLAGS may be set to the GNAT flags.
2345 dnl
2346 dnl $1 is the text of the spec
2347 dnl $2 is the text of the body
2348 dnl $3 is the shell command to execute if successful
2349 dnl $4 is the shell command to execute if not successful
2350 AC_DEFUN([CF_GNAT_TRY_RUN],
2351 [
2352 rm -rf conftest* *~conftest*
2353 cat >>conftest.ads <<CF_EOF
2354 $1
2355 CF_EOF
2356 cat >>conftest.adb <<CF_EOF
2357 $2
2358 CF_EOF
2359 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
2360    if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
2361 ifelse($3,,      :,[      $3])
2362 ifelse($4,,,[   else
2363       $4])
2364    fi
2365 ifelse($4,,,[else
2366    $4])
2367 fi
2368 rm -rf conftest* *~conftest*
2369 ])dnl
2370 dnl ---------------------------------------------------------------------------
2371 dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
2372 dnl ---------------
2373 dnl Verify version of GNAT.
2374 AC_DEFUN([CF_GNAT_VERSION],
2375 [
2376 AC_MSG_CHECKING(for gnat version)
2377 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
2378         grep '[[0-9]].[[0-9]][[0-9]]*' |\
2379     sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
2380 AC_MSG_RESULT($cf_gnat_version)
2381
2382 case $cf_gnat_version in #(vi
2383 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
2384         cf_cv_prog_gnat_correct=yes
2385         ;;
2386 *)
2387         AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
2388         cf_cv_prog_gnat_correct=no
2389         ;;
2390 esac
2391 ])
2392 dnl ---------------------------------------------------------------------------
2393 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
2394 dnl -------------
2395 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
2396 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend.  This is a defect
2397 dnl (or misfeature) of glibc2, which breaks portability of many applications,
2398 dnl since it is interwoven with GNU extensions.
2399 dnl
2400 dnl Well, yes we could work around it...
2401 AC_DEFUN([CF_GNU_SOURCE],
2402 [
2403 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
2404 AC_TRY_COMPILE([#include <sys/types.h>],[
2405 #ifndef _XOPEN_SOURCE
2406 make an error
2407 #endif],
2408         [cf_cv_gnu_source=no],
2409         [cf_save="$CPPFLAGS"
2410          CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2411          AC_TRY_COMPILE([#include <sys/types.h>],[
2412 #ifdef _XOPEN_SOURCE
2413 make an error
2414 #endif],
2415         [cf_cv_gnu_source=no],
2416         [cf_cv_gnu_source=yes])
2417         CPPFLAGS="$cf_save"
2418         ])
2419 ])
2420 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
2421 ])dnl
2422 dnl ---------------------------------------------------------------------------
2423 dnl CF_GPP_LIBRARY version: 11 updated: 2012/10/06 17:56:13
2424 dnl --------------
2425 dnl If we're trying to use g++, test if libg++ is installed (a rather common
2426 dnl problem :-).  If we have the compiler but no library, we'll be able to
2427 dnl configure, but won't be able to build the c++ demo program.
2428 AC_DEFUN([CF_GPP_LIBRARY],
2429 [
2430 cf_cxx_library=unknown
2431 case $cf_cv_system_name in #(vi
2432 os2*) #(vi
2433         cf_gpp_libname=gpp
2434         ;;
2435 *)
2436         cf_gpp_libname=g++
2437         ;;
2438 esac
2439 if test "$GXX" = yes; then
2440         AC_MSG_CHECKING([for lib$cf_gpp_libname])
2441         cf_save="$LIBS"
2442         CF_ADD_LIB($cf_gpp_libname)
2443         AC_TRY_LINK([
2444 #include <$cf_gpp_libname/builtin.h>
2445         ],
2446         [two_arg_error_handler_t foo2 = lib_error_handler],
2447         [cf_cxx_library=yes
2448          CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2449          if test "$cf_gpp_libname" = cpp ; then
2450             AC_DEFINE(HAVE_GPP_BUILTIN_H,1,[Define to 1 if we have gpp builtin.h])
2451          else
2452             AC_DEFINE(HAVE_GXX_BUILTIN_H,1,[Define to 1 if we have g++ builtin.h])
2453          fi],
2454         [AC_TRY_LINK([
2455 #include <builtin.h>
2456         ],
2457         [two_arg_error_handler_t foo2 = lib_error_handler],
2458         [cf_cxx_library=yes
2459          CF_ADD_LIB($cf_gpp_libname,CXXLIBS)
2460          AC_DEFINE(HAVE_BUILTIN_H,1,[Define to 1 if we have builtin.h])],
2461         [cf_cxx_library=no])])
2462         LIBS="$cf_save"
2463         AC_MSG_RESULT($cf_cxx_library)
2464 fi
2465 ])dnl
2466 dnl ---------------------------------------------------------------------------
2467 dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39
2468 dnl --------------
2469 dnl Check for version of g++
2470 AC_DEFUN([CF_GXX_VERSION],[
2471 AC_REQUIRE([AC_PROG_CPP])
2472 GXX_VERSION=none
2473 if test "$GXX" = yes; then
2474         AC_MSG_CHECKING(version of ${CXX:-g++})
2475         GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
2476         test -z "$GXX_VERSION" && GXX_VERSION=unknown
2477         AC_MSG_RESULT($GXX_VERSION)
2478 fi
2479 ])dnl
2480 dnl ---------------------------------------------------------------------------
2481 dnl CF_GXX_WARNINGS version: 8 updated: 2013/11/16 14:27:53
2482 dnl ---------------
2483 dnl Check if the compiler supports useful warning options.
2484 dnl
2485 dnl Most of gcc's options apply to g++, except:
2486 dnl     -Wbad-function-cast
2487 dnl     -Wmissing-declarations
2488 dnl     -Wnested-externs
2489 dnl
2490 dnl Omit a few (for now):
2491 dnl     -Winline
2492 dnl
2493 dnl Parameter:
2494 dnl     $1 is an optional list of g++ warning flags that a particular
2495 dnl             application might want to use, e.g., "no-unused" for
2496 dnl             -Wno-unused
2497 dnl Special:
2498 dnl     If $with_ext_const is "yes", add a check for -Wwrite-strings
2499 dnl
2500 AC_DEFUN([CF_GXX_WARNINGS],
2501 [
2502
2503 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
2504 CF_CLANG_COMPILER(GXX,CLANG_CPLUSPLUS,CXXFLAGS)
2505
2506 AC_REQUIRE([CF_GXX_VERSION])
2507
2508 AC_LANG_SAVE
2509 AC_LANG_CPLUSPLUS
2510
2511 cat > conftest.$ac_ext <<EOF
2512 #line __oline__ "configure"
2513 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
2514 EOF
2515
2516 if test "$INTEL_CPLUSPLUS" = yes
2517 then
2518 # The "-wdXXX" options suppress warnings:
2519 # remark #1419: external declaration in primary source file
2520 # remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2521 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
2522 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
2523 # remark #193: zero used for undefined preprocessing identifier
2524 # remark #593: variable "curs_sb_left_arrow" was set but never used
2525 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
2526 # remark #869: parameter "tw" was never referenced
2527 # remark #981: operands are evaluated in unspecified order
2528 # warning #269: invalid format string conversion
2529
2530         AC_CHECKING([for $CC warning options])
2531         cf_save_CXXFLAGS="$CXXFLAGS"
2532         EXTRA_CXXFLAGS="-Wall"
2533         for cf_opt in \
2534                 wd1419 \
2535                 wd1682 \
2536                 wd1683 \
2537                 wd1684 \
2538                 wd193 \
2539                 wd279 \
2540                 wd593 \
2541                 wd810 \
2542                 wd869 \
2543                 wd981
2544         do
2545                 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt"
2546                 if AC_TRY_EVAL(ac_compile); then
2547                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2548                         EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2549                 fi
2550         done
2551         CXXFLAGS="$cf_save_CXXFLAGS"
2552
2553 elif test "$GXX" = yes
2554 then
2555         AC_CHECKING([for $CXX warning options])
2556         cf_save_CXXFLAGS="$CXXFLAGS"
2557         EXTRA_CXXFLAGS="-W -Wall"
2558         cf_gxx_extra_warnings=""
2559         test "$with_ext_const" = yes && cf_gxx_extra_warnings="Wwrite-strings"
2560         case "$GCC_VERSION" in
2561         [[1-2]].*)
2562                 ;;
2563         *)
2564                 cf_gxx_extra_warnings="$cf_gxx_extra_warnings Weffc++"
2565                 ;;
2566         esac
2567         for cf_opt in \
2568                 Wabi \
2569                 fabi-version=0 \
2570                 Wextra \
2571                 Wignored-qualifiers \
2572                 Wlogical-op \
2573                 Woverloaded-virtual \
2574                 Wsign-promo \
2575                 Wsynth \
2576                 Wold-style-cast \
2577                 Wcast-align \
2578                 Wcast-qual \
2579                 Wpointer-arith \
2580                 Wshadow \
2581                 Wundef $cf_gxx_extra_warnings $1
2582         do
2583                 CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt"
2584                 if AC_TRY_EVAL(ac_compile); then
2585                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
2586                         EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt"
2587                 else
2588                         test -n "$verbose" && AC_MSG_RESULT(... no -$cf_opt)
2589                 fi
2590         done
2591         CXXFLAGS="$cf_save_CXXFLAGS"
2592 fi
2593
2594 rm -rf conftest*
2595 AC_LANG_RESTORE
2596 AC_SUBST(EXTRA_CXXFLAGS)
2597 ])dnl
2598 dnl ---------------------------------------------------------------------------
2599 dnl CF_HASHED_DB version: 5 updated: 2014/04/12 16:47:01
2600 dnl ------------
2601 dnl Look for an instance of the Berkeley hashed database.
2602 dnl
2603 dnl $1 = optional parameter, to specify install-prefix for the database.
2604 AC_DEFUN([CF_HASHED_DB],
2605 [
2606 ifelse([$1],,,[
2607 case $1 in #(vi
2608 yes|*able*) #(vi
2609     ;;
2610 *)
2611     if test -d "$1" ; then
2612         CF_ADD_INCDIR($1/include)
2613         CF_ADD_LIBDIR($1/lib)
2614         else
2615                 case "$1" in #(vi
2616                 ./*|../*|/*)
2617                         AC_MSG_WARN(no such directory $1)
2618                         ;; #(vi
2619                 *)
2620                         CF_FIND_SUB_INCDIR($1)
2621                         CF_FIND_SUB_LIBDIR($1)
2622                         ;;
2623                 esac
2624     fi
2625 esac
2626 ])
2627 AC_CHECK_HEADER(db.h,[
2628 CF_HASHED_DB_VERSION
2629 if test "$cf_cv_hashed_db_version" = unknown ; then
2630         AC_MSG_ERROR(Cannot determine version of db)
2631 else
2632         CF_HASHED_DB_LIBS
2633         if test "$cf_cv_hashed_db_libs" = unknown ; then
2634                 AC_MSG_ERROR(Cannot determine library for db)
2635         elif test "$cf_cv_hashed_db_libs" != default ; then
2636                 CF_ADD_LIB($cf_cv_hashed_db_libs)
2637         fi
2638 fi
2639 ],[
2640         AC_MSG_ERROR(Cannot find db.h)
2641 ])
2642 ])dnl
2643 dnl ---------------------------------------------------------------------------
2644 dnl CF_HASHED_DB_LIBS version: 9 updated: 2010/05/29 16:31:02
2645 dnl -----------------
2646 dnl Given that we have the header and version for hashed database, find the
2647 dnl library information.
2648 AC_DEFUN([CF_HASHED_DB_LIBS],
2649 [
2650 AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
2651 cf_cv_hashed_db_libs=unknown
2652 for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
2653 do
2654         cf_save_libs="$LIBS"
2655         if test -n "$cf_db_libs"; then
2656                 CF_ADD_LIB($cf_db_libs)
2657         fi
2658         CF_MSG_LOG(checking for library "$cf_db_libs")
2659         AC_TRY_LINK([
2660 $ac_includes_default
2661 #include <db.h>
2662 ],[
2663         char *path = "/tmp/foo";
2664 #ifdef DB_VERSION_MAJOR
2665 #if DB_VERSION_MAJOR >= 4
2666         DB *result = 0;
2667         db_create(&result, NULL, 0);
2668         result->open(result,
2669                 NULL,
2670                 path,
2671                 path,
2672                 DB_HASH,
2673                 DB_CREATE,
2674                 0644);
2675 #elif DB_VERSION_MAJOR >= 3
2676         DB *result = 0;
2677         db_create(&result, NULL, 0);
2678         result->open(result,
2679                 path,
2680                 path,
2681                 DB_HASH,
2682                 DB_CREATE,
2683                 0644);
2684 #elif DB_VERSION_MAJOR >= 2
2685         DB *result = 0;
2686         db_open(path,
2687                 DB_HASH,
2688                 DB_CREATE,
2689                 0644,
2690                 (DB_ENV *) 0,
2691                 (DB_INFO *) 0,
2692                 &result);
2693 #endif /* DB_VERSION_MAJOR */
2694 #else
2695         DB *result = dbopen(path,
2696                      2,
2697                      0644,
2698                      DB_HASH,
2699                      0);
2700 #endif
2701         ${cf_cv_main_return:-return}(result != 0)
2702 ],[
2703         if test -n "$cf_db_libs" ; then
2704                 cf_cv_hashed_db_libs=$cf_db_libs
2705         else
2706                 cf_cv_hashed_db_libs=default
2707         fi
2708         LIBS="$cf_save_libs"
2709         break
2710 ])
2711         LIBS="$cf_save_libs"
2712 done
2713 ])
2714 ])dnl
2715 dnl ---------------------------------------------------------------------------
2716 dnl CF_HASHED_DB_VERSION version: 4 updated: 2014/04/12 16:47:01
2717 dnl --------------------
2718 dnl Given that we have the header file for hashed database, find the version
2719 dnl information.
2720 AC_DEFUN([CF_HASHED_DB_VERSION],
2721 [
2722 AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
2723 cf_cv_hashed_db_version=unknown
2724
2725 for cf_db_version in 1 2 3 4 5 6
2726 do
2727         CF_MSG_LOG(checking for db version $cf_db_version)
2728         AC_TRY_COMPILE([
2729 $ac_includes_default
2730 #include <db.h>
2731
2732 #ifdef DB_VERSION_MAJOR
2733         /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
2734 #if $cf_db_version == DB_VERSION_MAJOR
2735         /* ok */
2736 #else
2737         make an error
2738 #endif
2739 #else
2740 #if $cf_db_version == 1
2741         /* ok: assuming this is DB 1.8.5 */
2742 #else
2743         make an error
2744 #endif
2745 #endif
2746 ],[DBT *foo = 0],[
2747         cf_cv_hashed_db_version=$cf_db_version
2748         break
2749         ])
2750 done
2751 ])
2752 ])dnl
2753 dnl ---------------------------------------------------------------------------
2754 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
2755 dnl --------------
2756 dnl Construct a search-list of directories for a nonstandard header-file
2757 dnl
2758 dnl Parameters
2759 dnl     $1 = the variable to return as result
2760 dnl     $2 = the package name
2761 AC_DEFUN([CF_HEADER_PATH],
2762 [
2763 $1=
2764
2765 # collect the current set of include-directories from compiler flags
2766 cf_header_path_list=""
2767 if test -n "${CFLAGS}${CPPFLAGS}" ; then
2768         for cf_header_path in $CPPFLAGS $CFLAGS
2769         do
2770                 case $cf_header_path in #(vi
2771                 -I*)
2772                         cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
2773                         CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
2774                         cf_header_path_list="$cf_header_path_list [$]$1"
2775                         ;;
2776                 esac
2777         done
2778 fi
2779
2780 # add the variations for the package we are looking for
2781 CF_SUBDIR_PATH($1,$2,include)
2782
2783 test "$includedir" != NONE && \
2784 test "$includedir" != "/usr/include" && \
2785 test -d "$includedir" && {
2786         test -d $includedir &&    $1="[$]$1 $includedir"
2787         test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
2788 }
2789
2790 test "$oldincludedir" != NONE && \
2791 test "$oldincludedir" != "/usr/include" && \
2792 test -d "$oldincludedir" && {
2793         test -d $oldincludedir    && $1="[$]$1 $oldincludedir"
2794         test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
2795 }
2796
2797 $1="[$]$1 $cf_header_path_list"
2798 ])dnl
2799 dnl ---------------------------------------------------------------------------
2800 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
2801 dnl ---------------
2802 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
2803 AC_DEFUN([CF_HELP_MESSAGE],
2804 [AC_DIVERT_HELP([$1])dnl
2805 ])dnl
2806 dnl ---------------------------------------------------------------------------
2807 dnl CF_INCLUDE_DIRS version: 8 updated: 2013/10/12 16:45:09
2808 dnl ---------------
2809 dnl Construct the list of include-options according to whether we're building
2810 dnl in the source directory or using '--srcdir=DIR' option.  If we're building
2811 dnl with gcc, don't append the includedir if it happens to be /usr/include,
2812 dnl since that usually breaks gcc's shadow-includes.
2813 AC_DEFUN([CF_INCLUDE_DIRS],
2814 [
2815 if test "$GCC" != yes; then
2816         CPPFLAGS="-I\${includedir} $CPPFLAGS"
2817 elif test "$includedir" != "/usr/include"; then
2818         if test "$includedir" = '${prefix}/include' ; then
2819                 if test x$prefix != x/usr ; then
2820                         CPPFLAGS="-I\${includedir} $CPPFLAGS"
2821                 fi
2822         else
2823                 CPPFLAGS="-I\${includedir} $CPPFLAGS"
2824         fi
2825 fi
2826 if test "$srcdir" != "."; then
2827         CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
2828 fi
2829 CPPFLAGS="-I. -I../include $CPPFLAGS"
2830 AC_SUBST(CPPFLAGS)
2831 ])dnl
2832 dnl ---------------------------------------------------------------------------
2833 dnl CF_INTEL_COMPILER version: 6 updated: 2014/03/17 13:13:07
2834 dnl -----------------
2835 dnl Check if the given compiler is really the Intel compiler for Linux.  It
2836 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
2837 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
2838 dnl
2839 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
2840 dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
2841 dnl the wrappers for gcc and g++ warnings.
2842 dnl
2843 dnl $1 = GCC (default) or GXX
2844 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
2845 dnl $3 = CFLAGS (default) or CXXFLAGS
2846 AC_DEFUN([CF_INTEL_COMPILER],[
2847 AC_REQUIRE([AC_CANONICAL_HOST])
2848 ifelse([$2],,INTEL_COMPILER,[$2])=no
2849
2850 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
2851         case $host_os in
2852         linux*|gnu*)
2853                 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
2854                 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
2855                 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
2856                 AC_TRY_COMPILE([],[
2857 #ifdef __INTEL_COMPILER
2858 #else
2859 make an error
2860 #endif
2861 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
2862 cf_save_CFLAGS="$cf_save_CFLAGS -we147"
2863 ],[])
2864                 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
2865                 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
2866                 ;;
2867         esac
2868 fi
2869 ])dnl
2870 dnl ---------------------------------------------------------------------------
2871 dnl CF_ISASCII version: 4 updated: 2012/10/06 17:56:13
2872 dnl ----------
2873 dnl Check if we have either a function or macro for 'isascii()'.
2874 AC_DEFUN([CF_ISASCII],
2875 [
2876 AC_MSG_CHECKING(for isascii)
2877 AC_CACHE_VAL(cf_cv_have_isascii,[
2878         AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
2879         [cf_cv_have_isascii=yes],
2880         [cf_cv_have_isascii=no])
2881 ])dnl
2882 AC_MSG_RESULT($cf_cv_have_isascii)
2883 test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()])
2884 ])dnl
2885 dnl ---------------------------------------------------------------------------
2886 dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51
2887 dnl ------------
2888 dnl Add checks for large file support.
2889 AC_DEFUN([CF_LARGEFILE],[
2890 ifdef([AC_FUNC_FSEEKO],[
2891     AC_SYS_LARGEFILE
2892     if test "$enable_largefile" != no ; then
2893         AC_FUNC_FSEEKO
2894
2895         # Normally we would collect these definitions in the config.h,
2896         # but (like _XOPEN_SOURCE), some environments rely on having these
2897         # defined before any of the system headers are included.  Another
2898         # case comes up with C++, e.g., on AIX the compiler compiles the
2899         # header files by themselves before looking at the body files it is
2900         # told to compile.  For ncurses, those header files do not include
2901         # the config.h
2902         test "$ac_cv_sys_large_files"      != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
2903         test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
2904         test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
2905
2906         AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
2907                 AC_TRY_COMPILE([
2908 #include <sys/types.h>
2909 #include <dirent.h>
2910                 ],[
2911                 /* if transitional largefile support is setup, this is true */
2912                 extern struct dirent64 * readdir(DIR *);
2913                 struct dirent64 *x = readdir((DIR *)0);
2914                 struct dirent *y = readdir((DIR *)0);
2915                 int z = x - y;
2916                 ],
2917                 [cf_cv_struct_dirent64=yes],
2918                 [cf_cv_struct_dirent64=no])
2919         ])
2920         test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
2921     fi
2922 ])
2923 ])
2924 dnl ---------------------------------------------------------------------------
2925 dnl CF_LDFLAGS_STATIC version: 10 updated: 2011/09/24 12:51:48
2926 dnl -----------------
2927 dnl Check for compiler/linker flags used to temporarily force usage of static
2928 dnl libraries.  This depends on the compiler and platform.  Use this to help
2929 dnl ensure that the linker picks up a given library based on its position in
2930 dnl the list of linker options and libraries.
2931 AC_DEFUN([CF_LDFLAGS_STATIC],[
2932
2933 if test "$GCC" = yes ; then
2934         case $cf_cv_system_name in #(
2935         OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*)         #( vi
2936                 LDFLAGS_STATIC=
2937                 LDFLAGS_SHARED=
2938                 ;;
2939     *)  #( normally, except when broken
2940         LDFLAGS_STATIC=-static
2941         LDFLAGS_SHARED=-dynamic
2942         ;;
2943     esac
2944 else
2945         case $cf_cv_system_name in #(
2946         aix[[4-7]]*)    #( from ld manpage
2947                 LDFLAGS_STATIC=-bstatic
2948                 LDFLAGS_SHARED=-bdynamic
2949                 ;;
2950         hpux*)          #( from ld manpage for hpux10.20, hpux11.11
2951                 # We could also use just "archive" and "shared".
2952                 LDFLAGS_STATIC=-Wl,-a,archive_shared
2953                 LDFLAGS_SHARED=-Wl,-a,shared_archive
2954                 ;;
2955         irix*)          #( from ld manpage IRIX64
2956                 LDFLAGS_STATIC=-Bstatic
2957                 LDFLAGS_SHARED=-Bdynamic
2958                 ;;
2959         osf[[45]]*)     #( from ld manpage osf4.0d, osf5.1
2960                 # alternative "-oldstyle_liblookup" (not in cc manpage)
2961                 LDFLAGS_STATIC=-noso
2962                 LDFLAGS_SHARED=-so_archive
2963                 ;;
2964         solaris2*)
2965                 LDFLAGS_STATIC=-Bstatic
2966                 LDFLAGS_SHARED=-Bdynamic
2967                 ;;
2968         esac
2969 fi
2970
2971 if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
2972 then
2973         AC_MSG_CHECKING(if linker supports switching between static/dynamic)
2974
2975         rm -f libconftest.a
2976         cat >conftest.$ac_ext <<EOF
2977 #line __oline__ "configure"
2978 #include <stdio.h>
2979 int cf_ldflags_static(FILE *fp) { return fflush(fp); }
2980 EOF
2981         if AC_TRY_EVAL(ac_compile) ; then
2982                 ( $AR $ARFLAGS libconftest.a conftest.o ) 2>&AC_FD_CC 1>/dev/null
2983                 ( eval $RANLIB libconftest.a ) 2>&AC_FD_CC >/dev/null
2984         fi
2985         rm -f conftest.*
2986
2987         cf_save_LIBS="$LIBS"
2988
2989         LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
2990         AC_TRY_LINK([
2991 #line __oline__ "configure"
2992 #include <stdio.h>
2993 int cf_ldflags_static(FILE *fp);
2994 ],[
2995         return cf_ldflags_static(stdin);
2996 ],[
2997         # some linkers simply ignore the -dynamic
2998         case x`file conftest$ac_exeext 2>/dev/null` in #(vi
2999         *static*) # (vi
3000                 cf_ldflags_static=no
3001                 ;;
3002         *)
3003                 cf_ldflags_static=yes
3004                 ;;
3005         esac
3006 ],[cf_ldflags_static=no])
3007
3008         rm -f libconftest.*
3009         LIBS="$cf_save_LIBS"
3010
3011         AC_MSG_RESULT($cf_ldflags_static)
3012
3013         if test $cf_ldflags_static != yes
3014         then
3015                 LDFLAGS_STATIC=
3016                 LDFLAGS_SHARED=
3017         fi
3018 else
3019         LDFLAGS_STATIC=
3020         LDFLAGS_SHARED=
3021 fi
3022
3023 AC_SUBST(LDFLAGS_STATIC)
3024 AC_SUBST(LDFLAGS_SHARED)
3025 ])
3026 dnl ---------------------------------------------------------------------------
3027 dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
3028 dnl ---------------
3029 dnl For the given system and compiler, find the compiler flags to pass to the
3030 dnl loader to use the "rpath" feature.
3031 AC_DEFUN([CF_LD_RPATH_OPT],
3032 [
3033 AC_REQUIRE([CF_CHECK_CACHE])
3034
3035 LD_RPATH_OPT=
3036 AC_MSG_CHECKING(for an rpath option)
3037 case $cf_cv_system_name in #(vi
3038 irix*) #(vi
3039         if test "$GCC" = yes; then
3040                 LD_RPATH_OPT="-Wl,-rpath,"
3041         else
3042                 LD_RPATH_OPT="-rpath "
3043         fi
3044         ;;
3045 linux*|gnu*|k*bsd*-gnu) #(vi
3046         LD_RPATH_OPT="-Wl,-rpath,"
3047         ;;
3048 openbsd[[2-9]].*|mirbsd*) #(vi
3049         LD_RPATH_OPT="-Wl,-rpath,"
3050         ;;
3051 dragonfly*|freebsd*) #(vi
3052         LD_RPATH_OPT="-rpath "
3053         ;;
3054 netbsd*) #(vi
3055         LD_RPATH_OPT="-Wl,-rpath,"
3056         ;;
3057 osf*|mls+*) #(vi
3058         LD_RPATH_OPT="-rpath "
3059         ;;
3060 solaris2*) #(vi
3061         LD_RPATH_OPT="-R"
3062         ;;
3063 *)
3064         ;;
3065 esac
3066 AC_MSG_RESULT($LD_RPATH_OPT)
3067
3068 case "x$LD_RPATH_OPT" in #(vi
3069 x-R*)
3070         AC_MSG_CHECKING(if we need a space after rpath option)
3071         cf_save_LIBS="$LIBS"
3072         CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
3073         AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
3074         LIBS="$cf_save_LIBS"
3075         AC_MSG_RESULT($cf_rpath_space)
3076         test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
3077         ;;
3078 esac
3079 ])dnl
3080 dnl ---------------------------------------------------------------------------
3081 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
3082 dnl ---------------
3083 dnl Construct a search-list of directories for a nonstandard library-file
3084 dnl
3085 dnl Parameters
3086 dnl     $1 = the variable to return as result
3087 dnl     $2 = the package name
3088 AC_DEFUN([CF_LIBRARY_PATH],
3089 [
3090 $1=
3091 cf_library_path_list=""
3092 if test -n "${LDFLAGS}${LIBS}" ; then
3093         for cf_library_path in $LDFLAGS $LIBS
3094         do
3095                 case $cf_library_path in #(vi
3096                 -L*)
3097                         cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
3098                         CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
3099                         cf_library_path_list="$cf_library_path_list [$]$1"
3100                         ;;
3101                 esac
3102         done
3103 fi
3104
3105 CF_SUBDIR_PATH($1,$2,lib)
3106
3107 $1="$cf_library_path_list [$]$1"
3108 ])dnl
3109 dnl ---------------------------------------------------------------------------
3110 dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09
3111 dnl ------------------
3112 AC_DEFUN([CF_LIBTOOL_VERSION],[
3113 if test -n "$LIBTOOL" && test "$LIBTOOL" != none
3114 then
3115         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.]].*//'`
3116 else
3117         cf_cv_libtool_version=
3118 fi
3119 test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version
3120 ])dnl
3121 dnl ---------------------------------------------------------------------------
3122 dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
3123 dnl -------------
3124 dnl Compute the library-prefix for the given host system
3125 dnl $1 = variable to set
3126 define([CF_LIB_PREFIX],
3127 [
3128         case $cf_cv_system_name in #(vi
3129         OS/2*|os2*) #(vi
3130         LIB_PREFIX=''
3131         ;;
3132         *)      LIB_PREFIX='lib'
3133         ;;
3134         esac
3135 ifelse($1,,,[$1=$LIB_PREFIX])
3136         AC_SUBST(LIB_PREFIX)
3137 ])dnl
3138 dnl ---------------------------------------------------------------------------
3139 dnl CF_LIB_RULES version: 74 updated: 2013/09/07 13:54:05
3140 dnl ------------
3141 dnl Append definitions and rules for the given models to the subdirectory
3142 dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
3143 dnl subdirectory is a library-source directory, modify the Libs_To_Make list in
3144 dnl the corresponding makefile to list the models that we'll generate.
3145 dnl
3146 dnl For shared libraries, make a list of symbolic links to construct when
3147 dnl generating each library.  The convention used for Linux is the simplest
3148 dnl one:
3149 dnl     lib<name>.so    ->
3150 dnl     lib<name>.so.<major>    ->
3151 dnl     lib<name>.so.<maj>.<minor>
3152 dnl
3153 dnl Note: Libs_To_Make is mixed case, since it is not a pure autoconf variable.
3154 AC_DEFUN([CF_LIB_RULES],
3155 [
3156 cf_prefix=$LIB_PREFIX
3157 AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
3158
3159 case $cf_cv_shlib_version in #(vi
3160 cygdll|msysdll|mingw)
3161         TINFO_NAME=$TINFO_ARG_SUFFIX
3162         TINFO_SUFFIX=.dll
3163         ;;
3164 esac
3165
3166 if test -n "$TINFO_SUFFIX" ; then
3167         case $TINFO_SUFFIX in
3168         tw*)
3169                 TINFO_NAME="${TINFO_NAME}tw"
3170                 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^tw//'`
3171                 ;;
3172         t*)
3173                 TINFO_NAME="${TINFO_NAME}t"
3174                 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^t//'`
3175                 ;;
3176         w*)
3177                 TINFO_NAME="${TINFO_NAME}w"
3178                 TINFO_SUFFIX=`echo $TINFO_SUFFIX | sed 's/^w//'`
3179                 ;;
3180         esac
3181 fi
3182
3183 for cf_dir in $SRC_SUBDIRS
3184 do
3185         if test ! -d $srcdir/$cf_dir ; then
3186                 continue
3187         elif test -f $srcdir/$cf_dir/modules; then
3188
3189                 SHARED_LIB=
3190                 Libs_To_Make=
3191                 for cf_item in $cf_LIST_MODELS
3192                 do
3193                         CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3194                         cf_libname=$cf_dir
3195                         test "$cf_dir" = c++ && cf_libname=ncurses++
3196                         if test $cf_item = shared ; then
3197                                 if test -n "${LIB_SUFFIX}"
3198                                 then
3199                                         cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
3200                                 else
3201                                         cf_shared_suffix="$cf_suffix"
3202                                 fi
3203                                 if test "$cf_cv_do_symlinks" = yes ; then
3204                                         cf_version_name=
3205
3206                                         case "$cf_cv_shlib_version" in #(vi
3207                                         rel) #(vi
3208                                                 cf_version_name=REL_VERSION
3209                                                 ;;
3210                                         abi)
3211                                                 cf_version_name=ABI_VERSION
3212                                                 ;;
3213                                         esac
3214
3215                                         if test -n "$cf_version_name"
3216                                         then
3217                                                 case "$cf_cv_system_name" in #(vi
3218                                                 darwin*)
3219                                                         # "w", etc?
3220                                                         cf_suffix="${LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
3221                                                         ;; #(vi
3222                                                 *)
3223                                                         cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
3224                                                         ;;
3225                                                 esac
3226                                         fi
3227                                         if test -n "${LIB_SUFFIX}"
3228                                         then
3229                                                 cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${LIB_SUFFIX}"'//'`
3230                                         else
3231                                                 cf_shared_suffix="$cf_suffix"
3232                                         fi
3233                                 fi
3234                                 # cygwin needs import library, and has unique naming convention
3235                                 # use autodetected ${cf_prefix} for import lib and static lib, but
3236                                 # use 'cyg' prefix for shared lib.
3237                                 case $cf_cv_shlib_version in #(vi
3238                                 cygdll) #(vi
3239                                         cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3240                                         Libs_To_Make="$Libs_To_Make ../lib/cyg${cf_libname}${cf_cygsuf}"
3241                                         continue
3242                                         ;;
3243                                 msysdll) #(vi
3244                                         cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3245                                         Libs_To_Make="$Libs_To_Make ../lib/msys-${cf_libname}${cf_cygsuf}"
3246                                         continue
3247                                         ;;
3248                                 mingw)
3249                                         cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
3250                                         Libs_To_Make="$Libs_To_Make ../lib/lib${cf_libname}${cf_cygsuf}"
3251                                         continue
3252                                         ;;
3253                                 esac
3254                         fi
3255                         Libs_To_Make="$Libs_To_Make ../lib/${cf_prefix}${cf_libname}${cf_suffix}"
3256                 done
3257
3258                 if test $cf_dir = ncurses ; then
3259                         cf_subsets="$LIB_SUBSETS"
3260                         cf_r_parts="$cf_subsets"
3261                         cf_liblist="$Libs_To_Make"
3262
3263                         while test -n "$cf_r_parts"
3264                         do
3265                                 cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
3266                                 cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
3267                                 if test "$cf_l_parts" != "$cf_r_parts" ; then
3268                                         cf_item=
3269                                         case $cf_l_parts in #(vi
3270                                         *termlib*) #(vi
3271                                                 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
3272                                                 ;;
3273                                         *ticlib*)
3274                                                 cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
3275                                                 ;;
3276                                         *)
3277                                                 break
3278                                                 ;;
3279                                         esac
3280                                         if test -n "$cf_item"; then
3281                                                 Libs_To_Make="$cf_item $Libs_To_Make"
3282                                         fi
3283                                 else
3284                                         break
3285                                 fi
3286                         done
3287                 else
3288                         cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
3289                 fi
3290
3291                 if test $cf_dir = c++; then
3292                         if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
3293                                 cf_list=
3294                                 for cf_item in $Libs_To_Make
3295                                 do
3296                                         case $cf_item in
3297                                         *.a)
3298                                                 ;;
3299                                         *)
3300                                                 cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
3301                                                 ;;
3302                                         esac
3303                                         for cf_test in $cf_list
3304                                         do
3305                                                 if test "$cf_test" = "$cf_item"
3306                                                 then
3307                                                         cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
3308                                                         cf_item=
3309                                                         break
3310                                                 fi
3311                                         done
3312                                         test -n "$cf_item" && cf_list="$cf_list $cf_item"
3313                                 done
3314                                 Libs_To_Make="$cf_list"
3315                         fi
3316                 fi
3317
3318                 sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
3319                     -e "s%@SHARED_LIB@%$SHARED_LIB%" \
3320                         $cf_dir/Makefile >$cf_dir/Makefile.out
3321                 mv $cf_dir/Makefile.out $cf_dir/Makefile
3322
3323                 $AWK -f $srcdir/mk-0th.awk \
3324                         libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
3325                         $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3326
3327                 for cf_subset in $cf_subsets
3328                 do
3329                         cf_subdirs=
3330                         for cf_item in $cf_LIST_MODELS
3331                         do
3332
3333                         echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
3334                         CF_UPPER(cf_ITEM,$cf_item)
3335
3336                         CXX_MODEL=$cf_ITEM
3337                         if test "$CXX_MODEL" = SHARED; then
3338                                 case $cf_cv_shlib_version in #(vi
3339                                 cygdll|msysdll|mingw) #(vi
3340                                         test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED)
3341                                         with_shared_cxx=yes
3342                                         ;;
3343                                 *)
3344                                         test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
3345                                         ;;
3346                                 esac
3347                         fi
3348
3349                         CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
3350                         CF_OBJ_SUBDIR($cf_item,cf_subdir)
3351
3352                         # Test for case where we build libtinfo with a different name.
3353                         cf_libname=$cf_dir
3354                         if test $cf_dir = ncurses ; then
3355                                 case $cf_subset in
3356                                 *base*)
3357                                         cf_libname=${cf_libname}$LIB_SUFFIX
3358                                         ;;
3359                                 *termlib*)
3360                                         cf_libname=$TINFO_LIB_SUFFIX
3361                                         ;;
3362                                 ticlib*)
3363                                         cf_libname=$TICS_LIB_SUFFIX
3364                                         ;;
3365                                 esac
3366                         elif test $cf_dir = c++ ; then
3367                                 cf_libname=ncurses++$LIB_SUFFIX
3368                         else
3369                                 cf_libname=${cf_libname}$LIB_SUFFIX
3370                         fi
3371                         if test -n "${DFT_ARG_SUFFIX}" ; then
3372                                 # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
3373                                 cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
3374                         fi
3375
3376                         # These dependencies really are for development, not
3377                         # builds, but they are useful in porting, too.
3378                         cf_depend="../include/ncurses_cfg.h"
3379                         if test "$srcdir" = "."; then
3380                                 cf_reldir="."
3381                         else
3382                                 cf_reldir="\${srcdir}"
3383                         fi
3384
3385                         if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
3386                                 cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
3387                         elif test -f $srcdir/$cf_dir/curses.priv.h; then
3388                                 cf_depend="$cf_depend $cf_reldir/curses.priv.h"
3389                         fi
3390
3391                         cf_dir_suffix=
3392                         old_cf_suffix="$cf_suffix"
3393                         if test "$cf_cv_shlib_version_infix" = yes ; then
3394                         if test -n "$LIB_SUFFIX" ; then
3395                                 case $LIB_SUFFIX in
3396                                 tw*)
3397                                         cf_libname=`echo $cf_libname | sed 's/tw$//'`
3398                                         cf_suffix=`echo $cf_suffix | sed 's/^tw//'`
3399                                         cf_dir_suffix=tw
3400                                         ;;
3401                                 t*)
3402                                         cf_libname=`echo $cf_libname | sed 's/t$//'`
3403                                         cf_suffix=`echo $cf_suffix | sed 's/^t//'`
3404                                         cf_dir_suffix=t
3405                                         ;;
3406                                 w*)
3407                                         cf_libname=`echo $cf_libname | sed 's/w$//'`
3408                                         cf_suffix=`echo $cf_suffix | sed 's/^w//'`
3409                                         cf_dir_suffix=w
3410                                         ;;
3411                                 esac
3412                         fi
3413                         fi
3414
3415                         $AWK -f $srcdir/mk-1st.awk \
3416                                 name=${cf_libname}${cf_dir_suffix} \
3417                                 traces=$LIB_TRACING \
3418                                 MODEL=$cf_ITEM \
3419                                 CXX_MODEL=$CXX_MODEL \
3420                                 model=$cf_subdir \
3421                                 prefix=$cf_prefix \
3422                                 suffix=$cf_suffix \
3423                                 subset=$cf_subset \
3424                                 driver=$cf_cv_term_driver \
3425                                 SymLink="$LN_S" \
3426                                 TermlibRoot=$TINFO_NAME \
3427                                 TermlibSuffix=$TINFO_SUFFIX \
3428                                 ShlibVer=$cf_cv_shlib_version \
3429                                 ShlibVerInfix=$cf_cv_shlib_version_infix \
3430                                 ReLink=${cf_cv_do_relink:-no} \
3431                                 DoLinks=$cf_cv_do_symlinks \
3432                                 rmSoLocs=$cf_cv_rm_so_locs \
3433                                 ldconfig="$LDCONFIG" \
3434                                 overwrite=$WITH_OVERWRITE \
3435                                 depend="$cf_depend" \
3436                                 host="$host" \
3437                                 libtool_version="$LIBTOOL_VERSION" \
3438                                 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3439
3440                         cf_suffix="$old_cf_suffix"
3441
3442                         for cf_subdir2 in $cf_subdirs lib
3443                         do
3444                                 test $cf_subdir = $cf_subdir2 && break
3445                         done
3446                         test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
3447                         $AWK -f $srcdir/mk-2nd.awk \
3448                                 name=$cf_dir \
3449                                 traces=$LIB_TRACING \
3450                                 MODEL=$cf_ITEM \
3451                                 model=$cf_subdir \
3452                                 subset=$cf_subset \
3453                                 srcdir=$srcdir \
3454                                 echo=$WITH_ECHO \
3455                                 crenames=$cf_cv_prog_CC_c_o \
3456                                 cxxrenames=$cf_cv_prog_CXX_c_o \
3457                                 $srcdir/$cf_dir/modules >>$cf_dir/Makefile
3458                         cf_subdirs="$cf_subdirs $cf_subdir"
3459                         done
3460                 done
3461         fi
3462
3463         echo '  cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >>Makefile
3464 done
3465
3466 for cf_dir in $SRC_SUBDIRS
3467 do
3468         if test ! -d $srcdir/$cf_dir ; then
3469                 continue
3470         fi
3471
3472         if test -f $cf_dir/Makefile ; then
3473                 case "$cf_dir" in
3474                 Ada95) #(vi
3475                         echo 'libs \' >> Makefile
3476                         echo 'install.libs \' >> Makefile
3477                         echo 'uninstall.libs ::' >> Makefile
3478                         echo '  cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} [$]@' >> Makefile
3479                         ;;
3480                 esac
3481         fi
3482
3483         if test -f $srcdir/$cf_dir/modules; then
3484                 echo >> Makefile
3485                 if test -f $srcdir/$cf_dir/headers; then
3486 cat >> Makefile <<CF_EOF
3487 install.includes \\
3488 uninstall.includes \\
3489 CF_EOF
3490                 fi
3491 if test "$cf_dir" != "c++" ; then
3492 echo 'lint \' >> Makefile
3493 fi
3494 cat >> Makefile <<CF_EOF
3495 libs \\
3496 lintlib \\
3497 install.libs \\
3498 uninstall.libs \\
3499 install.$cf_dir \\
3500 uninstall.$cf_dir ::
3501         cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
3502 CF_EOF
3503         elif test -f $srcdir/$cf_dir/headers; then
3504 cat >> Makefile <<CF_EOF
3505
3506 libs \\
3507 install.libs \\
3508 uninstall.libs \\
3509 install.includes \\
3510 uninstall.includes ::
3511         cd $cf_dir && \${MAKE} \${TOP_MFLAGS} \[$]@
3512 CF_EOF
3513 fi
3514 done
3515
3516 if test "x$cf_with_db_install" = xyes; then
3517 cat >> Makefile <<CF_EOF
3518
3519 install.libs uninstall.libs \\
3520 install.data uninstall.data ::
3521 $MAKE_TERMINFO  cd misc && \${MAKE} \${TOP_MFLAGS} \[$]@
3522 CF_EOF
3523 fi
3524
3525 if test "x$cf_with_manpages" = xyes; then
3526 cat >> Makefile <<CF_EOF
3527
3528 install.man \\
3529 uninstall.man ::
3530         cd man && \${MAKE} \${TOP_MFLAGS} \[$]@
3531 CF_EOF
3532 fi
3533
3534 cat >> Makefile <<CF_EOF
3535
3536 distclean ::
3537         rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
3538         rm -f headers.sh headers.sed mk_shared_lib.sh
3539         rm -f edit_man.* man_alias.*
3540         rm -rf \${DIRS_TO_MAKE}
3541 CF_EOF
3542
3543 # Special case: tack's manpage lives in its own directory.
3544 if test "x$cf_with_manpages" = xyes; then
3545 if test -d tack ; then
3546 if test -f $srcdir/$tack.h; then
3547 cat >> Makefile <<CF_EOF
3548
3549 install.man \\
3550 uninstall.man ::
3551         cd tack && \${MAKE} \${TOP_MFLAGS} \[$]@
3552 CF_EOF
3553 fi
3554 fi
3555 fi
3556
3557 dnl If we're installing into a subdirectory of /usr/include, etc., we should
3558 dnl prepend the subdirectory's name to the "#include" paths.  It won't hurt
3559 dnl anything, and will make it more standardized.  It's awkward to decide this
3560 dnl at configuration because of quoting, so we'll simply make all headers
3561 dnl installed via a script that can do the right thing.
3562
3563 rm -f headers.sed headers.sh
3564
3565 dnl ( generating this script makes the makefiles a little tidier :-)
3566 echo creating headers.sh
3567 cat >headers.sh <<CF_EOF
3568 #! /bin/sh
3569 # This shell script is generated by the 'configure' script.  It is invoked in a
3570 # subdirectory of the build tree.  It generates a sed-script in the parent
3571 # directory that is used to adjust includes for header files that reside in a
3572 # subdirectory of /usr/include, etc.
3573 PRG=""
3574 while test \[$]# != 3
3575 do
3576 PRG="\$PRG \[$]1"; shift
3577 done
3578 DST=\[$]1
3579 REF=\[$]2
3580 SRC=\[$]3
3581 TMPSRC=\${TMPDIR:-/tmp}/\`basename \$SRC\`\$\$
3582 TMPSED=\${TMPDIR:-/tmp}/headers.sed\$\$
3583 echo installing \$SRC in \$DST
3584 CF_EOF
3585
3586 if test $WITH_CURSES_H = yes; then
3587         cat >>headers.sh <<CF_EOF
3588 case \$DST in
3589 /*/include/*)
3590         END=\`basename \$DST\`
3591         for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3592         do
3593                 NAME=\`basename \$i\`
3594                 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3595         done
3596         ;;
3597 *)
3598         echo "" >> \$TMPSED
3599         ;;
3600 esac
3601 CF_EOF
3602
3603 else
3604         cat >>headers.sh <<CF_EOF
3605 case \$DST in
3606 /*/include/*)
3607         END=\`basename \$DST\`
3608         for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
3609         do
3610                 NAME=\`basename \$i\`
3611                 if test "\$NAME" = "curses.h"
3612                 then
3613                         echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3614                         NAME=ncurses.h
3615                 fi
3616                 echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
3617         done
3618         ;;
3619 *)
3620         echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
3621         ;;
3622 esac
3623 CF_EOF
3624 fi
3625 cat >>headers.sh <<CF_EOF
3626 rm -f \$TMPSRC
3627 sed -f \$TMPSED \$SRC > \$TMPSRC
3628 NAME=\`basename \$SRC\`
3629 CF_EOF
3630 if test $WITH_CURSES_H != yes; then
3631         cat >>headers.sh <<CF_EOF
3632 test "\$NAME" = "curses.h" && NAME=ncurses.h
3633 CF_EOF
3634 fi
3635 cat >>headers.sh <<CF_EOF
3636 # Just in case someone gzip'd manpages, remove the conflicting copy.
3637 test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
3638
3639 eval \$PRG \$TMPSRC \$DST/\$NAME
3640 rm -f \$TMPSRC \$TMPSED
3641 CF_EOF
3642
3643 chmod 0755 headers.sh
3644
3645 for cf_dir in $SRC_SUBDIRS
3646 do
3647         if test ! -d $srcdir/$cf_dir ; then
3648                 continue
3649         fi
3650
3651         if test -f $srcdir/$cf_dir/headers; then
3652                 $AWK -f $srcdir/mk-hdr.awk \
3653                         subset="$LIB_SUBSETS" \
3654                         compat="$WITH_CURSES_H" \
3655                         $srcdir/$cf_dir/headers >>$cf_dir/Makefile
3656         fi
3657
3658         if test -f $srcdir/$cf_dir/modules; then
3659                 if test "$cf_dir" != "c++" ; then
3660                         cat >>$cf_dir/Makefile <<"CF_EOF"
3661 depend : ${AUTO_SRC}
3662         makedepend -- ${CPPFLAGS} -- ${C_SRC}
3663
3664 # DO NOT DELETE THIS LINE -- make depend depends on it.
3665 CF_EOF
3666                 fi
3667         fi
3668 done
3669 AC_SUBST(Libs_To_Make)
3670 ])dnl
3671 dnl ---------------------------------------------------------------------------
3672 dnl CF_LIB_SONAME version: 5 updated: 2010/08/14 18:25:37
3673 dnl -------------
3674 dnl Find the and soname for the given shared library.  Set the cache variable
3675 dnl cf_cv_$3_soname to this, unless it is not found.  Then set the cache
3676 dnl variable to "unknown".
3677 dnl
3678 dnl $1 = headers
3679 dnl $2 = code
3680 dnl $3 = library name
3681 AC_DEFUN([CF_LIB_SONAME],
3682 [
3683 AC_CACHE_CHECK(for soname of $3 library,cf_cv_$3_soname,[
3684
3685 cf_cv_$3_soname=unknown
3686 if test "$cross_compiling" != yes ; then
3687 cat >conftest.$ac_ext <<CF_EOF
3688 $1
3689 int main()
3690 {
3691 $2
3692         ${cf_cv_main_return:-return}(0);
3693 }
3694 CF_EOF
3695 cf_save_LIBS="$LIBS"
3696         CF_ADD_LIB($3)
3697         if AC_TRY_EVAL(ac_compile) ; then
3698                 if AC_TRY_EVAL(ac_link) ; then
3699                         cf_cv_$3_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep lib$3.`
3700                         test -z "$cf_cv_$3_soname" && cf_cv_$3_soname=unknown
3701                 fi
3702         fi
3703 rm -rf conftest*
3704 LIBS="$cf_save_LIBS"
3705 fi
3706 ])
3707 ])
3708 dnl ---------------------------------------------------------------------------
3709 dnl CF_LIB_SUFFIX version: 22 updated: 2013/09/07 13:54:05
3710 dnl -------------
3711 dnl Compute the library file-suffix from the given model name
3712 dnl $1 = model name
3713 dnl $2 = variable to set (the nominal library suffix)
3714 dnl $3 = dependency variable to set (actual filename)
3715 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3716 AC_DEFUN([CF_LIB_SUFFIX],
3717 [
3718         case X$1 in #(vi
3719         Xlibtool) #(vi
3720                 $2='.la'
3721                 $3=[$]$2
3722                 ;;
3723         Xdebug) #(vi
3724                 $2='_g.a'
3725                 $3=[$]$2
3726                 ;;
3727         Xprofile) #(vi
3728                 $2='_p.a'
3729                 $3=[$]$2
3730                 ;;
3731         Xshared) #(vi
3732                 case $cf_cv_system_name in
3733                 aix[[5-7]]*) #(vi
3734                         $2='.a'
3735                         $3=[$]$2
3736                         ;;
3737                 cygwin*|msys*|mingw*) #(vi
3738                         $2='.dll'
3739                         $3='.dll.a'
3740                         ;;
3741                 darwin*) #(vi
3742                         $2='.dylib'
3743                         $3=[$]$2
3744                         ;;
3745                 hpux*) #(vi
3746                         case $target in
3747                         ia64*) #(vi
3748                                 $2='.so'
3749                                 $3=[$]$2
3750                                 ;;
3751                         *) #(vi
3752                                 $2='.sl'
3753                                 $3=[$]$2
3754                                 ;;
3755                         esac
3756                         ;;
3757                 *) #(vi
3758                         $2='.so'
3759                         $3=[$]$2
3760                         ;;
3761                 esac
3762                 ;;
3763         *)
3764                 $2='.a'
3765                 $3=[$]$2
3766                 ;;
3767         esac
3768         test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3769         test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
3770 ])dnl
3771 dnl ---------------------------------------------------------------------------
3772 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
3773 dnl -----------
3774 dnl Compute the string to append to -library from the given model name
3775 dnl $1 = model name
3776 dnl $2 = variable to set
3777 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
3778 AC_DEFUN([CF_LIB_TYPE],
3779 [
3780         case $1 in
3781         libtool) $2=''   ;;
3782         normal)  $2=''   ;;
3783         debug)   $2='_g' ;;
3784         profile) $2='_p' ;;
3785         shared)  $2=''   ;;
3786         esac
3787         test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
3788 ])dnl
3789 dnl ---------------------------------------------------------------------------
3790 dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
3791 dnl ----------------
3792 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
3793 dnl only data (i.e., no functions), for example NeXT.  On those systems we'll
3794 dnl have to provide wrappers for global tables to ensure they're linked
3795 dnl properly.
3796 AC_DEFUN([CF_LINK_DATAONLY],
3797 [
3798 AC_MSG_CHECKING([if data-only library module links])
3799 AC_CACHE_VAL(cf_cv_link_dataonly,[
3800         rm -f conftest.a
3801         cat >conftest.$ac_ext <<EOF
3802 #line __oline__ "configure"
3803 int     testdata[[3]] = { 123, 456, 789 };
3804 EOF
3805         if AC_TRY_EVAL(ac_compile) ; then
3806                 mv conftest.o data.o && \
3807                 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
3808         fi
3809         rm -f conftest.$ac_ext data.o
3810         cat >conftest.$ac_ext <<EOF
3811 #line __oline__ "configure"
3812 int     testfunc()
3813 {
3814 #if defined(NeXT)
3815         ${cf_cv_main_return:-return}(1);        /* I'm told this linker is broken */
3816 #else
3817         extern int testdata[[3]];
3818         return testdata[[0]] == 123
3819            &&  testdata[[1]] == 456
3820            &&  testdata[[2]] == 789;
3821 #endif
3822 }
3823 EOF
3824         if AC_TRY_EVAL(ac_compile); then
3825                 mv conftest.o func.o && \
3826                 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
3827         fi
3828         rm -f conftest.$ac_ext func.o
3829         ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
3830         cf_saveLIBS="$LIBS"
3831         LIBS="conftest.a $LIBS"
3832         AC_TRY_RUN([
3833         int main()
3834         {
3835                 extern int testfunc();
3836                 ${cf_cv_main_return:-return} (!testfunc());
3837         }
3838         ],
3839         [cf_cv_link_dataonly=yes],
3840         [cf_cv_link_dataonly=no],
3841         [cf_cv_link_dataonly=unknown])
3842         LIBS="$cf_saveLIBS"
3843         ])
3844 AC_MSG_RESULT($cf_cv_link_dataonly)
3845
3846 if test "$cf_cv_link_dataonly" = no ; then
3847         AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
3848         BROKEN_LINKER=1
3849 fi
3850
3851 ])dnl
3852 dnl ---------------------------------------------------------------------------
3853 dnl CF_LINK_FUNCS version: 8 updated: 2012/10/06 17:56:13
3854 dnl -------------
3855 dnl Most Unix systems have both link and symlink, a few don't have symlink.
3856 dnl A few non-Unix systems implement symlink, but not link.
3857 dnl A few non-systems implement neither (or have nonfunctional versions).
3858 AC_DEFUN([CF_LINK_FUNCS],
3859 [
3860 AC_CHECK_FUNCS( \
3861         remove \
3862         unlink )
3863
3864 if test "$cross_compiling" = yes ; then
3865         AC_CHECK_FUNCS( \
3866                 link \
3867                 symlink )
3868 else
3869         AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
3870                 cf_cv_link_funcs=
3871                 for cf_func in link symlink ; do
3872                         AC_TRY_RUN([
3873 #include <sys/types.h>
3874 #include <sys/stat.h>
3875 #ifdef HAVE_UNISTD_H
3876 #include <unistd.h>
3877 #endif
3878 int main()
3879 {
3880         int fail = 0;
3881         char *src = "config.log";
3882         char *dst = "conftest.chk";
3883         struct stat src_sb;
3884         struct stat dst_sb;
3885
3886         stat(src, &src_sb);
3887         fail = ($cf_func("config.log", "conftest.chk") < 0)
3888             || (stat(dst, &dst_sb) < 0)
3889             || (dst_sb.st_mtime != src_sb.st_mtime);
3890 #ifdef HAVE_UNLINK
3891         unlink(dst);
3892 #else
3893         remove(dst);
3894 #endif
3895         ${cf_cv_main_return:-return} (fail);
3896 }
3897                         ],[
3898                         cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
3899                         eval 'ac_cv_func_'$cf_func'=yes'],[
3900                         eval 'ac_cv_func_'$cf_func'=no'],[
3901                         eval 'ac_cv_func_'$cf_func'=error'])
3902                 done
3903                 test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
3904         ])
3905         test "$ac_cv_func_link"    = yes && AC_DEFINE(HAVE_LINK,1,[Define to 1 if we have link() function])
3906         test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK,1,[Define to 1 if we have symlink() function])
3907 fi
3908 ])dnl
3909 dnl ---------------------------------------------------------------------------
3910 dnl CF_MAKEFLAGS version: 15 updated: 2014/05/10 16:43:23
3911 dnl ------------
3912 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
3913 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
3914 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
3915 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
3916 AC_DEFUN([CF_MAKEFLAGS],
3917 [
3918 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
3919         cf_cv_makeflags=''
3920         for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
3921         do
3922                 cat >cf_makeflags.tmp <<CF_EOF
3923 SHELL = /bin/sh
3924 all :
3925         @ echo '.$cf_option'
3926 CF_EOF
3927                 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[   ]]*$,,'`
3928                 case "$cf_result" in
3929                 .*k|.*kw)
3930                         cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
3931                         case "$cf_result" in
3932                         .*CC=*) cf_cv_makeflags=
3933                                 ;;
3934                         *)      cf_cv_makeflags=$cf_option
3935                                 ;;
3936                         esac
3937                         break
3938                         ;;
3939                 .-)     ;;
3940                 *)      echo "given option \"$cf_option\", no match \"$cf_result\""
3941                         ;;
3942                 esac
3943         done
3944         rm -f cf_makeflags.tmp
3945 ])
3946
3947 AC_SUBST(cf_cv_makeflags)
3948 ])dnl
3949 dnl ---------------------------------------------------------------------------
3950 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
3951 dnl ------------
3952 dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
3953 dnl a monocase filesystem.
3954 AC_DEFUN([CF_MAKE_TAGS],[
3955 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
3956
3957 AC_CHECK_PROGS(CTAGS, exctags ctags)
3958 AC_CHECK_PROGS(ETAGS, exetags etags)
3959
3960 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
3961
3962 if test "$cf_cv_mixedcase" = yes ; then
3963         AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
3964 else
3965         MAKE_UPPER_TAGS=no
3966 fi
3967
3968 if test "$MAKE_UPPER_TAGS" = yes ; then
3969         MAKE_UPPER_TAGS=
3970 else
3971         MAKE_UPPER_TAGS="#"
3972 fi
3973
3974 if test "$MAKE_LOWER_TAGS" = yes ; then
3975         MAKE_LOWER_TAGS=
3976 else
3977         MAKE_LOWER_TAGS="#"
3978 fi
3979
3980 AC_SUBST(CTAGS)
3981 AC_SUBST(ETAGS)
3982
3983 AC_SUBST(MAKE_UPPER_TAGS)
3984 AC_SUBST(MAKE_LOWER_TAGS)
3985 ])dnl
3986 dnl ---------------------------------------------------------------------------
3987 dnl CF_MANPAGE_FORMAT version: 9 updated: 2010/10/23 16:10:30
3988 dnl -----------------
3989 dnl Option to allow user to override automatic configuration of manpage format.
3990 dnl There are several special cases:
3991 dnl
3992 dnl     gzip - man checks for, can display gzip'd files
3993 dnl     compress - man checks for, can display compressed files
3994 dnl     BSDI - files in the cat-directories are suffixed ".0"
3995 dnl     formatted - installer should format (put files in cat-directory)
3996 dnl     catonly - installer should only format, e.g., for a turnkey system.
3997 dnl
3998 dnl There are other configurations which this macro does not test, e.g., HPUX's
3999 dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
4000 dnl convention would not match our use).
4001 AC_DEFUN([CF_MANPAGE_FORMAT],
4002 [
4003 AC_REQUIRE([CF_PATHSEP])
4004 AC_MSG_CHECKING(format of man-pages)
4005
4006 AC_ARG_WITH(manpage-format,
4007         [  --with-manpage-format   specify manpage-format: gzip/compress/BSDI/normal and
4008                           optionally formatted/catonly, e.g., gzip,formatted],
4009         [MANPAGE_FORMAT=$withval],
4010         [MANPAGE_FORMAT=unknown])
4011
4012 test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
4013 MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
4014
4015 cf_unknown=
4016
4017 case $MANPAGE_FORMAT in
4018 unknown)
4019   if test -z "$MANPATH" ; then
4020     MANPATH="/usr/man:/usr/share/man"
4021   fi
4022
4023   # look for the 'date' man-page (it's most likely to be installed!)
4024   MANPAGE_FORMAT=
4025   cf_preform=no
4026   cf_catonly=yes
4027   cf_example=date
4028
4029   IFS="${IFS:-  }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
4030   for cf_dir in $MANPATH; do
4031     test -z "$cf_dir" && cf_dir=/usr/man
4032     for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
4033     do
4034       cf_test=`echo $cf_name | sed -e 's/*//'`
4035       if test "x$cf_test" = "x$cf_name" ; then
4036
4037         case "$cf_name" in
4038         *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
4039         *.Z)  MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
4040         *.0)    MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
4041         *)    MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
4042         esac
4043
4044         case "$cf_name" in
4045         $cf_dir/man*)
4046           cf_catonly=no
4047           ;;
4048         $cf_dir/cat*)
4049           cf_preform=yes
4050           ;;
4051         esac
4052         break
4053       fi
4054
4055       # if we found a match in either man* or cat*, stop looking
4056       if test -n "$MANPAGE_FORMAT" ; then
4057         cf_found=no
4058         test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
4059         test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
4060         case "$cf_name" in
4061         $cf_dir/cat*)
4062           cf_found=yes
4063           ;;
4064         esac
4065         test $cf_found=yes && break
4066       fi
4067     done
4068     # only check the first directory in $MANPATH where we find manpages
4069     if test -n "$MANPAGE_FORMAT" ; then
4070        break
4071     fi
4072   done
4073   # if we did not find the example, just assume it is normal
4074   test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
4075   IFS="$ac_save_ifs"
4076   ;;
4077 *)
4078   for cf_option in $MANPAGE_FORMAT; do
4079      case $cf_option in #(vi
4080      gzip|compress|BSDI|normal|formatted|catonly)
4081        ;;
4082      *)
4083        cf_unknown="$cf_unknown $cf_option"
4084        ;;
4085      esac
4086   done
4087   ;;
4088 esac
4089
4090 AC_MSG_RESULT($MANPAGE_FORMAT)
4091 if test -n "$cf_unknown" ; then
4092   AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
4093 fi
4094 ])dnl
4095 dnl ---------------------------------------------------------------------------
4096 dnl CF_MANPAGE_RENAMES version: 7 updated: 2005/06/18 18:51:57
4097 dnl ------------------
4098 dnl The Debian people have their own naming convention for manpages.  This
4099 dnl option lets us override the name of the file containing renaming, or
4100 dnl disable it altogether.
4101 AC_DEFUN([CF_MANPAGE_RENAMES],
4102 [
4103 AC_MSG_CHECKING(for manpage renaming)
4104
4105 AC_ARG_WITH(manpage-renames,
4106         [  --with-manpage-renames  specify manpage-renaming],
4107         [MANPAGE_RENAMES=$withval],
4108         [MANPAGE_RENAMES=yes])
4109
4110 case ".$MANPAGE_RENAMES" in #(vi
4111 .no) #(vi
4112   ;;
4113 .|.yes)
4114   # Debian 'man' program?
4115   if test -f /etc/debian_version ; then
4116     MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
4117   else
4118     MANPAGE_RENAMES=no
4119   fi
4120   ;;
4121 esac
4122
4123 if test "$MANPAGE_RENAMES" != no ; then
4124   if test -f $srcdir/man/$MANPAGE_RENAMES ; then
4125     MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
4126   elif test ! -f $MANPAGE_RENAMES ; then
4127     AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
4128   fi
4129
4130   test ! -d man && mkdir man
4131
4132   # Construct a sed-script to perform renaming within man-pages
4133   if test -n "$MANPAGE_RENAMES" ; then
4134     test ! -d man && mkdir man
4135     sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >./edit_man.sed
4136   fi
4137 fi
4138
4139 AC_MSG_RESULT($MANPAGE_RENAMES)
4140 AC_SUBST(MANPAGE_RENAMES)
4141 ])dnl
4142 dnl ---------------------------------------------------------------------------
4143 dnl CF_MANPAGE_SYMLINKS version: 5 updated: 2010/07/24 17:12:40
4144 dnl -------------------
4145 dnl Some people expect each tool to make all aliases for manpages in the
4146 dnl man-directory.  This accommodates the older, less-capable implementations
4147 dnl of 'man', and is optional.
4148 AC_DEFUN([CF_MANPAGE_SYMLINKS],
4149 [
4150 AC_MSG_CHECKING(if manpage aliases will be installed)
4151
4152 AC_ARG_WITH(manpage-aliases,
4153         [  --with-manpage-aliases  specify manpage-aliases using .so],
4154         [MANPAGE_ALIASES=$withval],
4155         [MANPAGE_ALIASES=yes])
4156
4157 AC_MSG_RESULT($MANPAGE_ALIASES)
4158
4159 case "x$LN_S" in #(vi
4160 xln*) #(vi
4161         cf_use_symlinks=yes
4162         ;;
4163 *)
4164         cf_use_symlinks=no
4165         ;;
4166 esac
4167
4168 MANPAGE_SYMLINKS=no
4169 if test "$MANPAGE_ALIASES" = yes ; then
4170 AC_MSG_CHECKING(if manpage symlinks should be used)
4171
4172 AC_ARG_WITH(manpage-symlinks,
4173         [  --with-manpage-symlinks specify manpage-aliases using symlinks],
4174         [MANPAGE_SYMLINKS=$withval],
4175         [MANPAGE_SYMLINKS=$cf_use_symlinks])
4176
4177 if test "$$cf_use_symlinks" = no; then
4178 if test "$MANPAGE_SYMLINKS" = yes ; then
4179         AC_MSG_WARN(cannot make symlinks, will use .so files)
4180         MANPAGE_SYMLINKS=no
4181 fi
4182 fi
4183
4184 AC_MSG_RESULT($MANPAGE_SYMLINKS)
4185 fi
4186
4187 ])dnl
4188 dnl ---------------------------------------------------------------------------
4189 dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
4190 dnl --------------
4191 dnl This option causes manpages to be run through tbl(1) to generate tables
4192 dnl correctly.
4193 AC_DEFUN([CF_MANPAGE_TBL],
4194 [
4195 AC_MSG_CHECKING(for manpage tbl)
4196
4197 AC_ARG_WITH(manpage-tbl,
4198         [  --with-manpage-tbl      specify manpage processing with tbl],
4199         [MANPAGE_TBL=$withval],
4200         [MANPAGE_TBL=no])
4201
4202 AC_MSG_RESULT($MANPAGE_TBL)
4203 ])dnl
4204 dnl ---------------------------------------------------------------------------
4205 dnl CF_MAN_PAGES version: 43 updated: 2013/02/09 12:53:45
4206 dnl ------------
4207 dnl Try to determine if the man-pages on the system are compressed, and if
4208 dnl so, what format is used.  Use this information to construct a script that
4209 dnl will install man-pages.
4210 AC_DEFUN([CF_MAN_PAGES],
4211 [
4212 CF_HELP_MESSAGE(Options to Specify How Manpages are Installed:)
4213 CF_MANPAGE_FORMAT
4214 CF_MANPAGE_RENAMES
4215 CF_MANPAGE_SYMLINKS
4216 CF_MANPAGE_TBL
4217
4218   if test "$prefix" = "NONE" ; then
4219      cf_prefix="$ac_default_prefix"
4220   else
4221      cf_prefix="$prefix"
4222   fi
4223
4224   case "$MANPAGE_FORMAT" in # (vi
4225   *catonly*) # (vi
4226     cf_format=yes
4227     cf_inboth=no
4228     ;;
4229   *formatted*) # (vi
4230     cf_format=yes
4231     cf_inboth=yes
4232     ;;
4233   *)
4234     cf_format=no
4235     cf_inboth=no
4236     ;;
4237   esac
4238
4239 test ! -d man && mkdir man
4240
4241 cf_so_strip=
4242 cf_compress=
4243 case "$MANPAGE_FORMAT" in #(vi
4244 *compress*) #(vi
4245         cf_so_strip="Z"
4246         cf_compress=compress
4247   ;;
4248 *gzip*)
4249         cf_so_strip="gz"
4250         cf_compress=gzip
4251   ;;
4252 esac
4253
4254 cf_edit_man=./edit_man.sh
4255 cf_man_alias=`pwd`/man_alias.sed
4256
4257 cat >$cf_edit_man <<CF_EOF
4258 #! /bin/sh
4259 # this script is generated by the configure-script CF_MAN_PAGES macro.
4260
4261 prefix="$cf_prefix"
4262 datarootdir="$datarootdir"
4263 datadir="$datadir"
4264
4265 NCURSES_MAJOR="$NCURSES_MAJOR"
4266 NCURSES_MINOR="$NCURSES_MINOR"
4267 NCURSES_PATCH="$NCURSES_PATCH"
4268
4269 NCURSES_OSPEED="$NCURSES_OSPEED"
4270 TERMINFO="$TERMINFO"
4271
4272 INSTALL="$INSTALL"
4273 INSTALL_DATA="$INSTALL_DATA"
4274
4275 transform="$program_transform_name"
4276
4277 TMP=\${TMPDIR:=/tmp}/man\$\$
4278 trap "rm -f \$TMP" 0 1 2 5 15
4279
4280 form=\[$]1
4281 shift || exit 1
4282
4283 verb=\[$]1
4284 shift || exit 1
4285
4286 mandir=\[$]1
4287 shift || exit 1
4288
4289 srcdir=\[$]1
4290 top_srcdir=\[$]srcdir/..
4291 shift || exit 1
4292
4293 if test "\$form" = normal ; then
4294         if test "$cf_format" = yes ; then
4295         if test "$cf_inboth" = no ; then
4296                 sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4297                 exit $?
4298         fi
4299         fi
4300         cf_subdir=\$mandir/man
4301         cf_tables=$MANPAGE_TBL
4302 else
4303         cf_subdir=\$mandir/cat
4304         cf_tables=yes
4305 fi
4306
4307 # process the list of source-files
4308 for i in \[$]* ; do
4309 case \$i in #(vi
4310 *.orig|*.rej) ;; #(vi
4311 *.[[0-9]]*)
4312         section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
4313         if test \$verb = installing ; then
4314         if test ! -d \$cf_subdir\${section} ; then
4315                 mkdir -p \$cf_subdir\$section
4316         fi
4317         fi
4318
4319         # replace variables in man page
4320         if test ! -f $cf_man_alias ; then
4321 cat >>$cf_man_alias <<-CF_EOF2
4322                 s,@DATADIR@,\$datadir,g
4323                 s,@TERMINFO@,\${TERMINFO:="no default value"},g
4324                 s,@TERMINFO_DIRS@,\${TERMINFO_DIRS:="no default value"},g
4325                 s,@NCURSES_MAJOR@,\${NCURSES_MAJOR:="no default value"},g
4326                 s,@NCURSES_MINOR@,\${NCURSES_MINOR:="no default value"},g
4327                 s,@NCURSES_PATCH@,\${NCURSES_PATCH:="no default value"},g
4328                 s,@NCURSES_OSPEED@,\${NCURSES_OSPEED:="no default value"},g
4329 CF_EOF
4330         ifelse($1,,,[
4331         for cf_name in $1
4332         do
4333                 cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
4334                 cf_name=`echo $cf_name|sed "$program_transform_name"`
4335 cat >>$cf_edit_man <<-CF_EOF
4336                 s,@$cf_NAME@,$cf_name,g
4337 CF_EOF
4338         done
4339         ])
4340 cat >>$cf_edit_man <<CF_EOF
4341 CF_EOF2
4342                 echo "...made $cf_man_alias"
4343         fi
4344
4345         aliases=
4346         cf_source=\`basename \$i\`
4347         inalias=\$cf_source
4348         test ! -f \$inalias && inalias="\$srcdir/\$inalias"
4349         if test ! -f \$inalias ; then
4350                 echo .. skipped \$cf_source
4351                 continue
4352         fi
4353 CF_EOF
4354
4355 if test "$MANPAGE_ALIASES" != no ; then
4356 cat >>$cf_edit_man <<CF_EOF
4357         nCurses=ignore.3x
4358         test $with_curses_h = yes && nCurses=ncurses.3x
4359         aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u; test \$inalias = \$nCurses && echo curses\`
4360 CF_EOF
4361 fi
4362
4363 if test "$MANPAGE_RENAMES" = no ; then
4364 cat >>$cf_edit_man <<CF_EOF
4365         # perform program transformations for section 1 man pages
4366         if test \$section = 1 ; then
4367                 cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
4368         else
4369                 cf_target=\$cf_subdir\${section}/\$cf_source
4370         fi
4371 CF_EOF
4372 else
4373 cat >>$cf_edit_man <<CF_EOF
4374         cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
4375         if test -z "\$cf_target" ; then
4376                 echo '? missing rename for '\$cf_source
4377                 cf_target="\$cf_source"
4378         fi
4379         cf_target="\$cf_subdir\${section}/\${cf_target}"
4380
4381 CF_EOF
4382 fi
4383
4384 cat >>$cf_edit_man <<CF_EOF
4385         sed     -f $cf_man_alias \\
4386 CF_EOF
4387
4388 if test -f $MANPAGE_RENAMES ; then
4389 cat >>$cf_edit_man <<CF_EOF
4390                 < \$i | sed -f `pwd`/edit_man.sed >\$TMP
4391 CF_EOF
4392 else
4393 cat >>$cf_edit_man <<CF_EOF
4394                 < \$i >\$TMP
4395 CF_EOF
4396 fi
4397
4398 cat >>$cf_edit_man <<CF_EOF
4399 if test \$cf_tables = yes ; then
4400         tbl \$TMP >\$TMP.out
4401         mv \$TMP.out \$TMP
4402 fi
4403 CF_EOF
4404
4405 if test $with_overwrite != yes ; then
4406 cat >>$cf_edit_man <<CF_EOF
4407         sed -e "/\#[    ]*include/s,<curses.h,<ncurses$LIB_SUFFIX/curses.h," < \$TMP >\$TMP.out
4408         mv \$TMP.out \$TMP
4409 CF_EOF
4410 fi
4411
4412 if test $with_curses_h != yes ; then
4413 cat >>$cf_edit_man <<CF_EOF
4414         sed -e "/\#[    ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
4415         mv \$TMP.out \$TMP
4416 CF_EOF
4417 fi
4418
4419 cat >>$cf_edit_man <<CF_EOF
4420         if test \$form = format ; then
4421                 nroff -man \$TMP >\$TMP.out
4422                 mv \$TMP.out \$TMP
4423         fi
4424 CF_EOF
4425
4426 if test -n "$cf_compress" ; then
4427 cat >>$cf_edit_man <<CF_EOF
4428         if test \$verb = installing ; then
4429         if ( $cf_compress -f \$TMP )
4430         then
4431                 mv \$TMP.$cf_so_strip \$TMP
4432         fi
4433         fi
4434         cf_target="\$cf_target.$cf_so_strip"
4435 CF_EOF
4436 fi
4437
4438 case "$MANPAGE_FORMAT" in #(vi
4439 *BSDI*)
4440 cat >>$cf_edit_man <<CF_EOF
4441         if test \$form = format ; then
4442                 # BSDI installs only .0 suffixes in the cat directories
4443                 cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
4444         fi
4445 CF_EOF
4446   ;;
4447 esac
4448
4449 cat >>$cf_edit_man <<CF_EOF
4450         suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
4451         if test \$verb = installing ; then
4452                 echo \$verb \$cf_target
4453                 \$INSTALL_DATA \$TMP \$cf_target
4454                 test -d \$cf_subdir\${section} &&
4455                 test -n "\$aliases" && (
4456                         cd \$cf_subdir\${section} && (
4457                                 cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
4458                                 test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
4459                                 cf_target=\`basename \$cf_target\`
4460                                 for cf_alias in \$aliases
4461                                 do
4462                                         if test \$section = 1 ; then
4463                                                 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4464                                         fi
4465
4466                                         if test "$MANPAGE_SYMLINKS" = yes ; then
4467                                                 if test -f \$cf_alias\${suffix} ; then
4468                                                         if ( cmp -s \$cf_target \$cf_alias\${suffix} )
4469                                                         then
4470                                                                 continue
4471                                                         fi
4472                                                 fi
4473                                                 echo .. \$verb alias \$cf_alias\${suffix}
4474 CF_EOF
4475 case "x$LN_S" in #(vi
4476 *-f) #(vi
4477 cat >>$cf_edit_man <<CF_EOF
4478                                                 $LN_S \$cf_target \$cf_alias\${suffix}
4479 CF_EOF
4480         ;;
4481 *)
4482 cat >>$cf_edit_man <<CF_EOF
4483                                                 rm -f \$cf_alias\${suffix}
4484                                                 $LN_S \$cf_target \$cf_alias\${suffix}
4485 CF_EOF
4486         ;;
4487 esac
4488 cat >>$cf_edit_man <<CF_EOF
4489                                         elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
4490                                                 echo ".so \$cf_source" >\$TMP
4491 CF_EOF
4492 if test -n "$cf_compress" ; then
4493 cat >>$cf_edit_man <<CF_EOF
4494                                                 if test -n "$cf_so_strip" ; then
4495                                                         $cf_compress -f \$TMP
4496                                                         mv \$TMP.$cf_so_strip \$TMP
4497                                                 fi
4498 CF_EOF
4499 fi
4500 cat >>$cf_edit_man <<CF_EOF
4501                                                 echo .. \$verb alias \$cf_alias\${suffix}
4502                                                 rm -f \$cf_alias\${suffix}
4503                                                 \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
4504                                         fi
4505                                 done
4506                         )
4507                 )
4508         elif test \$verb = removing ; then
4509                 test -f \$cf_target && (
4510                         echo \$verb \$cf_target
4511                         rm -f \$cf_target
4512                 )
4513                 test -d \$cf_subdir\${section} &&
4514                 test -n "\$aliases" && (
4515                         cd \$cf_subdir\${section} && (
4516                                 for cf_alias in \$aliases
4517                                 do
4518                                         if test \$section = 1 ; then
4519                                                 cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
4520                                         fi
4521
4522                                         echo .. \$verb alias \$cf_alias\${suffix}
4523                                         rm -f \$cf_alias\${suffix}
4524                                 done
4525                         )
4526                 )
4527         else
4528 #               echo ".hy 0"
4529                 cat \$TMP
4530         fi
4531         ;;
4532 esac
4533 done
4534
4535 if test $cf_inboth = yes ; then
4536 if test \$form != format ; then
4537         sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
4538 fi
4539 fi
4540
4541 exit 0
4542 CF_EOF
4543 chmod 755 $cf_edit_man
4544
4545 ])dnl
4546 dnl ---------------------------------------------------------------------------
4547 dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02
4548 dnl -----------
4549 dnl Checks for libraries.  At least one UNIX system, Apple Macintosh
4550 dnl Rhapsody 5.5, does not have -lm.  We cannot use the simpler
4551 dnl AC_CHECK_LIB(m,sin), because that fails for C++.
4552 AC_DEFUN([CF_MATH_LIB],
4553 [
4554 AC_CACHE_CHECK(if -lm needed for math functions,
4555         cf_cv_need_libm,[
4556         AC_TRY_LINK([
4557         #include <stdio.h>
4558         #include <math.h>
4559         ],
4560         [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)],
4561         [cf_cv_need_libm=no],
4562         [cf_cv_need_libm=yes])])
4563 if test "$cf_cv_need_libm" = yes
4564 then
4565 ifelse($1,,[
4566         CF_ADD_LIB(m)
4567 ],[$1=-lm])
4568 fi
4569 ])
4570 dnl ---------------------------------------------------------------------------
4571 dnl CF_MIXEDCASE_FILENAMES version: 6 updated: 2013/10/08 17:47:05
4572 dnl ----------------------
4573 dnl Check if the file-system supports mixed-case filenames.  If we're able to
4574 dnl create a lowercase name and see it as uppercase, it doesn't support that.
4575 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
4576 [
4577 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
4578 if test "$cross_compiling" = yes ; then
4579         case $target_alias in #(vi
4580         *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*) #(vi
4581                 cf_cv_mixedcase=no
4582                 ;;
4583         *)
4584                 cf_cv_mixedcase=yes
4585                 ;;
4586         esac
4587 else
4588         rm -f conftest CONFTEST
4589         echo test >conftest
4590         if test -f CONFTEST ; then
4591                 cf_cv_mixedcase=no
4592         else
4593                 cf_cv_mixedcase=yes
4594         fi
4595         rm -f conftest CONFTEST
4596 fi
4597 ])
4598 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
4599 ])dnl
4600 dnl ---------------------------------------------------------------------------
4601 dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
4602 dnl ----------
4603 dnl Check for a working mkstemp.  This creates two files, checks that they are
4604 dnl successfully created and distinct (AmigaOS apparently fails on the last).
4605 AC_DEFUN([CF_MKSTEMP],[
4606 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
4607 rm -rf conftest*
4608 AC_TRY_RUN([
4609 #include <sys/types.h>
4610 #include <stdlib.h>
4611 #include <stdio.h>
4612 #include <string.h>
4613 #include <sys/stat.h>
4614 int main()
4615 {
4616         char *tmpl = "conftestXXXXXX";
4617         char name[2][80];
4618         int n;
4619         int result = 0;
4620         int fd;
4621         struct stat sb;
4622
4623         umask(077);
4624         for (n = 0; n < 2; ++n) {
4625                 strcpy(name[n], tmpl);
4626                 if ((fd = mkstemp(name[n])) >= 0) {
4627                         if (!strcmp(name[n], tmpl)
4628                          || stat(name[n], &sb) != 0
4629                          || (sb.st_mode & S_IFMT) != S_IFREG
4630                          || (sb.st_mode & 077) != 0) {
4631                                 result = 1;
4632                         }
4633                         close(fd);
4634                 }
4635         }
4636         if (result == 0
4637          && !strcmp(name[0], name[1]))
4638                 result = 1;
4639         ${cf_cv_main_return:-return}(result);
4640 }
4641 ],[cf_cv_func_mkstemp=yes
4642 ],[cf_cv_func_mkstemp=no
4643 ],[cf_cv_func_mkstemp=maybe])
4644 ])
4645 if test "x$cf_cv_func_mkstemp" = xmaybe ; then
4646         AC_CHECK_FUNC(mkstemp)
4647 fi
4648 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
4649         AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
4650 fi
4651 ])dnl
4652 dnl ---------------------------------------------------------------------------
4653 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
4654 dnl ----------
4655 dnl Write a debug message to config.log, along with the line number in the
4656 dnl configure script.
4657 AC_DEFUN([CF_MSG_LOG],[
4658 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
4659 ])dnl
4660 dnl ---------------------------------------------------------------------------
4661 dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
4662 dnl ----------------
4663 dnl Set ncurses' ABI to 6 unless overridden by explicit configure option, and
4664 dnl warn about this.
4665 AC_DEFUN([CF_NCURSES_ABI_6],[
4666 if test "${with_abi_version+set}" != set; then
4667         case $cf_cv_rel_version in
4668         5.*)
4669                 cf_cv_rel_version=6.0
4670                 cf_cv_abi_version=6
4671                 AC_MSG_WARN(Overriding ABI version to $cf_cv_abi_version)
4672                 ;;
4673         esac
4674 fi
4675 ])dnl
4676 dnl ---------------------------------------------------------------------------
4677 dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03
4678 dnl ------------------
4679 dnl see CF_WITH_NO_LEAKS
4680 AC_DEFUN([CF_NO_LEAKS_OPTION],[
4681 AC_MSG_CHECKING(if you want to use $1 for testing)
4682 AC_ARG_WITH($1,
4683         [$2],
4684         [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
4685          $4
4686 ])
4687         : ${with_cflags:=-g}
4688         : ${with_no_leaks:=yes}
4689          with_$1=yes],
4690         [with_$1=])
4691 AC_MSG_RESULT(${with_$1:-no})
4692
4693 case .$with_cflags in #(vi
4694 .*-g*)
4695         case .$CFLAGS in #(vi
4696         .*-g*) #(vi
4697                 ;;
4698         *)
4699                 CF_ADD_CFLAGS([-g])
4700                 ;;
4701         esac
4702         ;;
4703 esac
4704 ])dnl
4705 dnl ---------------------------------------------------------------------------
4706 dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
4707 dnl ----------------
4708 dnl Check if the given variable is a number.  If not, report an error.
4709 dnl $1 is the variable
4710 dnl $2 is the message
4711 AC_DEFUN([CF_NUMBER_SYNTAX],[
4712 if test -n "$1" ; then
4713   case $1 in #(vi
4714   [[0-9]]*) #(vi
4715         ;;
4716   *)
4717         AC_MSG_ERROR($2 is not a number: $1)
4718         ;;
4719   esac
4720 else
4721   AC_MSG_ERROR($2 value is empty)
4722 fi
4723 ])dnl
4724 dnl ---------------------------------------------------------------------------
4725 dnl CF_OBJ_SUBDIR version: 6 updated: 2013/09/07 14:06:10
4726 dnl -------------
4727 dnl Compute the object-directory name from the given model name
4728 AC_DEFUN([CF_OBJ_SUBDIR],
4729 [
4730         case $1 in
4731         libtool) $2='obj_lo'  ;;
4732         normal)  $2='objects' ;;
4733         debug)   $2='obj_g' ;;
4734         profile) $2='obj_p' ;;
4735         shared)
4736                 case $cf_cv_system_name in #(vi
4737                 cygwin|msys) #(vi
4738                         $2='objects' ;;
4739                 *)
4740                         $2='obj_s' ;;
4741                 esac
4742         esac
4743 ])dnl
4744 dnl ---------------------------------------------------------------------------
4745 dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12
4746 dnl ----------
4747 dnl Provide a value for the $PATH and similar separator (or amend the value
4748 dnl as provided in autoconf 2.5x).
4749 AC_DEFUN([CF_PATHSEP],
4750 [
4751         AC_MSG_CHECKING(for PATH separator)
4752         case $cf_cv_system_name in
4753         os2*)   PATH_SEPARATOR=';'  ;;
4754         *)      ${PATH_SEPARATOR:=':'}  ;;
4755         esac
4756 ifelse([$1],,,[$1=$PATH_SEPARATOR])
4757         AC_SUBST(PATH_SEPARATOR)
4758         AC_MSG_RESULT($PATH_SEPARATOR)
4759 ])dnl
4760 dnl ---------------------------------------------------------------------------
4761 dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
4762 dnl --------------
4763 dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
4764 dnl begins with one of the prefix/exec_prefix variables, and then again if the
4765 dnl result begins with 'NONE'.  This is necessary to work around autoconf's
4766 dnl delayed evaluation of those symbols.
4767 AC_DEFUN([CF_PATH_SYNTAX],[
4768 if test "x$prefix" != xNONE; then
4769   cf_path_syntax="$prefix"
4770 else
4771   cf_path_syntax="$ac_default_prefix"
4772 fi
4773
4774 case ".[$]$1" in #(vi
4775 .\[$]\(*\)*|.\'*\'*) #(vi
4776   ;;
4777 ..|./*|.\\*) #(vi
4778   ;;
4779 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
4780   ;;
4781 .\[$]{*prefix}*|.\[$]{*dir}*) #(vi
4782   eval $1="[$]$1"
4783   case ".[$]$1" in #(vi
4784   .NONE/*)
4785     $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4786     ;;
4787   esac
4788   ;; #(vi
4789 .no|.NONE/*)
4790   $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
4791   ;;
4792 *)
4793   ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
4794   ;;
4795 esac
4796 ])dnl
4797 dnl ---------------------------------------------------------------------------
4798 dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
4799 dnl -------------
4800 dnl Check for the package-config program, unless disabled by command-line.
4801 AC_DEFUN([CF_PKG_CONFIG],
4802 [
4803 AC_MSG_CHECKING(if you want to use pkg-config)
4804 AC_ARG_WITH(pkg-config,
4805         [  --with-pkg-config{=path} enable/disable use of pkg-config],
4806         [cf_pkg_config=$withval],
4807         [cf_pkg_config=yes])
4808 AC_MSG_RESULT($cf_pkg_config)
4809
4810 case $cf_pkg_config in #(vi
4811 no) #(vi
4812         PKG_CONFIG=none
4813         ;;
4814 yes) #(vi
4815         CF_ACVERSION_CHECK(2.52,
4816                 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
4817                 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
4818         ;;
4819 *)
4820         PKG_CONFIG=$withval
4821         ;;
4822 esac
4823
4824 test -z "$PKG_CONFIG" && PKG_CONFIG=none
4825 if test "$PKG_CONFIG" != none ; then
4826         CF_PATH_SYNTAX(PKG_CONFIG)
4827 fi
4828
4829 AC_SUBST(PKG_CONFIG)
4830 ])dnl
4831 dnl ---------------------------------------------------------------------------
4832 dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
4833 dnl -----------------
4834 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
4835 dnl
4836 dnl     POSIX.1-1990                            _POSIX_SOURCE
4837 dnl     POSIX.1-1990 and                        _POSIX_SOURCE and
4838 dnl             POSIX.2-1992 C-Language                 _POSIX_C_SOURCE=2
4839 dnl             Bindings Option
4840 dnl     POSIX.1b-1993                           _POSIX_C_SOURCE=199309L
4841 dnl     POSIX.1c-1996                           _POSIX_C_SOURCE=199506L
4842 dnl     X/Open 2000                             _POSIX_C_SOURCE=200112L
4843 dnl
4844 dnl Parameters:
4845 dnl     $1 is the nominal value for _POSIX_C_SOURCE
4846 AC_DEFUN([CF_POSIX_C_SOURCE],
4847 [
4848 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
4849
4850 cf_save_CFLAGS="$CFLAGS"
4851 cf_save_CPPFLAGS="$CPPFLAGS"
4852
4853 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
4854 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
4855
4856 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
4857         CF_MSG_LOG(if the symbol is already defined go no further)
4858         AC_TRY_COMPILE([#include <sys/types.h>],[
4859 #ifndef _POSIX_C_SOURCE
4860 make an error
4861 #endif],
4862         [cf_cv_posix_c_source=no],
4863         [cf_want_posix_source=no
4864          case .$cf_POSIX_C_SOURCE in #(vi
4865          .[[12]]??*) #(vi
4866                 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4867                 ;;
4868          .2) #(vi
4869                 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
4870                 cf_want_posix_source=yes
4871                 ;;
4872          .*)
4873                 cf_want_posix_source=yes
4874                 ;;
4875          esac
4876          if test "$cf_want_posix_source" = yes ; then
4877                 AC_TRY_COMPILE([#include <sys/types.h>],[
4878 #ifdef _POSIX_SOURCE
4879 make an error
4880 #endif],[],
4881                 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
4882          fi
4883          CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
4884          CFLAGS="$cf_trim_CFLAGS"
4885          CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
4886          CF_MSG_LOG(if the second compile does not leave our definition intact error)
4887          AC_TRY_COMPILE([#include <sys/types.h>],[
4888 #ifndef _POSIX_C_SOURCE
4889 make an error
4890 #endif],,
4891          [cf_cv_posix_c_source=no])
4892          CFLAGS="$cf_save_CFLAGS"
4893          CPPFLAGS="$cf_save_CPPFLAGS"
4894         ])
4895 ])
4896
4897 if test "$cf_cv_posix_c_source" != no ; then
4898         CFLAGS="$cf_trim_CFLAGS"
4899         CPPFLAGS="$cf_trim_CPPFLAGS"
4900         CF_ADD_CFLAGS($cf_cv_posix_c_source)
4901 fi
4902
4903 ])dnl
4904 dnl ---------------------------------------------------------------------------
4905 dnl CF_PREDEFINE version: 2 updated: 2010/05/26 16:44:57
4906 dnl ------------
4907 dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
4908 dnl
4909 dnl $1 = symbol to test
4910 dnl $2 = value (if any) to use for a predefinition
4911 AC_DEFUN([CF_PREDEFINE],
4912 [
4913 AC_MSG_CHECKING(if we must define $1)
4914 AC_TRY_COMPILE([#include <sys/types.h>
4915 ],[
4916 #ifndef $1
4917 make an error
4918 #endif],[cf_result=no],[cf_result=yes])
4919 AC_MSG_RESULT($cf_result)
4920
4921 if test "$cf_result" = yes ; then
4922         CPPFLAGS="$CPPFLAGS ifelse([$2],,-D$1,[-D$1=$2])"
4923 elif test "x$2" != "x" ; then
4924         AC_MSG_CHECKING(checking for compatible value versus $2)
4925         AC_TRY_COMPILE([#include <sys/types.h>
4926 ],[
4927 #if $1-$2 < 0
4928 make an error
4929 #endif],[cf_result=yes],[cf_result=no])
4930         AC_MSG_RESULT($cf_result)
4931         if test "$cf_result" = no ; then
4932                 # perhaps we can override it - try...
4933                 CPPFLAGS="$CPPFLAGS -D$1=$2"
4934         fi
4935 fi
4936 ])dnl
4937 dnl ---------------------------------------------------------------------------
4938 dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
4939 dnl ------------
4940 dnl Append definitions and rules for the given programs to the subdirectory
4941 dnl Makefiles, and the recursion rule for the top-level Makefile.
4942 dnl
4943 dnl parameters
4944 dnl     $1 = script to run
4945 dnl     $2 = list of subdirectories
4946 dnl
4947 dnl variables
4948 dnl     $AWK
4949 AC_DEFUN([CF_PRG_RULES],
4950 [
4951 for cf_dir in $2
4952 do
4953         if test ! -d $srcdir/$cf_dir; then
4954                 continue
4955         elif test -f $srcdir/$cf_dir/programs; then
4956                 $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
4957         fi
4958 done
4959
4960 ])dnl
4961 dnl ---------------------------------------------------------------------------
4962 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
4963 dnl ----------
4964 dnl Check for archiver "ar".
4965 AC_DEFUN([CF_PROG_AR],[
4966 AC_CHECK_TOOL(AR, ar, ar)
4967 ])
4968 dnl ---------------------------------------------------------------------------
4969 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
4970 dnl -----------
4971 dnl Check for awk, ensure that the check found something.
4972 AC_DEFUN([CF_PROG_AWK],
4973 [
4974 AC_PROG_AWK
4975 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
4976 ])dnl
4977 dnl ---------------------------------------------------------------------------
4978 dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55
4979 dnl ----------
4980 dnl standard check for CC, plus followup sanity checks
4981 dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
4982 AC_DEFUN([CF_PROG_CC],[
4983 ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
4984 CF_GCC_VERSION
4985 CF_ACVERSION_CHECK(2.52,
4986         [AC_PROG_CC_STDC],
4987         [CF_ANSI_CC_REQD])
4988 CF_CC_ENV_FLAGS 
4989 ])dnl
4990 dnl ---------------------------------------------------------------------------
4991 dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
4992 dnl --------------
4993 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
4994 dnl the output file can be renamed, and allows for a shell variable that can
4995 dnl be used later.  The parameter is either CC or CXX.  The result is the
4996 dnl cache variable:
4997 dnl     $cf_cv_prog_CC_c_o
4998 dnl     $cf_cv_prog_CXX_c_o
4999 AC_DEFUN([CF_PROG_CC_C_O],
5000 [AC_REQUIRE([AC_PROG_CC])dnl
5001 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
5002 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
5003 [
5004 cat > conftest.$ac_ext <<CF_EOF
5005 #include <stdio.h>
5006 int main()
5007 {
5008         ${cf_cv_main_return:-return}(0);
5009 }
5010 CF_EOF
5011 # We do the test twice because some compilers refuse to overwrite an
5012 # existing .o file with -o, though they will create one.
5013 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
5014 if AC_TRY_EVAL(ac_try) &&
5015   test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
5016 then
5017   eval cf_cv_prog_$1_c_o=yes
5018 else
5019   eval cf_cv_prog_$1_c_o=no
5020 fi
5021 rm -rf conftest*
5022 ])dnl
5023 if test $cf_cv_prog_$1_c_o = yes; then
5024   AC_MSG_RESULT([yes])
5025 else
5026   AC_MSG_RESULT([no])
5027 fi
5028 ])dnl
5029 dnl ---------------------------------------------------------------------------
5030 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
5031 dnl -------------
5032 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
5033 dnl This macro adds a check to ensure the script found something.
5034 AC_DEFUN([CF_PROG_EGREP],
5035 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
5036    [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
5037     then ac_cv_prog_egrep='grep -E'
5038     else ac_cv_prog_egrep='egrep'
5039     fi])
5040  EGREP=$ac_cv_prog_egrep
5041  AC_SUBST([EGREP])
5042 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
5043 ])dnl
5044 dnl ---------------------------------------------------------------------------
5045 dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
5046 dnl ------------
5047 dnl Check for gnatmake, ensure that it is complete.
5048 AC_DEFUN([CF_PROG_GNAT],[
5049 cf_ada_make=gnatmake
5050 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
5051 if test "$ac_cv_prog_gnat_exists" = no; then
5052    cf_ada_make=
5053    cf_cv_prog_gnat_correct=no
5054 else
5055    CF_GNAT_VERSION
5056    AC_CHECK_PROG(M4_exists, m4, yes, no)
5057    if test "$ac_cv_prog_M4_exists" = no; then
5058       cf_cv_prog_gnat_correct=no
5059       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
5060    fi
5061    if test "$cf_cv_prog_gnat_correct" = yes; then
5062       AC_MSG_CHECKING(if GNAT works)
5063       CF_GNAT_TRY_RUN([procedure conftest;],
5064 [with Text_IO;
5065 with GNAT.OS_Lib;
5066 procedure conftest is
5067 begin
5068    Text_IO.Put ("Hello World");
5069    Text_IO.New_Line;
5070    GNAT.OS_Lib.OS_Exit (0);
5071 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
5072       AC_MSG_RESULT($cf_cv_prog_gnat_correct)
5073    fi
5074 fi
5075
5076 AC_SUBST(cf_ada_make)
5077 ])dnl
5078 dnl ---------------------------------------------------------------------------
5079 dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
5080 dnl ---------------
5081 dnl Force $INSTALL to be an absolute-path.  Otherwise, edit_man.sh and the
5082 dnl misc/tabset install won't work properly.  Usually this happens only when
5083 dnl using the fallback mkinstalldirs script
5084 AC_DEFUN([CF_PROG_INSTALL],
5085 [AC_PROG_INSTALL
5086 case $INSTALL in
5087 /*)
5088   ;;
5089 *)
5090   CF_DIRNAME(cf_dir,$INSTALL)
5091   test -z "$cf_dir" && cf_dir=.
5092   INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
5093   ;;
5094 esac
5095 ])dnl
5096 dnl ---------------------------------------------------------------------------
5097 dnl CF_PROG_LDCONFIG version: 3 updated: 2011/06/04 20:09:13
5098 dnl ----------------
5099 dnl Check for ldconfig, needed to fixup shared libraries that would be built
5100 dnl and then used in the install.
5101 AC_DEFUN([CF_PROG_LDCONFIG],[
5102 if test "$cross_compiling" = yes ; then
5103   LDCONFIG=:
5104 else
5105 case "$cf_cv_system_name" in #(vi
5106 dragonfly*|mirbsd*|freebsd*) #(vi
5107   test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
5108   ;;
5109 *) LDPATH=$PATH:/sbin:/usr/sbin
5110   AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
5111   ;;
5112 esac
5113 fi
5114 AC_SUBST(LDCONFIG)
5115 ])dnl
5116 dnl ---------------------------------------------------------------------------
5117 dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
5118 dnl ------------
5119 AC_DEFUN([CF_PROG_LINT],
5120 [
5121 AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
5122 AC_SUBST(LINT_OPTS)
5123 ])dnl
5124 dnl ---------------------------------------------------------------------------
5125 dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
5126 dnl ------------
5127 dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
5128 dnl option if it is supported.
5129 AC_DEFUN([CF_PROG_LN_S],[
5130 AC_PROG_LN_S
5131 AC_MSG_CHECKING(if $LN_S -f options work)
5132
5133 rm -f conf$$.src conf$$dst
5134 echo >conf$$.dst
5135 echo first >conf$$.src
5136 if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
5137         cf_prog_ln_sf=yes
5138 else
5139         cf_prog_ln_sf=no
5140 fi
5141 rm -f conf$$.dst conf$$src
5142 AC_MSG_RESULT($cf_prog_ln_sf)
5143
5144 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
5145 ])dnl
5146 dnl ---------------------------------------------------------------------------
5147 dnl CF_REGEX version: 10 updated: 2012/10/04 20:12:20
5148 dnl --------
5149 dnl Attempt to determine if we've got one of the flavors of regular-expression
5150 dnl code that we can support.
5151 AC_DEFUN([CF_REGEX],
5152 [
5153
5154 cf_regex_func=no
5155
5156 cf_regex_libs="regex re"
5157 case $host_os in #(vi
5158 mingw*)
5159         cf_regex_libs="gnurx $cf_regex_libs"
5160         ;;
5161 esac
5162
5163 AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[
5164         for cf_regex_lib in $cf_regex_libs
5165         do
5166                 AC_CHECK_LIB($cf_regex_lib,regcomp,[
5167                                 CF_ADD_LIB($cf_regex_lib)
5168                                 cf_regex_func=regcomp
5169                                 break])
5170         done
5171 ])
5172
5173 if test "$cf_regex_func" = no ; then
5174         AC_CHECK_FUNC(compile,[cf_regex_func=compile],[
5175                 AC_CHECK_LIB(gen,compile,[
5176                                 CF_ADD_LIB(gen)
5177                                 cf_regex_func=compile])])
5178 fi
5179
5180 if test "$cf_regex_func" = no ; then
5181         AC_MSG_WARN(cannot find regular expression library)
5182 fi
5183
5184 AC_CACHE_CHECK(for regular-expression headers,cf_cv_regex_hdrs,[
5185
5186 cf_cv_regex_hdrs=no
5187 case $cf_regex_func in #(vi
5188 compile) #(vi
5189         for cf_regex_hdr in regexp.h regexpr.h
5190         do
5191                 AC_TRY_LINK([#include <$cf_regex_hdr>],[
5192                         char *p = compile("", "", "", 0);
5193                         int x = step("", "");
5194                 ],[
5195                         cf_cv_regex_hdrs=$cf_regex_hdr
5196                         break
5197                 ])
5198         done
5199         ;;
5200 *)
5201         for cf_regex_hdr in regex.h
5202         do
5203                 AC_TRY_LINK([#include <sys/types.h>
5204 #include <$cf_regex_hdr>],[
5205                         regex_t *p;
5206                         int x = regcomp(p, "", 0);
5207                         int y = regexec(p, "", 0, 0, 0);
5208                         regfree(p);
5209                 ],[
5210                         cf_cv_regex_hdrs=$cf_regex_hdr
5211                         break
5212                 ])
5213         done
5214         ;;
5215 esac
5216
5217 ])
5218
5219 case $cf_cv_regex_hdrs in #(vi
5220     no)        AC_MSG_WARN(no regular expression header found) ;; #(vi
5221     regex.h)   AC_DEFINE(HAVE_REGEX_H_FUNCS,1,[Define to 1 to include regex.h for regular expressions]) ;; #(vi
5222     regexp.h)  AC_DEFINE(HAVE_REGEXP_H_FUNCS,1,[Define to 1 to include regexp.h for regular expressions]) ;; #(vi
5223     regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS,1,[Define to 1 to include regexpr.h for regular expressions]) ;;
5224 esac
5225 ])dnl
5226 dnl ---------------------------------------------------------------------------
5227 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
5228 dnl ----------------
5229 dnl Remove all -U and -D options that refer to the given symbol from a list
5230 dnl of C compiler options.  This works around the problem that not all
5231 dnl compilers process -U and -D options from left-to-right, so a -U option
5232 dnl cannot be used to cancel the effect of a preceding -D option.
5233 dnl
5234 dnl $1 = target (which could be the same as the source variable)
5235 dnl $2 = source (including '$')
5236 dnl $3 = symbol to remove
5237 define([CF_REMOVE_DEFINE],
5238 [
5239 $1=`echo "$2" | \
5240         sed     -e 's/-[[UD]]'"$3"'\(=[[^       ]]*\)\?[[       ]]/ /g' \
5241                 -e 's/-[[UD]]'"$3"'\(=[[^       ]]*\)\?[$]//g'`
5242 ])dnl
5243 dnl ---------------------------------------------------------------------------
5244 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
5245 dnl -------------
5246 dnl Remove the given library from the symbol
5247 dnl
5248 dnl $1 = target (which could be the same as the source variable)
5249 dnl $2 = source (including '$')
5250 dnl $3 = library to remove
5251 define([CF_REMOVE_LIB],
5252 [
5253 # remove $3 library from $2
5254 $1=`echo "$2" | sed -e 's/-l$3[[        ]]//g' -e 's/-l$3[$]//'`
5255 ])dnl
5256 dnl ---------------------------------------------------------------------------
5257 dnl CF_RPATH_HACK version: 11 updated: 2013/09/01 13:02:00
5258 dnl -------------
5259 AC_DEFUN([CF_RPATH_HACK],
5260 [
5261 AC_REQUIRE([CF_LD_RPATH_OPT])
5262 AC_MSG_CHECKING(for updated LDFLAGS)
5263 if test -n "$LD_RPATH_OPT" ; then
5264         AC_MSG_RESULT(maybe)
5265
5266         AC_CHECK_PROGS(cf_ldd_prog,ldd,no)
5267         cf_rpath_list="/usr/lib /lib"
5268         if test "$cf_ldd_prog" != no
5269         then
5270                 cf_rpath_oops=
5271
5272 AC_TRY_LINK([#include <stdio.h>],
5273                 [printf("Hello");],
5274                 [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort | uniq`
5275                  cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[     ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`])
5276
5277                 # If we passed the link-test, but get a "not found" on a given library,
5278                 # this could be due to inept reconfiguration of gcc to make it only
5279                 # partly honor /usr/local/lib (or whatever).  Sometimes this behavior
5280                 # is intentional, e.g., installing gcc in /usr/bin and suppressing the
5281                 # /usr/local libraries.
5282                 if test -n "$cf_rpath_oops"
5283                 then
5284                         for cf_rpath_src in $cf_rpath_oops
5285                         do
5286                                 for cf_rpath_dir in \
5287                                         /usr/local \
5288                                         /usr/pkg \
5289                                         /opt/sfw
5290                                 do
5291                                         if test -f $cf_rpath_dir/lib/$cf_rpath_src
5292                                         then
5293                                                 CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src)
5294                                                 LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
5295                                                 break
5296                                         fi
5297                                 done
5298                         done
5299                 fi
5300         fi
5301
5302         CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
5303
5304         CF_RPATH_HACK_2(LDFLAGS)
5305         CF_RPATH_HACK_2(LIBS)
5306
5307         CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
5308 else
5309         AC_MSG_RESULT(no)
5310 fi
5311 AC_SUBST(EXTRA_LDFLAGS)
5312 ])dnl
5313 dnl ---------------------------------------------------------------------------
5314 dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24
5315 dnl ---------------
5316 dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
5317 dnl EXTRA_LDFLAGS for each -L option found.
5318 dnl
5319 dnl $cf_rpath_list contains a list of directories to ignore.
5320 dnl
5321 dnl $1 = variable name to update.  The LDFLAGS variable should be the only one,
5322 dnl      but LIBS often has misplaced -L options.
5323 AC_DEFUN([CF_RPATH_HACK_2],
5324 [
5325 CF_VERBOSE(...checking $1 [$]$1)
5326
5327 cf_rpath_dst=
5328 for cf_rpath_src in [$]$1
5329 do
5330         case $cf_rpath_src in #(vi
5331         -L*) #(vi
5332
5333                 # check if this refers to a directory which we will ignore
5334                 cf_rpath_skip=no
5335                 if test -n "$cf_rpath_list"
5336                 then
5337                         for cf_rpath_item in $cf_rpath_list
5338                         do
5339                                 if test "x$cf_rpath_src" = "x-L$cf_rpath_item"
5340                                 then
5341                                         cf_rpath_skip=yes
5342                                         break
5343                                 fi
5344                         done
5345                 fi
5346
5347                 if test "$cf_rpath_skip" = no
5348                 then
5349                         # transform the option
5350                         if test "$LD_RPATH_OPT" = "-R " ; then
5351                                 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"`
5352                         else
5353                                 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"`
5354                         fi
5355
5356                         # if we have not already added this, add it now
5357                         cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"`
5358                         if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS"
5359                         then
5360                                 CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
5361                                 EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
5362                         fi
5363                 fi
5364                 ;;
5365         esac
5366         cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
5367 done
5368 $1=$cf_rpath_dst
5369
5370 CF_VERBOSE(...checked $1 [$]$1)
5371 AC_SUBST(EXTRA_LDFLAGS)
5372 ])dnl
5373 dnl ---------------------------------------------------------------------------
5374 dnl CF_SHARED_OPTS version: 84 updated: 2013/11/03 06:26:10
5375 dnl --------------
5376 dnl --------------
5377 dnl Attempt to determine the appropriate CC/LD options for creating a shared
5378 dnl library.
5379 dnl
5380 dnl Notes:
5381 dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within
5382 dnl the build-tree, i.e., by making use of the libraries that are compiled in
5383 dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the
5384 dnl shared library since that can lead to unexpected results at runtime.
5385 dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared
5386 dnl libraries are compiled in ../../lib
5387 dnl
5388 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
5389 dnl to install symbolic links to the rel/abi versions of shared libraries.
5390 dnl
5391 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
5392 dnl version when making symbolic links.
5393 dnl
5394 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
5395 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
5396 dnl (ex: libncurses.so.<ver>).
5397 dnl
5398 dnl Some loaders leave 'so_locations' lying around.  It's nice to clean up.
5399 AC_DEFUN([CF_SHARED_OPTS],
5400 [
5401         AC_REQUIRE([CF_LD_RPATH_OPT])
5402         RM_SHARED_OPTS=
5403         LOCAL_LDFLAGS=
5404         LOCAL_LDFLAGS2=
5405         LD_SHARED_OPTS=
5406         INSTALL_LIB="-m 644"
5407         : ${rel_builddir:=.}
5408
5409         shlibdir=$libdir
5410         AC_SUBST(shlibdir)
5411
5412         MAKE_DLLS="#"
5413         AC_SUBST(MAKE_DLLS)
5414
5415         cf_cv_do_symlinks=no
5416         cf_ld_rpath_opt=
5417         test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
5418
5419         AC_MSG_CHECKING(if release/abi version should be used for shared libs)
5420         AC_ARG_WITH(shlib-version,
5421         [  --with-shlib-version=X  Specify rel or abi version for shared libs],
5422         [test -z "$withval" && withval=auto
5423         case $withval in #(vi
5424         yes) #(vi
5425                 cf_cv_shlib_version=auto
5426                 ;;
5427         rel|abi|auto|no) #(vi
5428                 cf_cv_shlib_version=$withval
5429                 ;;
5430         *)
5431                 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
5432                 ;;
5433         esac
5434         ],[cf_cv_shlib_version=auto])
5435         AC_MSG_RESULT($cf_cv_shlib_version)
5436
5437         cf_cv_rm_so_locs=no
5438         cf_try_cflags=
5439
5440         # Some less-capable ports of gcc support only -fpic
5441         CC_SHARED_OPTS=
5442         if test "$GCC" = yes
5443         then
5444                 AC_MSG_CHECKING(which $CC option to use)
5445                 cf_save_CFLAGS="$CFLAGS"
5446                 for CC_SHARED_OPTS in -fPIC -fpic ''
5447                 do
5448                         CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
5449                         AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
5450                 done
5451                 AC_MSG_RESULT($CC_SHARED_OPTS)
5452                 CFLAGS="$cf_save_CFLAGS"
5453         fi
5454
5455         cf_cv_shlib_version_infix=no
5456
5457         case $cf_cv_system_name in #(vi
5458         aix4.[3-9]*|aix[[5-7]]*) #(vi
5459                 if test "$GCC" = yes; then
5460                         CC_SHARED_OPTS=
5461                         MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
5462                 else
5463                         # CC_SHARED_OPTS='-qpic=large -G'
5464                         # perhaps "-bM:SRE -bnoentry -bexpall"
5465                         MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
5466                 fi
5467                 ;;
5468         beos*) #(vi
5469                 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
5470                 ;;
5471         cygwin*) #(vi
5472                 CC_SHARED_OPTS=
5473                 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5474                 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
5475                 cf_cv_shlib_version=cygdll
5476                 cf_cv_shlib_version_infix=cygdll
5477                 shlibdir=$bindir
5478                 MAKE_DLLS=
5479                 cat >mk_shared_lib.sh <<-CF_EOF
5480                 #!/bin/sh
5481                 SHARED_LIB=\[$]1
5482                 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5483                 shift
5484                 cat <<-EOF
5485                 Linking shared library
5486                 ** SHARED_LIB \[$]SHARED_LIB
5487                 ** IMPORT_LIB \[$]IMPORT_LIB
5488 EOF
5489                 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
5490 CF_EOF
5491                 chmod +x mk_shared_lib.sh
5492                 ;;
5493         msys*) #(vi
5494                 CC_SHARED_OPTS=
5495                 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5496                 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
5497                 cf_cv_shlib_version=msysdll
5498                 cf_cv_shlib_version_infix=msysdll
5499                 shlibdir=$bindir
5500                 MAKE_DLLS=
5501                 cat >mk_shared_lib.sh <<-CF_EOF
5502                 #!/bin/sh
5503                 SHARED_LIB=\[$]1
5504                 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5505                 shift
5506                 cat <<-EOF
5507                 Linking shared library
5508                 ** SHARED_LIB \[$]SHARED_LIB
5509                 ** IMPORT_LIB \[$]IMPORT_LIB
5510 EOF
5511                 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
5512 CF_EOF
5513                 chmod +x mk_shared_lib.sh
5514                 ;;
5515         darwin*) #(vi
5516                 cf_try_cflags="no-cpp-precomp"
5517                 CC_SHARED_OPTS="-dynamic"
5518                 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
5519                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
5520                 cf_cv_shlib_version_infix=yes
5521                 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
5522                         cf_save_LDFLAGS=$LDFLAGS
5523                         LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
5524                         AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
5525                                 LDFLAGS=$cf_save_LDFLAGS])
5526                 if test $cf_cv_ldflags_search_paths_first = yes; then
5527                         LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
5528                 fi
5529                 ;;
5530         hpux[[7-8]]*) #(vi
5531                 # HP-UX 8.07 ld lacks "+b" option used for libdir search-list 
5532                 if test "$GCC" != yes; then
5533                         CC_SHARED_OPTS='+Z'
5534                 fi
5535                 MK_SHARED_LIB='${LD} -b -o $[@]'
5536                 INSTALL_LIB="-m 555"
5537                 ;;
5538         hpux*) #(vi
5539                 # (tested with gcc 2.7.2 -- I don't have c89)
5540                 if test "$GCC" = yes; then
5541                         LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
5542                 else
5543                         CC_SHARED_OPTS='+Z'
5544                         LD_SHARED_OPTS='-Wl,+b,${libdir}'
5545                 fi
5546                 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
5547                 # HP-UX shared libraries must be executable, and should be
5548                 # readonly to exploit a quirk in the memory manager.
5549                 INSTALL_LIB="-m 555"
5550                 ;;
5551         interix*)
5552                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5553                 if test "$cf_cv_shlib_version" = rel; then
5554                         cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
5555                 else
5556                         cf_shared_soname='`basename $@`'
5557                 fi
5558                 CC_SHARED_OPTS=
5559                 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
5560                 ;;
5561         irix*) #(vi
5562                 if test "$cf_cv_enable_rpath" = yes ; then
5563                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5564                 fi
5565                 # tested with IRIX 5.2 and 'cc'.
5566                 if test "$GCC" != yes; then
5567                         CC_SHARED_OPTS='-KPIC'
5568                         MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
5569                 else
5570                         MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
5571                 fi
5572                 cf_cv_rm_so_locs=yes
5573                 ;;
5574         linux*|gnu*|k*bsd*-gnu) #(vi
5575                 if test "$DFT_LWR_MODEL" = "shared" ; then
5576                         LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5577                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5578                 fi
5579                 if test "$cf_cv_enable_rpath" = yes ; then
5580                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5581                 fi
5582                 CF_SHARED_SONAME
5583                 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5584                 ;;
5585         mingw*) #(vi
5586                 cf_cv_shlib_version=mingw
5587                 cf_cv_shlib_version_infix=mingw
5588                 shlibdir=$bindir
5589                 MAKE_DLLS=
5590                 if test "$DFT_LWR_MODEL" = "shared" ; then
5591                         LOCAL_LDFLAGS="-Wl,--enable-auto-import"
5592                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5593                         EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
5594                 fi
5595                 CC_SHARED_OPTS=
5596                 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
5597                 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
5598                 cat >mk_shared_lib.sh <<-CF_EOF
5599                 #!/bin/sh
5600                 SHARED_LIB=\[$]1
5601                 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
5602                 shift
5603                 cat <<-EOF
5604                 Linking shared library
5605                 ** SHARED_LIB \[$]SHARED_LIB
5606                 ** IMPORT_LIB \[$]IMPORT_LIB
5607 EOF
5608                 exec \[$]* -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
5609 CF_EOF
5610                 chmod +x mk_shared_lib.sh
5611                 ;;
5612         openbsd[[2-9]].*|mirbsd*) #(vi
5613                 if test "$DFT_LWR_MODEL" = "shared" ; then
5614                         LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5615                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5616                 fi
5617                 if test "$cf_cv_enable_rpath" = yes ; then
5618                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5619                 fi
5620                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5621                 CF_SHARED_SONAME
5622                 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
5623                 ;;
5624         nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
5625                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5626                 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
5627                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5628                 ;;
5629         dragonfly*|freebsd*) #(vi
5630                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5631                 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
5632                         LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
5633                         LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
5634                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5635                 fi
5636                 CF_SHARED_SONAME
5637                 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
5638                 ;;
5639         netbsd*) #(vi
5640                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
5641                 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
5642                         LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
5643                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5644                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
5645                         if test "$cf_cv_shlib_version" = auto; then
5646                         if test -f /usr/libexec/ld.elf_so; then
5647                                 cf_cv_shlib_version=abi
5648                         else
5649                                 cf_cv_shlib_version=rel
5650                         fi
5651                         fi
5652                         CF_SHARED_SONAME
5653                         MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
5654                 else
5655                         MK_SHARED_LIB='${CC} -Wl,-shared -Wl,-Bshareable -o $[@]'
5656                 fi
5657                 ;;
5658         osf*|mls+*) #(vi
5659                 # tested with OSF/1 V3.2 and 'cc'
5660                 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
5661                 # link with shared libs).
5662                 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
5663                 case $host_os in #(vi
5664                 osf4*)
5665                         MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
5666                         ;;
5667                 esac
5668                 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
5669                 if test "$DFT_LWR_MODEL" = "shared" ; then
5670                         LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
5671                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5672                 fi
5673                 cf_cv_rm_so_locs=yes
5674                 ;;
5675         sco3.2v5*)  # (also uw2* and UW7: hops 13-Apr-98
5676                 # tested with osr5.0.5
5677                 if test "$GCC" != yes; then
5678                         CC_SHARED_OPTS='-belf -KPIC'
5679                 fi
5680                 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
5681                 if test "$cf_cv_enable_rpath" = yes ; then
5682                         # only way is to set LD_RUN_PATH but no switch for it
5683                         RUN_PATH=$libdir
5684                 fi
5685                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5686                 LINK_PROGS='LD_RUN_PATH=${libdir}'
5687                 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
5688                 ;;
5689         sunos4*) #(vi
5690                 # tested with SunOS 4.1.1 and gcc 2.7.0
5691                 if test "$GCC" != yes; then
5692                         CC_SHARED_OPTS='-KPIC'
5693                 fi
5694                 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
5695                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
5696                 ;;
5697         solaris2*) #(vi
5698                 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
5699                 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
5700                 if test "$DFT_LWR_MODEL" = "shared" ; then
5701                         LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
5702                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
5703                 fi
5704                 if test "$cf_cv_enable_rpath" = yes ; then
5705                         EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
5706                 fi
5707                 CF_SHARED_SONAME
5708                 if test "$GCC" != yes; then
5709                         cf_save_CFLAGS="$CFLAGS"
5710                         for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
5711                         do
5712                                 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
5713                                 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
5714                         done
5715                         CFLAGS="$cf_save_CFLAGS"
5716                         CC_SHARED_OPTS=$cf_shared_opts
5717                         MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
5718                 else
5719                         MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
5720                 fi
5721                 ;;
5722         sysv5uw7*|unix_sv*) #(vi
5723                 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
5724                 if test "$GCC" != yes; then
5725                         CC_SHARED_OPTS='-KPIC'
5726                 fi
5727                 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
5728                 ;;
5729         *)
5730                 CC_SHARED_OPTS='unknown'
5731                 MK_SHARED_LIB='echo unknown'
5732                 ;;
5733         esac
5734
5735         # This works if the last tokens in $MK_SHARED_LIB are the -o target.
5736         case "$cf_cv_shlib_version" in #(vi
5737         rel|abi)
5738                 case "$MK_SHARED_LIB" in #(vi
5739                 *'-o $[@]') #(vi
5740                         test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
5741                         ;;
5742                 *)
5743                         AC_MSG_WARN(ignored --with-shlib-version)
5744                         ;;
5745                 esac
5746                 ;;
5747         esac
5748
5749         if test -n "$cf_try_cflags"
5750         then
5751 cat > conftest.$ac_ext <<EOF
5752 #line __oline__ "${as_me:-configure}"
5753 #include <stdio.h>
5754 int main(int argc, char *argv[[]])
5755 {
5756         printf("hello\n");
5757         return (argv[[argc-1]] == 0) ;
5758 }
5759 EOF
5760                 cf_save_CFLAGS="$CFLAGS"
5761                 for cf_opt in $cf_try_cflags
5762                 do
5763                         CFLAGS="$cf_save_CFLAGS -$cf_opt"
5764                         AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
5765                         if AC_TRY_EVAL(ac_compile); then
5766                                 AC_MSG_RESULT(yes)
5767                                 cf_save_CFLAGS="$CFLAGS"
5768                         else
5769                                 AC_MSG_RESULT(no)
5770                         fi
5771                 done
5772                 CFLAGS="$cf_save_CFLAGS"
5773         fi
5774
5775
5776         # RPATH_LIST is a colon-separated list of directories
5777         test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
5778         test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
5779
5780         test $cf_cv_rm_so_locs = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations"
5781
5782         CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
5783         CF_VERBOSE(MK_SHARED_LIB:  $MK_SHARED_LIB)
5784
5785         AC_SUBST(CC_SHARED_OPTS)
5786         AC_SUBST(LD_RPATH_OPT)
5787         AC_SUBST(LD_SHARED_OPTS)
5788         AC_SUBST(MK_SHARED_LIB)
5789         AC_SUBST(RM_SHARED_OPTS)
5790
5791         AC_SUBST(LINK_PROGS)
5792         AC_SUBST(LINK_TESTS)
5793
5794         AC_SUBST(EXTRA_LDFLAGS)
5795         AC_SUBST(LOCAL_LDFLAGS)
5796         AC_SUBST(LOCAL_LDFLAGS2)
5797
5798         AC_SUBST(INSTALL_LIB)
5799         AC_SUBST(RPATH_LIST)
5800 ])dnl
5801 dnl ---------------------------------------------------------------------------
5802 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
5803 dnl ----------------
5804 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
5805 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
5806 dnl option.
5807 dnl
5808 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
5809 dnl If missing, use "rel".
5810 define([CF_SHARED_SONAME],
5811 [
5812         test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
5813         if test "$cf_cv_shlib_version" = rel; then
5814                 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
5815         else
5816                 cf_cv_shared_soname='`basename $[@]`'
5817         fi
5818 ])
5819 dnl ---------------------------------------------------------------------------
5820 dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
5821 dnl -----------
5822 dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
5823 dnl programs need this test).
5824 dnl
5825 dnl This is really a MacOS X 10.4.3 workaround.  Defining _POSIX_C_SOURCE
5826 dnl forces SIGWINCH to be undefined (breaks xterm, ncurses).  Oddly, the struct
5827 dnl winsize declaration is left alone - we may revisit this if Apple choose to
5828 dnl break that part of the interface as well.
5829 AC_DEFUN([CF_SIGWINCH],
5830 [
5831 AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
5832         AC_TRY_COMPILE([
5833 #include <sys/types.h>
5834 #include <sys/signal.h>
5835 ],[int x = SIGWINCH],
5836         [cf_cv_define_sigwinch=yes],
5837         [AC_TRY_COMPILE([
5838 #undef _XOPEN_SOURCE
5839 #undef _POSIX_SOURCE
5840 #undef _POSIX_C_SOURCE
5841 #include <sys/types.h>
5842 #include <sys/signal.h>
5843 ],[int x = SIGWINCH],
5844         [cf_cv_define_sigwinch=maybe],
5845         [cf_cv_define_sigwinch=no])
5846 ])
5847 ])
5848
5849 if test "$cf_cv_define_sigwinch" = maybe ; then
5850 AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
5851 cf_cv_fixup_sigwinch=unknown
5852 cf_sigwinch=32
5853 while test $cf_sigwinch != 1
5854 do
5855         AC_TRY_COMPILE([
5856 #undef _XOPEN_SOURCE
5857 #undef _POSIX_SOURCE
5858 #undef _POSIX_C_SOURCE
5859 #include <sys/types.h>
5860 #include <sys/signal.h>
5861 ],[
5862 #if SIGWINCH != $cf_sigwinch
5863 make an error
5864 #endif
5865 int x = SIGWINCH],
5866         [cf_cv_fixup_sigwinch=$cf_sigwinch
5867          break])
5868
5869 cf_sigwinch=`expr $cf_sigwinch - 1`
5870 done
5871 ])
5872
5873         if test "$cf_cv_fixup_sigwinch" != unknown ; then
5874                 CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
5875         fi
5876 fi
5877 ])dnl
5878 dnl ---------------------------------------------------------------------------
5879 dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20
5880 dnl ---------------
5881 dnl signal handler, but there are some gcc depedencies in that recommendation.
5882 dnl Try anyway.
5883 AC_DEFUN([CF_SIG_ATOMIC_T],
5884 [
5885 AC_MSG_CHECKING(for signal global datatype)
5886 AC_CACHE_VAL(cf_cv_sig_atomic_t,[
5887         for cf_type in \
5888                 "volatile sig_atomic_t" \
5889                 "sig_atomic_t" \
5890                 "int"
5891         do
5892         AC_TRY_COMPILE([
5893 #include <sys/types.h>
5894 #include <signal.h>
5895 #include <stdio.h>
5896
5897 extern $cf_type x;
5898 $cf_type x;
5899 static void handler(int sig)
5900 {
5901         x = 5;
5902 }],
5903                 [signal(SIGINT, handler);
5904                  x = 1],
5905                 [cf_cv_sig_atomic_t=$cf_type],
5906                 [cf_cv_sig_atomic_t=no])
5907                 test "$cf_cv_sig_atomic_t" != no && break
5908         done
5909         ])
5910 AC_MSG_RESULT($cf_cv_sig_atomic_t)
5911 test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype])
5912 ])dnl
5913 dnl ---------------------------------------------------------------------------
5914 dnl CF_SIZECHANGE version: 9 updated: 2012/10/06 11:17:15
5915 dnl -------------
5916 dnl Check for definitions & structures needed for window size-changing
5917 dnl FIXME: check that this works with "snake" (HP-UX 10.x)
5918 AC_DEFUN([CF_SIZECHANGE],
5919 [
5920 AC_REQUIRE([CF_STRUCT_TERMIOS])
5921 AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
5922     cf_cv_sizechange=unknown
5923     cf_save_CPPFLAGS="$CPPFLAGS"
5924
5925 for cf_opts in "" "NEED_PTEM_H"
5926 do
5927
5928     CPPFLAGS="$cf_save_CPPFLAGS"
5929     test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
5930     AC_TRY_COMPILE([#include <sys/types.h>
5931 #ifdef HAVE_TERMIOS_H
5932 #include <termios.h>
5933 #else
5934 #ifdef HAVE_TERMIO_H
5935 #include <termio.h>
5936 #endif
5937 #endif
5938 #ifdef NEED_PTEM_H
5939 /* This is a workaround for SCO:  they neglected to define struct winsize in
5940  * termios.h -- it's only in termio.h and ptem.h
5941  */
5942 #include        <sys/stream.h>
5943 #include        <sys/ptem.h>
5944 #endif
5945 #if !defined(sun) || !defined(HAVE_TERMIOS_H)
5946 #include <sys/ioctl.h>
5947 #endif
5948 ],[
5949 #ifdef TIOCGSIZE
5950         struct ttysize win;     /* FIXME: what system is this? */
5951         int y = win.ts_lines;
5952         int x = win.ts_cols;
5953 #else
5954 #ifdef TIOCGWINSZ
5955         struct winsize win;
5956         int y = win.ws_row;
5957         int x = win.ws_col;
5958 #else
5959         no TIOCGSIZE or TIOCGWINSZ
5960 #endif /* TIOCGWINSZ */
5961 #endif /* TIOCGSIZE */
5962         ],
5963         [cf_cv_sizechange=yes],
5964         [cf_cv_sizechange=no])
5965
5966         CPPFLAGS="$cf_save_CPPFLAGS"
5967         if test "$cf_cv_sizechange" = yes ; then
5968                 echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
5969                 test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
5970                 break
5971         fi
5972 done
5973 ])
5974 if test "$cf_cv_sizechange" != no ; then
5975         AC_DEFINE(HAVE_SIZECHANGE,1,[Define to 1 if sizechar declarations are provided])
5976         case $cf_cv_sizechange in #(vi
5977         NEED*)
5978                 AC_DEFINE_UNQUOTED($cf_cv_sizechange )
5979                 ;;
5980         esac
5981 fi
5982 ])dnl
5983 dnl ---------------------------------------------------------------------------
5984 dnl CF_SRC_MODULES version: 27 updated: 2013/08/03 18:18:08
5985 dnl --------------
5986 dnl For each parameter, test if the source-directory exists, and if it contains
5987 dnl a 'modules' file.  If so, add to the list $cf_cv_src_modules which we'll
5988 dnl use in CF_LIB_RULES.
5989 dnl
5990 dnl This uses the configured value to make the lists SRC_SUBDIRS and
5991 dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
5992 AC_DEFUN([CF_SRC_MODULES],
5993 [
5994 AC_MSG_CHECKING(for src modules)
5995
5996 # dependencies and linker-arguments for test-programs
5997 TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
5998 TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEP2"
5999 if test "$DFT_LWR_MODEL" = "libtool"; then
6000         TEST_ARGS="${TEST_DEPS}"
6001         TEST_ARG2="${TEST_DEP2}"
6002 else
6003         TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
6004         TEST_ARG2="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARG2"
6005 fi
6006
6007 PC_MODULES_TO_MAKE="ncurses${DFT_ARG_SUFFIX}"
6008 cf_cv_src_modules=
6009 for cf_dir in $1
6010 do
6011         if test -f $srcdir/$cf_dir/modules; then
6012
6013                 # We may/may not have tack in the distribution, though the
6014                 # makefile is.
6015                 if test $cf_dir = tack ; then
6016                         if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
6017                                 continue
6018                         fi
6019                 fi
6020
6021                 if test -z "$cf_cv_src_modules"; then
6022                         cf_cv_src_modules=$cf_dir
6023                 else
6024                         cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
6025                 fi
6026
6027                 # Make the ncurses_cfg.h file record the library interface files as
6028                 # well.  These are header files that are the same name as their
6029                 # directory.  Ncurses is the only library that does not follow
6030                 # that pattern.
6031                 if test $cf_dir = tack ; then
6032                         continue
6033                 elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
6034                         CF_UPPER(cf_have_include,$cf_dir)
6035                         AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
6036                         AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
6037                         TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
6038                         TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEP2"
6039                         if test "$DFT_LWR_MODEL" = "libtool"; then
6040                                 TEST_ARGS="${TEST_DEPS}"
6041                                 TEST_ARG2="${TEST_DEP2}"
6042                         else
6043                                 TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
6044                                 TEST_ARG2="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARG2"
6045                         fi
6046                         PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${DFT_ARG_SUFFIX}"
6047                 fi
6048         fi
6049 done
6050 AC_MSG_RESULT($cf_cv_src_modules)
6051
6052 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
6053 TEST_ARG2="-L${LIB_2ND} $TEST_ARG2"
6054
6055 AC_SUBST(TEST_ARGS)
6056 AC_SUBST(TEST_DEPS)
6057
6058 AC_SUBST(TEST_ARG2)
6059 AC_SUBST(TEST_DEP2)
6060
6061 SRC_SUBDIRS=
6062 if test "x$cf_with_manpages" != xno ; then
6063         SRC_SUBDIRS="$SRC_SUBDIRS man"
6064 fi
6065 SRC_SUBDIRS="$SRC_SUBDIRS include"
6066 for cf_dir in $cf_cv_src_modules
6067 do
6068         SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
6069 done
6070 if test "x$cf_with_tests" != "xno" ; then
6071         SRC_SUBDIRS="$SRC_SUBDIRS test"
6072 fi
6073 if test "x$cf_with_db_install" = xyes; then
6074         test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
6075 fi
6076 if test "$cf_with_cxx_binding" != no; then
6077         PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ncurses++${DFT_ARG_SUFFIX}"
6078         SRC_SUBDIRS="$SRC_SUBDIRS c++"
6079 fi
6080
6081 test "x$with_termlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TINFO_ARG_SUFFIX"
6082 test "x$with_ticlib" != xno && PC_MODULES_TO_MAKE="$PC_MODULES_TO_MAKE $TICS_ARG_SUFFIX"
6083
6084 AC_SUBST(PC_MODULES_TO_MAKE)
6085
6086 ADA_SUBDIRS=
6087 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = xyes && test -f $srcdir/Ada95/Makefile.in; then
6088         SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
6089         ADA_SUBDIRS="gen src"
6090         if test "x$cf_with_tests" != "xno" ; then
6091                 ADA_SUBDIRS="$ADA_SUBDIRS samples"
6092         fi
6093 fi
6094
6095 SUB_MAKEFILES=
6096 for cf_dir in $SRC_SUBDIRS
6097 do
6098         SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
6099 done
6100
6101 if test -n "$ADA_SUBDIRS"; then
6102         for cf_dir in $ADA_SUBDIRS
6103         do
6104                 SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
6105         done
6106         AC_SUBST(ADA_SUBDIRS)
6107 fi
6108 ])dnl
6109 dnl ---------------------------------------------------------------------------
6110 dnl CF_STDCPP_LIBRARY version: 7 updated: 2010/05/29 16:31:02
6111 dnl -----------------
6112 dnl Check for -lstdc++, which is GNU's standard C++ library.
6113 AC_DEFUN([CF_STDCPP_LIBRARY],
6114 [
6115 if test -n "$GXX" ; then
6116 case $cf_cv_system_name in #(vi
6117 os2*) #(vi
6118         cf_stdcpp_libname=stdcpp
6119         ;;
6120 *)
6121         cf_stdcpp_libname=stdc++
6122         ;;
6123 esac
6124 AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
6125         cf_save="$LIBS"
6126         CF_ADD_LIB($cf_stdcpp_libname)
6127 AC_TRY_LINK([
6128 #include <strstream.h>],[
6129 char buf[80];
6130 strstreambuf foo(buf, sizeof(buf))
6131 ],
6132         [cf_cv_libstdcpp=yes],
6133         [cf_cv_libstdcpp=no])
6134         LIBS="$cf_save"
6135 ])
6136 test "$cf_cv_libstdcpp" = yes && CF_ADD_LIB($cf_stdcpp_libname,CXXLIBS)
6137 fi
6138 ])dnl
6139 dnl ---------------------------------------------------------------------------
6140 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
6141 dnl --------------
6142 dnl     Remove "-g" option from the compiler options
6143 AC_DEFUN([CF_STRIP_G_OPT],
6144 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
6145 dnl ---------------------------------------------------------------------------
6146 dnl CF_STRUCT_SIGACTION version: 5 updated: 2012/10/06 17:56:13
6147 dnl -------------------
6148 dnl Check if we need _POSIX_SOURCE defined to use struct sigaction.  We'll only
6149 dnl do this if we've found the sigaction function.
6150 AC_DEFUN([CF_STRUCT_SIGACTION],[
6151 AC_REQUIRE([CF_XOPEN_SOURCE])
6152
6153 if test "$ac_cv_func_sigaction" = yes; then
6154 AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
6155 AC_TRY_COMPILE([
6156 #include <sys/types.h>
6157 #include <signal.h>],
6158         [struct sigaction act],
6159         [sigact_bad=no],
6160         [
6161 AC_TRY_COMPILE([
6162 #define _POSIX_SOURCE
6163 #include <sys/types.h>
6164 #include <signal.h>],
6165         [struct sigaction act],
6166         [sigact_bad=yes
6167          AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])],
6168          [sigact_bad=unknown])])
6169 AC_MSG_RESULT($sigact_bad)
6170 fi
6171 ])dnl
6172 dnl ---------------------------------------------------------------------------
6173 dnl CF_STRUCT_TERMIOS version: 7 updated: 2012/10/06 17:56:13
6174 dnl -----------------
6175 dnl Some machines require _POSIX_SOURCE to completely define struct termios.
6176 AC_DEFUN([CF_STRUCT_TERMIOS],[
6177 AC_REQUIRE([CF_XOPEN_SOURCE])
6178
6179 AC_CHECK_HEADERS( \
6180 termio.h \
6181 termios.h \
6182 unistd.h \
6183 )
6184
6185 if test "$ISC" = yes ; then
6186         AC_CHECK_HEADERS( sys/termio.h )
6187 fi
6188 if test "$ac_cv_header_termios_h" = yes ; then
6189         case "$CFLAGS $CPPFLAGS" in
6190         *-D_POSIX_SOURCE*)
6191                 termios_bad=dunno ;;
6192         *)      termios_bad=maybe ;;
6193         esac
6194         if test "$termios_bad" = maybe ; then
6195         AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
6196         AC_TRY_COMPILE([#include <termios.h>],
6197                 [struct termios foo; int x = foo.c_iflag],
6198                 termios_bad=no, [
6199                 AC_TRY_COMPILE([
6200 #define _POSIX_SOURCE
6201 #include <termios.h>],
6202                         [struct termios foo; int x = foo.c_iflag],
6203                         termios_bad=unknown,
6204                         termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE]))
6205                         ])
6206         AC_MSG_RESULT($termios_bad)
6207         fi
6208 fi
6209 ])dnl
6210 dnl ---------------------------------------------------------------------------
6211 dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
6212 dnl --------------
6213 dnl Construct a search-list for a nonstandard header/lib-file
6214 dnl     $1 = the variable to return as result
6215 dnl     $2 = the package name
6216 dnl     $3 = the subdirectory, e.g., bin, include or lib
6217 AC_DEFUN([CF_SUBDIR_PATH],
6218 [
6219 $1=
6220
6221 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
6222 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
6223 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
6224 CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
6225 CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
6226 ])dnl
6227 dnl ---------------------------------------------------------------------------
6228 dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
6229 dnl -----------
6230 dnl     Shorthand macro for substituting things that the user may override
6231 dnl     with an environment variable.
6232 dnl
6233 dnl     $1 = condition to pass to "test"
6234 dnl     $2 = environment variable
6235 dnl     $3 = value if the test succeeds
6236 dnl     $4 = value if the test fails
6237 AC_DEFUN([CF_SUBST_IF],
6238 [
6239 if test $1 ; then
6240         $2=$3
6241 ifelse($4,,,[else
6242         $2=$4])
6243 fi
6244 AC_SUBST($2)
6245 ])dnl
6246 dnl ---------------------------------------------------------------------------
6247 dnl CF_SUBST_NCURSES_VERSION version: 8 updated: 2006/09/16 11:40:59
6248 dnl ------------------------
6249 dnl Get the version-number for use in shared-library naming, etc.
6250 AC_DEFUN([CF_SUBST_NCURSES_VERSION],
6251 [
6252 AC_REQUIRE([CF_PROG_EGREP])
6253 NCURSES_MAJOR="`$ac_cv_prog_egrep '^NCURSES_MAJOR[[     ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
6254 NCURSES_MINOR="`$ac_cv_prog_egrep '^NCURSES_MINOR[[     ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
6255 NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[[     ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
6256 cf_cv_abi_version=${NCURSES_MAJOR}
6257 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
6258 dnl Show the computed version, for logging
6259 cf_cv_timestamp=`date`
6260 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
6261 dnl We need these values in the generated headers
6262 AC_SUBST(NCURSES_MAJOR)
6263 AC_SUBST(NCURSES_MINOR)
6264 AC_SUBST(NCURSES_PATCH)
6265 dnl We need these values in the generated makefiles
6266 AC_SUBST(cf_cv_rel_version)
6267 AC_SUBST(cf_cv_abi_version)
6268 AC_SUBST(cf_cv_builtin_bool)
6269 AC_SUBST(cf_cv_header_stdbool_h)
6270 AC_SUBST(cf_cv_type_of_bool)dnl
6271 ])dnl
6272 dnl ---------------------------------------------------------------------------
6273 dnl CF_SYS_TIME_SELECT version: 5 updated: 2012/10/04 05:24:07
6274 dnl ------------------
6275 dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
6276 dnl older SCO configurations.
6277 AC_DEFUN([CF_SYS_TIME_SELECT],
6278 [
6279 AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
6280 AC_CACHE_VAL(cf_cv_sys_time_select,[
6281 AC_TRY_COMPILE([
6282 #include <sys/types.h>
6283 #ifdef HAVE_SYS_TIME_H
6284 #include <sys/time.h>
6285 #endif
6286 #ifdef HAVE_SYS_SELECT_H
6287 #include <sys/select.h>
6288 #endif
6289 ],[],[cf_cv_sys_time_select=yes],
6290      [cf_cv_sys_time_select=no])
6291      ])
6292 AC_MSG_RESULT($cf_cv_sys_time_select)
6293 test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include <sys/time.h> with <sys/select.h>])
6294 ])dnl
6295 dnl ---------------------------------------------------------------------------
6296 dnl CF_TOP_BUILDDIR version: 2 updated: 2013/07/27 17:38:32
6297 dnl ---------------
6298 dnl Define a top_builddir symbol, for applications that need an absolute path.
6299 AC_DEFUN([CF_TOP_BUILDDIR],
6300 [
6301 top_builddir=ifelse($1,,`pwd`,$1)
6302 AC_SUBST(top_builddir)
6303 ])dnl
6304 dnl ---------------------------------------------------------------------------
6305 dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
6306 dnl -------------------
6307 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
6308 dnl can define it successfully.
6309 AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
6310 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
6311         AC_TRY_COMPILE([
6312 #include <stdlib.h>
6313 #include <string.h>
6314 #include <sys/types.h>
6315 ],[
6316 #ifndef _XOPEN_SOURCE
6317 make an error
6318 #endif],
6319         [cf_cv_xopen_source=no],
6320         [cf_save="$CPPFLAGS"
6321          CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
6322          AC_TRY_COMPILE([
6323 #include <stdlib.h>
6324 #include <string.h>
6325 #include <sys/types.h>
6326 ],[
6327 #ifdef _XOPEN_SOURCE
6328 make an error
6329 #endif],
6330         [cf_cv_xopen_source=no],
6331         [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
6332         CPPFLAGS="$cf_save"
6333         ])
6334 ])
6335
6336 if test "$cf_cv_xopen_source" != no ; then
6337         CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
6338         CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
6339         cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
6340         CF_ADD_CFLAGS($cf_temp_xopen_source)
6341 fi
6342 ])
6343 dnl ---------------------------------------------------------------------------
6344 dnl CF_TYPEOF_CHTYPE version: 9 updated: 2012/10/06 17:56:13
6345 dnl ----------------
6346 dnl Determine the type we should use for chtype (and attr_t, which is treated
6347 dnl as the same thing).  We want around 32 bits, so on most machines want a
6348 dnl long, but on newer 64-bit machines, probably want an int.  If we're using
6349 dnl wide characters, we have to have a type compatible with that, as well.
6350 AC_DEFUN([CF_TYPEOF_CHTYPE],
6351 [
6352 AC_MSG_CHECKING([for type of chtype])
6353 AC_CACHE_VAL(cf_cv_typeof_chtype,[
6354                 AC_TRY_RUN([
6355 #define WANT_BITS 31
6356 #include <stdio.h>
6357 int main()
6358 {
6359         FILE *fp = fopen("cf_test.out", "w");
6360         if (fp != 0) {
6361                 char *result = "long";
6362                 if (sizeof(unsigned long) > sizeof(unsigned int)) {
6363                         int n;
6364                         unsigned int x, y;
6365                         for (n = 0; n < WANT_BITS; n++) {
6366                                 x = (1 << n);
6367                                 y = (x >> n);
6368                                 if (y != 1 || x == 0) {
6369                                         x = 0;
6370                                         break;
6371                                 }
6372                         }
6373                         /*
6374                          * If x is nonzero, an int is big enough for the bits
6375                          * that we want.
6376                          */
6377                         result = (x != 0) ? "int" : "long";
6378                 }
6379                 fputs(result, fp);
6380                 fclose(fp);
6381         }
6382         ${cf_cv_main_return:-return}(0);
6383 }
6384                 ],
6385                 [cf_cv_typeof_chtype=`cat cf_test.out`],
6386                 [cf_cv_typeof_chtype=long],
6387                 [cf_cv_typeof_chtype=long])
6388                 rm -f cf_test.out
6389         ])
6390 AC_MSG_RESULT($cf_cv_typeof_chtype)
6391
6392 AC_SUBST(cf_cv_typeof_chtype)
6393 AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype,[Define to actual type if needed for chtype])
6394 ])dnl
6395 dnl ---------------------------------------------------------------------------
6396 dnl CF_TYPE_SIGACTION version: 4 updated: 2012/10/06 17:56:13
6397 dnl -----------------
6398 dnl
6399 AC_DEFUN([CF_TYPE_SIGACTION],
6400 [
6401 AC_MSG_CHECKING([for type sigaction_t])
6402 AC_CACHE_VAL(cf_cv_type_sigaction,[
6403         AC_TRY_COMPILE([
6404 #include <signal.h>],
6405                 [sigaction_t x],
6406                 [cf_cv_type_sigaction=yes],
6407                 [cf_cv_type_sigaction=no])])
6408 AC_MSG_RESULT($cf_cv_type_sigaction)
6409 test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION,1,[Define to 1 if we have the sigaction_t type])
6410 ])dnl
6411 dnl ---------------------------------------------------------------------------
6412 dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
6413 dnl --------------------
6414 dnl Test if the compiler supports 'U' and 'L' suffixes.  Only old compilers
6415 dnl won't, but they're still there.
6416 AC_DEFUN([CF_UNSIGNED_LITERALS],
6417 [
6418 AC_MSG_CHECKING([if unsigned literals are legal])
6419 AC_CACHE_VAL(cf_cv_unsigned_literals,[
6420         AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
6421                 [cf_cv_unsigned_literals=yes],
6422                 [cf_cv_unsigned_literals=no])
6423         ])
6424 AC_MSG_RESULT($cf_cv_unsigned_literals)
6425 ])dnl
6426 dnl ---------------------------------------------------------------------------
6427 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
6428 dnl --------
6429 dnl Make an uppercase version of a variable
6430 dnl $1=uppercase($2)
6431 AC_DEFUN([CF_UPPER],
6432 [
6433 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
6434 ])dnl
6435 dnl ---------------------------------------------------------------------------
6436 dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
6437 dnl -----------
6438 dnl Check for multibyte support, and if not found, utf8 compatibility library
6439 AC_DEFUN([CF_UTF8_LIB],
6440 [
6441 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
6442         cf_save_LIBS="$LIBS"
6443         AC_TRY_LINK([
6444 #include <stdlib.h>],[putwc(0,0);],
6445         [cf_cv_utf8_lib=yes],
6446         [CF_FIND_LINKAGE([
6447 #include <libutf8.h>],[putwc(0,0);],utf8,
6448                 [cf_cv_utf8_lib=add-on],
6449                 [cf_cv_utf8_lib=no])
6450 ])])
6451
6452 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
6453 # ncurses/ncursesw:
6454 if test "$cf_cv_utf8_lib" = "add-on" ; then
6455         AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
6456         CF_ADD_INCDIR($cf_cv_header_path_utf8)
6457         CF_ADD_LIBDIR($cf_cv_library_path_utf8)
6458         CF_ADD_LIBS($cf_cv_library_file_utf8)
6459 fi
6460 ])dnl
6461 dnl ---------------------------------------------------------------------------
6462 dnl CF_VA_COPY version: 3 updated: 2012/10/06 11:17:15
6463 dnl ----------
6464 dnl check for va_copy, part of stdarg.h
6465 dnl Also, workaround for glibc's __va_copy, by checking for both.
6466 AC_DEFUN([CF_VA_COPY],[
6467 AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
6468 AC_TRY_LINK([
6469 #include <stdarg.h>
6470 ],[
6471         static va_list dst;
6472         static va_list src;
6473         va_copy(dst, src)],
6474         cf_cv_have_va_copy=yes,
6475         cf_cv_have_va_copy=no)])
6476
6477 test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY,1,[Define to 1 if we have va_copy])
6478
6479 AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
6480 AC_TRY_LINK([
6481 #include <stdarg.h>
6482 ],[
6483         static va_list dst;
6484         static va_list src;
6485         __va_copy(dst, src)],
6486         cf_cv_have___va_copy=yes,
6487         cf_cv_have___va_copy=no)])
6488
6489 test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY,1,[Define to 1 if we have __va_copy])
6490 ])
6491 dnl ---------------------------------------------------------------------------
6492 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
6493 dnl ----------
6494 dnl Use AC_VERBOSE w/o the warnings
6495 AC_DEFUN([CF_VERBOSE],
6496 [test -n "$verbose" && echo "   $1" 1>&AC_FD_MSG
6497 CF_MSG_LOG([$1])
6498 ])dnl
6499 dnl ---------------------------------------------------------------------------
6500 dnl CF_WCHAR_TYPE version: 4 updated: 2012/10/06 16:39:58
6501 dnl -------------
6502 dnl Check if type wide-character type $1 is declared, and if so, which header
6503 dnl file is needed.  The second parameter is used to set a shell variable when
6504 dnl the type is not found.  The first parameter sets a shell variable for the
6505 dnl opposite sense.
6506 AC_DEFUN([CF_WCHAR_TYPE],
6507 [
6508 # This is needed on Tru64 5.0 to declare $1
6509 AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
6510 AC_TRY_COMPILE([
6511 #include <stdlib.h>
6512 #include <stdarg.h>
6513 #include <stdio.h>
6514 #ifdef HAVE_LIBUTF8_H
6515 #include <libutf8.h>
6516 #endif],
6517         [$1 state],
6518         [cf_cv_$1=no],
6519         [AC_TRY_COMPILE([
6520 #include <stdlib.h>
6521 #include <stdarg.h>
6522 #include <stdio.h>
6523 #include <wchar.h>
6524 #ifdef HAVE_LIBUTF8_H
6525 #include <libutf8.h>
6526 #endif],
6527         [$1 value],
6528         [cf_cv_$1=yes],
6529         [cf_cv_$1=unknown])])])
6530
6531 if test "$cf_cv_$1" = yes ; then
6532         AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h])
6533         NEED_WCHAR_H=1
6534 fi
6535
6536 ifelse([$2],,,[
6537 # if we do not find $1 in either place, use substitution to provide a fallback.
6538 if test "$cf_cv_$1" = unknown ; then
6539         $2=1
6540 fi
6541 ])
6542 ifelse($3,,,[
6543 # if we find $1 in either place, use substitution to provide a fallback.
6544 if test "$cf_cv_$1" != unknown ; then
6545         $3=1
6546 fi
6547 ])
6548 ])dnl
6549 dnl ---------------------------------------------------------------------------
6550 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
6551 dnl ---------------
6552 dnl Check for compiler-support for weak symbols.
6553 dnl This works with "recent" gcc.
6554 AC_DEFUN([CF_WEAK_SYMBOLS],[
6555 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
6556
6557 AC_TRY_COMPILE([
6558 #include <stdio.h>],
6559 [
6560 #if defined(__GNUC__)
6561 #  if defined __USE_ISOC99
6562 #    define _cat_pragma(exp)    _Pragma(#exp)
6563 #    define _weak_pragma(exp)   _cat_pragma(weak name)
6564 #  else
6565 #    define _weak_pragma(exp)
6566 #  endif
6567 #  define _declare(name)        __extension__ extern __typeof__(name) name
6568 #  define weak_symbol(name)     _weak_pragma(name) _declare(name) __attribute__((weak))
6569 #endif
6570
6571 weak_symbol(fopen);
6572 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
6573 ])
6574 ])dnl
6575 dnl ---------------------------------------------------------------------------
6576 dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
6577 dnl -------------------
6578 dnl Allow library's ABI to be overridden.  Generally this happens when a
6579 dnl packager has incremented the ABI past that used in the original package,
6580 dnl and wishes to keep doing this.
6581 dnl
6582 dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
6583 dnl symbol.
6584 AC_DEFUN([CF_WITH_ABI_VERSION],[
6585 test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
6586 AC_ARG_WITH(abi-version,
6587 [  --with-abi-version=XXX  override derived ABI version],
6588 [AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
6589  cf_cv_abi_version=$withval])
6590  CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
6591 ifelse($1,,,[
6592 $1_ABI=$cf_cv_abi_version
6593 ])
6594 ])dnl
6595 dnl ---------------------------------------------------------------------------
6596 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
6597 dnl --------------------
6598 dnl Command-line option to specify the Ada95 compiler.
6599 AC_DEFUN([CF_WITH_ADA_COMPILER],[
6600 AC_MSG_CHECKING(for ada-compiler)
6601 AC_ARG_WITH(ada-compiler,
6602         [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
6603         [cf_ada_compiler=$withval],
6604         [cf_ada_compiler=gnatmake])
6605 AC_SUBST(cf_ada_compiler)
6606 AC_MSG_RESULT($cf_ada_compiler)
6607 ])dnl
6608 dnl ---------------------------------------------------------------------------
6609 dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
6610 dnl -------------------
6611 dnl Command-line option to specify where Ada includes will install.
6612 AC_DEFUN([CF_WITH_ADA_INCLUDE],[
6613 AC_MSG_CHECKING(for ada-include)
6614 CF_WITH_PATH(ada-include,
6615    [  --with-ada-include=DIR  Ada includes are in DIR],
6616    ADA_INCLUDE,
6617    PREFIX/share/ada/adainclude,
6618    [$]prefix/share/ada/adainclude)
6619 AC_SUBST(ADA_INCLUDE)
6620 AC_MSG_RESULT($ADA_INCLUDE)
6621 ])dnl
6622 dnl ---------------------------------------------------------------------------
6623 dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
6624 dnl -------------------
6625 dnl Command-line option to specify where Ada objects will install.
6626 AC_DEFUN([CF_WITH_ADA_OBJECTS],[
6627 AC_MSG_CHECKING(for ada-objects)
6628 CF_WITH_PATH(ada-objects,
6629    [  --with-ada-objects=DIR  Ada objects are in DIR],
6630    ADA_OBJECTS,
6631    PREFIX/lib/ada/adalib,
6632    [$]prefix/lib/ada/adalib)
6633 AC_SUBST(ADA_OBJECTS)
6634 AC_MSG_RESULT($ADA_OBJECTS)
6635 ])dnl
6636 dnl ---------------------------------------------------------------------------
6637 dnl CF_WITH_ADA_SHAREDLIB version: 4 updated: 2014/05/31 21:08:37
6638 dnl ---------------------
6639 dnl Command-line option to specify if an Ada95 shared-library should be built,
6640 dnl and optionally what its soname should be.
6641 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
6642 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
6643 AC_ARG_WITH(ada-sharedlib,
6644         [  --with-ada-sharedlib=soname build shared-library (requires GNAT projects)],
6645         [with_ada_sharedlib=$withval],
6646         [with_ada_sharedlib=no])
6647 AC_MSG_RESULT($with_ada_sharedlib)
6648
6649 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
6650 MAKE_ADA_SHAREDLIB="#"
6651
6652 if test "x$with_ada_sharedlib" != xno
6653 then
6654         MAKE_ADA_SHAREDLIB=
6655         if test "x$with_ada_sharedlib" != xyes
6656         then
6657                 ADA_SHAREDLIB="$with_ada_sharedlib"
6658         fi
6659 fi
6660
6661 AC_SUBST(ADA_SHAREDLIB)
6662 AC_SUBST(MAKE_ADA_SHAREDLIB)
6663 ])dnl
6664 dnl ---------------------------------------------------------------------------
6665 dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
6666 dnl ----------------
6667 dnl Configure-option for dbmalloc.  The optional parameter is used to override
6668 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
6669 AC_DEFUN([CF_WITH_DBMALLOC],[
6670 CF_NO_LEAKS_OPTION(dbmalloc,
6671         [  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
6672         [USE_DBMALLOC])
6673
6674 if test "$with_dbmalloc" = yes ; then
6675         AC_CHECK_HEADER(dbmalloc.h,
6676                 [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))])
6677 fi
6678 ])dnl
6679 dnl ---------------------------------------------------------------------------
6680 dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47
6681 dnl ---------------
6682 dnl Configure-option for dmalloc.  The optional parameter is used to override
6683 dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
6684 AC_DEFUN([CF_WITH_DMALLOC],[
6685 CF_NO_LEAKS_OPTION(dmalloc,
6686         [  --with-dmalloc          test: use Gray Watson's dmalloc library],
6687         [USE_DMALLOC])
6688
6689 if test "$with_dmalloc" = yes ; then
6690         AC_CHECK_HEADER(dmalloc.h,
6691                 [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))])
6692 fi
6693 ])dnl
6694 dnl ---------------------------------------------------------------------------
6695 dnl CF_WITH_GPM version: 8 updated: 2012/10/06 17:56:13
6696 dnl -----------
6697 dnl
6698 dnl The option parameter (if neither yes/no) is assumed to be the name of
6699 dnl the gpm library, e.g., for dynamic loading.
6700 AC_DEFUN([CF_WITH_GPM],
6701 [
6702 AC_MSG_CHECKING(if you want to link with the GPM mouse library)
6703 AC_ARG_WITH(gpm,
6704         [  --with-gpm              use Alessandro Rubini's GPM library],
6705         [with_gpm=$withval],
6706         [with_gpm=maybe])
6707 AC_MSG_RESULT($with_gpm)
6708
6709 if test "$with_gpm" != no ; then
6710         AC_CHECK_HEADER(gpm.h,[
6711                 AC_DEFINE(HAVE_GPM_H,1,[Define to 1 if we have gpm.h header])
6712                 if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
6713                         CF_VERBOSE(assuming we really have GPM library)
6714                         AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
6715                 else
6716                         AC_CHECK_LIB(gpm,Gpm_Open,[:],[
6717                                 AC_MSG_ERROR(Cannot link with GPM library)
6718                 fi
6719                 with_gpm=yes
6720                 ])
6721         ],[
6722                 test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header)
6723                 with_gpm=no
6724         ])
6725 fi
6726 ])
6727 dnl ---------------------------------------------------------------------------
6728 dnl CF_WITH_LIBTOOL version: 30 updated: 2013/09/07 13:54:05
6729 dnl ---------------
6730 dnl Provide a configure option to incorporate libtool.  Define several useful
6731 dnl symbols for the makefile rules.
6732 dnl
6733 dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
6734 dnl macros from libtool.m4 which is in the aclocal directory of automake.
6735 dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
6736 dnl But that still does not work properly since the macro is expanded outside
6737 dnl the CF_WITH_LIBTOOL macro:
6738 dnl
6739 dnl     #!/bin/sh
6740 dnl     ACLOCAL=`aclocal --print-ac-dir`
6741 dnl     if test -z "$ACLOCAL" ; then
6742 dnl             echo cannot find aclocal directory
6743 dnl             exit 1
6744 dnl     elif test ! -f $ACLOCAL/libtool.m4 ; then
6745 dnl             echo cannot find libtool.m4 file
6746 dnl             exit 1
6747 dnl     fi
6748 dnl
6749 dnl     LOCAL=aclocal.m4
6750 dnl     ORIG=aclocal.m4.orig
6751 dnl
6752 dnl     trap "mv $ORIG $LOCAL" 0 1 2 5 15
6753 dnl     rm -f $ORIG
6754 dnl     mv $LOCAL $ORIG
6755 dnl
6756 dnl     # sed the LIBTOOL= assignment to omit the current directory?
6757 dnl     sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL:-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
6758 dnl     cat $ORIG >>$LOCAL
6759 dnl
6760 dnl     autoconf-257 $*
6761 dnl
6762 AC_DEFUN([CF_WITH_LIBTOOL],
6763 [
6764 AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION])
6765 ifdef([AC_PROG_LIBTOOL],,[
6766 LIBTOOL=
6767 ])
6768 # common library maintenance symbols that are convenient for libtool scripts:
6769 LIB_CREATE='${AR} -cr'
6770 LIB_OBJECT='${OBJECTS}'
6771 LIB_SUFFIX=.a
6772 LIB_PREP="$RANLIB"
6773
6774 # symbols used to prop libtool up to enable it to determine what it should be
6775 # doing:
6776 LIB_CLEAN=
6777 LIB_COMPILE=
6778 LIB_LINK='${CC}'
6779 LIB_INSTALL=
6780 LIB_UNINSTALL=
6781
6782 AC_MSG_CHECKING(if you want to build libraries with libtool)
6783 AC_ARG_WITH(libtool,
6784         [  --with-libtool          generate libraries with libtool],
6785         [with_libtool=$withval],
6786         [with_libtool=no])
6787 AC_MSG_RESULT($with_libtool)
6788 if test "$with_libtool" != "no"; then
6789 ifdef([AC_PROG_LIBTOOL],[
6790         # missing_content_AC_PROG_LIBTOOL{{
6791         AC_PROG_LIBTOOL
6792         # missing_content_AC_PROG_LIBTOOL}}
6793 ],[
6794         if test "$with_libtool" != "yes" ; then
6795                 CF_PATH_SYNTAX(with_libtool)
6796                 LIBTOOL=$with_libtool
6797         else
6798                 AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none)
6799                 CF_LIBTOOL_VERSION
6800                 if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool
6801                 then
6802                         CF_FORGET_TOOL(LIBTOOL)
6803                         AC_CHECK_TOOLS(LIBTOOL,[glibtool],none)
6804                         CF_LIBTOOL_VERSION
6805                 fi
6806         fi
6807         if test -z "$LIBTOOL" ; then
6808                 AC_MSG_ERROR(Cannot find libtool)
6809         fi
6810 ])dnl
6811         LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o'
6812         LIB_OBJECT='${OBJECTS:.o=.lo}'
6813         LIB_SUFFIX=.la
6814         LIB_CLEAN='${LIBTOOL} --mode=clean'
6815         LIB_COMPILE='${LIBTOOL} --mode=compile'
6816         LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
6817         LIB_INSTALL='${LIBTOOL} --mode=install'
6818         LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
6819         LIB_PREP=:
6820
6821         CF_CHECK_LIBTOOL_VERSION
6822
6823         # special hack to add -no-undefined (which libtool should do for itself)
6824         LT_UNDEF=
6825         case "$cf_cv_system_name" in #(vi
6826         cygwin*|msys*|mingw32*|uwin*|aix[[4-7]]) #(vi
6827                 LT_UNDEF=-no-undefined
6828                 ;;
6829         esac
6830         AC_SUBST([LT_UNDEF])
6831
6832         # special hack to add --tag option for C++ compiler
6833         case $cf_cv_libtool_version in #(vi
6834         1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) #(vi
6835                 LIBTOOL_CXX="$LIBTOOL --tag=CXX"
6836                 LIBTOOL="$LIBTOOL --tag=CC"
6837                 ;;
6838         *)
6839                 LIBTOOL_CXX="$LIBTOOL"
6840                 ;;
6841         esac
6842 else
6843         LIBTOOL=""
6844         LIBTOOL_CXX=""
6845 fi
6846
6847 test -z "$LIBTOOL" && ECHO_LT=
6848
6849 AC_SUBST(LIBTOOL)
6850 AC_SUBST(LIBTOOL_CXX)
6851 AC_SUBST(LIBTOOL_OPTS)
6852
6853 AC_SUBST(LIB_CREATE)
6854 AC_SUBST(LIB_OBJECT)
6855 AC_SUBST(LIB_SUFFIX)
6856 AC_SUBST(LIB_PREP)
6857
6858 AC_SUBST(LIB_CLEAN)
6859 AC_SUBST(LIB_COMPILE)
6860 AC_SUBST(LIB_LINK)
6861 AC_SUBST(LIB_INSTALL)
6862 AC_SUBST(LIB_UNINSTALL)
6863
6864 ])dnl
6865 dnl ---------------------------------------------------------------------------
6866 dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
6867 dnl ------------------
6868 dnl Allow the library-prefix to be overridden.  OS/2 EMX originally had no
6869 dnl "lib" prefix, e.g., because it used the dll naming convention.
6870 dnl
6871 dnl $1 = variable to set
6872 AC_DEFUN([CF_WITH_LIB_PREFIX],
6873 [
6874 AC_MSG_CHECKING(if you want to have a library-prefix)
6875 AC_ARG_WITH(lib-prefix,
6876         [  --with-lib-prefix       override library-prefix],
6877         [with_lib_prefix=$withval],
6878         [with_lib_prefix=auto])
6879 AC_MSG_RESULT($with_lib_prefix)
6880
6881 if test $with_lib_prefix = auto
6882 then
6883         CF_LIB_PREFIX($1)
6884 elif test $with_lib_prefix = no
6885 then
6886         LIB_PREFIX=
6887 else
6888         LIB_PREFIX=$with_lib_prefix
6889 fi
6890 ])dnl
6891 dnl ---------------------------------------------------------------------------
6892 dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
6893 dnl ------------
6894 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
6895 dnl defaulting to yes/no.
6896 dnl
6897 dnl $1 = option name
6898 dnl $2 = help-text
6899 dnl $3 = environment variable to set
6900 dnl $4 = default value, shown in the help-message, must be a constant
6901 dnl $5 = default value, if it's an expression & cannot be in the help-message
6902 dnl
6903 AC_DEFUN([CF_WITH_PATH],
6904 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
6905 ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
6906 if ifelse([$5],,true,[test -n "$5"]) ; then
6907 CF_PATH_SYNTAX(withval)
6908 fi
6909 eval $3="$withval"
6910 AC_SUBST($3)dnl
6911 ])dnl
6912 dnl ---------------------------------------------------------------------------
6913 dnl CF_WITH_PATHLIST version: 9 updated: 2012/10/18 05:05:24
6914 dnl ----------------
6915 dnl Process an option specifying a list of colon-separated paths.
6916 dnl
6917 dnl $1 = option name
6918 dnl $2 = help-text
6919 dnl $3 = environment variable to set
6920 dnl $4 = default value, shown in the help-message, must be a constant
6921 dnl $5 = default value, if it's an expression & cannot be in the help-message
6922 dnl $6 = flag to tell if we want to define or substitute
6923 dnl
6924 AC_DEFUN([CF_WITH_PATHLIST],[
6925 AC_REQUIRE([CF_PATHSEP])
6926 AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
6927 ifelse($4,,[withval=${$3}],[withval=${$3:-ifelse($5,,$4,$5)}]))dnl
6928
6929 IFS="${IFS:-    }"; ac_save_ifs="$IFS"; IFS="${PATH_SEPARATOR}"
6930 cf_dst_path=
6931 for cf_src_path in $withval
6932 do
6933   CF_PATH_SYNTAX(cf_src_path)
6934   test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}$PATH_SEPARATOR"
6935   cf_dst_path="${cf_dst_path}${cf_src_path}"
6936 done
6937 IFS="$ac_save_ifs"
6938
6939 ifelse($6,define,[
6940 # Strip single quotes from the value, e.g., when it was supplied as a literal
6941 # for $4 or $5.
6942 case $cf_dst_path in #(vi
6943 \'*)
6944   cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
6945   ;;
6946 esac
6947 cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
6948 ])
6949
6950 # This may use the prefix/exec_prefix symbols which will only yield "NONE"
6951 # so we have to check/work around.  We do prefer the result of "eval"...
6952 eval cf_dst_eval="$cf_dst_path"
6953 case "x$cf_dst_eval" in #(vi
6954 xNONE*) #(vi
6955         $3=$cf_dst_path
6956         ;;
6957 *)
6958         $3="$cf_dst_eval"
6959         ;;
6960 esac
6961 AC_SUBST($3)dnl
6962
6963 ])dnl
6964 dnl ---------------------------------------------------------------------------
6965 dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
6966 dnl -------------------------
6967 dnl Allow the choice of the pkg-config library directory to be overridden.
6968 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
6969 if test "$PKG_CONFIG" != none ; then
6970         AC_MSG_CHECKING(for $PKG_CONFIG library directory)
6971         AC_ARG_WITH(pkg-config-libdir,
6972                 [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
6973                 [PKG_CONFIG_LIBDIR=$withval],
6974                 [PKG_CONFIG_LIBDIR=yes])
6975
6976         case x$PKG_CONFIG_LIBDIR in #(vi
6977         x/*) #(vi
6978                 ;;
6979         xyes) #(vi
6980                 # look for the library directory using the same prefix as the executable
6981                 cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
6982                 case x`(arch) 2>/dev/null` in #(vi
6983                 *64) #(vi
6984                         for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
6985                         do
6986                                 if test -d $cf_config/pkgconfig
6987                                 then
6988                                         PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
6989                                         break
6990                                 fi
6991                         done
6992                         ;;
6993                 *)
6994                         PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
6995                         ;;
6996                 esac
6997                 ;;
6998         *)
6999                 ;;
7000         esac
7001
7002         AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
7003 fi
7004
7005 AC_SUBST(PKG_CONFIG_LIBDIR)
7006 ])dnl
7007 dnl ---------------------------------------------------------------------------
7008 dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51
7009 dnl ---------------
7010 dnl Check for POSIX thread library.
7011 AC_DEFUN([CF_WITH_PTHREAD],
7012 [
7013 AC_MSG_CHECKING(if you want to link with the pthread library)
7014 AC_ARG_WITH(pthread,
7015     [  --with-pthread          use POSIX thread library],
7016     [with_pthread=$withval],
7017     [with_pthread=no])
7018 AC_MSG_RESULT($with_pthread)
7019
7020 if test "$with_pthread" != no ; then
7021     AC_CHECK_HEADER(pthread.h,[
7022         AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
7023
7024         for cf_lib_pthread in pthread c_r
7025         do
7026             AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
7027             cf_save_LIBS="$LIBS"
7028             CF_ADD_LIB($cf_lib_pthread)
7029             AC_TRY_LINK([
7030 #include <pthread.h>
7031 ],[
7032                 int rc = pthread_create(0,0,0,0);
7033                 int r2 = pthread_mutexattr_settype(0, 0);
7034 ],[with_pthread=yes],[with_pthread=no])
7035             LIBS="$cf_save_LIBS"
7036             AC_MSG_RESULT($with_pthread)
7037             test "$with_pthread" = yes && break
7038         done
7039
7040         if test "$with_pthread" = yes ; then
7041             CF_ADD_LIB($cf_lib_pthread)
7042             AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
7043         else
7044             AC_MSG_ERROR(Cannot link with pthread library)
7045         fi
7046     ])
7047 fi
7048 ])
7049 dnl ---------------------------------------------------------------------------
7050 dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
7051 dnl -------------------
7052 dnl Allow library's release-version to be overridden.  Generally this happens when a
7053 dnl packager has incremented the release-version past that used in the original package,
7054 dnl and wishes to keep doing this.
7055 dnl
7056 dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
7057 dnl and {package}_MINOR symbols
7058 dnl symbol.
7059 AC_DEFUN([CF_WITH_REL_VERSION],[
7060 test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
7061 AC_ARG_WITH(rel-version,
7062 [  --with-rel-version=XXX  override derived release version],
7063 [AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
7064  cf_cv_rel_version=$withval])
7065 ifelse($1,,[
7066  CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
7067 ],[
7068  $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
7069  $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
7070  CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
7071  CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
7072 ])
7073 ])dnl
7074 dnl ---------------------------------------------------------------------------
7075 dnl CF_WITH_SYSMOUSE version: 3 updated: 2012/10/06 17:56:13
7076 dnl ----------------
7077 dnl If we can compile with sysmouse, make it available unless it is not wanted.
7078 AC_DEFUN([CF_WITH_SYSMOUSE],[
7079 # not everyone has "test -c"
7080 if test -c /dev/sysmouse 2>/dev/null ; then
7081 AC_MSG_CHECKING(if you want to use sysmouse)
7082 AC_ARG_WITH(sysmouse,
7083         [  --with-sysmouse         use sysmouse (FreeBSD console)],
7084         [cf_with_sysmouse=$withval],
7085         [cf_with_sysmouse=maybe])
7086         if test "$cf_with_sysmouse" != no ; then
7087         AC_TRY_COMPILE([
7088 #include <osreldate.h>
7089 #if (__FreeBSD_version >= 400017)
7090 #include <sys/consio.h>
7091 #include <sys/fbio.h>
7092 #else
7093 #include <machine/console.h>
7094 #endif
7095 ],[
7096         struct mouse_info the_mouse;
7097         ioctl(0, CONS_MOUSECTL, &the_mouse);
7098 ],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
7099         fi
7100 AC_MSG_RESULT($cf_with_sysmouse)
7101 test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE,1,[Define to 1 if we can/should use the sysmouse interface])
7102 fi
7103 ])dnl
7104 dnl ---------------------------------------------------------------------------
7105 dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
7106 dnl ---------------
7107 dnl For testing, override the derived host system-type which is used to decide
7108 dnl things such as the linker commands used to build shared libraries.  This is
7109 dnl normally chosen automatically based on the type of system which you are
7110 dnl building on.  We use it for testing the configure script.
7111 dnl
7112 dnl This is different from the --host option: it is used only for testing parts
7113 dnl of the configure script which would not be reachable with --host since that
7114 dnl relies on the build environment being real, rather than mocked up.
7115 AC_DEFUN([CF_WITH_SYSTYPE],[
7116 CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
7117 AC_ARG_WITH(system-type,
7118         [  --with-system-type=XXX  test: override derived host system-type],
7119 [AC_MSG_WARN(overriding system type to $withval)
7120         cf_cv_system_name=$withval
7121         host_os=$withval
7122 ])
7123 ])dnl
7124 dnl ---------------------------------------------------------------------------
7125 dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
7126 dnl ----------------
7127 AC_DEFUN([CF_WITH_VALGRIND],[
7128 CF_NO_LEAKS_OPTION(valgrind,
7129         [  --with-valgrind         test: use valgrind],
7130         [USE_VALGRIND])
7131 ])dnl
7132 dnl ---------------------------------------------------------------------------
7133 dnl CF_XOPEN_SOURCE version: 46 updated: 2014/02/09 19:30:15
7134 dnl ---------------
7135 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
7136 dnl or adapt to the vendor's definitions to get equivalent functionality,
7137 dnl without losing the common non-POSIX features.
7138 dnl
7139 dnl Parameters:
7140 dnl     $1 is the nominal value for _XOPEN_SOURCE
7141 dnl     $2 is the nominal value for _POSIX_C_SOURCE
7142 AC_DEFUN([CF_XOPEN_SOURCE],[
7143 AC_REQUIRE([AC_CANONICAL_HOST])
7144
7145 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
7146 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
7147 cf_xopen_source=
7148
7149 case $host_os in #(vi
7150 aix[[4-7]]*) #(vi
7151         cf_xopen_source="-D_ALL_SOURCE"
7152         ;;
7153 cygwin|msys) #(vi
7154         cf_XOPEN_SOURCE=600
7155         ;;
7156 darwin[[0-8]].*) #(vi
7157         cf_xopen_source="-D_APPLE_C_SOURCE"
7158         ;;
7159 darwin*) #(vi
7160         cf_xopen_source="-D_DARWIN_C_SOURCE"
7161         cf_XOPEN_SOURCE=
7162         ;;
7163 freebsd*|dragonfly*) #(vi
7164         # 5.x headers associate
7165         #       _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
7166         #       _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
7167         cf_POSIX_C_SOURCE=200112L
7168         cf_XOPEN_SOURCE=600
7169         cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
7170         ;;
7171 hpux11*) #(vi
7172         cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
7173         ;;
7174 hpux*) #(vi
7175         cf_xopen_source="-D_HPUX_SOURCE"
7176         ;;
7177 irix[[56]].*) #(vi
7178         cf_xopen_source="-D_SGI_SOURCE"
7179         cf_XOPEN_SOURCE=
7180         ;;
7181 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
7182         CF_GNU_SOURCE
7183         ;;
7184 mirbsd*) #(vi
7185         # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
7186         cf_XOPEN_SOURCE=
7187         CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
7188         ;;
7189 netbsd*) #(vi
7190         cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
7191         ;;
7192 openbsd[[4-9]]*) #(vi
7193         # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
7194         cf_xopen_source="-D_BSD_SOURCE"
7195         cf_XOPEN_SOURCE=600
7196         ;;
7197 openbsd*) #(vi
7198         # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
7199         ;;
7200 osf[[45]]*) #(vi
7201         cf_xopen_source="-D_OSF_SOURCE"
7202         ;;
7203 nto-qnx*) #(vi
7204         cf_xopen_source="-D_QNX_SOURCE"
7205         ;;
7206 sco*) #(vi
7207         # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
7208         ;;
7209 solaris2.*) #(vi
7210         cf_xopen_source="-D__EXTENSIONS__"
7211         cf_cv_xopen_source=broken
7212         ;;
7213 *)
7214         CF_TRY_XOPEN_SOURCE
7215         CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
7216         ;;
7217 esac
7218
7219 if test -n "$cf_xopen_source" ; then
7220         CF_ADD_CFLAGS($cf_xopen_source)
7221 fi
7222
7223 dnl In anything but the default case, we may have system-specific setting
7224 dnl which is still not guaranteed to provide all of the entrypoints that
7225 dnl _XOPEN_SOURCE would yield.
7226 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
7227         AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
7228         AC_TRY_COMPILE([#include <stdlib.h>],[
7229 #ifndef _XOPEN_SOURCE
7230 make an error
7231 #endif],
7232         [cf_XOPEN_SOURCE_set=yes],
7233         [cf_XOPEN_SOURCE_set=no])
7234         AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
7235         if test $cf_XOPEN_SOURCE_set = yes
7236         then
7237                 AC_TRY_COMPILE([#include <stdlib.h>],[
7238 #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
7239 make an error
7240 #endif],
7241                 [cf_XOPEN_SOURCE_set_ok=yes],
7242                 [cf_XOPEN_SOURCE_set_ok=no])
7243                 if test $cf_XOPEN_SOURCE_set_ok = no
7244                 then
7245                         AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
7246                 fi
7247         else
7248                 CF_TRY_XOPEN_SOURCE
7249         fi
7250 fi
7251 ])