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