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