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