ncurses 5.9 - patch 20140920
[ncurses.git] / Ada95 / aclocal.m4
1 dnl***************************************************************************
2 dnl Copyright (c) 2010-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
30 dnl
31 dnl $Id: aclocal.m4,v 1.92 2014/09/20 21:09:49 tom Exp $
32 dnl Macros used in NCURSES Ada95 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 CF_ACVERSION_CHECK version: 5 updated: 2014/06/04 19:11:49
43 dnl ------------------
44 dnl Conditionally generate script according to whether we're using a given autoconf.
45 dnl
46 dnl $1 = version to compare against
47 dnl $2 = code to use if AC_ACVERSION is at least as high as $1.
48 dnl $3 = code to use if AC_ACVERSION is older than $1.
49 define([CF_ACVERSION_CHECK],
50 [
51 ifdef([AC_ACVERSION], ,[ifdef([AC_AUTOCONF_VERSION],[m4_copy([AC_AUTOCONF_VERSION],[AC_ACVERSION])],[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])])dnl
52 ifdef([m4_version_compare],
53 [m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])],
54 [CF_ACVERSION_COMPARE(
55 AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])),
56 AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl
57 dnl ---------------------------------------------------------------------------
58 dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53
59 dnl --------------------
60 dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1,
61 dnl                      MAJOR2, MINOR2, TERNARY2,
62 dnl                      PRINTABLE2, not FOUND, FOUND)
63 define([CF_ACVERSION_COMPARE],
64 [ifelse(builtin([eval], [$2 < $5]), 1,
65 [ifelse([$8], , ,[$8])],
66 [ifelse([$9], , ,[$9])])])dnl
67 dnl ---------------------------------------------------------------------------
68 dnl CF_ADA_INCLUDE_DIRS version: 8 updated: 2013/10/14 04:24:07
69 dnl -------------------
70 dnl Construct the list of include-options for the C programs in the Ada95
71 dnl binding.
72 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
73 [
74 ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
75 if test "$srcdir" != "."; then
76         ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
77 fi
78 if test "$GCC" != yes; then
79         ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
80 elif test "$includedir" != "/usr/include"; then
81         if test "$includedir" = '${prefix}/include' ; then
82                 if test x$prefix != x/usr ; then
83                         ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
84                 fi
85         else
86                 ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
87         fi
88 fi
89 AC_SUBST(ACPPFLAGS)
90 ])dnl
91 dnl ---------------------------------------------------------------------------
92 dnl CF_ADD_ADAFLAGS version: 1 updated: 2010/06/19 15:22:18
93 dnl ---------------
94 dnl Add to $ADAFLAGS, which is substituted into makefile and scripts.
95 AC_DEFUN([CF_ADD_ADAFLAGS],[
96         ADAFLAGS="$ADAFLAGS $1"
97         AC_SUBST(ADAFLAGS)
98 ])dnl
99 dnl ---------------------------------------------------------------------------
100 dnl CF_ADD_CFLAGS version: 11 updated: 2014/07/22 05:32:57
101 dnl -------------
102 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
103 dnl The second parameter if given makes this macro verbose.
104 dnl
105 dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,
106 dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily
107 dnl confused by the quotes (which require backslashes to keep them usable).
108 AC_DEFUN([CF_ADD_CFLAGS],
109 [
110 cf_fix_cppflags=no
111 cf_new_cflags=
112 cf_new_cppflags=
113 cf_new_extra_cppflags=
114
115 for cf_add_cflags in $1
116 do
117 case $cf_fix_cppflags in
118 no)
119         case $cf_add_cflags in #(vi
120         -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
121                 case $cf_add_cflags in
122                 -D*)
123                         cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
124
125                         test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
126                                 && test -z "${cf_tst_cflags}" \
127                                 && cf_fix_cppflags=yes
128
129                         if test $cf_fix_cppflags = yes ; then
130                                 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
131                                 continue
132                         elif test "${cf_tst_cflags}" = "\"'" ; then
133                                 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
134                                 continue
135                         fi
136                         ;;
137                 esac
138                 case "$CPPFLAGS" in
139                 *$cf_add_cflags) #(vi
140                         ;;
141                 *) #(vi
142                         case $cf_add_cflags in #(vi
143                         -D*)
144                                 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
145                                 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
146                                 ;;
147                         esac
148                         cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
149                         ;;
150                 esac
151                 ;;
152         *)
153                 cf_new_cflags="$cf_new_cflags $cf_add_cflags"
154                 ;;
155         esac
156         ;;
157 yes)
158         cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
159
160         cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
161
162         test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
163                 && test -z "${cf_tst_cflags}" \
164                 && cf_fix_cppflags=no
165         ;;
166 esac
167 done
168
169 if test -n "$cf_new_cflags" ; then
170         ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
171         CFLAGS="$CFLAGS $cf_new_cflags"
172 fi
173
174 if test -n "$cf_new_cppflags" ; then
175         ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
176         CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
177 fi
178
179 if test -n "$cf_new_extra_cppflags" ; then
180         ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)])
181         EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"
182 fi
183
184 AC_SUBST(EXTRA_CPPFLAGS)
185
186 ])dnl
187 dnl ---------------------------------------------------------------------------
188 dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57
189 dnl -------------
190 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
191 dnl redundant.  We don't normally need to add -I/usr/local/include for gcc,
192 dnl but old versions (and some misinstalled ones) need that.  To make things
193 dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
194 dnl the include-path).
195 AC_DEFUN([CF_ADD_INCDIR],
196 [
197 if test -n "$1" ; then
198   for cf_add_incdir in $1
199   do
200         while test $cf_add_incdir != /usr/include
201         do
202           if test -d $cf_add_incdir
203           then
204                 cf_have_incdir=no
205                 if test -n "$CFLAGS$CPPFLAGS" ; then
206                   # a loop is needed to ensure we can add subdirs of existing dirs
207                   for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
208                         if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
209                           cf_have_incdir=yes; break
210                         fi
211                   done
212                 fi
213
214                 if test "$cf_have_incdir" = no ; then
215                   if test "$cf_add_incdir" = /usr/local/include ; then
216                         if test "$GCC" = yes
217                         then
218                           cf_save_CPPFLAGS=$CPPFLAGS
219                           CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
220                           AC_TRY_COMPILE([#include <stdio.h>],
221                                   [printf("Hello")],
222                                   [],
223                                   [cf_have_incdir=yes])
224                           CPPFLAGS=$cf_save_CPPFLAGS
225                         fi
226                   fi
227                 fi
228
229                 if test "$cf_have_incdir" = no ; then
230                   CF_VERBOSE(adding $cf_add_incdir to include-path)
231                   ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir"
232
233                   cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
234                   test "$cf_top_incdir" = "$cf_add_incdir" && break
235                   cf_add_incdir="$cf_top_incdir"
236                 else
237                   break
238                 fi
239           fi
240         done
241   done
242 fi
243 ])dnl
244 dnl ---------------------------------------------------------------------------
245 dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05
246 dnl ----------
247 dnl Add a library, used to enforce consistency.
248 dnl
249 dnl $1 = library to add, without the "-l"
250 dnl $2 = variable to update (default $LIBS)
251 AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl
252 dnl ---------------------------------------------------------------------------
253 dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57
254 dnl -------------
255 dnl     Adds to the library-path
256 dnl
257 dnl     Some machines have trouble with multiple -L options.
258 dnl
259 dnl $1 is the (list of) directory(s) to add
260 dnl $2 is the optional name of the variable to update (default LDFLAGS)
261 dnl
262 AC_DEFUN([CF_ADD_LIBDIR],
263 [
264 if test -n "$1" ; then
265   for cf_add_libdir in $1
266   do
267     if test $cf_add_libdir = /usr/lib ; then
268       :
269     elif test -d $cf_add_libdir
270     then
271       cf_have_libdir=no
272       if test -n "$LDFLAGS$LIBS" ; then
273         # a loop is needed to ensure we can add subdirs of existing dirs
274         for cf_test_libdir in $LDFLAGS $LIBS ; do
275           if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
276             cf_have_libdir=yes; break
277           fi
278         done
279       fi
280       if test "$cf_have_libdir" = no ; then
281         CF_VERBOSE(adding $cf_add_libdir to library-path)
282         ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])"
283       fi
284     fi
285   done
286 fi
287 ])dnl
288 dnl ---------------------------------------------------------------------------
289 dnl CF_ADD_LIBS version: 2 updated: 2014/07/13 14:33:27
290 dnl -----------
291 dnl Add one or more libraries, used to enforce consistency.  Libraries are
292 dnl prepended to an existing list, since their dependencies are assumed to
293 dnl already exist in the list.
294 dnl
295 dnl $1 = libraries to add, with the "-l", etc.
296 dnl $2 = variable to update (default $LIBS)
297 AC_DEFUN([CF_ADD_LIBS],[
298 cf_add_libs="$1"
299 # Filter out duplicates - this happens with badly-designed ".pc" files...
300 for cf_add_1lib in [$]ifelse($2,,LIBS,[$2])
301 do
302         for cf_add_2lib in $cf_add_libs
303         do
304                 if test "x$cf_add_1lib" = "x$cf_add_2lib"
305                 then
306                         cf_add_1lib=
307                         break
308                 fi
309         done
310         test -n "$cf_add_1lib" && cf_add_libs="$cf_add_libs $cf_add_1lib"
311 done
312 ifelse($2,,LIBS,[$2])="$cf_add_libs"
313 ])dnl
314 dnl ---------------------------------------------------------------------------
315 dnl CF_ADD_SUBDIR_PATH version: 4 updated: 2013/10/08 17:47:05
316 dnl ------------------
317 dnl Append to a search-list for a nonstandard header/lib-file
318 dnl     $1 = the variable to return as result
319 dnl     $2 = the package name
320 dnl     $3 = the subdirectory, e.g., bin, include or lib
321 dnl $4 = the directory under which we will test for subdirectories
322 dnl $5 = a directory that we do not want $4 to match
323 AC_DEFUN([CF_ADD_SUBDIR_PATH],
324 [
325 test "x$4" != "x$5" && \
326 test -d "$4" && \
327 ifelse([$5],NONE,,[(test -z "$5" || test x$5 = xNONE || test "x$4" != "x$5") &&]) {
328         test -n "$verbose" && echo "    ... testing for $3-directories under $4"
329         test -d $4/$3 &&          $1="[$]$1 $4/$3"
330         test -d $4/$3/$2 &&       $1="[$]$1 $4/$3/$2"
331         test -d $4/$3/$2/$3 &&    $1="[$]$1 $4/$3/$2/$3"
332         test -d $4/$2/$3 &&       $1="[$]$1 $4/$2/$3"
333         test -d $4/$2/$3/$2 &&    $1="[$]$1 $4/$2/$3/$2"
334 }
335 ])dnl
336 dnl ---------------------------------------------------------------------------
337 dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
338 dnl --------------
339 dnl Allow user to disable a normally-on option.
340 AC_DEFUN([CF_ARG_DISABLE],
341 [CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
342 dnl ---------------------------------------------------------------------------
343 dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42
344 dnl -------------
345 dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
346 dnl values.
347 dnl
348 dnl Parameters:
349 dnl $1 = option name
350 dnl $2 = help-string
351 dnl $3 = action to perform if option is not default
352 dnl $4 = action if perform if option is default
353 dnl $5 = default option value (either 'yes' or 'no')
354 AC_DEFUN([CF_ARG_OPTION],
355 [AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes)
356   if test "$enableval" != "$5" ; then
357 ifelse([$3],,[    :]dnl
358 ,[    $3]) ifelse([$4],,,[
359   else
360     $4])
361   fi],[enableval=$5 ifelse([$4],,,[
362   $4
363 ])dnl
364   ])])dnl
365 dnl ---------------------------------------------------------------------------
366 dnl CF_AR_FLAGS version: 5 updated: 2010/05/20 20:24:29
367 dnl -----------
368 dnl Check for suitable "ar" (archiver) options for updating an archive.
369 AC_DEFUN([CF_AR_FLAGS],[
370 AC_REQUIRE([CF_PROG_AR])
371
372 AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
373         cf_cv_ar_flags=unknown
374         for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
375         do
376
377                 # check if $ARFLAGS already contains this choice
378                 if test "x$ARFLAGS" != "x" ; then
379                         cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"`
380                         if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then
381                                 cf_cv_ar_flags=
382                                 break
383                         fi
384                 fi
385
386                 rm -f conftest.$ac_cv_objext
387                 rm -f conftest.a
388
389                 cat >conftest.$ac_ext <<EOF
390 #line __oline__ "configure"
391 int     testdata[[3]] = { 123, 456, 789 };
392 EOF
393                 if AC_TRY_EVAL(ac_compile) ; then
394                         echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC
395                         $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
396                         if test -f conftest.a ; then
397                                 cf_cv_ar_flags=$cf_ar_flags
398                                 break
399                         fi
400                 else
401                         CF_VERBOSE(cannot compile test-program)
402                         break
403                 fi
404         done
405         rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
406 ])
407
408 if test -n "$ARFLAGS" ; then
409         if test -n "$cf_cv_ar_flags" ; then
410                 ARFLAGS="$ARFLAGS $cf_cv_ar_flags"
411         fi
412 else
413         ARFLAGS=$cf_cv_ar_flags
414 fi
415
416 AC_SUBST(ARFLAGS)
417 ])
418 dnl ---------------------------------------------------------------------------
419 dnl CF_BUILD_CC version: 7 updated: 2012/10/06 15:31:55
420 dnl -----------
421 dnl If we're cross-compiling, allow the user to override the tools and their
422 dnl options.  The configure script is oriented toward identifying the host
423 dnl compiler, etc., but we need a build compiler to generate parts of the
424 dnl source.
425 dnl
426 dnl $1 = default for $CPPFLAGS
427 dnl $2 = default for $LIBS
428 AC_DEFUN([CF_BUILD_CC],[
429 CF_ACVERSION_CHECK(2.52,,
430         [AC_REQUIRE([CF_PROG_EXT])])
431 if test "$cross_compiling" = yes ; then
432
433         # defaults that we might want to override
434         : ${BUILD_CFLAGS:=''}
435         : ${BUILD_CPPFLAGS:='ifelse([$1],,,[$1])'}
436         : ${BUILD_LDFLAGS:=''}
437         : ${BUILD_LIBS:='ifelse([$2],,,[$2])'}
438         : ${BUILD_EXEEXT:='$x'}
439         : ${BUILD_OBJEXT:='o'}
440
441         AC_ARG_WITH(build-cc,
442                 [  --with-build-cc=XXX     the build C compiler ($BUILD_CC)],
443                 [BUILD_CC="$withval"],
444                 [AC_CHECK_PROGS(BUILD_CC, gcc cc cl)])
445         AC_MSG_CHECKING(for native build C compiler)
446         AC_MSG_RESULT($BUILD_CC)
447
448         AC_MSG_CHECKING(for native build C preprocessor)
449         AC_ARG_WITH(build-cpp,
450                 [  --with-build-cpp=XXX    the build C preprocessor ($BUILD_CPP)],
451                 [BUILD_CPP="$withval"],
452                 [BUILD_CPP='${BUILD_CC} -E'])
453         AC_MSG_RESULT($BUILD_CPP)
454
455         AC_MSG_CHECKING(for native build C flags)
456         AC_ARG_WITH(build-cflags,
457                 [  --with-build-cflags=XXX the build C compiler-flags ($BUILD_CFLAGS)],
458                 [BUILD_CFLAGS="$withval"])
459         AC_MSG_RESULT($BUILD_CFLAGS)
460
461         AC_MSG_CHECKING(for native build C preprocessor-flags)
462         AC_ARG_WITH(build-cppflags,
463                 [  --with-build-cppflags=XXX the build C preprocessor-flags ($BUILD_CPPFLAGS)],
464                 [BUILD_CPPFLAGS="$withval"])
465         AC_MSG_RESULT($BUILD_CPPFLAGS)
466
467         AC_MSG_CHECKING(for native build linker-flags)
468         AC_ARG_WITH(build-ldflags,
469                 [  --with-build-ldflags=XXX the build linker-flags ($BUILD_LDFLAGS)],
470                 [BUILD_LDFLAGS="$withval"])
471         AC_MSG_RESULT($BUILD_LDFLAGS)
472
473         AC_MSG_CHECKING(for native build linker-libraries)
474         AC_ARG_WITH(build-libs,
475                 [  --with-build-libs=XXX   the build libraries (${BUILD_LIBS})],
476                 [BUILD_LIBS="$withval"])
477         AC_MSG_RESULT($BUILD_LIBS)
478
479         # this assumes we're on Unix.
480         BUILD_EXEEXT=
481         BUILD_OBJEXT=o
482
483         : ${BUILD_CC:='${CC}'}
484
485         if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
486                 AC_MSG_ERROR([Cross-build requires two compilers.
487 Use --with-build-cc to specify the native compiler.])
488         fi
489
490 else
491         : ${BUILD_CC:='${CC}'}
492         : ${BUILD_CPP:='${CPP}'}
493         : ${BUILD_CFLAGS:='${CFLAGS}'}
494         : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
495         : ${BUILD_LDFLAGS:='${LDFLAGS}'}
496         : ${BUILD_LIBS:='${LIBS}'}
497         : ${BUILD_EXEEXT:='$x'}
498         : ${BUILD_OBJEXT:='o'}
499 fi
500
501 AC_SUBST(BUILD_CC)
502 AC_SUBST(BUILD_CPP)
503 AC_SUBST(BUILD_CFLAGS)
504 AC_SUBST(BUILD_CPPFLAGS)
505 AC_SUBST(BUILD_LDFLAGS)
506 AC_SUBST(BUILD_LIBS)
507 AC_SUBST(BUILD_EXEEXT)
508 AC_SUBST(BUILD_OBJEXT)
509 ])dnl
510 dnl ---------------------------------------------------------------------------
511 dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49
512 dnl ---------------
513 dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
514 dnl into CC.  This will not help with broken scripts that wrap the compiler with
515 dnl options, but eliminates a more common category of user confusion.
516 AC_DEFUN([CF_CC_ENV_FLAGS],
517 [
518 # This should have been defined by AC_PROG_CC
519 : ${CC:=cc}
520
521 AC_MSG_CHECKING(\$CC variable)
522 case "$CC" in #(vi
523 *[[\ \  ]]-[[IUD]]*)
524         AC_MSG_RESULT(broken)
525         AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
526         # humor him...
527         cf_flags=`echo "$CC" | sed -e 's/^[[^   ]]*[[   ]]//'`
528         CC=`echo "$CC" | sed -e 's/[[   ]].*//'`
529         CF_ADD_CFLAGS($cf_flags)
530         ;;
531 *)
532         AC_MSG_RESULT(ok)
533         ;;
534 esac
535 ])dnl
536 dnl ---------------------------------------------------------------------------
537 dnl CF_CFG_DEFAULTS version: 10 updated: 2013/09/07 13:54:05
538 dnl ---------------
539 dnl Determine the default configuration into which we'll install ncurses.  This
540 dnl can be overridden by the user's command-line options.  There's two items to
541 dnl look for:
542 dnl     1. the prefix (e.g., /usr)
543 dnl     2. the header files (e.g., /usr/include/ncurses)
544 dnl We'll look for a previous installation of ncurses and use the same defaults.
545 dnl
546 dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
547 dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
548 dnl programs from a vendor's.
549 AC_DEFUN([CF_CFG_DEFAULTS],
550 [
551 AC_MSG_CHECKING(for prefix)
552 if test "x$prefix" = "xNONE" ; then
553         case "$cf_cv_system_name" in
554                 # non-vendor systems don't have a conflict
555         openbsd*|freebsd*|mirbsd*|linux*|cygwin*|msys*|k*bsd*-gnu|mingw*)
556                 prefix=/usr
557                 ;;
558         *)      prefix=$ac_default_prefix
559                 ;;
560         esac
561 fi
562 AC_MSG_RESULT($prefix)
563
564 if test "x$prefix" = "xNONE" ; then
565 AC_MSG_CHECKING(for default include-directory)
566 test -n "$verbose" && echo 1>&AC_FD_MSG
567 for cf_symbol in \
568         $includedir \
569         $includedir/ncurses \
570         $prefix/include \
571         $prefix/include/ncurses \
572         /usr/local/include \
573         /usr/local/include/ncurses \
574         /usr/include \
575         /usr/include/ncurses
576 do
577         cf_dir=`eval echo $cf_symbol`
578         if test -f $cf_dir/curses.h ; then
579         if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
580                 includedir="$cf_symbol"
581                 test -n "$verbose"  && echo $ac_n "     found " 1>&AC_FD_MSG
582                 break
583         fi
584         fi
585         test -n "$verbose"  && echo "   tested $cf_dir" 1>&AC_FD_MSG
586 done
587 AC_MSG_RESULT($includedir)
588 fi
589 ])dnl
590 dnl ---------------------------------------------------------------------------
591 dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03
592 dnl --------------
593 dnl Check if we're accidentally using a cache from a different machine.
594 dnl Derive the system name, as a check for reusing the autoconf cache.
595 dnl
596 dnl If we've packaged config.guess and config.sub, run that (since it does a
597 dnl better job than uname).  Normally we'll use AC_CANONICAL_HOST, but allow
598 dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
599 dnl which is useful in cross-compiles.
600 dnl
601 dnl Note: we would use $ac_config_sub, but that is one of the places where
602 dnl autoconf 2.5x broke compatibility with autoconf 2.13
603 AC_DEFUN([CF_CHECK_CACHE],
604 [
605 if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then
606         ifelse([$1],,[AC_CANONICAL_HOST],[$1])
607         system_name="$host_os"
608 else
609         system_name="`(uname -s -r) 2>/dev/null`"
610         if test -z "$system_name" ; then
611                 system_name="`(hostname) 2>/dev/null`"
612         fi
613 fi
614 test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.])
615 AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
616
617 test -z "$system_name" && system_name="$cf_cv_system_name"
618 test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
619
620 if test ".$system_name" != ".$cf_cv_system_name" ; then
621         AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
622         AC_MSG_ERROR("Please remove config.cache and try again.")
623 fi
624 ])dnl
625 dnl ---------------------------------------------------------------------------
626 dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
627 dnl -----------------
628 dnl Check if the given compiler is really clang.  clang's C driver defines
629 dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
630 dnl not ignore some gcc options.
631 dnl
632 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
633 dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
634 dnl the wrappers for gcc and g++ warnings.
635 dnl
636 dnl $1 = GCC (default) or GXX
637 dnl $2 = CLANG_COMPILER (default)
638 dnl $3 = CFLAGS (default) or CXXFLAGS
639 AC_DEFUN([CF_CLANG_COMPILER],[
640 ifelse([$2],,CLANG_COMPILER,[$2])=no
641
642 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
643         AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
644         cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
645         ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
646         AC_TRY_COMPILE([],[
647 #ifdef __clang__
648 #else
649 make an error
650 #endif
651 ],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
652 cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
653 ],[])
654         ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
655         AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
656 fi
657 ])
658 dnl ---------------------------------------------------------------------------
659 dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45
660 dnl ----------------
661 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
662 dnl variations of ncurses' installs.
663 dnl
664 dnl $1 = ncurses when looking for ncurses, or is empty
665 AC_DEFUN([CF_CURSES_HEADER],[
666 AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
667 cf_cv_ncurses_header=none
668 for cf_header in ifelse($1,,,[ \
669     $1/ncurses.h \
670         $1/curses.h]) \
671         ncurses.h \
672         curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h])
673 do
674 AC_TRY_COMPILE([#include <${cf_header}>],
675         [initscr(); tgoto("?", 0,0)],
676         [cf_cv_ncurses_header=$cf_header; break],[])
677 done
678 ])
679
680 if test "$cf_cv_ncurses_header" = none ; then
681         AC_MSG_ERROR(No curses header-files found)
682 fi
683
684 # cheat, to get the right #define's for HAVE_NCURSES_H, etc.
685 AC_CHECK_HEADERS($cf_cv_ncurses_header)
686 ])dnl
687 dnl ---------------------------------------------------------------------------
688 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
689 dnl ----------
690 dnl "dirname" is not portable, so we fake it with a shell script.
691 AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
692 dnl ---------------------------------------------------------------------------
693 dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28
694 dnl ---------------
695 dnl You can always use "make -n" to see the actual options, but it's hard to
696 dnl pick out/analyze warning messages when the compile-line is long.
697 dnl
698 dnl Sets:
699 dnl     ECHO_LT - symbol to control if libtool is verbose
700 dnl     ECHO_LD - symbol to prefix "cc -o" lines
701 dnl     RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
702 dnl     SHOW_CC - symbol to put before explicit "cc -c" lines
703 dnl     ECHO_CC - symbol to put before any "cc" line
704 dnl
705 AC_DEFUN([CF_DISABLE_ECHO],[
706 AC_MSG_CHECKING(if you want to see long compiling messages)
707 CF_ARG_DISABLE(echo,
708         [  --disable-echo          do not display "compiling" commands],
709         [
710     ECHO_LT='--silent'
711     ECHO_LD='@echo linking [$]@;'
712     RULE_CC='@echo compiling [$]<'
713     SHOW_CC='@echo compiling [$]@'
714     ECHO_CC='@'
715 ],[
716     ECHO_LT=''
717     ECHO_LD=''
718     RULE_CC=''
719     SHOW_CC=''
720     ECHO_CC=''
721 ])
722 AC_MSG_RESULT($enableval)
723 AC_SUBST(ECHO_LT)
724 AC_SUBST(ECHO_LD)
725 AC_SUBST(RULE_CC)
726 AC_SUBST(SHOW_CC)
727 AC_SUBST(ECHO_CC)
728 ])dnl
729 dnl ---------------------------------------------------------------------------
730 dnl CF_DISABLE_GNAT_PROJECTS version: 1 updated: 2014/06/01 11:34:00
731 dnl ------------------------
732 AC_DEFUN([CF_DISABLE_GNAT_PROJECTS],[
733 AC_MSG_CHECKING(if we want to use GNAT projects)
734 CF_ARG_DISABLE(gnat-projects,
735         [  --disable-gnat-projects test: disable GNAT projects even if usable],
736         [enable_gnat_projects=no],
737         [enable_gnat_projects=yes])
738 AC_MSG_RESULT($enable_gnat_projects)
739 ])dnl
740 dnl ---------------------------------------------------------------------------
741 dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
742 dnl ------------------
743 dnl This is the "--enable-pc-files" option, which is available if there is a
744 dnl pkg-config configuration on the local machine.
745 AC_DEFUN([CF_ENABLE_PC_FILES],[
746 AC_REQUIRE([CF_PKG_CONFIG])
747 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
748
749 if test "$PKG_CONFIG" != none ; then
750         AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
751         AC_ARG_ENABLE(pc-files,
752                 [  --enable-pc-files       generate and install .pc files for pkg-config],
753                 [enable_pc_files=$enableval],
754                 [enable_pc_files=no])
755         AC_MSG_RESULT($enable_pc_files)
756         if test "$enable_pc_files" != no
757         then
758                 CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
759         fi
760 else
761         enable_pc_files=no
762 fi
763 ])dnl
764 dnl ---------------------------------------------------------------------------
765 dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
766 dnl ---------------
767 dnl Look for a non-standard library, given parameters for AC_TRY_LINK.  We
768 dnl prefer a standard location, and use -L options only if we do not find the
769 dnl library in the standard library location(s).
770 dnl     $1 = library name
771 dnl     $2 = library class, usually the same as library name
772 dnl     $3 = includes
773 dnl     $4 = code fragment to compile/link
774 dnl     $5 = corresponding function-name
775 dnl     $6 = flag, nonnull if failure should not cause an error-exit
776 dnl
777 dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
778 dnl to use a -L option.
779 AC_DEFUN([CF_FIND_LIBRARY],
780 [
781         eval 'cf_cv_have_lib_'$1'=no'
782         cf_libdir=""
783         AC_CHECK_FUNC($5,
784                 eval 'cf_cv_have_lib_'$1'=yes',[
785                 cf_save_LIBS="$LIBS"
786                 AC_MSG_CHECKING(for $5 in -l$1)
787                 LIBS="-l$1 $LIBS"
788                 AC_TRY_LINK([$3],[$4],
789                         [AC_MSG_RESULT(yes)
790                          eval 'cf_cv_have_lib_'$1'=yes'
791                         ],
792                         [AC_MSG_RESULT(no)
793                         CF_LIBRARY_PATH(cf_search,$2)
794                         for cf_libdir in $cf_search
795                         do
796                                 AC_MSG_CHECKING(for -l$1 in $cf_libdir)
797                                 LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
798                                 AC_TRY_LINK([$3],[$4],
799                                         [AC_MSG_RESULT(yes)
800                                          eval 'cf_cv_have_lib_'$1'=yes'
801                                          break],
802                                         [AC_MSG_RESULT(no)
803                                          LIBS="$cf_save_LIBS"])
804                         done
805                         ])
806                 ])
807 eval 'cf_found_library=[$]cf_cv_have_lib_'$1
808 ifelse($6,,[
809 if test $cf_found_library = no ; then
810         AC_MSG_ERROR(Cannot link $1 library)
811 fi
812 ])
813 ])dnl
814 dnl ---------------------------------------------------------------------------
815 dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02
816 dnl ---------------
817 dnl Find a library (specifically the linkage used in the code fragment),
818 dnl searching for it if it is not already in the library path.
819 dnl See also CF_ADD_SEARCHPATH.
820 dnl
821 dnl Parameters (4-on are optional):
822 dnl     $1 = headers for library entrypoint
823 dnl     $2 = code fragment for library entrypoint
824 dnl     $3 = the library name without the "-l" option or ".so" suffix.
825 dnl     $4 = action to perform if successful (default: update CPPFLAGS, etc)
826 dnl     $5 = action to perform if not successful
827 dnl     $6 = module name, if not the same as the library name
828 dnl     $7 = extra libraries
829 dnl
830 dnl Sets these variables:
831 dnl     $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
832 dnl     $cf_cv_header_path_$3 - include-directory if needed
833 dnl     $cf_cv_library_path_$3 - library-directory if needed
834 dnl     $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
835 AC_DEFUN([CF_FIND_LINKAGE],[
836
837 # If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
838 # will be set on completion of the AC_TRY_LINK below.
839 cf_cv_header_path_$3=
840 cf_cv_library_path_$3=
841
842 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
843
844 cf_save_LIBS="$LIBS"
845
846 AC_TRY_LINK([$1],[$2],[
847         cf_cv_find_linkage_$3=yes
848         cf_cv_header_path_$3=/usr/include
849         cf_cv_library_path_$3=/usr/lib
850 ],[
851
852 LIBS="-l$3 $7 $cf_save_LIBS"
853
854 AC_TRY_LINK([$1],[$2],[
855         cf_cv_find_linkage_$3=yes
856         cf_cv_header_path_$3=/usr/include
857         cf_cv_library_path_$3=/usr/lib
858         cf_cv_library_file_$3="-l$3"
859 ],[
860         cf_cv_find_linkage_$3=no
861         LIBS="$cf_save_LIBS"
862
863     CF_VERBOSE(find linkage for $3 library)
864     CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
865
866     cf_save_CPPFLAGS="$CPPFLAGS"
867     cf_test_CPPFLAGS="$CPPFLAGS"
868
869     CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
870     for cf_cv_header_path_$3 in $cf_search
871     do
872       if test -d $cf_cv_header_path_$3 ; then
873         CF_VERBOSE(... testing $cf_cv_header_path_$3)
874         CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
875         AC_TRY_COMPILE([$1],[$2],[
876             CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
877             cf_cv_find_linkage_$3=maybe
878             cf_test_CPPFLAGS="$CPPFLAGS"
879             break],[
880             CPPFLAGS="$cf_save_CPPFLAGS"
881             ])
882       fi
883     done
884
885     if test "$cf_cv_find_linkage_$3" = maybe ; then
886
887       CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
888
889       cf_save_LIBS="$LIBS"
890       cf_save_LDFLAGS="$LDFLAGS"
891
892       ifelse([$6],,,[
893         CPPFLAGS="$cf_test_CPPFLAGS"
894         LIBS="-l$3 $7 $cf_save_LIBS"
895         AC_TRY_LINK([$1],[$2],[
896             CF_VERBOSE(... found $3 library in system)
897             cf_cv_find_linkage_$3=yes])
898             CPPFLAGS="$cf_save_CPPFLAGS"
899             LIBS="$cf_save_LIBS"
900             ])
901
902       if test "$cf_cv_find_linkage_$3" != yes ; then
903         CF_LIBRARY_PATH(cf_search,$3)
904         for cf_cv_library_path_$3 in $cf_search
905         do
906           if test -d $cf_cv_library_path_$3 ; then
907             CF_VERBOSE(... testing $cf_cv_library_path_$3)
908             CPPFLAGS="$cf_test_CPPFLAGS"
909             LIBS="-l$3 $7 $cf_save_LIBS"
910             LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
911             AC_TRY_LINK([$1],[$2],[
912                 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
913                 cf_cv_find_linkage_$3=yes
914                 cf_cv_library_file_$3="-l$3"
915                 break],[
916                 CPPFLAGS="$cf_save_CPPFLAGS"
917                 LIBS="$cf_save_LIBS"
918                 LDFLAGS="$cf_save_LDFLAGS"
919                 ])
920           fi
921         done
922         CPPFLAGS="$cf_save_CPPFLAGS"
923         LDFLAGS="$cf_save_LDFLAGS"
924       fi
925
926     else
927       cf_cv_find_linkage_$3=no
928     fi
929     ],$7)
930 ])
931
932 LIBS="$cf_save_LIBS"
933
934 if test "$cf_cv_find_linkage_$3" = yes ; then
935 ifelse([$4],,[
936         CF_ADD_INCDIR($cf_cv_header_path_$3)
937         CF_ADD_LIBDIR($cf_cv_library_path_$3)
938         CF_ADD_LIB($3)
939 ],[$4])
940 else
941 ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
942 fi
943 ])dnl
944 dnl ---------------------------------------------------------------------------
945 dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
946 dnl -----------------
947 dnl make ADAFLAGS consistent with CFLAGS
948 AC_DEFUN([CF_FIXUP_ADAFLAGS],[
949         AC_MSG_CHECKING(optimization options for ADAFLAGS)
950         case "$CFLAGS" in
951         *-g*)
952                 CF_ADD_ADAFLAGS(-g)
953                 ;;
954         esac
955         case "$CFLAGS" in
956         *-O*)
957                 cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[        ]].*//'`
958                 CF_ADD_ADAFLAGS($cf_O_flag)
959                 ;;
960         esac
961         AC_MSG_RESULT($ADAFLAGS)
962 ])dnl
963 dnl ---------------------------------------------------------------------------
964 dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03
965 dnl -----------------
966 dnl Test for availability of useful gcc __attribute__ directives to quiet
967 dnl compiler warnings.  Though useful, not all are supported -- and contrary
968 dnl to documentation, unrecognized directives cause older compilers to barf.
969 AC_DEFUN([CF_GCC_ATTRIBUTES],
970 [
971 if test "$GCC" = yes
972 then
973 cat > conftest.i <<EOF
974 #ifndef GCC_PRINTF
975 #define GCC_PRINTF 0
976 #endif
977 #ifndef GCC_SCANF
978 #define GCC_SCANF 0
979 #endif
980 #ifndef GCC_NORETURN
981 #define GCC_NORETURN /* nothing */
982 #endif
983 #ifndef GCC_UNUSED
984 #define GCC_UNUSED /* nothing */
985 #endif
986 EOF
987 if test "$GCC" = yes
988 then
989         AC_CHECKING([for $CC __attribute__ directives])
990 cat > conftest.$ac_ext <<EOF
991 #line __oline__ "${as_me:-configure}"
992 #include "confdefs.h"
993 #include "conftest.h"
994 #include "conftest.i"
995 #if     GCC_PRINTF
996 #define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
997 #else
998 #define GCC_PRINTFLIKE(fmt,var) /*nothing*/
999 #endif
1000 #if     GCC_SCANF
1001 #define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
1002 #else
1003 #define GCC_SCANFLIKE(fmt,var)  /*nothing*/
1004 #endif
1005 extern void wow(char *,...) GCC_SCANFLIKE(1,2);
1006 extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
1007 extern void foo(void) GCC_NORETURN;
1008 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
1009 EOF
1010         cf_printf_attribute=no
1011         cf_scanf_attribute=no
1012         for cf_attribute in scanf printf unused noreturn
1013         do
1014                 CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
1015                 cf_directive="__attribute__(($cf_attribute))"
1016                 echo "checking for $CC $cf_directive" 1>&AC_FD_CC
1017
1018                 case $cf_attribute in #(vi
1019                 printf) #(vi
1020                         cf_printf_attribute=yes
1021                         cat >conftest.h <<EOF
1022 #define GCC_$cf_ATTRIBUTE 1
1023 EOF
1024                         ;;
1025                 scanf) #(vi
1026                         cf_scanf_attribute=yes
1027                         cat >conftest.h <<EOF
1028 #define GCC_$cf_ATTRIBUTE 1
1029 EOF
1030                         ;;
1031                 *) #(vi
1032                         cat >conftest.h <<EOF
1033 #define GCC_$cf_ATTRIBUTE $cf_directive
1034 EOF
1035                         ;;
1036                 esac
1037
1038                 if AC_TRY_EVAL(ac_compile); then
1039                         test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
1040                         cat conftest.h >>confdefs.h
1041                         case $cf_attribute in #(vi
1042                         noreturn) #(vi
1043                                 AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc])
1044                                 ;;
1045                         printf) #(vi
1046                                 cf_value='/* nothing */'
1047                                 if test "$cf_printf_attribute" != no ; then
1048                                         cf_value='__attribute__((format(printf,fmt,var)))'
1049                                         AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.])
1050                                 fi
1051                                 AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc])
1052                                 ;;
1053                         scanf) #(vi
1054                                 cf_value='/* nothing */'
1055                                 if test "$cf_scanf_attribute" != no ; then
1056                                         cf_value='__attribute__((format(scanf,fmt,var)))'
1057                                         AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.])
1058                                 fi
1059                                 AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc])
1060                                 ;;
1061                         unused) #(vi
1062                                 AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc])
1063                                 ;;
1064                         esac
1065                 fi
1066         done
1067 else
1068         fgrep define conftest.i >>confdefs.h
1069 fi
1070 rm -rf conftest*
1071 fi
1072 ])dnl
1073 dnl ---------------------------------------------------------------------------
1074 dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33
1075 dnl --------------
1076 dnl Find version of gcc
1077 AC_DEFUN([CF_GCC_VERSION],[
1078 AC_REQUIRE([AC_PROG_CC])
1079 GCC_VERSION=none
1080 if test "$GCC" = yes ; then
1081         AC_MSG_CHECKING(version of $CC)
1082         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.]].*//'`"
1083         test -z "$GCC_VERSION" && GCC_VERSION=unknown
1084         AC_MSG_RESULT($GCC_VERSION)
1085 fi
1086 ])dnl
1087 dnl ---------------------------------------------------------------------------
1088 dnl CF_GCC_WARNINGS version: 31 updated: 2013/11/19 19:23:35
1089 dnl ---------------
1090 dnl Check if the compiler supports useful warning options.  There's a few that
1091 dnl we don't use, simply because they're too noisy:
1092 dnl
1093 dnl     -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
1094 dnl     -Wredundant-decls (system headers make this too noisy)
1095 dnl     -Wtraditional (combines too many unrelated messages, only a few useful)
1096 dnl     -Wwrite-strings (too noisy, but should review occasionally).  This
1097 dnl             is enabled for ncurses using "--enable-const".
1098 dnl     -pedantic
1099 dnl
1100 dnl Parameter:
1101 dnl     $1 is an optional list of gcc warning flags that a particular
1102 dnl             application might want to use, e.g., "no-unused" for
1103 dnl             -Wno-unused
1104 dnl Special:
1105 dnl     If $with_ext_const is "yes", add a check for -Wwrite-strings
1106 dnl
1107 AC_DEFUN([CF_GCC_WARNINGS],
1108 [
1109 AC_REQUIRE([CF_GCC_VERSION])
1110 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
1111 CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
1112
1113 cat > conftest.$ac_ext <<EOF
1114 #line __oline__ "${as_me:-configure}"
1115 int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
1116 EOF
1117
1118 if test "$INTEL_COMPILER" = yes
1119 then
1120 # The "-wdXXX" options suppress warnings:
1121 # remark #1419: external declaration in primary source file
1122 # remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
1123 # remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
1124 # remark #193: zero used for undefined preprocessing identifier
1125 # remark #593: variable "curs_sb_left_arrow" was set but never used
1126 # remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
1127 # remark #869: parameter "tw" was never referenced
1128 # remark #981: operands are evaluated in unspecified order
1129 # warning #279: controlling expression is constant
1130
1131         AC_CHECKING([for $CC warning options])
1132         cf_save_CFLAGS="$CFLAGS"
1133         EXTRA_CFLAGS="-Wall"
1134         for cf_opt in \
1135                 wd1419 \
1136                 wd1683 \
1137                 wd1684 \
1138                 wd193 \
1139                 wd593 \
1140                 wd279 \
1141                 wd810 \
1142                 wd869 \
1143                 wd981
1144         do
1145                 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1146                 if AC_TRY_EVAL(ac_compile); then
1147                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1148                         EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1149                 fi
1150         done
1151         CFLAGS="$cf_save_CFLAGS"
1152
1153 elif test "$GCC" = yes
1154 then
1155         AC_CHECKING([for $CC warning options])
1156         cf_save_CFLAGS="$CFLAGS"
1157         EXTRA_CFLAGS=
1158         cf_warn_CONST=""
1159         test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
1160         cf_gcc_warnings="Wignored-qualifiers Wlogical-op Wvarargs"
1161         test "x$CLANG_COMPILER" = xyes && cf_gcc_warnings=
1162         for cf_opt in W Wall \
1163                 Wbad-function-cast \
1164                 Wcast-align \
1165                 Wcast-qual \
1166                 Wdeclaration-after-statement \
1167                 Wextra \
1168                 Winline \
1169                 Wmissing-declarations \
1170                 Wmissing-prototypes \
1171                 Wnested-externs \
1172                 Wpointer-arith \
1173                 Wshadow \
1174                 Wstrict-prototypes \
1175                 Wundef $cf_gcc_warnings $cf_warn_CONST $1
1176         do
1177                 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
1178                 if AC_TRY_EVAL(ac_compile); then
1179                         test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
1180                         case $cf_opt in #(vi
1181                         Wcast-qual) #(vi
1182                                 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
1183                                 ;;
1184                         Winline) #(vi
1185                                 case $GCC_VERSION in
1186                                 [[34]].*)
1187                                         CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1188                                         continue;;
1189                                 esac
1190                                 ;;
1191                         Wpointer-arith) #(vi
1192                                 case $GCC_VERSION in
1193                                 [[12]].*)
1194                                         CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
1195                                         continue;;
1196                                 esac
1197                                 ;;
1198                         esac
1199                         EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
1200                 fi
1201         done
1202         CFLAGS="$cf_save_CFLAGS"
1203 fi
1204 rm -rf conftest*
1205
1206 AC_SUBST(EXTRA_CFLAGS)
1207 ])dnl
1208 dnl ---------------------------------------------------------------------------
1209 dnl CF_GNATPREP_OPT_T version: 1 updated: 2014/08/02 18:37:25
1210 dnl -----------------
1211 AC_DEFUN([CF_GNATPREP_OPT_T],[
1212 AC_CACHE_CHECK(if GNATPREP supports -T option,cf_cv_gnatprep_opt_t,[
1213 cf_cv_gnatprep_opt_t=no
1214 gnatprep -T 2>/dev/null >/dev/null && cf_cv_gnatprep_opt_t=yes
1215 ])
1216 test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS"
1217 AC_SUBST(GNATPREP_OPTS)
1218 ])dnl
1219 dnl ---------------------------------------------------------------------------
1220 dnl CF_GNAT_GENERICS version: 2 updated: 2011/03/23 20:24:41
1221 dnl ----------------
1222 AC_DEFUN([CF_GNAT_GENERICS],
1223 [
1224 AC_REQUIRE([CF_GNAT_VERSION])
1225
1226 AC_MSG_CHECKING(if GNAT supports generics)
1227 case $cf_gnat_version in #(vi
1228 3.[[1-9]]*|[[4-9]].*) #(vi
1229         cf_gnat_generics=yes
1230         ;;
1231 *)
1232         cf_gnat_generics=no
1233         ;;
1234 esac
1235 AC_MSG_RESULT($cf_gnat_generics)
1236
1237 if test "$cf_gnat_generics" = yes
1238 then
1239         cf_compile_generics=generics
1240         cf_generic_objects="\${GENOBJS}"
1241 else
1242         cf_compile_generics=
1243         cf_generic_objects=
1244 fi
1245
1246 AC_SUBST(cf_compile_generics)
1247 AC_SUBST(cf_generic_objects)
1248 ])dnl
1249 dnl ---------------------------------------------------------------------------
1250 dnl CF_GNAT_PROJECTS version: 7 updated: 2014/06/01 10:46:34
1251 dnl ----------------
1252 dnl GNAT projects are configured with ".gpr" project files.
1253 dnl GNAT libraries are a further development, using the project feature.
1254 AC_DEFUN([CF_GNAT_PROJECTS],
1255 [
1256 AC_REQUIRE([CF_GNAT_VERSION])
1257 AC_REQUIRE([CF_DISABLE_GNAT_PROJECTS])
1258
1259 cf_gnat_libraries=no
1260 cf_gnat_projects=no
1261
1262 if test "$enable_gnat_projects" != no ; then
1263 AC_MSG_CHECKING(if GNAT supports project files)
1264 case $cf_gnat_version in #(vi
1265 3.[[0-9]]*) #(vi
1266         ;;
1267 *)
1268         case $cf_cv_system_name in #(vi
1269         cygwin*|msys*) #(vi
1270                 ;;
1271         *)
1272                 mkdir conftest.src conftest.bin conftest.lib
1273                 cd conftest.src
1274                 rm -rf conftest* *~conftest*
1275                 cat >>library.gpr <<CF_EOF
1276 project Library is
1277   Kind := External ("LIB_KIND");
1278   for Library_Name use "ConfTest";
1279   for Object_Dir use ".";
1280   for Library_ALI_Dir use External("LIBRARY_DIR");
1281   for Library_Version use External ("SONAME");
1282   for Library_Kind use Kind;
1283   for Library_Dir use External("BUILD_DIR");
1284   Source_Dir := External ("SOURCE_DIR");
1285   for Source_Dirs use (Source_Dir);
1286 end Library;
1287 CF_EOF
1288                 cat >>confpackage.ads <<CF_EOF
1289 package ConfPackage is
1290    procedure conftest;
1291 end ConfPackage;
1292 CF_EOF
1293                 cat >>confpackage.adb <<CF_EOF
1294 with Text_IO;
1295 package body ConfPackage is
1296    procedure conftest is
1297    begin
1298       Text_IO.Put ("Hello World");
1299       Text_IO.New_Line;
1300    end conftest;
1301 end ConfPackage;
1302 CF_EOF
1303                 if ( $cf_ada_make $ADAFLAGS \
1304                                 -Plibrary.gpr \
1305                                 -XBUILD_DIR=`cd ../conftest.bin;pwd` \
1306                                 -XLIBRARY_DIR=`cd ../conftest.lib;pwd` \
1307                                 -XSOURCE_DIR=`pwd` \
1308                                 -XSONAME=libConfTest.so.1 \
1309                                 -XLIB_KIND=static 1>&AC_FD_CC 2>&1 ) ; then
1310                         cf_gnat_projects=yes
1311                 fi
1312                 cd ..
1313                 if test -f conftest.lib/confpackage.ali
1314                 then
1315                         cf_gnat_libraries=yes
1316                 fi
1317                 rm -rf conftest* *~conftest*
1318                 ;;
1319         esac
1320         ;;
1321 esac
1322 AC_MSG_RESULT($cf_gnat_projects)
1323 fi # enable_gnat_projects
1324
1325 if test $cf_gnat_projects = yes
1326 then
1327         AC_MSG_CHECKING(if GNAT supports libraries)
1328         AC_MSG_RESULT($cf_gnat_libraries)
1329 fi
1330
1331 if test "$cf_gnat_projects" = yes
1332 then
1333         USE_OLD_MAKERULES="#"
1334         USE_GNAT_PROJECTS=""
1335 else
1336         USE_OLD_MAKERULES=""
1337         USE_GNAT_PROJECTS="#"
1338 fi
1339
1340 if test "$cf_gnat_libraries" = yes
1341 then
1342         USE_GNAT_LIBRARIES=""
1343 else
1344         USE_GNAT_LIBRARIES="#"
1345 fi
1346
1347 AC_SUBST(USE_OLD_MAKERULES)
1348 AC_SUBST(USE_GNAT_PROJECTS)
1349 AC_SUBST(USE_GNAT_LIBRARIES)
1350 ])dnl
1351 dnl ---------------------------------------------------------------------------
1352 dnl CF_GNAT_SIGINT version: 1 updated: 2011/03/27 20:07:59
1353 dnl --------------
1354 dnl Check if gnat supports SIGINT, and presumably tasking.  For the latter, it
1355 dnl is noted that gnat may compile a tasking unit even for configurations which
1356 dnl fail at runtime.
1357 AC_DEFUN([CF_GNAT_SIGINT],[
1358 AC_CACHE_CHECK(if GNAT supports SIGINT,cf_cv_gnat_sigint,[
1359 CF_GNAT_TRY_LINK([with Ada.Interrupts.Names;
1360
1361 package ConfTest is
1362
1363    pragma Warnings (Off);  --  the next pragma exists since 3.11p
1364    pragma Unreserve_All_Interrupts;
1365    pragma Warnings (On);
1366
1367    protected Process is
1368       procedure Stop;
1369       function Continue return Boolean;
1370       pragma Attach_Handler (Stop, Ada.Interrupts.Names.SIGINT);
1371    private
1372       Done : Boolean := False;
1373    end Process;
1374
1375 end ConfTest;],
1376 [package body ConfTest is
1377    protected body Process is
1378       procedure Stop is
1379       begin
1380          Done := True;
1381       end Stop;
1382       function Continue return Boolean is
1383       begin
1384          return not Done;
1385       end Continue;
1386    end Process;
1387 end ConfTest;],
1388         [cf_cv_gnat_sigint=yes],
1389         [cf_cv_gnat_sigint=no])])
1390
1391 if test $cf_cv_gnat_sigint = yes ; then
1392         USE_GNAT_SIGINT=""
1393 else
1394         USE_GNAT_SIGINT="#"
1395 fi
1396 AC_SUBST(USE_GNAT_SIGINT)
1397 ])dnl
1398 dnl ---------------------------------------------------------------------------
1399 dnl CF_GNAT_TRY_LINK version: 3 updated: 2011/03/19 14:47:45
1400 dnl ----------------
1401 dnl Verify that a test program compiles/links with GNAT.
1402 dnl $cf_ada_make is set to the program that compiles/links
1403 dnl $ADAFLAGS may be set to the GNAT flags.
1404 dnl
1405 dnl $1 is the text of the spec
1406 dnl $2 is the text of the body
1407 dnl $3 is the shell command to execute if successful
1408 dnl $4 is the shell command to execute if not successful
1409 AC_DEFUN([CF_GNAT_TRY_LINK],
1410 [
1411 rm -rf conftest* *~conftest*
1412 cat >>conftest.ads <<CF_EOF
1413 $1
1414 CF_EOF
1415 cat >>conftest.adb <<CF_EOF
1416 $2
1417 CF_EOF
1418 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1419 ifelse($3,,      :,[      $3])
1420 ifelse($4,,,[else
1421    $4])
1422 fi
1423 rm -rf conftest* *~conftest*
1424 ])dnl
1425 dnl ---------------------------------------------------------------------------
1426 dnl CF_GNAT_TRY_RUN version: 5 updated: 2011/03/19 14:47:45
1427 dnl ---------------
1428 dnl Verify that a test program compiles and runs with GNAT
1429 dnl $cf_ada_make is set to the program that compiles/links
1430 dnl $ADAFLAGS may be set to the GNAT flags.
1431 dnl
1432 dnl $1 is the text of the spec
1433 dnl $2 is the text of the body
1434 dnl $3 is the shell command to execute if successful
1435 dnl $4 is the shell command to execute if not successful
1436 AC_DEFUN([CF_GNAT_TRY_RUN],
1437 [
1438 rm -rf conftest* *~conftest*
1439 cat >>conftest.ads <<CF_EOF
1440 $1
1441 CF_EOF
1442 cat >>conftest.adb <<CF_EOF
1443 $2
1444 CF_EOF
1445 if ( $cf_ada_make $ADAFLAGS conftest 1>&AC_FD_CC 2>&1 ) ; then
1446    if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
1447 ifelse($3,,      :,[      $3])
1448 ifelse($4,,,[   else
1449       $4])
1450    fi
1451 ifelse($4,,,[else
1452    $4])
1453 fi
1454 rm -rf conftest* *~conftest*
1455 ])dnl
1456 dnl ---------------------------------------------------------------------------
1457 dnl CF_GNAT_VERSION version: 18 updated: 2012/01/21 19:28:10
1458 dnl ---------------
1459 dnl Verify version of GNAT.
1460 AC_DEFUN([CF_GNAT_VERSION],
1461 [
1462 AC_MSG_CHECKING(for gnat version)
1463 cf_gnat_version=`${cf_ada_make:-gnatmake} -v 2>&1 | \
1464         grep '[[0-9]].[[0-9]][[0-9]]*' |\
1465     sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
1466 AC_MSG_RESULT($cf_gnat_version)
1467
1468 case $cf_gnat_version in #(vi
1469 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) #(vi
1470         cf_cv_prog_gnat_correct=yes
1471         ;;
1472 *)
1473         AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.)
1474         cf_cv_prog_gnat_correct=no
1475         ;;
1476 esac
1477 ])
1478 dnl ---------------------------------------------------------------------------
1479 dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07
1480 dnl -------------
1481 dnl Check if we must define _GNU_SOURCE to get a reasonable value for
1482 dnl _XOPEN_SOURCE, upon which many POSIX definitions depend.  This is a defect
1483 dnl (or misfeature) of glibc2, which breaks portability of many applications,
1484 dnl since it is interwoven with GNU extensions.
1485 dnl
1486 dnl Well, yes we could work around it...
1487 AC_DEFUN([CF_GNU_SOURCE],
1488 [
1489 AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
1490 AC_TRY_COMPILE([#include <sys/types.h>],[
1491 #ifndef _XOPEN_SOURCE
1492 make an error
1493 #endif],
1494         [cf_cv_gnu_source=no],
1495         [cf_save="$CPPFLAGS"
1496          CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1497          AC_TRY_COMPILE([#include <sys/types.h>],[
1498 #ifdef _XOPEN_SOURCE
1499 make an error
1500 #endif],
1501         [cf_cv_gnu_source=no],
1502         [cf_cv_gnu_source=yes])
1503         CPPFLAGS="$cf_save"
1504         ])
1505 ])
1506 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
1507 ])dnl
1508 dnl ---------------------------------------------------------------------------
1509 dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40
1510 dnl --------------
1511 dnl Construct a search-list of directories for a nonstandard header-file
1512 dnl
1513 dnl Parameters
1514 dnl     $1 = the variable to return as result
1515 dnl     $2 = the package name
1516 AC_DEFUN([CF_HEADER_PATH],
1517 [
1518 $1=
1519
1520 # collect the current set of include-directories from compiler flags
1521 cf_header_path_list=""
1522 if test -n "${CFLAGS}${CPPFLAGS}" ; then
1523         for cf_header_path in $CPPFLAGS $CFLAGS
1524         do
1525                 case $cf_header_path in #(vi
1526                 -I*)
1527                         cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
1528                         CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
1529                         cf_header_path_list="$cf_header_path_list [$]$1"
1530                         ;;
1531                 esac
1532         done
1533 fi
1534
1535 # add the variations for the package we are looking for
1536 CF_SUBDIR_PATH($1,$2,include)
1537
1538 test "$includedir" != NONE && \
1539 test "$includedir" != "/usr/include" && \
1540 test -d "$includedir" && {
1541         test -d $includedir &&    $1="[$]$1 $includedir"
1542         test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
1543 }
1544
1545 test "$oldincludedir" != NONE && \
1546 test "$oldincludedir" != "/usr/include" && \
1547 test -d "$oldincludedir" && {
1548         test -d $oldincludedir    && $1="[$]$1 $oldincludedir"
1549         test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
1550 }
1551
1552 $1="[$]$1 $cf_header_path_list"
1553 ])dnl
1554 dnl ---------------------------------------------------------------------------
1555 dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
1556 dnl ---------------
1557 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
1558 AC_DEFUN([CF_HELP_MESSAGE],
1559 [AC_DIVERT_HELP([$1])dnl
1560 ])dnl
1561 dnl ---------------------------------------------------------------------------
1562 dnl CF_INCLUDE_DIRS version: 10 updated: 2014/09/19 20:58:42
1563 dnl ---------------
1564 dnl Construct the list of include-options according to whether we're building
1565 dnl in the source directory or using '--srcdir=DIR' option.
1566 AC_DEFUN([CF_INCLUDE_DIRS],
1567 [
1568 if test "$srcdir" != "."; then
1569         CPPFLAGS="-I\${srcdir}/../include $CPPFLAGS"
1570 fi
1571 CPPFLAGS="-I../include $CPPFLAGS"
1572 if test "$srcdir" != "."; then
1573         CPPFLAGS="-I\${srcdir} $CPPFLAGS"
1574 fi
1575 CPPFLAGS="-I. $CPPFLAGS"
1576 AC_SUBST(CPPFLAGS)
1577 ])dnl
1578 dnl ---------------------------------------------------------------------------
1579 dnl CF_INTEL_COMPILER version: 6 updated: 2014/03/17 13:13:07
1580 dnl -----------------
1581 dnl Check if the given compiler is really the Intel compiler for Linux.  It
1582 dnl tries to imitate gcc, but does not return an error when it finds a mismatch
1583 dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK.
1584 dnl
1585 dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
1586 dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
1587 dnl the wrappers for gcc and g++ warnings.
1588 dnl
1589 dnl $1 = GCC (default) or GXX
1590 dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
1591 dnl $3 = CFLAGS (default) or CXXFLAGS
1592 AC_DEFUN([CF_INTEL_COMPILER],[
1593 AC_REQUIRE([AC_CANONICAL_HOST])
1594 ifelse([$2],,INTEL_COMPILER,[$2])=no
1595
1596 if test "$ifelse([$1],,[$1],GCC)" = yes ; then
1597         case $host_os in
1598         linux*|gnu*)
1599                 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler)
1600                 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
1601                 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc"
1602                 AC_TRY_COMPILE([],[
1603 #ifdef __INTEL_COMPILER
1604 #else
1605 make an error
1606 #endif
1607 ],[ifelse([$2],,INTEL_COMPILER,[$2])=yes
1608 cf_save_CFLAGS="$cf_save_CFLAGS -we147"
1609 ],[])
1610                 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
1611                 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2]))
1612                 ;;
1613         esac
1614 fi
1615 ])dnl
1616 dnl ---------------------------------------------------------------------------
1617 dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51
1618 dnl ------------
1619 dnl Add checks for large file support.
1620 AC_DEFUN([CF_LARGEFILE],[
1621 ifdef([AC_FUNC_FSEEKO],[
1622     AC_SYS_LARGEFILE
1623     if test "$enable_largefile" != no ; then
1624         AC_FUNC_FSEEKO
1625
1626         # Normally we would collect these definitions in the config.h,
1627         # but (like _XOPEN_SOURCE), some environments rely on having these
1628         # defined before any of the system headers are included.  Another
1629         # case comes up with C++, e.g., on AIX the compiler compiles the
1630         # header files by themselves before looking at the body files it is
1631         # told to compile.  For ncurses, those header files do not include
1632         # the config.h
1633         test "$ac_cv_sys_large_files"      != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
1634         test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
1635         test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
1636
1637         AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
1638                 AC_TRY_COMPILE([
1639 #include <sys/types.h>
1640 #include <dirent.h>
1641                 ],[
1642                 /* if transitional largefile support is setup, this is true */
1643                 extern struct dirent64 * readdir(DIR *);
1644                 struct dirent64 *x = readdir((DIR *)0);
1645                 struct dirent *y = readdir((DIR *)0);
1646                 int z = x - y;
1647                 ],
1648                 [cf_cv_struct_dirent64=yes],
1649                 [cf_cv_struct_dirent64=no])
1650         ])
1651         test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64])
1652     fi
1653 ])
1654 ])
1655 dnl ---------------------------------------------------------------------------
1656 dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41
1657 dnl ---------------
1658 dnl For the given system and compiler, find the compiler flags to pass to the
1659 dnl loader to use the "rpath" feature.
1660 AC_DEFUN([CF_LD_RPATH_OPT],
1661 [
1662 AC_REQUIRE([CF_CHECK_CACHE])
1663
1664 LD_RPATH_OPT=
1665 AC_MSG_CHECKING(for an rpath option)
1666 case $cf_cv_system_name in #(vi
1667 irix*) #(vi
1668         if test "$GCC" = yes; then
1669                 LD_RPATH_OPT="-Wl,-rpath,"
1670         else
1671                 LD_RPATH_OPT="-rpath "
1672         fi
1673         ;;
1674 linux*|gnu*|k*bsd*-gnu) #(vi
1675         LD_RPATH_OPT="-Wl,-rpath,"
1676         ;;
1677 openbsd[[2-9]].*|mirbsd*) #(vi
1678         LD_RPATH_OPT="-Wl,-rpath,"
1679         ;;
1680 dragonfly*|freebsd*) #(vi
1681         LD_RPATH_OPT="-rpath "
1682         ;;
1683 netbsd*) #(vi
1684         LD_RPATH_OPT="-Wl,-rpath,"
1685         ;;
1686 osf*|mls+*) #(vi
1687         LD_RPATH_OPT="-rpath "
1688         ;;
1689 solaris2*) #(vi
1690         LD_RPATH_OPT="-R"
1691         ;;
1692 *)
1693         ;;
1694 esac
1695 AC_MSG_RESULT($LD_RPATH_OPT)
1696
1697 case "x$LD_RPATH_OPT" in #(vi
1698 x-R*)
1699         AC_MSG_CHECKING(if we need a space after rpath option)
1700         cf_save_LIBS="$LIBS"
1701         CF_ADD_LIBS(${LD_RPATH_OPT}$libdir)
1702         AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
1703         LIBS="$cf_save_LIBS"
1704         AC_MSG_RESULT($cf_rpath_space)
1705         test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
1706         ;;
1707 esac
1708 ])dnl
1709 dnl ---------------------------------------------------------------------------
1710 dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
1711 dnl ---------------
1712 dnl Construct a search-list of directories for a nonstandard library-file
1713 dnl
1714 dnl Parameters
1715 dnl     $1 = the variable to return as result
1716 dnl     $2 = the package name
1717 AC_DEFUN([CF_LIBRARY_PATH],
1718 [
1719 $1=
1720 cf_library_path_list=""
1721 if test -n "${LDFLAGS}${LIBS}" ; then
1722         for cf_library_path in $LDFLAGS $LIBS
1723         do
1724                 case $cf_library_path in #(vi
1725                 -L*)
1726                         cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
1727                         CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
1728                         cf_library_path_list="$cf_library_path_list [$]$1"
1729                         ;;
1730                 esac
1731         done
1732 fi
1733
1734 CF_SUBDIR_PATH($1,$2,lib)
1735
1736 $1="$cf_library_path_list [$]$1"
1737 ])dnl
1738 dnl ---------------------------------------------------------------------------
1739 dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10
1740 dnl -------------
1741 dnl Compute the library-prefix for the given host system
1742 dnl $1 = variable to set
1743 define([CF_LIB_PREFIX],
1744 [
1745         case $cf_cv_system_name in #(vi
1746         OS/2*|os2*) #(vi
1747         LIB_PREFIX=''
1748         ;;
1749         *)      LIB_PREFIX='lib'
1750         ;;
1751         esac
1752 ifelse($1,,,[$1=$LIB_PREFIX])
1753         AC_SUBST(LIB_PREFIX)
1754 ])dnl
1755 dnl ---------------------------------------------------------------------------
1756 dnl CF_LIB_SUFFIX version: 23 updated: 2014/06/21 17:47:12
1757 dnl -------------
1758 dnl Compute the library file-suffix from the given model name
1759 dnl $1 = model name
1760 dnl $2 = variable to set (the nominal library suffix)
1761 dnl $3 = dependency variable to set (actual filename)
1762 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
1763 AC_DEFUN([CF_LIB_SUFFIX],
1764 [
1765         case X$1 in #(vi
1766         Xlibtool) #(vi
1767                 $2='.la'
1768                 $3=[$]$2
1769                 ;;
1770         Xdebug) #(vi
1771                 $2='_g.a'
1772                 $3=[$]$2
1773                 ;;
1774         Xprofile) #(vi
1775                 $2='_p.a'
1776                 $3=[$]$2
1777                 ;;
1778         Xshared) #(vi
1779                 case $cf_cv_system_name in
1780                 aix[[5-7]]*) #(vi
1781                         $2='.so'
1782                         $3=[$]$2
1783                         ;;
1784                 cygwin*|msys*|mingw*) #(vi
1785                         $2='.dll'
1786                         $3='.dll.a'
1787                         ;;
1788                 darwin*) #(vi
1789                         $2='.dylib'
1790                         $3=[$]$2
1791                         ;;
1792                 hpux*) #(vi
1793                         case $target in
1794                         ia64*) #(vi
1795                                 $2='.so'
1796                                 $3=[$]$2
1797                                 ;;
1798                         *) #(vi
1799                                 $2='.sl'
1800                                 $3=[$]$2
1801                                 ;;
1802                         esac
1803                         ;;
1804                 *) #(vi
1805                         $2='.so'
1806                         $3=[$]$2
1807                         ;;
1808                 esac
1809                 ;;
1810         *)
1811                 $2='.a'
1812                 $3=[$]$2
1813                 ;;
1814         esac
1815         test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1816         test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
1817 ])dnl
1818 dnl ---------------------------------------------------------------------------
1819 dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
1820 dnl -----------
1821 dnl Compute the string to append to -library from the given model name
1822 dnl $1 = model name
1823 dnl $2 = variable to set
1824 dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
1825 AC_DEFUN([CF_LIB_TYPE],
1826 [
1827         case $1 in
1828         libtool) $2=''   ;;
1829         normal)  $2=''   ;;
1830         debug)   $2='_g' ;;
1831         profile) $2='_p' ;;
1832         shared)  $2=''   ;;
1833         esac
1834         test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
1835 ])dnl
1836 dnl ---------------------------------------------------------------------------
1837 dnl CF_LINK_DATAONLY version: 10 updated: 2012/10/06 17:41:51
1838 dnl ----------------
1839 dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
1840 dnl only data (i.e., no functions), for example NeXT.  On those systems we'll
1841 dnl have to provide wrappers for global tables to ensure they're linked
1842 dnl properly.
1843 AC_DEFUN([CF_LINK_DATAONLY],
1844 [
1845 AC_MSG_CHECKING([if data-only library module links])
1846 AC_CACHE_VAL(cf_cv_link_dataonly,[
1847         rm -f conftest.a
1848         cat >conftest.$ac_ext <<EOF
1849 #line __oline__ "configure"
1850 int     testdata[[3]] = { 123, 456, 789 };
1851 EOF
1852         if AC_TRY_EVAL(ac_compile) ; then
1853                 mv conftest.o data.o && \
1854                 ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
1855         fi
1856         rm -f conftest.$ac_ext data.o
1857         cat >conftest.$ac_ext <<EOF
1858 #line __oline__ "configure"
1859 int     testfunc()
1860 {
1861 #if defined(NeXT)
1862         ${cf_cv_main_return:-return}(1);        /* I'm told this linker is broken */
1863 #else
1864         extern int testdata[[3]];
1865         return testdata[[0]] == 123
1866            &&  testdata[[1]] == 456
1867            &&  testdata[[2]] == 789;
1868 #endif
1869 }
1870 EOF
1871         if AC_TRY_EVAL(ac_compile); then
1872                 mv conftest.o func.o && \
1873                 ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
1874         fi
1875         rm -f conftest.$ac_ext func.o
1876         ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
1877         cf_saveLIBS="$LIBS"
1878         LIBS="conftest.a $LIBS"
1879         AC_TRY_RUN([
1880         int main()
1881         {
1882                 extern int testfunc();
1883                 ${cf_cv_main_return:-return} (!testfunc());
1884         }
1885         ],
1886         [cf_cv_link_dataonly=yes],
1887         [cf_cv_link_dataonly=no],
1888         [cf_cv_link_dataonly=unknown])
1889         LIBS="$cf_saveLIBS"
1890         ])
1891 AC_MSG_RESULT($cf_cv_link_dataonly)
1892
1893 if test "$cf_cv_link_dataonly" = no ; then
1894         AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
1895         BROKEN_LINKER=1
1896 fi
1897
1898 ])dnl
1899 dnl ---------------------------------------------------------------------------
1900 dnl CF_MAKEFLAGS version: 15 updated: 2014/05/10 16:43:23
1901 dnl ------------
1902 dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
1903 dnl options to lower-levels.  It's very useful for "make -n" -- if we have it.
1904 dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
1905 dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
1906 AC_DEFUN([CF_MAKEFLAGS],
1907 [
1908 AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
1909         cf_cv_makeflags=''
1910         for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
1911         do
1912                 cat >cf_makeflags.tmp <<CF_EOF
1913 SHELL = /bin/sh
1914 all :
1915         @ echo '.$cf_option'
1916 CF_EOF
1917                 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[   ]]*$,,'`
1918                 case "$cf_result" in
1919                 .*k|.*kw)
1920                         cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
1921                         case "$cf_result" in
1922                         .*CC=*) cf_cv_makeflags=
1923                                 ;;
1924                         *)      cf_cv_makeflags=$cf_option
1925                                 ;;
1926                         esac
1927                         break
1928                         ;;
1929                 .-)     ;;
1930                 *)      echo "given option \"$cf_option\", no match \"$cf_result\""
1931                         ;;
1932                 esac
1933         done
1934         rm -f cf_makeflags.tmp
1935 ])
1936
1937 AC_SUBST(cf_cv_makeflags)
1938 ])dnl
1939 dnl ---------------------------------------------------------------------------
1940 dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32
1941 dnl ------------
1942 dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
1943 dnl a monocase filesystem.
1944 AC_DEFUN([CF_MAKE_TAGS],[
1945 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
1946
1947 AC_CHECK_PROGS(CTAGS, exctags ctags)
1948 AC_CHECK_PROGS(ETAGS, exetags etags)
1949
1950 AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no)
1951
1952 if test "$cf_cv_mixedcase" = yes ; then
1953         AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no)
1954 else
1955         MAKE_UPPER_TAGS=no
1956 fi
1957
1958 if test "$MAKE_UPPER_TAGS" = yes ; then
1959         MAKE_UPPER_TAGS=
1960 else
1961         MAKE_UPPER_TAGS="#"
1962 fi
1963
1964 if test "$MAKE_LOWER_TAGS" = yes ; then
1965         MAKE_LOWER_TAGS=
1966 else
1967         MAKE_LOWER_TAGS="#"
1968 fi
1969
1970 AC_SUBST(CTAGS)
1971 AC_SUBST(ETAGS)
1972
1973 AC_SUBST(MAKE_UPPER_TAGS)
1974 AC_SUBST(MAKE_LOWER_TAGS)
1975 ])dnl
1976 dnl ---------------------------------------------------------------------------
1977 dnl CF_MIXEDCASE_FILENAMES version: 6 updated: 2013/10/08 17:47:05
1978 dnl ----------------------
1979 dnl Check if the file-system supports mixed-case filenames.  If we're able to
1980 dnl create a lowercase name and see it as uppercase, it doesn't support that.
1981 AC_DEFUN([CF_MIXEDCASE_FILENAMES],
1982 [
1983 AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
1984 if test "$cross_compiling" = yes ; then
1985         case $target_alias in #(vi
1986         *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*) #(vi
1987                 cf_cv_mixedcase=no
1988                 ;;
1989         *)
1990                 cf_cv_mixedcase=yes
1991                 ;;
1992         esac
1993 else
1994         rm -f conftest CONFTEST
1995         echo test >conftest
1996         if test -f CONFTEST ; then
1997                 cf_cv_mixedcase=no
1998         else
1999                 cf_cv_mixedcase=yes
2000         fi
2001         rm -f conftest CONFTEST
2002 fi
2003 ])
2004 test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.])
2005 ])dnl
2006 dnl ---------------------------------------------------------------------------
2007 dnl CF_MKSTEMP version: 9 updated: 2012/10/03 04:34:49
2008 dnl ----------
2009 dnl Check for a working mkstemp.  This creates two files, checks that they are
2010 dnl successfully created and distinct (AmigaOS apparently fails on the last).
2011 AC_DEFUN([CF_MKSTEMP],[
2012 AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
2013 rm -rf conftest*
2014 AC_TRY_RUN([
2015 #include <sys/types.h>
2016 #include <stdlib.h>
2017 #include <stdio.h>
2018 #include <string.h>
2019 #include <sys/stat.h>
2020 int main()
2021 {
2022         char *tmpl = "conftestXXXXXX";
2023         char name[2][80];
2024         int n;
2025         int result = 0;
2026         int fd;
2027         struct stat sb;
2028
2029         umask(077);
2030         for (n = 0; n < 2; ++n) {
2031                 strcpy(name[n], tmpl);
2032                 if ((fd = mkstemp(name[n])) >= 0) {
2033                         if (!strcmp(name[n], tmpl)
2034                          || stat(name[n], &sb) != 0
2035                          || (sb.st_mode & S_IFMT) != S_IFREG
2036                          || (sb.st_mode & 077) != 0) {
2037                                 result = 1;
2038                         }
2039                         close(fd);
2040                 }
2041         }
2042         if (result == 0
2043          && !strcmp(name[0], name[1]))
2044                 result = 1;
2045         ${cf_cv_main_return:-return}(result);
2046 }
2047 ],[cf_cv_func_mkstemp=yes
2048 ],[cf_cv_func_mkstemp=no
2049 ],[cf_cv_func_mkstemp=maybe])
2050 ])
2051 if test "x$cf_cv_func_mkstemp" = xmaybe ; then
2052         AC_CHECK_FUNC(mkstemp)
2053 fi
2054 if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then
2055         AC_DEFINE(HAVE_MKSTEMP,1,[Define to 1 if mkstemp() is available and working.])
2056 fi
2057 ])dnl
2058 dnl ---------------------------------------------------------------------------
2059 dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32
2060 dnl ----------
2061 dnl Write a debug message to config.log, along with the line number in the
2062 dnl configure script.
2063 AC_DEFUN([CF_MSG_LOG],[
2064 echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
2065 ])dnl
2066 dnl ---------------------------------------------------------------------------
2067 dnl CF_NCURSES_ADDON version: 4 updated: 2011/03/27 17:10:13
2068 dnl ----------------
2069 dnl Configure an ncurses add-on, built outside the ncurses tree.
2070 AC_DEFUN([CF_NCURSES_ADDON],[
2071
2072 AC_PROVIDE([CF_SUBST_NCURSES_VERSION])
2073
2074 AC_MSG_CHECKING(if you want wide-character code)
2075 AC_ARG_ENABLE(widec,
2076         [  --enable-widec          compile with wide-char/UTF-8 code],
2077         [with_widec=$enableval],
2078         [with_widec=no])
2079 AC_MSG_RESULT($with_widec)
2080 if test "$with_widec" = yes ; then
2081         CF_UTF8_LIB 
2082         CF_NCURSES_CONFIG(ncursesw)
2083 else
2084         CF_NCURSES_CONFIG(ncurses)
2085 fi
2086
2087 if test "$NCURSES_CONFIG" != none ; then
2088
2089 cf_version=`$NCURSES_CONFIG --version`
2090
2091 NCURSES_MAJOR=`echo "$cf_version" | sed -e 's/\..*//'`
2092 NCURSES_MINOR=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.//' -e 's/\..*//'`
2093 NCURSES_PATCH=`echo "$cf_version" | sed -e 's/^[[0-9]][[0-9]]*\.[[0-9]][[0-9]]*\.//'`
2094
2095 # ABI version is not available from headers
2096 cf_cv_abi_version=`$NCURSES_CONFIG --abi-version`
2097
2098 else
2099
2100 for cf_name in MAJOR MINOR PATCH
2101 do
2102 cat >conftest.$ac_ext <<CF_EOF
2103 #include <${cf_cv_ncurses_header:-curses.h}>
2104 AUTOCONF_$cf_name NCURSES_VERSION_$cf_name
2105 CF_EOF
2106         cf_try="$ac_cpp conftest.$ac_ext 2>&5 | fgrep AUTOCONF_$cf_name >conftest.out"
2107         AC_TRY_EVAL(cf_try)
2108         if test -f conftest.out ; then
2109                 cf_result=`cat conftest.out | sed -e "s/^.*AUTOCONF_$cf_name[[  ]][[    ]]*//"`
2110                 eval NCURSES_$cf_name=\"$cf_result\"
2111                 # cat conftest.$ac_ext
2112                 # cat conftest.out
2113         fi
2114 done
2115
2116 cf_cv_abi_version=${NCURSES_MAJOR}
2117
2118 fi
2119
2120 cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
2121
2122 dnl Show the computed version, for logging
2123 cf_cv_timestamp=`date`
2124
2125 AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
2126
2127 dnl We need these values in the generated headers
2128 AC_SUBST(NCURSES_MAJOR)
2129 AC_SUBST(NCURSES_MINOR)
2130 AC_SUBST(NCURSES_PATCH)
2131
2132 dnl We need these values in the generated makefiles
2133 AC_SUBST(cf_cv_rel_version)
2134 AC_SUBST(cf_cv_abi_version)
2135
2136 dnl FIXME - not needed for Ada95
2137 AC_SUBST(cf_cv_builtin_bool)
2138 AC_SUBST(cf_cv_header_stdbool_h)
2139 AC_SUBST(cf_cv_type_of_bool)dnl
2140
2141 ])
2142 dnl ---------------------------------------------------------------------------
2143 dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05
2144 dnl -------------------
2145 dnl Check if we can compile with ncurses' header file
2146 dnl $1 is the cache variable to set
2147 dnl $2 is the header-file to include
2148 dnl $3 is the root name (ncurses or ncursesw)
2149 AC_DEFUN([CF_NCURSES_CC_CHECK],[
2150         AC_TRY_COMPILE([
2151 ]ifelse($3,ncursesw,[
2152 #define _XOPEN_SOURCE_EXTENDED
2153 #undef  HAVE_LIBUTF8_H  /* in case we used CF_UTF8_LIB */
2154 #define HAVE_LIBUTF8_H  /* to force ncurses' header file to use cchar_t */
2155 ])[
2156 #include <$2>],[
2157 #ifdef NCURSES_VERSION
2158 ]ifelse($3,ncursesw,[
2159 #ifndef WACS_BSSB
2160         make an error
2161 #endif
2162 ])[
2163 printf("%s\n", NCURSES_VERSION);
2164 #else
2165 #ifdef __NCURSES_H
2166 printf("old\n");
2167 #else
2168         make an error
2169 #endif
2170 #endif
2171         ]
2172         ,[$1=$2]
2173         ,[$1=no])
2174 ])dnl
2175 dnl ---------------------------------------------------------------------------
2176 dnl CF_NCURSES_CONFIG version: 10 updated: 2012/10/06 08:57:51
2177 dnl -----------------
2178 dnl Tie together the configure-script macros for ncurses.
2179 dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis.
2180 dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable.
2181 dnl
2182 dnl $1 is the root library name (default: "ncurses")
2183 AC_DEFUN([CF_NCURSES_CONFIG],
2184 [
2185 cf_ncuconfig_root=ifelse($1,,ncurses,$1)
2186
2187 echo "Looking for ${cf_ncuconfig_root}-config"
2188
2189 CF_ACVERSION_CHECK(2.52,
2190         [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
2191         [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
2192
2193 if test "$NCURSES_CONFIG" != none ; then
2194
2195 CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`"
2196 CF_ADD_LIBS(`$NCURSES_CONFIG --libs`)
2197
2198 # even with config script, some packages use no-override for curses.h
2199 CF_CURSES_HEADER(ifelse($1,,ncurses,$1))
2200
2201 dnl like CF_NCURSES_CPPFLAGS
2202 AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
2203
2204 dnl like CF_NCURSES_LIBS
2205 CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root)
2206 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2207
2208 dnl like CF_NCURSES_VERSION
2209 cf_cv_ncurses_version=`$NCURSES_CONFIG --version`
2210
2211 else
2212
2213 CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1))
2214 CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
2215
2216 fi
2217 ])dnl
2218 dnl ---------------------------------------------------------------------------
2219 dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51
2220 dnl -------------------
2221 dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
2222 dnl the CPPFLAGS variable so we can include its header.
2223 dnl
2224 dnl The header files may be installed as either curses.h, or ncurses.h (would
2225 dnl be obsolete, except that some packagers prefer this name to distinguish it
2226 dnl from a "native" curses implementation).  If not installed for overwrite,
2227 dnl the curses.h file would be in an ncurses subdirectory (e.g.,
2228 dnl /usr/include/ncurses), but someone may have installed overwriting the
2229 dnl vendor's curses.  Only very old versions (pre-1.9.2d, the first autoconf'd
2230 dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
2231 dnl the header.
2232 dnl
2233 dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
2234 dnl is already in the include-path, don't even bother with this, since we cannot
2235 dnl easily determine which file it is.  In this case, it has to be <curses.h>.
2236 dnl
2237 dnl The optional parameter gives the root name of the library, in case it is
2238 dnl not installed as the default curses library.  That is how the
2239 dnl wide-character version of ncurses is installed.
2240 AC_DEFUN([CF_NCURSES_CPPFLAGS],
2241 [AC_REQUIRE([CF_WITH_CURSES_DIR])
2242
2243 AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
2244 cf_ncuhdr_root=ifelse($1,,ncurses,$1)
2245
2246 test -n "$cf_cv_curses_dir" && \
2247 test "$cf_cv_curses_dir" != "no" && { \
2248   CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
2249 }
2250
2251 AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
2252         cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
2253         ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
2254         for cf_header in $cf_header_list
2255         do
2256                 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
2257                 test "$cf_cv_ncurses_h" != no && break
2258         done
2259 ])
2260
2261 CF_NCURSES_HEADER
2262 CF_TERM_HEADER
2263
2264 # some applications need this, but should check for NCURSES_VERSION
2265 AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
2266
2267 CF_NCURSES_VERSION
2268 ])dnl
2269 dnl ---------------------------------------------------------------------------
2270 dnl CF_NCURSES_HEADER version: 3 updated: 2012/10/06 08:57:51
2271 dnl -----------------
2272 dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common
2273 dnl variations of ncurses' installs.
2274 dnl
2275 dnl See also CF_CURSES_HEADER, which sets the same cache variable.
2276 AC_DEFUN([CF_NCURSES_HEADER],[
2277
2278 if test "$cf_cv_ncurses_h" != no ; then
2279         cf_cv_ncurses_header=$cf_cv_ncurses_h
2280 else
2281
2282 AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
2283         test -n "$verbose" && echo
2284         CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
2285         test -n "$verbose" && echo search path $cf_search
2286         cf_save2_CPPFLAGS="$CPPFLAGS"
2287         for cf_incdir in $cf_search
2288         do
2289                 CF_ADD_INCDIR($cf_incdir)
2290                 for cf_header in \
2291                         ncurses.h \
2292                         curses.h
2293                 do
2294                         CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
2295                         if test "$cf_cv_ncurses_h2" != no ; then
2296                                 cf_cv_ncurses_h2=$cf_incdir/$cf_header
2297                                 test -n "$verbose" && echo $ac_n "      ... found $ac_c" 1>&AC_FD_MSG
2298                                 break
2299                         fi
2300                         test -n "$verbose" && echo "    ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
2301                 done
2302                 CPPFLAGS="$cf_save2_CPPFLAGS"
2303                 test "$cf_cv_ncurses_h2" != no && break
2304         done
2305         test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found)
2306         ])
2307
2308         CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
2309         cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
2310         if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
2311                 cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
2312         fi
2313         CF_ADD_INCDIR($cf_1st_incdir)
2314
2315 fi
2316
2317 # Set definitions to allow ifdef'ing for ncurses.h
2318
2319 case $cf_cv_ncurses_header in # (vi
2320 *ncurses.h)
2321         AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h])
2322         ;;
2323 esac
2324
2325 case $cf_cv_ncurses_header in # (vi
2326 ncurses/curses.h|ncurses/ncurses.h)
2327         AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h])
2328         ;;
2329 ncursesw/curses.h|ncursesw/ncurses.h)
2330         AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h])
2331         ;;
2332 esac
2333
2334 ])dnl
2335 dnl ---------------------------------------------------------------------------
2336 dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38
2337 dnl ---------------
2338 dnl Look for the ncurses library.  This is a little complicated on Linux,
2339 dnl because it may be linked with the gpm (general purpose mouse) library.
2340 dnl Some distributions have gpm linked with (bsd) curses, which makes it
2341 dnl unusable with ncurses.  However, we don't want to link with gpm unless
2342 dnl ncurses has a dependency, since gpm is normally set up as a shared library,
2343 dnl and the linker will record a dependency.
2344 dnl
2345 dnl The optional parameter gives the root name of the library, in case it is
2346 dnl not installed as the default curses library.  That is how the
2347 dnl wide-character version of ncurses is installed.
2348 AC_DEFUN([CF_NCURSES_LIBS],
2349 [AC_REQUIRE([CF_NCURSES_CPPFLAGS])
2350
2351 cf_nculib_root=ifelse($1,,ncurses,$1)
2352         # This works, except for the special case where we find gpm, but
2353         # ncurses is in a nonstandard location via $LIBS, and we really want
2354         # to link gpm.
2355 cf_ncurses_LIBS=""
2356 cf_ncurses_SAVE="$LIBS"
2357 AC_CHECK_LIB(gpm,Gpm_Open,
2358         [AC_CHECK_LIB(gpm,initscr,
2359                 [LIBS="$cf_ncurses_SAVE"],
2360                 [cf_ncurses_LIBS="-lgpm"])])
2361
2362 case $host_os in #(vi
2363 freebsd*)
2364         # This is only necessary if you are linking against an obsolete
2365         # version of ncurses (but it should do no harm, since it's static).
2366         if test "$cf_nculib_root" = ncurses ; then
2367                 AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
2368         fi
2369         ;;
2370 esac
2371
2372 CF_ADD_LIBS($cf_ncurses_LIBS)
2373
2374 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
2375 then
2376         CF_ADD_LIBS(-l$cf_nculib_root)
2377 else
2378         CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
2379                 [#include <${cf_cv_ncurses_header:-curses.h}>],
2380                 [initscr()],
2381                 initscr)
2382 fi
2383
2384 if test -n "$cf_ncurses_LIBS" ; then
2385         AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
2386         cf_ncurses_SAVE="$LIBS"
2387         for p in $cf_ncurses_LIBS ; do
2388                 q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
2389                 if test "$q" != "$LIBS" ; then
2390                         LIBS="$q"
2391                 fi
2392         done
2393         AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
2394                 [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
2395                 [AC_MSG_RESULT(yes)],
2396                 [AC_MSG_RESULT(no)
2397                  LIBS="$cf_ncurses_SAVE"])
2398 fi
2399
2400 CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
2401 AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
2402 ])dnl
2403 dnl ---------------------------------------------------------------------------
2404 dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51
2405 dnl ------------------
2406 dnl Check for the version of ncurses, to aid in reporting bugs, etc.
2407 dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS.  We don't use
2408 dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
2409 AC_DEFUN([CF_NCURSES_VERSION],
2410 [
2411 AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
2412 AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
2413         cf_cv_ncurses_version=no
2414         cf_tempfile=out$$
2415         rm -f $cf_tempfile
2416         AC_TRY_RUN([
2417 #include <${cf_cv_ncurses_header:-curses.h}>
2418 #include <stdio.h>
2419 int main()
2420 {
2421         FILE *fp = fopen("$cf_tempfile", "w");
2422 #ifdef NCURSES_VERSION
2423 # ifdef NCURSES_VERSION_PATCH
2424         fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
2425 # else
2426         fprintf(fp, "%s\n", NCURSES_VERSION);
2427 # endif
2428 #else
2429 # ifdef __NCURSES_H
2430         fprintf(fp, "old\n");
2431 # else
2432         make an error
2433 # endif
2434 #endif
2435         ${cf_cv_main_return:-return}(0);
2436 }],[
2437         cf_cv_ncurses_version=`cat $cf_tempfile`],,[
2438
2439         # This will not work if the preprocessor splits the line after the
2440         # Autoconf token.  The 'unproto' program does that.
2441         cat > conftest.$ac_ext <<EOF
2442 #include <${cf_cv_ncurses_header:-curses.h}>
2443 #undef Autoconf
2444 #ifdef NCURSES_VERSION
2445 Autoconf NCURSES_VERSION
2446 #else
2447 #ifdef __NCURSES_H
2448 Autoconf "old"
2449 #endif
2450 ;
2451 #endif
2452 EOF
2453         cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
2454         AC_TRY_EVAL(cf_try)
2455         if test -f conftest.out ; then
2456                 cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
2457                 test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
2458                 rm -f conftest.out
2459         fi
2460 ])
2461         rm -f $cf_tempfile
2462 ])
2463 test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
2464 ])dnl
2465 dnl ---------------------------------------------------------------------------
2466 dnl CF_OBJ_SUBDIR version: 6 updated: 2013/09/07 14:06:10
2467 dnl -------------
2468 dnl Compute the object-directory name from the given model name
2469 AC_DEFUN([CF_OBJ_SUBDIR],
2470 [
2471         case $1 in
2472         libtool) $2='obj_lo'  ;;
2473         normal)  $2='objects' ;;
2474         debug)   $2='obj_g' ;;
2475         profile) $2='obj_p' ;;
2476         shared)
2477                 case $cf_cv_system_name in #(vi
2478                 cygwin|msys) #(vi
2479                         $2='objects' ;;
2480                 *)
2481                         $2='obj_s' ;;
2482                 esac
2483         esac
2484 ])dnl
2485 dnl ---------------------------------------------------------------------------
2486 dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12
2487 dnl ----------
2488 dnl Provide a value for the $PATH and similar separator (or amend the value
2489 dnl as provided in autoconf 2.5x).
2490 AC_DEFUN([CF_PATHSEP],
2491 [
2492         AC_MSG_CHECKING(for PATH separator)
2493         case $cf_cv_system_name in
2494         os2*)   PATH_SEPARATOR=';'  ;;
2495         *)      ${PATH_SEPARATOR:=':'}  ;;
2496         esac
2497 ifelse([$1],,,[$1=$PATH_SEPARATOR])
2498         AC_SUBST(PATH_SEPARATOR)
2499         AC_MSG_RESULT($PATH_SEPARATOR)
2500 ])dnl
2501 dnl ---------------------------------------------------------------------------
2502 dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
2503 dnl --------------
2504 dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
2505 dnl begins with one of the prefix/exec_prefix variables, and then again if the
2506 dnl result begins with 'NONE'.  This is necessary to work around autoconf's
2507 dnl delayed evaluation of those symbols.
2508 AC_DEFUN([CF_PATH_SYNTAX],[
2509 if test "x$prefix" != xNONE; then
2510   cf_path_syntax="$prefix"
2511 else
2512   cf_path_syntax="$ac_default_prefix"
2513 fi
2514
2515 case ".[$]$1" in #(vi
2516 .\[$]\(*\)*|.\'*\'*) #(vi
2517   ;;
2518 ..|./*|.\\*) #(vi
2519   ;;
2520 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
2521   ;;
2522 .\[$]{*prefix}*|.\[$]{*dir}*) #(vi
2523   eval $1="[$]$1"
2524   case ".[$]$1" in #(vi
2525   .NONE/*)
2526     $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
2527     ;;
2528   esac
2529   ;; #(vi
2530 .no|.NONE/*)
2531   $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
2532   ;;
2533 *)
2534   ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
2535   ;;
2536 esac
2537 ])dnl
2538 dnl ---------------------------------------------------------------------------
2539 dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22
2540 dnl -------------
2541 dnl Check for the package-config program, unless disabled by command-line.
2542 AC_DEFUN([CF_PKG_CONFIG],
2543 [
2544 AC_MSG_CHECKING(if you want to use pkg-config)
2545 AC_ARG_WITH(pkg-config,
2546         [  --with-pkg-config{=path} enable/disable use of pkg-config],
2547         [cf_pkg_config=$withval],
2548         [cf_pkg_config=yes])
2549 AC_MSG_RESULT($cf_pkg_config)
2550
2551 case $cf_pkg_config in #(vi
2552 no) #(vi
2553         PKG_CONFIG=none
2554         ;;
2555 yes) #(vi
2556         CF_ACVERSION_CHECK(2.52,
2557                 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)],
2558                 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)])
2559         ;;
2560 *)
2561         PKG_CONFIG=$withval
2562         ;;
2563 esac
2564
2565 test -z "$PKG_CONFIG" && PKG_CONFIG=none
2566 if test "$PKG_CONFIG" != none ; then
2567         CF_PATH_SYNTAX(PKG_CONFIG)
2568 fi
2569
2570 AC_SUBST(PKG_CONFIG)
2571 ])dnl
2572 dnl ---------------------------------------------------------------------------
2573 dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42
2574 dnl -----------------
2575 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
2576 dnl
2577 dnl     POSIX.1-1990                            _POSIX_SOURCE
2578 dnl     POSIX.1-1990 and                        _POSIX_SOURCE and
2579 dnl             POSIX.2-1992 C-Language                 _POSIX_C_SOURCE=2
2580 dnl             Bindings Option
2581 dnl     POSIX.1b-1993                           _POSIX_C_SOURCE=199309L
2582 dnl     POSIX.1c-1996                           _POSIX_C_SOURCE=199506L
2583 dnl     X/Open 2000                             _POSIX_C_SOURCE=200112L
2584 dnl
2585 dnl Parameters:
2586 dnl     $1 is the nominal value for _POSIX_C_SOURCE
2587 AC_DEFUN([CF_POSIX_C_SOURCE],
2588 [
2589 cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1])
2590
2591 cf_save_CFLAGS="$CFLAGS"
2592 cf_save_CPPFLAGS="$CPPFLAGS"
2593
2594 CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE)
2595 CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE)
2596
2597 AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[
2598         CF_MSG_LOG(if the symbol is already defined go no further)
2599         AC_TRY_COMPILE([#include <sys/types.h>],[
2600 #ifndef _POSIX_C_SOURCE
2601 make an error
2602 #endif],
2603         [cf_cv_posix_c_source=no],
2604         [cf_want_posix_source=no
2605          case .$cf_POSIX_C_SOURCE in #(vi
2606          .[[12]]??*) #(vi
2607                 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
2608                 ;;
2609          .2) #(vi
2610                 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE"
2611                 cf_want_posix_source=yes
2612                 ;;
2613          .*)
2614                 cf_want_posix_source=yes
2615                 ;;
2616          esac
2617          if test "$cf_want_posix_source" = yes ; then
2618                 AC_TRY_COMPILE([#include <sys/types.h>],[
2619 #ifdef _POSIX_SOURCE
2620 make an error
2621 #endif],[],
2622                 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE")
2623          fi
2624          CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE)
2625          CFLAGS="$cf_trim_CFLAGS"
2626          CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source"
2627          CF_MSG_LOG(if the second compile does not leave our definition intact error)
2628          AC_TRY_COMPILE([#include <sys/types.h>],[
2629 #ifndef _POSIX_C_SOURCE
2630 make an error
2631 #endif],,
2632          [cf_cv_posix_c_source=no])
2633          CFLAGS="$cf_save_CFLAGS"
2634          CPPFLAGS="$cf_save_CPPFLAGS"
2635         ])
2636 ])
2637
2638 if test "$cf_cv_posix_c_source" != no ; then
2639         CFLAGS="$cf_trim_CFLAGS"
2640         CPPFLAGS="$cf_trim_CPPFLAGS"
2641         CF_ADD_CFLAGS($cf_cv_posix_c_source)
2642 fi
2643
2644 ])dnl
2645 dnl ---------------------------------------------------------------------------
2646 dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
2647 dnl ----------
2648 dnl Check for archiver "ar".
2649 AC_DEFUN([CF_PROG_AR],[
2650 AC_CHECK_TOOL(AR, ar, ar)
2651 ])
2652 dnl ---------------------------------------------------------------------------
2653 dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
2654 dnl -----------
2655 dnl Check for awk, ensure that the check found something.
2656 AC_DEFUN([CF_PROG_AWK],
2657 [
2658 AC_PROG_AWK
2659 test -z "$AWK" && AC_MSG_ERROR(No awk program found)
2660 ])dnl
2661 dnl ---------------------------------------------------------------------------
2662 dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58
2663 dnl ----------
2664 dnl standard check for CC, plus followup sanity checks
2665 dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name
2666 AC_DEFUN([CF_PROG_CC],[
2667 ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)])
2668 CF_GCC_VERSION
2669 CF_ACVERSION_CHECK(2.52,
2670         [AC_PROG_CC_STDC],
2671         [CF_ANSI_CC_REQD])
2672 CF_CC_ENV_FLAGS
2673 ])dnl
2674 dnl ---------------------------------------------------------------------------
2675 dnl CF_PROG_CC_C_O version: 3 updated: 2010/08/14 18:25:37
2676 dnl --------------
2677 dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
2678 dnl the output file can be renamed, and allows for a shell variable that can
2679 dnl be used later.  The parameter is either CC or CXX.  The result is the
2680 dnl cache variable:
2681 dnl     $cf_cv_prog_CC_c_o
2682 dnl     $cf_cv_prog_CXX_c_o
2683 AC_DEFUN([CF_PROG_CC_C_O],
2684 [AC_REQUIRE([AC_PROG_CC])dnl
2685 AC_MSG_CHECKING([whether [$]$1 understands -c and -o together])
2686 AC_CACHE_VAL(cf_cv_prog_$1_c_o,
2687 [
2688 cat > conftest.$ac_ext <<CF_EOF
2689 #include <stdio.h>
2690 int main()
2691 {
2692         ${cf_cv_main_return:-return}(0);
2693 }
2694 CF_EOF
2695 # We do the test twice because some compilers refuse to overwrite an
2696 # existing .o file with -o, though they will create one.
2697 ac_try='[$]$1 -c conftest.$ac_ext -o conftest2.$ac_objext >&AC_FD_CC'
2698 if AC_TRY_EVAL(ac_try) &&
2699   test -f conftest2.$ac_objext && AC_TRY_EVAL(ac_try);
2700 then
2701   eval cf_cv_prog_$1_c_o=yes
2702 else
2703   eval cf_cv_prog_$1_c_o=no
2704 fi
2705 rm -rf conftest*
2706 ])dnl
2707 if test $cf_cv_prog_$1_c_o = yes; then
2708   AC_MSG_RESULT([yes])
2709 else
2710   AC_MSG_RESULT([no])
2711 fi
2712 ])dnl
2713 dnl ---------------------------------------------------------------------------
2714 dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
2715 dnl -------------
2716 dnl AC_PROG_EGREP was introduced in autoconf 2.53.
2717 dnl This macro adds a check to ensure the script found something.
2718 AC_DEFUN([CF_PROG_EGREP],
2719 [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
2720    [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
2721     then ac_cv_prog_egrep='grep -E'
2722     else ac_cv_prog_egrep='egrep'
2723     fi])
2724  EGREP=$ac_cv_prog_egrep
2725  AC_SUBST([EGREP])
2726 test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
2727 ])dnl
2728 dnl ---------------------------------------------------------------------------
2729 dnl CF_PROG_EXT version: 11 updated: 2012/10/06 08:57:51
2730 dnl -----------
2731 dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
2732 AC_DEFUN([CF_PROG_EXT],
2733 [
2734 AC_REQUIRE([CF_CHECK_CACHE])
2735 case $cf_cv_system_name in
2736 os2*)
2737     CFLAGS="$CFLAGS -Zmt"
2738     CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
2739     CXXFLAGS="$CXXFLAGS -Zmt"
2740     # autoconf's macro sets -Zexe and suffix both, which conflict:w
2741     LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
2742     ac_cv_exeext=.exe
2743     ;;
2744 esac
2745
2746 AC_EXEEXT
2747 AC_OBJEXT
2748
2749 PROG_EXT="$EXEEXT"
2750 AC_SUBST(PROG_EXT)
2751 test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)])
2752 ])dnl
2753 dnl ---------------------------------------------------------------------------
2754 dnl CF_PROG_GNAT version: 2 updated: 2011/10/22 14:01:47
2755 dnl ------------
2756 dnl Check for gnatmake, ensure that it is complete.
2757 AC_DEFUN([CF_PROG_GNAT],[
2758 cf_ada_make=gnatmake
2759 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
2760 if test "$ac_cv_prog_gnat_exists" = no; then
2761    cf_ada_make=
2762    cf_cv_prog_gnat_correct=no
2763 else
2764    CF_GNAT_VERSION
2765    AC_CHECK_PROG(M4_exists, m4, yes, no)
2766    if test "$ac_cv_prog_M4_exists" = no; then
2767       cf_cv_prog_gnat_correct=no
2768       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
2769    fi
2770    if test "$cf_cv_prog_gnat_correct" = yes; then
2771       AC_MSG_CHECKING(if GNAT works)
2772       CF_GNAT_TRY_RUN([procedure conftest;],
2773 [with Text_IO;
2774 with GNAT.OS_Lib;
2775 procedure conftest is
2776 begin
2777    Text_IO.Put ("Hello World");
2778    Text_IO.New_Line;
2779    GNAT.OS_Lib.OS_Exit (0);
2780 end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
2781       AC_MSG_RESULT($cf_cv_prog_gnat_correct)
2782    fi
2783 fi
2784
2785 AC_SUBST(cf_ada_make)
2786 ])dnl
2787 dnl ---------------------------------------------------------------------------
2788 dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37
2789 dnl ------------
2790 dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f"
2791 dnl option if it is supported.
2792 AC_DEFUN([CF_PROG_LN_S],[
2793 AC_PROG_LN_S
2794 AC_MSG_CHECKING(if $LN_S -f options work)
2795
2796 rm -f conf$$.src conf$$dst
2797 echo >conf$$.dst
2798 echo first >conf$$.src
2799 if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then
2800         cf_prog_ln_sf=yes
2801 else
2802         cf_prog_ln_sf=no
2803 fi
2804 rm -f conf$$.dst conf$$src
2805 AC_MSG_RESULT($cf_prog_ln_sf)
2806
2807 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
2808 ])dnl
2809 dnl ---------------------------------------------------------------------------
2810 dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
2811 dnl ----------------
2812 dnl Remove all -U and -D options that refer to the given symbol from a list
2813 dnl of C compiler options.  This works around the problem that not all
2814 dnl compilers process -U and -D options from left-to-right, so a -U option
2815 dnl cannot be used to cancel the effect of a preceding -D option.
2816 dnl
2817 dnl $1 = target (which could be the same as the source variable)
2818 dnl $2 = source (including '$')
2819 dnl $3 = symbol to remove
2820 define([CF_REMOVE_DEFINE],
2821 [
2822 $1=`echo "$2" | \
2823         sed     -e 's/-[[UD]]'"$3"'\(=[[^       ]]*\)\?[[       ]]/ /g' \
2824                 -e 's/-[[UD]]'"$3"'\(=[[^       ]]*\)\?[$]//g'`
2825 ])dnl
2826 dnl ---------------------------------------------------------------------------
2827 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
2828 dnl -------------
2829 dnl Remove the given library from the symbol
2830 dnl
2831 dnl $1 = target (which could be the same as the source variable)
2832 dnl $2 = source (including '$')
2833 dnl $3 = library to remove
2834 define([CF_REMOVE_LIB],
2835 [
2836 # remove $3 library from $2
2837 $1=`echo "$2" | sed -e 's/-l$3[[        ]]//g' -e 's/-l$3[$]//'`
2838 ])dnl
2839 dnl ---------------------------------------------------------------------------
2840 dnl CF_SHARED_OPTS version: 84 updated: 2013/11/03 06:26:10
2841 dnl --------------
2842 dnl --------------
2843 dnl Attempt to determine the appropriate CC/LD options for creating a shared
2844 dnl library.
2845 dnl
2846 dnl Notes:
2847 dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within
2848 dnl the build-tree, i.e., by making use of the libraries that are compiled in
2849 dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the
2850 dnl shared library since that can lead to unexpected results at runtime.
2851 dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared
2852 dnl libraries are compiled in ../../lib
2853 dnl
2854 dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
2855 dnl to install symbolic links to the rel/abi versions of shared libraries.
2856 dnl
2857 dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
2858 dnl version when making symbolic links.
2859 dnl
2860 dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
2861 dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
2862 dnl (ex: libncurses.so.<ver>).
2863 dnl
2864 dnl Some loaders leave 'so_locations' lying around.  It's nice to clean up.
2865 AC_DEFUN([CF_SHARED_OPTS],
2866 [
2867         AC_REQUIRE([CF_LD_RPATH_OPT])
2868         RM_SHARED_OPTS=
2869         LOCAL_LDFLAGS=
2870         LOCAL_LDFLAGS2=
2871         LD_SHARED_OPTS=
2872         INSTALL_LIB="-m 644"
2873         : ${rel_builddir:=.}
2874
2875         shlibdir=$libdir
2876         AC_SUBST(shlibdir)
2877
2878         MAKE_DLLS="#"
2879         AC_SUBST(MAKE_DLLS)
2880
2881         cf_cv_do_symlinks=no
2882         cf_ld_rpath_opt=
2883         test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
2884
2885         AC_MSG_CHECKING(if release/abi version should be used for shared libs)
2886         AC_ARG_WITH(shlib-version,
2887         [  --with-shlib-version=X  Specify rel or abi version for shared libs],
2888         [test -z "$withval" && withval=auto
2889         case $withval in #(vi
2890         yes) #(vi
2891                 cf_cv_shlib_version=auto
2892                 ;;
2893         rel|abi|auto|no) #(vi
2894                 cf_cv_shlib_version=$withval
2895                 ;;
2896         *)
2897                 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
2898                 ;;
2899         esac
2900         ],[cf_cv_shlib_version=auto])
2901         AC_MSG_RESULT($cf_cv_shlib_version)
2902
2903         cf_cv_rm_so_locs=no
2904         cf_try_cflags=
2905
2906         # Some less-capable ports of gcc support only -fpic
2907         CC_SHARED_OPTS=
2908         if test "$GCC" = yes
2909         then
2910                 AC_MSG_CHECKING(which $CC option to use)
2911                 cf_save_CFLAGS="$CFLAGS"
2912                 for CC_SHARED_OPTS in -fPIC -fpic ''
2913                 do
2914                         CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
2915                         AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
2916                 done
2917                 AC_MSG_RESULT($CC_SHARED_OPTS)
2918                 CFLAGS="$cf_save_CFLAGS"
2919         fi
2920
2921         cf_cv_shlib_version_infix=no
2922
2923         case $cf_cv_system_name in #(vi
2924         aix4.[3-9]*|aix[[5-7]]*) #(vi
2925                 if test "$GCC" = yes; then
2926                         CC_SHARED_OPTS=
2927                         MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
2928                 else
2929                         # CC_SHARED_OPTS='-qpic=large -G'
2930                         # perhaps "-bM:SRE -bnoentry -bexpall"
2931                         MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@'
2932                 fi
2933                 ;;
2934         beos*) #(vi
2935                 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
2936                 ;;
2937         cygwin*) #(vi
2938                 CC_SHARED_OPTS=
2939                 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
2940                 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
2941                 cf_cv_shlib_version=cygdll
2942                 cf_cv_shlib_version_infix=cygdll
2943                 shlibdir=$bindir
2944                 MAKE_DLLS=
2945                 cat >mk_shared_lib.sh <<-CF_EOF
2946                 #!/bin/sh
2947                 SHARED_LIB=\[$]1
2948                 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
2949                 shift
2950                 cat <<-EOF
2951                 Linking shared library
2952                 ** SHARED_LIB \[$]SHARED_LIB
2953                 ** IMPORT_LIB \[$]IMPORT_LIB
2954 EOF
2955                 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
2956 CF_EOF
2957                 chmod +x mk_shared_lib.sh
2958                 ;;
2959         msys*) #(vi
2960                 CC_SHARED_OPTS=
2961                 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
2962                 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
2963                 cf_cv_shlib_version=msysdll
2964                 cf_cv_shlib_version_infix=msysdll
2965                 shlibdir=$bindir
2966                 MAKE_DLLS=
2967                 cat >mk_shared_lib.sh <<-CF_EOF
2968                 #!/bin/sh
2969                 SHARED_LIB=\[$]1
2970                 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
2971                 shift
2972                 cat <<-EOF
2973                 Linking shared library
2974                 ** SHARED_LIB \[$]SHARED_LIB
2975                 ** IMPORT_LIB \[$]IMPORT_LIB
2976 EOF
2977                 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
2978 CF_EOF
2979                 chmod +x mk_shared_lib.sh
2980                 ;;
2981         darwin*) #(vi
2982                 cf_try_cflags="no-cpp-precomp"
2983                 CC_SHARED_OPTS="-dynamic"
2984                 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
2985                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
2986                 cf_cv_shlib_version_infix=yes
2987                 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
2988                         cf_save_LDFLAGS=$LDFLAGS
2989                         LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
2990                         AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
2991                                 LDFLAGS=$cf_save_LDFLAGS])
2992                 if test $cf_cv_ldflags_search_paths_first = yes; then
2993                         LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
2994                 fi
2995                 ;;
2996         hpux[[7-8]]*) #(vi
2997                 # HP-UX 8.07 ld lacks "+b" option used for libdir search-list 
2998                 if test "$GCC" != yes; then
2999                         CC_SHARED_OPTS='+Z'
3000                 fi
3001                 MK_SHARED_LIB='${LD} -b -o $[@]'
3002                 INSTALL_LIB="-m 555"
3003                 ;;
3004         hpux*) #(vi
3005                 # (tested with gcc 2.7.2 -- I don't have c89)
3006                 if test "$GCC" = yes; then
3007                         LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
3008                 else
3009                         CC_SHARED_OPTS='+Z'
3010                         LD_SHARED_OPTS='-Wl,+b,${libdir}'
3011                 fi
3012                 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
3013                 # HP-UX shared libraries must be executable, and should be
3014                 # readonly to exploit a quirk in the memory manager.
3015                 INSTALL_LIB="-m 555"
3016                 ;;
3017         interix*)
3018                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3019                 if test "$cf_cv_shlib_version" = rel; then
3020                         cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
3021                 else
3022                         cf_shared_soname='`basename $@`'
3023                 fi
3024                 CC_SHARED_OPTS=
3025                 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@'
3026                 ;;
3027         irix*) #(vi
3028                 if test "$cf_cv_enable_rpath" = yes ; then
3029                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3030                 fi
3031                 # tested with IRIX 5.2 and 'cc'.
3032                 if test "$GCC" != yes; then
3033                         CC_SHARED_OPTS='-KPIC'
3034                         MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
3035                 else
3036                         MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
3037                 fi
3038                 cf_cv_rm_so_locs=yes
3039                 ;;
3040         linux*|gnu*|k*bsd*-gnu) #(vi
3041                 if test "$DFT_LWR_MODEL" = "shared" ; then
3042                         LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3043                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3044                 fi
3045                 if test "$cf_cv_enable_rpath" = yes ; then
3046                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3047                 fi
3048                 CF_SHARED_SONAME
3049                 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
3050                 ;;
3051         mingw*) #(vi
3052                 cf_cv_shlib_version=mingw
3053                 cf_cv_shlib_version_infix=mingw
3054                 shlibdir=$bindir
3055                 MAKE_DLLS=
3056                 if test "$DFT_LWR_MODEL" = "shared" ; then
3057                         LOCAL_LDFLAGS="-Wl,--enable-auto-import"
3058                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3059                         EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS"
3060                 fi
3061                 CC_SHARED_OPTS=
3062                 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
3063                 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a"
3064                 cat >mk_shared_lib.sh <<-CF_EOF
3065                 #!/bin/sh
3066                 SHARED_LIB=\[$]1
3067                 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
3068                 shift
3069                 cat <<-EOF
3070                 Linking shared library
3071                 ** SHARED_LIB \[$]SHARED_LIB
3072                 ** IMPORT_LIB \[$]IMPORT_LIB
3073 EOF
3074                 exec \[$]* -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB}
3075 CF_EOF
3076                 chmod +x mk_shared_lib.sh
3077                 ;;
3078         openbsd[[2-9]].*|mirbsd*) #(vi
3079                 if test "$DFT_LWR_MODEL" = "shared" ; then
3080                         LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3081                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3082                 fi
3083                 if test "$cf_cv_enable_rpath" = yes ; then
3084                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3085                 fi
3086                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3087                 CF_SHARED_SONAME
3088                 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
3089                 ;;
3090         nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
3091                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3092                 MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
3093                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3094                 ;;
3095         dragonfly*|freebsd*) #(vi
3096                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3097                 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
3098                         LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
3099                         LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS"
3100                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3101                 fi
3102                 CF_SHARED_SONAME
3103                 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
3104                 ;;
3105         netbsd*) #(vi
3106                 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
3107                 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
3108                         LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
3109                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3110                         EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS"
3111                         if test "$cf_cv_shlib_version" = auto; then
3112                         if test -f /usr/libexec/ld.elf_so; then
3113                                 cf_cv_shlib_version=abi
3114                         else
3115                                 cf_cv_shlib_version=rel
3116                         fi
3117                         fi
3118                         CF_SHARED_SONAME
3119                         MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
3120                 else
3121                         MK_SHARED_LIB='${CC} -Wl,-shared -Wl,-Bshareable -o $[@]'
3122                 fi
3123                 ;;
3124         osf*|mls+*) #(vi
3125                 # tested with OSF/1 V3.2 and 'cc'
3126                 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
3127                 # link with shared libs).
3128                 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
3129                 case $host_os in #(vi
3130                 osf4*)
3131                         MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
3132                         ;;
3133                 esac
3134                 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
3135                 if test "$DFT_LWR_MODEL" = "shared" ; then
3136                         LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
3137                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3138                 fi
3139                 cf_cv_rm_so_locs=yes
3140                 ;;
3141         sco3.2v5*)  # (also uw2* and UW7: hops 13-Apr-98
3142                 # tested with osr5.0.5
3143                 if test "$GCC" != yes; then
3144                         CC_SHARED_OPTS='-belf -KPIC'
3145                 fi
3146                 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
3147                 if test "$cf_cv_enable_rpath" = yes ; then
3148                         # only way is to set LD_RUN_PATH but no switch for it
3149                         RUN_PATH=$libdir
3150                 fi
3151                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3152                 LINK_PROGS='LD_RUN_PATH=${libdir}'
3153                 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
3154                 ;;
3155         sunos4*) #(vi
3156                 # tested with SunOS 4.1.1 and gcc 2.7.0
3157                 if test "$GCC" != yes; then
3158                         CC_SHARED_OPTS='-KPIC'
3159                 fi
3160                 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
3161                 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
3162                 ;;
3163         solaris2*) #(vi
3164                 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
3165                 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
3166                 if test "$DFT_LWR_MODEL" = "shared" ; then
3167                         LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
3168                         LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
3169                 fi
3170                 if test "$cf_cv_enable_rpath" = yes ; then
3171                         EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
3172                 fi
3173                 CF_SHARED_SONAME
3174                 if test "$GCC" != yes; then
3175                         cf_save_CFLAGS="$CFLAGS"
3176                         for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O
3177                         do
3178                                 CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
3179                                 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
3180                         done
3181                         CFLAGS="$cf_save_CFLAGS"
3182                         CC_SHARED_OPTS=$cf_shared_opts
3183                         MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
3184                 else
3185                         MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
3186                 fi
3187                 ;;
3188         sysv5uw7*|unix_sv*) #(vi
3189                 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
3190                 if test "$GCC" != yes; then
3191                         CC_SHARED_OPTS='-KPIC'
3192                 fi
3193                 MK_SHARED_LIB='${LD} -d y -G -o [$]@'
3194                 ;;
3195         *)
3196                 CC_SHARED_OPTS='unknown'
3197                 MK_SHARED_LIB='echo unknown'
3198                 ;;
3199         esac
3200
3201         # This works if the last tokens in $MK_SHARED_LIB are the -o target.
3202         case "$cf_cv_shlib_version" in #(vi
3203         rel|abi)
3204                 case "$MK_SHARED_LIB" in #(vi
3205                 *'-o $[@]') #(vi
3206                         test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
3207                         ;;
3208                 *)
3209                         AC_MSG_WARN(ignored --with-shlib-version)
3210                         ;;
3211                 esac
3212                 ;;
3213         esac
3214
3215         if test -n "$cf_try_cflags"
3216         then
3217 cat > conftest.$ac_ext <<EOF
3218 #line __oline__ "${as_me:-configure}"
3219 #include <stdio.h>
3220 int main(int argc, char *argv[[]])
3221 {
3222         printf("hello\n");
3223         return (argv[[argc-1]] == 0) ;
3224 }
3225 EOF
3226                 cf_save_CFLAGS="$CFLAGS"
3227                 for cf_opt in $cf_try_cflags
3228                 do
3229                         CFLAGS="$cf_save_CFLAGS -$cf_opt"
3230                         AC_MSG_CHECKING(if CFLAGS option -$cf_opt works)
3231                         if AC_TRY_EVAL(ac_compile); then
3232                                 AC_MSG_RESULT(yes)
3233                                 cf_save_CFLAGS="$CFLAGS"
3234                         else
3235                                 AC_MSG_RESULT(no)
3236                         fi
3237                 done
3238                 CFLAGS="$cf_save_CFLAGS"
3239         fi
3240
3241
3242         # RPATH_LIST is a colon-separated list of directories
3243         test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}"
3244         test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}"
3245
3246         test $cf_cv_rm_so_locs = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations"
3247
3248         CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS)
3249         CF_VERBOSE(MK_SHARED_LIB:  $MK_SHARED_LIB)
3250
3251         AC_SUBST(CC_SHARED_OPTS)
3252         AC_SUBST(LD_RPATH_OPT)
3253         AC_SUBST(LD_SHARED_OPTS)
3254         AC_SUBST(MK_SHARED_LIB)
3255         AC_SUBST(RM_SHARED_OPTS)
3256
3257         AC_SUBST(LINK_PROGS)
3258         AC_SUBST(LINK_TESTS)
3259
3260         AC_SUBST(EXTRA_LDFLAGS)
3261         AC_SUBST(LOCAL_LDFLAGS)
3262         AC_SUBST(LOCAL_LDFLAGS2)
3263
3264         AC_SUBST(INSTALL_LIB)
3265         AC_SUBST(RPATH_LIST)
3266 ])dnl
3267 dnl ---------------------------------------------------------------------------
3268 dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
3269 dnl ----------------
3270 dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
3271 dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
3272 dnl option.
3273 dnl
3274 dnl $1 is the default that should be used for "$cf_cv_shlib_version".
3275 dnl If missing, use "rel".
3276 define([CF_SHARED_SONAME],
3277 [
3278         test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
3279         if test "$cf_cv_shlib_version" = rel; then
3280                 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
3281         else
3282                 cf_cv_shared_soname='`basename $[@]`'
3283         fi
3284 ])
3285 dnl ---------------------------------------------------------------------------
3286 dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
3287 dnl --------------
3288 dnl     Remove "-g" option from the compiler options
3289 AC_DEFUN([CF_STRIP_G_OPT],
3290 [$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
3291 dnl ---------------------------------------------------------------------------
3292 dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50
3293 dnl --------------
3294 dnl Construct a search-list for a nonstandard header/lib-file
3295 dnl     $1 = the variable to return as result
3296 dnl     $2 = the package name
3297 dnl     $3 = the subdirectory, e.g., bin, include or lib
3298 AC_DEFUN([CF_SUBDIR_PATH],
3299 [
3300 $1=
3301
3302 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
3303 CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
3304 CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
3305 CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
3306 CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
3307 ])dnl
3308 dnl ---------------------------------------------------------------------------
3309 dnl CF_TERM_HEADER version: 3 updated: 2012/10/06 08:57:51
3310 dnl --------------
3311 dnl Look for term.h, which is part of X/Open curses.  It defines the interface
3312 dnl to terminfo database.  Usually it is in the same include-path as curses.h,
3313 dnl but some packagers change this, breaking various applications.
3314 AC_DEFUN([CF_TERM_HEADER],[
3315 AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[
3316 case ${cf_cv_ncurses_header} in #(vi
3317 */ncurses.h|*/ncursesw.h) #(vi
3318         cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'`
3319         ;;
3320 *)
3321         cf_term_header=term.h
3322         ;;
3323 esac
3324
3325 for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h"
3326 do
3327 AC_TRY_COMPILE([#include <stdio.h>
3328 #include <${cf_cv_ncurses_header:-curses.h}>
3329 #include <$cf_test>
3330 ],[int x = auto_left_margin],[
3331         cf_cv_term_header="$cf_test"],[
3332         cf_cv_term_header=unknown
3333         ])
3334         test "$cf_cv_term_header" != unknown && break
3335 done
3336 ])
3337
3338 # Set definitions to allow ifdef'ing to accommodate subdirectories
3339
3340 case $cf_cv_term_header in # (vi
3341 *term.h)
3342         AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h])
3343         ;;
3344 esac
3345
3346 case $cf_cv_term_header in # (vi
3347 ncurses/term.h) #(vi
3348         AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h])
3349         ;;
3350 ncursesw/term.h)
3351         AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h])
3352         ;;
3353 esac
3354 ])dnl
3355 dnl ---------------------------------------------------------------------------
3356 dnl CF_TOP_BUILDDIR version: 2 updated: 2013/07/27 17:38:32
3357 dnl ---------------
3358 dnl Define a top_builddir symbol, for applications that need an absolute path.
3359 AC_DEFUN([CF_TOP_BUILDDIR],
3360 [
3361 top_builddir=ifelse($1,,`pwd`,$1)
3362 AC_SUBST(top_builddir)
3363 ])dnl
3364 dnl ---------------------------------------------------------------------------
3365 dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50
3366 dnl -------------------
3367 dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we
3368 dnl can define it successfully.
3369 AC_DEFUN([CF_TRY_XOPEN_SOURCE],[
3370 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
3371         AC_TRY_COMPILE([
3372 #include <stdlib.h>
3373 #include <string.h>
3374 #include <sys/types.h>
3375 ],[
3376 #ifndef _XOPEN_SOURCE
3377 make an error
3378 #endif],
3379         [cf_cv_xopen_source=no],
3380         [cf_save="$CPPFLAGS"
3381          CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3382          AC_TRY_COMPILE([
3383 #include <stdlib.h>
3384 #include <string.h>
3385 #include <sys/types.h>
3386 ],[
3387 #ifdef _XOPEN_SOURCE
3388 make an error
3389 #endif],
3390         [cf_cv_xopen_source=no],
3391         [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
3392         CPPFLAGS="$cf_save"
3393         ])
3394 ])
3395
3396 if test "$cf_cv_xopen_source" != no ; then
3397         CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
3398         CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
3399         cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
3400         CF_ADD_CFLAGS($cf_temp_xopen_source)
3401 fi
3402 ])
3403 dnl ---------------------------------------------------------------------------
3404 dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
3405 dnl --------
3406 dnl Make an uppercase version of a variable
3407 dnl $1=uppercase($2)
3408 AC_DEFUN([CF_UPPER],
3409 [
3410 $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
3411 ])dnl
3412 dnl ---------------------------------------------------------------------------
3413 dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51
3414 dnl -----------
3415 dnl Check for multibyte support, and if not found, utf8 compatibility library
3416 AC_DEFUN([CF_UTF8_LIB],
3417 [
3418 AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
3419         cf_save_LIBS="$LIBS"
3420         AC_TRY_LINK([
3421 #include <stdlib.h>],[putwc(0,0);],
3422         [cf_cv_utf8_lib=yes],
3423         [CF_FIND_LINKAGE([
3424 #include <libutf8.h>],[putwc(0,0);],utf8,
3425                 [cf_cv_utf8_lib=add-on],
3426                 [cf_cv_utf8_lib=no])
3427 ])])
3428
3429 # HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
3430 # ncurses/ncursesw:
3431 if test "$cf_cv_utf8_lib" = "add-on" ; then
3432         AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h])
3433         CF_ADD_INCDIR($cf_cv_header_path_utf8)
3434         CF_ADD_LIBDIR($cf_cv_library_path_utf8)
3435         CF_ADD_LIBS($cf_cv_library_file_utf8)
3436 fi
3437 ])dnl
3438 dnl ---------------------------------------------------------------------------
3439 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
3440 dnl ----------
3441 dnl Use AC_VERBOSE w/o the warnings
3442 AC_DEFUN([CF_VERBOSE],
3443 [test -n "$verbose" && echo "   $1" 1>&AC_FD_MSG
3444 CF_MSG_LOG([$1])
3445 ])dnl
3446 dnl ---------------------------------------------------------------------------
3447 dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
3448 dnl ---------------
3449 dnl Check for compiler-support for weak symbols.
3450 dnl This works with "recent" gcc.
3451 AC_DEFUN([CF_WEAK_SYMBOLS],[
3452 AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
3453
3454 AC_TRY_COMPILE([
3455 #include <stdio.h>],
3456 [
3457 #if defined(__GNUC__)
3458 #  if defined __USE_ISOC99
3459 #    define _cat_pragma(exp)    _Pragma(#exp)
3460 #    define _weak_pragma(exp)   _cat_pragma(weak name)
3461 #  else
3462 #    define _weak_pragma(exp)
3463 #  endif
3464 #  define _declare(name)        __extension__ extern __typeof__(name) name
3465 #  define weak_symbol(name)     _weak_pragma(name) _declare(name) __attribute__((weak))
3466 #endif
3467
3468 weak_symbol(fopen);
3469 ],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
3470 ])
3471 ])dnl
3472 dnl ---------------------------------------------------------------------------
3473 dnl CF_WITH_ADA_COMPILER version: 2 updated: 2010/06/26 17:35:58
3474 dnl --------------------
3475 dnl Command-line option to specify the Ada95 compiler.
3476 AC_DEFUN([CF_WITH_ADA_COMPILER],[
3477 AC_MSG_CHECKING(for ada-compiler)
3478 AC_ARG_WITH(ada-compiler,
3479         [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
3480         [cf_ada_compiler=$withval],
3481         [cf_ada_compiler=gnatmake])
3482 AC_SUBST(cf_ada_compiler)
3483 AC_MSG_RESULT($cf_ada_compiler)
3484 ])dnl
3485 dnl ---------------------------------------------------------------------------
3486 dnl CF_WITH_ADA_INCLUDE version: 2 updated: 2010/06/26 17:35:58
3487 dnl -------------------
3488 dnl Command-line option to specify where Ada includes will install.
3489 AC_DEFUN([CF_WITH_ADA_INCLUDE],[
3490 AC_MSG_CHECKING(for ada-include)
3491 CF_WITH_PATH(ada-include,
3492    [  --with-ada-include=DIR  Ada includes are in DIR],
3493    ADA_INCLUDE,
3494    PREFIX/share/ada/adainclude,
3495    [$]prefix/share/ada/adainclude)
3496 AC_SUBST(ADA_INCLUDE)
3497 AC_MSG_RESULT($ADA_INCLUDE)
3498 ])dnl
3499 dnl ---------------------------------------------------------------------------
3500 dnl CF_WITH_ADA_OBJECTS version: 2 updated: 2010/06/26 17:35:58
3501 dnl -------------------
3502 dnl Command-line option to specify where Ada objects will install.
3503 AC_DEFUN([CF_WITH_ADA_OBJECTS],[
3504 AC_MSG_CHECKING(for ada-objects)
3505 CF_WITH_PATH(ada-objects,
3506    [  --with-ada-objects=DIR  Ada objects are in DIR],
3507    ADA_OBJECTS,
3508    PREFIX/lib/ada/adalib,
3509    [$]prefix/lib/ada/adalib)
3510 AC_SUBST(ADA_OBJECTS)
3511 AC_MSG_RESULT($ADA_OBJECTS)
3512 ])dnl
3513 dnl ---------------------------------------------------------------------------
3514 dnl CF_WITH_ADA_SHAREDLIB version: 4 updated: 2014/05/31 21:08:37
3515 dnl ---------------------
3516 dnl Command-line option to specify if an Ada95 shared-library should be built,
3517 dnl and optionally what its soname should be.
3518 AC_DEFUN([CF_WITH_ADA_SHAREDLIB],[
3519 AC_MSG_CHECKING(if an Ada95 shared-library should be built)
3520 AC_ARG_WITH(ada-sharedlib,
3521         [  --with-ada-sharedlib=soname build shared-library (requires GNAT projects)],
3522         [with_ada_sharedlib=$withval],
3523         [with_ada_sharedlib=no])
3524 AC_MSG_RESULT($with_ada_sharedlib)
3525
3526 ADA_SHAREDLIB='lib$(LIB_NAME).so.1'
3527 MAKE_ADA_SHAREDLIB="#"
3528
3529 if test "x$with_ada_sharedlib" != xno
3530 then
3531         MAKE_ADA_SHAREDLIB=
3532         if test "x$with_ada_sharedlib" != xyes
3533         then
3534                 ADA_SHAREDLIB="$with_ada_sharedlib"
3535         fi
3536 fi
3537
3538 AC_SUBST(ADA_SHAREDLIB)
3539 AC_SUBST(MAKE_ADA_SHAREDLIB)
3540 ])dnl
3541 dnl ---------------------------------------------------------------------------
3542 dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
3543 dnl ------------------
3544 dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
3545 dnl libraries.
3546 AC_DEFUN([CF_WITH_CURSES_DIR],[
3547
3548 AC_MSG_CHECKING(for specific curses-directory)
3549 AC_ARG_WITH(curses-dir,
3550         [  --with-curses-dir=DIR   directory in which (n)curses is installed],
3551         [cf_cv_curses_dir=$withval],
3552         [cf_cv_curses_dir=no])
3553 AC_MSG_RESULT($cf_cv_curses_dir)
3554
3555 if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
3556 then
3557         CF_PATH_SYNTAX(withval)
3558         if test -d "$cf_cv_curses_dir"
3559         then
3560                 CF_ADD_INCDIR($cf_cv_curses_dir/include)
3561                 CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
3562         fi
3563 fi
3564 ])dnl
3565 dnl ---------------------------------------------------------------------------
3566 dnl CF_WITH_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10
3567 dnl ------------------
3568 dnl Allow the library-prefix to be overridden.  OS/2 EMX originally had no
3569 dnl "lib" prefix, e.g., because it used the dll naming convention.
3570 dnl
3571 dnl $1 = variable to set
3572 AC_DEFUN([CF_WITH_LIB_PREFIX],
3573 [
3574 AC_MSG_CHECKING(if you want to have a library-prefix)
3575 AC_ARG_WITH(lib-prefix,
3576         [  --with-lib-prefix       override library-prefix],
3577         [with_lib_prefix=$withval],
3578         [with_lib_prefix=auto])
3579 AC_MSG_RESULT($with_lib_prefix)
3580
3581 if test $with_lib_prefix = auto
3582 then
3583         CF_LIB_PREFIX($1)
3584 elif test $with_lib_prefix = no
3585 then
3586         LIB_PREFIX=
3587 else
3588         LIB_PREFIX=$with_lib_prefix
3589 fi
3590 ])dnl
3591 dnl ---------------------------------------------------------------------------
3592 dnl CF_WITH_PATH version: 11 updated: 2012/09/29 15:04:19
3593 dnl ------------
3594 dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
3595 dnl defaulting to yes/no.
3596 dnl
3597 dnl $1 = option name
3598 dnl $2 = help-text
3599 dnl $3 = environment variable to set
3600 dnl $4 = default value, shown in the help-message, must be a constant
3601 dnl $5 = default value, if it's an expression & cannot be in the help-message
3602 dnl
3603 AC_DEFUN([CF_WITH_PATH],
3604 [AC_ARG_WITH($1,[$2 ](default: ifelse([$4],,empty,[$4])),,
3605 ifelse([$4],,[withval="${$3}"],[withval="${$3:-ifelse([$5],,[$4],[$5])}"]))dnl
3606 if ifelse([$5],,true,[test -n "$5"]) ; then
3607 CF_PATH_SYNTAX(withval)
3608 fi
3609 eval $3="$withval"
3610 AC_SUBST($3)dnl
3611 ])dnl
3612 dnl ---------------------------------------------------------------------------
3613 dnl CF_WITH_PKG_CONFIG_LIBDIR version: 2 updated: 2011/12/10 18:58:47
3614 dnl -------------------------
3615 dnl Allow the choice of the pkg-config library directory to be overridden.
3616 AC_DEFUN([CF_WITH_PKG_CONFIG_LIBDIR],[
3617 if test "$PKG_CONFIG" != none ; then
3618         AC_MSG_CHECKING(for $PKG_CONFIG library directory)
3619         AC_ARG_WITH(pkg-config-libdir,
3620                 [  --with-pkg-config-libdir=XXX use given directory for installing pc-files],
3621                 [PKG_CONFIG_LIBDIR=$withval],
3622                 [PKG_CONFIG_LIBDIR=yes])
3623
3624         case x$PKG_CONFIG_LIBDIR in #(vi
3625         x/*) #(vi
3626                 ;;
3627         xyes) #(vi
3628                 # look for the library directory using the same prefix as the executable
3629                 cf_path=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`
3630                 case x`(arch) 2>/dev/null` in #(vi
3631                 *64) #(vi
3632                         for cf_config in $cf_path/share $cf_path/lib64 $cf_path/lib32 $cf_path/lib
3633                         do
3634                                 if test -d $cf_config/pkgconfig
3635                                 then
3636                                         PKG_CONFIG_LIBDIR=$cf_config/pkgconfig
3637                                         break
3638                                 fi
3639                         done
3640                         ;;
3641                 *)
3642                         PKG_CONFIG_LIBDIR=$cf_path/lib/pkgconfig
3643                         ;;
3644                 esac
3645                 ;;
3646         *)
3647                 ;;
3648         esac
3649
3650         AC_MSG_RESULT($PKG_CONFIG_LIBDIR)
3651 fi
3652
3653 AC_SUBST(PKG_CONFIG_LIBDIR)
3654 ])dnl
3655 dnl ---------------------------------------------------------------------------
3656 dnl CF_WITH_PTHREAD version: 6 updated: 2012/10/06 17:41:51
3657 dnl ---------------
3658 dnl Check for POSIX thread library.
3659 AC_DEFUN([CF_WITH_PTHREAD],
3660 [
3661 AC_MSG_CHECKING(if you want to link with the pthread library)
3662 AC_ARG_WITH(pthread,
3663     [  --with-pthread          use POSIX thread library],
3664     [with_pthread=$withval],
3665     [with_pthread=no])
3666 AC_MSG_RESULT($with_pthread)
3667
3668 if test "$with_pthread" != no ; then
3669     AC_CHECK_HEADER(pthread.h,[
3670         AC_DEFINE(HAVE_PTHREADS_H,1,[Define to 1 if we have pthreads.h header])
3671
3672         for cf_lib_pthread in pthread c_r
3673         do
3674             AC_MSG_CHECKING(if we can link with the $cf_lib_pthread library)
3675             cf_save_LIBS="$LIBS"
3676             CF_ADD_LIB($cf_lib_pthread)
3677             AC_TRY_LINK([
3678 #include <pthread.h>
3679 ],[
3680                 int rc = pthread_create(0,0,0,0);
3681                 int r2 = pthread_mutexattr_settype(0, 0);
3682 ],[with_pthread=yes],[with_pthread=no])
3683             LIBS="$cf_save_LIBS"
3684             AC_MSG_RESULT($with_pthread)
3685             test "$with_pthread" = yes && break
3686         done
3687
3688         if test "$with_pthread" = yes ; then
3689             CF_ADD_LIB($cf_lib_pthread)
3690             AC_DEFINE(HAVE_LIBPTHREADS,1,[Define to 1 if we have pthreads library])
3691         else
3692             AC_MSG_ERROR(Cannot link with pthread library)
3693         fi
3694     ])
3695 fi
3696 ])
3697 dnl ---------------------------------------------------------------------------
3698 dnl CF_WITH_SYSTYPE version: 1 updated: 2013/01/26 16:26:12
3699 dnl ---------------
3700 dnl For testing, override the derived host system-type which is used to decide
3701 dnl things such as the linker commands used to build shared libraries.  This is
3702 dnl normally chosen automatically based on the type of system which you are
3703 dnl building on.  We use it for testing the configure script.
3704 dnl
3705 dnl This is different from the --host option: it is used only for testing parts
3706 dnl of the configure script which would not be reachable with --host since that
3707 dnl relies on the build environment being real, rather than mocked up.
3708 AC_DEFUN([CF_WITH_SYSTYPE],[
3709 CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
3710 AC_ARG_WITH(system-type,
3711         [  --with-system-type=XXX  test: override derived host system-type],
3712 [AC_MSG_WARN(overriding system type to $withval)
3713         cf_cv_system_name=$withval
3714         host_os=$withval
3715 ])
3716 ])dnl
3717 dnl ---------------------------------------------------------------------------
3718 dnl CF_XOPEN_SOURCE version: 48 updated: 2014/09/01 12:29:14
3719 dnl ---------------
3720 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
3721 dnl or adapt to the vendor's definitions to get equivalent functionality,
3722 dnl without losing the common non-POSIX features.
3723 dnl
3724 dnl Parameters:
3725 dnl     $1 is the nominal value for _XOPEN_SOURCE
3726 dnl     $2 is the nominal value for _POSIX_C_SOURCE
3727 AC_DEFUN([CF_XOPEN_SOURCE],[
3728 AC_REQUIRE([AC_CANONICAL_HOST])
3729
3730 cf_XOPEN_SOURCE=ifelse([$1],,500,[$1])
3731 cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2])
3732 cf_xopen_source=
3733
3734 case $host_os in #(vi
3735 aix[[4-7]]*) #(vi
3736         cf_xopen_source="-D_ALL_SOURCE"
3737         ;;
3738 cygwin|msys) #(vi
3739         cf_XOPEN_SOURCE=600
3740         ;;
3741 darwin[[0-8]].*) #(vi
3742         cf_xopen_source="-D_APPLE_C_SOURCE"
3743         ;;
3744 darwin*) #(vi
3745         cf_xopen_source="-D_DARWIN_C_SOURCE"
3746         cf_XOPEN_SOURCE=
3747         ;;
3748 freebsd*|dragonfly*) #(vi
3749         # 5.x headers associate
3750         #       _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
3751         #       _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
3752         cf_POSIX_C_SOURCE=200112L
3753         cf_XOPEN_SOURCE=600
3754         cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
3755         ;;
3756 hpux11*) #(vi
3757         cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
3758         ;;
3759 hpux*) #(vi
3760         cf_xopen_source="-D_HPUX_SOURCE"
3761         ;;
3762 irix[[56]].*) #(vi
3763         cf_xopen_source="-D_SGI_SOURCE"
3764         cf_XOPEN_SOURCE=
3765         ;;
3766 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
3767         CF_GNU_SOURCE
3768         ;;
3769 minix*) #(vi
3770         cf_xopen_source="-D_NETBSD_SOURCE" # POSIX.1-2001 features are ifdef'd with this...
3771         ;;
3772 mirbsd*) #(vi
3773         # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types
3774         cf_XOPEN_SOURCE=
3775         CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
3776         ;;
3777 netbsd*) #(vi
3778         cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
3779         ;;
3780 openbsd[[4-9]]*) #(vi
3781         # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw
3782         cf_xopen_source="-D_BSD_SOURCE"
3783         cf_XOPEN_SOURCE=600
3784         ;;
3785 openbsd*) #(vi
3786         # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
3787         ;;
3788 osf[[45]]*) #(vi
3789         cf_xopen_source="-D_OSF_SOURCE"
3790         ;;
3791 nto-qnx*) #(vi
3792         cf_xopen_source="-D_QNX_SOURCE"
3793         ;;
3794 sco*) #(vi
3795         # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
3796         ;;
3797 solaris2.*) #(vi
3798         cf_xopen_source="-D__EXTENSIONS__"
3799         cf_cv_xopen_source=broken
3800         ;;
3801 sysv4.2uw2.*) # Novell/SCO UnixWare 2.x (tested on 2.1.2)
3802         cf_XOPEN_SOURCE=
3803         cf_POSIX_C_SOURCE=
3804         ;;
3805 *)
3806         CF_TRY_XOPEN_SOURCE
3807         CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
3808         ;;
3809 esac
3810
3811 if test -n "$cf_xopen_source" ; then
3812         CF_ADD_CFLAGS($cf_xopen_source,true)
3813 fi
3814
3815 dnl In anything but the default case, we may have system-specific setting
3816 dnl which is still not guaranteed to provide all of the entrypoints that
3817 dnl _XOPEN_SOURCE would yield.
3818 if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then
3819         AC_MSG_CHECKING(if _XOPEN_SOURCE really is set)
3820         AC_TRY_COMPILE([#include <stdlib.h>],[
3821 #ifndef _XOPEN_SOURCE
3822 make an error
3823 #endif],
3824         [cf_XOPEN_SOURCE_set=yes],
3825         [cf_XOPEN_SOURCE_set=no])
3826         AC_MSG_RESULT($cf_XOPEN_SOURCE_set)
3827         if test $cf_XOPEN_SOURCE_set = yes
3828         then
3829                 AC_TRY_COMPILE([#include <stdlib.h>],[
3830 #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
3831 make an error
3832 #endif],
3833                 [cf_XOPEN_SOURCE_set_ok=yes],
3834                 [cf_XOPEN_SOURCE_set_ok=no])
3835                 if test $cf_XOPEN_SOURCE_set_ok = no
3836                 then
3837                         AC_MSG_WARN(_XOPEN_SOURCE is lower than requested)
3838                 fi
3839         else
3840                 CF_TRY_XOPEN_SOURCE
3841         fi
3842 fi
3843 ])