1dnl macros used for DIALOG configure script 2dnl $Id: aclocal.m4,v 1.94 2013/09/22 14:26:24 tom Exp $ 3dnl --------------------------------------------------------------------------- 4dnl Copyright 1999-2012,2013 -- Thomas E. Dickey 5dnl 6dnl Permission is hereby granted, free of charge, to any person obtaining a 7dnl copy of this software and associated documentation files (the 8dnl "Software"), to deal in the Software without restriction, including 9dnl without limitation the rights to use, copy, modify, merge, publish, 10dnl distribute, distribute with modifications, sublicense, and/or sell 11dnl copies of the Software, and to permit persons to whom the Software is 12dnl furnished to do so, subject to the following conditions: 13dnl 14dnl The above copyright notice and this permission notice shall be included 15dnl in all copies or portions of the Software. 16dnl 17dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 21dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 22dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 23dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24dnl 25dnl Except as contained in this notice, the name(s) of the above copyright 26dnl holders shall not be used in advertising or otherwise to promote the 27dnl sale, use or other dealings in this Software without prior written 28dnl authorization. 29dnl 30dnl see 31dnl http://invisible-island.net/autoconf/ 32dnl --------------------------------------------------------------------------- 33dnl --------------------------------------------------------------------------- 34dnl AM_GNU_GETTEXT version: 13 updated: 2012/11/09 05:47:26 35dnl -------------- 36dnl Usage: Just like AM_WITH_NLS, which see. 37AC_DEFUN([AM_GNU_GETTEXT], 38 [AC_REQUIRE([AC_PROG_MAKE_SET])dnl 39 AC_REQUIRE([AC_CANONICAL_HOST])dnl 40 AC_REQUIRE([AC_PROG_RANLIB])dnl 41 AC_REQUIRE([AC_HEADER_STDC])dnl 42 AC_REQUIRE([AC_C_INLINE])dnl 43 AC_REQUIRE([AC_TYPE_OFF_T])dnl 44 AC_REQUIRE([AC_TYPE_SIZE_T])dnl 45 AC_REQUIRE([AC_FUNC_ALLOCA])dnl 46 AC_REQUIRE([AC_FUNC_MMAP])dnl 47 AC_REQUIRE([jm_GLIBC21])dnl 48 AC_REQUIRE([CF_PROG_CC])dnl 49 50 AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ 51stdlib.h string.h unistd.h sys/param.h]) 52 AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \ 53getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \ 54strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) 55 56 AM_ICONV 57 AM_LANGINFO_CODESET 58 AM_LC_MESSAGES 59 AM_WITH_NLS([$1],[$2],[$3],[$4]) 60 61 if test "x$CATOBJEXT" != "x"; then 62 if test "x$ALL_LINGUAS" = "x"; then 63 LINGUAS= 64 else 65 AC_MSG_CHECKING(for catalogs to be installed) 66 NEW_LINGUAS= 67 for presentlang in $ALL_LINGUAS; do 68 useit=no 69 for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do 70 # Use the presentlang catalog if desiredlang is 71 # a. equal to presentlang, or 72 # b. a variant of presentlang (because in this case, 73 # presentlang can be used as a fallback for messages 74 # which are not translated in the desiredlang catalog). 75 case "$desiredlang" in 76 "$presentlang"*) useit=yes;; 77 esac 78 done 79 if test $useit = yes; then 80 NEW_LINGUAS="$NEW_LINGUAS $presentlang" 81 fi 82 done 83 LINGUAS=$NEW_LINGUAS 84 AC_MSG_RESULT($LINGUAS) 85 fi 86 87 dnl Construct list of names of catalog files to be constructed. 88 if test -n "$LINGUAS"; then 89 for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done 90 fi 91 fi 92 93 dnl Enable libtool support if the surrounding package wishes it. 94 INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], []) 95 AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) 96])dnl 97dnl --------------------------------------------------------------------------- 98dnl AM_ICONV version: 12 updated: 2007/07/30 19:12:03 99dnl -------- 100dnl Inserted as requested by gettext 0.10.40 101dnl File from /usr/share/aclocal 102dnl iconv.m4 103dnl ==================== 104dnl serial AM2 105dnl 106dnl From Bruno Haible. 107dnl 108dnl ==================== 109dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the 110dnl range of locations searched. Retain the same cache-variable naming to 111dnl allow reuse with the other gettext macros -Thomas E Dickey 112AC_DEFUN([AM_ICONV], 113[ 114 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and 115 dnl those with the standalone portable GNU libiconv installed). 116 117 AC_ARG_WITH([libiconv-prefix], 118[ --with-libiconv-prefix=DIR 119 search for libiconv in DIR/include and DIR/lib], [ 120 CF_ADD_OPTIONAL_PATH($withval, libiconv) 121 ]) 122 123 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ 124 CF_FIND_LINKAGE(CF__ICONV_HEAD, 125 CF__ICONV_BODY, 126 iconv, 127 am_cv_func_iconv=yes, 128 am_cv_func_iconv=["no, consider installing GNU libiconv"])]) 129 130 if test "$am_cv_func_iconv" = yes; then 131 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) 132 133 AC_CACHE_CHECK([if the declaration of iconv() needs const.], 134 am_cv_proto_iconv_const,[ 135 AC_TRY_COMPILE(CF__ICONV_HEAD [ 136extern 137#ifdef __cplusplus 138"C" 139#endif 140#if defined(__STDC__) || defined(__cplusplus) 141size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); 142#else 143size_t iconv(); 144#endif 145],[], am_cv_proto_iconv_const=no, 146 am_cv_proto_iconv_const=yes)]) 147 148 if test "$am_cv_proto_iconv_const" = yes ; then 149 am_cv_proto_iconv_arg1="const" 150 else 151 am_cv_proto_iconv_arg1="" 152 fi 153 154 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, 155 [Define as const if the declaration of iconv() needs const.]) 156 fi 157 158 LIBICONV= 159 if test "$cf_cv_find_linkage_iconv" = yes; then 160 CF_ADD_INCDIR($cf_cv_header_path_iconv) 161 if test -n "$cf_cv_library_file_iconv" ; then 162 LIBICONV="-liconv" 163 CF_ADD_LIBDIR($cf_cv_library_path_iconv) 164 fi 165 fi 166 167 AC_SUBST(LIBICONV) 168])dnl 169dnl --------------------------------------------------------------------------- 170dnl AM_LANGINFO_CODESET version: 3 updated: 2002/10/27 23:21:42 171dnl ------------------- 172dnl Inserted as requested by gettext 0.10.40 173dnl File from /usr/share/aclocal 174dnl codeset.m4 175dnl ==================== 176dnl serial AM1 177dnl 178dnl From Bruno Haible. 179AC_DEFUN([AM_LANGINFO_CODESET], 180[ 181 AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, 182 [AC_TRY_LINK([#include <langinfo.h>], 183 [char* cs = nl_langinfo(CODESET);], 184 am_cv_langinfo_codeset=yes, 185 am_cv_langinfo_codeset=no) 186 ]) 187 if test $am_cv_langinfo_codeset = yes; then 188 AC_DEFINE(HAVE_LANGINFO_CODESET, 1, 189 [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) 190 fi 191])dnl 192dnl --------------------------------------------------------------------------- 193dnl AM_LC_MESSAGES version: 4 updated: 2002/10/27 23:21:42 194dnl -------------- 195dnl Inserted as requested by gettext 0.10.40 196dnl File from /usr/share/aclocal 197dnl lcmessage.m4 198dnl ==================== 199dnl Check whether LC_MESSAGES is available in <locale.h>. 200dnl Ulrich Drepper <drepper@cygnus.com>, 1995. 201dnl 202dnl This file can be copied and used freely without restrictions. It can 203dnl be used in projects which are not available under the GNU General Public 204dnl License or the GNU Library General Public License but which still want 205dnl to provide support for the GNU gettext functionality. 206dnl Please note that the actual code of the GNU gettext library is covered 207dnl by the GNU Library General Public License, and the rest of the GNU 208dnl gettext package package is covered by the GNU General Public License. 209dnl They are *not* in the public domain. 210dnl 211dnl serial 2 212dnl 213AC_DEFUN([AM_LC_MESSAGES], 214 [if test $ac_cv_header_locale_h = yes; then 215 AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, 216 [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], 217 am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) 218 if test $am_cv_val_LC_MESSAGES = yes; then 219 AC_DEFINE(HAVE_LC_MESSAGES, 1, 220 [Define if your <locale.h> file defines LC_MESSAGES.]) 221 fi 222 fi])dnl 223dnl --------------------------------------------------------------------------- 224dnl AM_PATH_PROG_WITH_TEST version: 8 updated: 2009/01/11 20:31:12 225dnl ---------------------- 226dnl Inserted as requested by gettext 0.10.40 227dnl File from /usr/share/aclocal 228dnl progtest.m4 229dnl ==================== 230dnl Search path for a program which passes the given test. 231dnl Ulrich Drepper <drepper@cygnus.com>, 1996. 232dnl 233dnl This file can be copied and used freely without restrictions. It can 234dnl be used in projects which are not available under the GNU General Public 235dnl License or the GNU Library General Public License but which still want 236dnl to provide support for the GNU gettext functionality. 237dnl Please note that the actual code of the GNU gettext library is covered 238dnl by the GNU Library General Public License, and the rest of the GNU 239dnl gettext package package is covered by the GNU General Public License. 240dnl They are *not* in the public domain. 241dnl 242dnl serial 2 243dnl 244dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, 245dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) 246AC_DEFUN([AM_PATH_PROG_WITH_TEST], 247[# Extract the first word of "$2", so it can be a program name with args. 248AC_REQUIRE([CF_PATHSEP]) 249set dummy $2; ac_word=[$]2 250AC_MSG_CHECKING([for $ac_word]) 251AC_CACHE_VAL(ac_cv_path_$1, 252[case "[$]$1" in 253 [[\\/]*|?:[\\/]]*) 254 ac_cv_path_$1="[$]$1" # Let the user override the test with a path. 255 ;; 256 *) 257 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" 258 for ac_dir in ifelse([$5], , $PATH, [$5]); do 259 test -z "$ac_dir" && ac_dir=. 260 if test -f $ac_dir/$ac_word$ac_exeext; then 261 if [$3]; then 262 ac_cv_path_$1="$ac_dir/$ac_word$ac_exeext" 263 break 264 fi 265 fi 266 done 267 IFS="$ac_save_ifs" 268dnl If no 4th arg is given, leave the cache variable unset, 269dnl so AC_PATH_PROGS will keep looking. 270ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" 271])dnl 272 ;; 273esac])dnl 274$1="$ac_cv_path_$1" 275if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then 276 AC_MSG_RESULT([$]$1) 277else 278 AC_MSG_RESULT(no) 279fi 280AC_SUBST($1)dnl 281])dnl 282dnl --------------------------------------------------------------------------- 283dnl AM_WITH_NLS version: 25 updated: 2012/10/06 08:57:51 284dnl ----------- 285dnl Inserted as requested by gettext 0.10.40 286dnl File from /usr/share/aclocal 287dnl gettext.m4 288dnl ==================== 289dnl Macro to add for using GNU gettext. 290dnl Ulrich Drepper <drepper@cygnus.com>, 1995. 291dnl ==================== 292dnl Modified to use CF_FIND_LINKAGE and CF_ADD_SEARCHPATH, to broaden the 293dnl range of locations searched. Retain the same cache-variable naming to 294dnl allow reuse with the other gettext macros -Thomas E Dickey 295dnl ==================== 296dnl 297dnl This file can be copied and used freely without restrictions. It can 298dnl be used in projects which are not available under the GNU General Public 299dnl License or the GNU Library General Public License but which still want 300dnl to provide support for the GNU gettext functionality. 301dnl Please note that the actual code of the GNU gettext library is covered 302dnl by the GNU Library General Public License, and the rest of the GNU 303dnl gettext package package is covered by the GNU General Public License. 304dnl They are *not* in the public domain. 305dnl 306dnl serial 10 307dnl 308dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR], [ENABLED]). 309dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library 310dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, 311dnl depending on --{enable,disable}-{shared,static} and on the presence of 312dnl AM-DISABLE-SHARED). Otherwise, a static library 313dnl $(top_builddir)/intl/libintl.a will be created. 314dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext 315dnl implementations (in libc or libintl) without the ngettext() function 316dnl will be ignored. 317dnl LIBDIR is used to find the intl libraries. If empty, 318dnl the value `$(top_builddir)/intl/' is used. 319dnl ENABLED is used to control the default for the related --enable-nls, since 320dnl not all application developers want this feature by default, e.g., lynx. 321dnl 322dnl The result of the configuration is one of three cases: 323dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled 324dnl and used. 325dnl Catalog format: GNU --> install in $(datadir) 326dnl Catalog extension: .mo after installation, .gmo in source tree 327dnl 2) GNU gettext has been found in the system's C library. 328dnl Catalog format: GNU --> install in $(datadir) 329dnl Catalog extension: .mo after installation, .gmo in source tree 330dnl 3) No internationalization, always use English msgid. 331dnl Catalog format: none 332dnl Catalog extension: none 333dnl The use of .gmo is historical (it was needed to avoid overwriting the 334dnl GNU format catalogs when building on a platform with an X/Open gettext), 335dnl but we keep it in order not to force irrelevant filename changes on the 336dnl maintainers. 337dnl 338AC_DEFUN([AM_WITH_NLS], 339[AC_MSG_CHECKING([whether NLS is requested]) 340 dnl Default is enabled NLS 341 ifelse([$4],,[ 342 AC_ARG_ENABLE(nls, 343 [ --disable-nls do not use Native Language Support], 344 USE_NLS=$enableval, USE_NLS=yes)],[ 345 AC_ARG_ENABLE(nls, 346 [ --enable-nls use Native Language Support], 347 USE_NLS=$enableval, USE_NLS=no)]) 348 AC_MSG_RESULT($USE_NLS) 349 AC_SUBST(USE_NLS) 350 351 BUILD_INCLUDED_LIBINTL=no 352 USE_INCLUDED_LIBINTL=no 353 INTLLIBS= 354 355 dnl If we use NLS figure out what method 356 if test "$USE_NLS" = "yes"; then 357 AC_DEFINE(ENABLE_NLS, 1, 358 [Define to 1 if translation of program messages to the user's native language 359 is requested.]) 360 AC_MSG_CHECKING([whether included gettext is requested]) 361 AC_ARG_WITH(included-gettext, 362 [ --with-included-gettext use the GNU gettext library included here], 363 nls_cv_force_use_gnu_gettext=$withval, 364 nls_cv_force_use_gnu_gettext=no) 365 AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) 366 367 nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" 368 if test "$nls_cv_force_use_gnu_gettext" != "yes"; then 369 dnl User does not insist on using GNU NLS library. Figure out what 370 dnl to use. If GNU gettext is available we use this. Else we have 371 dnl to fall back to GNU NLS library. 372 CATOBJEXT=NONE 373 374 cf_save_LIBS_1="$LIBS" 375 CF_ADD_LIBS($LIBICONV) 376 AC_CACHE_CHECK([for libintl.h and gettext()], cf_cv_func_gettext,[ 377 CF_FIND_LINKAGE(CF__INTL_HEAD, 378 CF__INTL_BODY, 379 intl, 380 cf_cv_func_gettext=yes, 381 cf_cv_func_gettext=no) 382 ]) 383 LIBS="$cf_save_LIBS_1" 384 385 if test "$cf_cv_func_gettext" = yes ; then 386 AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have libintl.h]) 387 388 dnl If an already present or preinstalled GNU gettext() is found, 389 dnl use it. But if this macro is used in GNU gettext, and GNU 390 dnl gettext is already preinstalled in libintl, we update this 391 dnl libintl. (Cf. the install rule in intl/Makefile.in.) 392 if test "$PACKAGE" != gettext; then 393 AC_DEFINE(HAVE_GETTEXT, 1, 394 [Define if the GNU gettext() function is already present or preinstalled.]) 395 396 CF_ADD_INCDIR($cf_cv_header_path_intl) 397 398 if test -n "$cf_cv_library_file_intl" ; then 399 dnl If iconv() is in a separate libiconv library, then anyone 400 dnl linking with libintl{.a,.so} also needs to link with 401 dnl libiconv. 402 INTLLIBS="$cf_cv_library_file_intl $LIBICONV" 403 CF_ADD_LIBDIR($cf_cv_library_path_intl,INTLLIBS) 404 fi 405 406 gt_save_LIBS="$LIBS" 407 LIBS="$LIBS $INTLLIBS" 408 AC_CHECK_FUNCS(dcgettext) 409 LIBS="$gt_save_LIBS" 410 411 dnl Search for GNU msgfmt in the PATH. 412 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, 413 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) 414 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) 415 416 dnl Search for GNU xgettext in the PATH. 417 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, 418 [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) 419 420 CATOBJEXT=.gmo 421 fi 422 fi 423 424 if test "$CATOBJEXT" = "NONE"; then 425 dnl GNU gettext is not found in the C library. 426 dnl Fall back on GNU gettext library. 427 nls_cv_use_gnu_gettext=yes 428 fi 429 fi 430 431 if test "$nls_cv_use_gnu_gettext" = "yes"; then 432 if test ! -d $srcdir/intl ; then 433 AC_MSG_ERROR(no NLS library is packaged with this application) 434 fi 435 dnl Mark actions used to generate GNU NLS library. 436 INTLOBJS="\$(GETTOBJS)" 437 AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, 438 [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :) 439 AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) 440 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, 441 [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :) 442 AC_SUBST(MSGFMT) 443 BUILD_INCLUDED_LIBINTL=yes 444 USE_INCLUDED_LIBINTL=yes 445 CATOBJEXT=.gmo 446 INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV" 447 LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` 448 fi 449 450 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. 451 dnl Test whether we really found GNU msgfmt. 452 if test "$GMSGFMT" != ":"; then 453 dnl If it is no GNU msgfmt we define it as : so that the 454 dnl Makefiles still can work. 455 if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then 456 : ; 457 else 458 AC_MSG_RESULT( 459 [found msgfmt program is not GNU msgfmt; ignore it]) 460 GMSGFMT=":" 461 fi 462 fi 463 464 dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. 465 dnl Test whether we really found GNU xgettext. 466 if test "$XGETTEXT" != ":"; then 467 dnl If it is no GNU xgettext we define it as : so that the 468 dnl Makefiles still can work. 469 if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then 470 : ; 471 else 472 AC_MSG_RESULT( 473 [found xgettext program is not GNU xgettext; ignore it]) 474 XGETTEXT=":" 475 fi 476 fi 477 478 dnl We need to process the po/ directory. 479 POSUB=po 480 fi 481 482 AC_OUTPUT_COMMANDS( 483 [for ac_file in $CONFIG_FILES; do 484 485 # Support "outfile[:infile[:infile...]]" 486 case "$ac_file" in 487 *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; 488 esac 489 490 # PO directories have a Makefile.in generated from Makefile.inn. 491 case "$ac_file" in */[Mm]akefile.in) 492 # Adjust a relative srcdir. 493 ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` 494 ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" 495 ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` 496 ac_base=`basename $ac_file .in` 497 # In autoconf-2.13 it is called $ac_given_srcdir. 498 # In autoconf-2.50 it is called $srcdir. 499 test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" 500 501 case "$ac_given_srcdir" in 502 .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; 503 /*) top_srcdir="$ac_given_srcdir" ;; 504 *) top_srcdir="$ac_dots$ac_given_srcdir" ;; 505 esac 506 507 if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then 508 rm -f "$ac_dir/POTFILES" 509 test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" 510 sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES" 511 test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base" 512 sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base" 513 fi 514 ;; 515 esac 516 done]) 517 518 dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL 519 dnl to 'yes' because some of the testsuite requires it. 520 if test "$PACKAGE" = gettext; then 521 BUILD_INCLUDED_LIBINTL=yes 522 fi 523 524 dnl intl/plural.c is generated from intl/plural.y. It requires bison, 525 dnl because plural.y uses bison specific features. It requires at least 526 dnl bison-1.26 because earlier versions generate a plural.c that doesn't 527 dnl compile. 528 dnl bison is only needed for the maintainer (who touches plural.y). But in 529 dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put 530 dnl the rule in general Makefile. Now, some people carelessly touch the 531 dnl files or have a broken "make" program, hence the plural.c rule will 532 dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not 533 dnl present or too old. 534 if test "$nls_cv_use_gnu_gettext" = "yes"; then 535 AC_CHECK_PROGS([INTLBISON], [bison]) 536 if test -z "$INTLBISON"; then 537 ac_verc_fail=yes 538 else 539 dnl Found it, now check the version. 540 AC_MSG_CHECKING([version of bison]) 541changequote(<<,>>)dnl 542 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` 543 case $ac_prog_version in 544 '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 545 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) 546changequote([,])dnl 547 ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; 548 *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; 549 esac 550 AC_MSG_RESULT([$ac_prog_version]) 551 fi 552 if test $ac_verc_fail = yes; then 553 INTLBISON=: 554 fi 555 fi 556 557 dnl These rules are solely for the distribution goal. While doing this 558 dnl we only have to keep exactly one list of the available catalogs 559 dnl in configure.in. 560 for lang in $ALL_LINGUAS; do 561 GMOFILES="$GMOFILES $lang.gmo" 562 POFILES="$POFILES $lang.po" 563 done 564 565 dnl Make all variables we use known to autoconf. 566 AC_SUBST(BUILD_INCLUDED_LIBINTL) 567 AC_SUBST(USE_INCLUDED_LIBINTL) 568 AC_SUBST(CATALOGS) 569 AC_SUBST(CATOBJEXT) 570 AC_SUBST(GMOFILES) 571 AC_SUBST(INTLLIBS) 572 AC_SUBST(INTLOBJS) 573 AC_SUBST(POFILES) 574 AC_SUBST(POSUB) 575 576 dnl For backward compatibility. Some configure.ins may be using this. 577 nls_cv_header_intl= 578 nls_cv_header_libgt= 579 580 dnl For backward compatibility. Some Makefiles may be using this. 581 DATADIRNAME=share 582 AC_SUBST(DATADIRNAME) 583 584 dnl For backward compatibility. Some Makefiles may be using this. 585 INSTOBJEXT=.mo 586 AC_SUBST(INSTOBJEXT) 587 588 dnl For backward compatibility. Some Makefiles may be using this. 589 GENCAT=gencat 590 AC_SUBST(GENCAT) 591])dnl 592dnl --------------------------------------------------------------------------- 593dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56 594dnl ------------------ 595dnl Conditionally generate script according to whether we're using a given autoconf. 596dnl 597dnl $1 = version to compare against 598dnl $2 = code to use if AC_ACVERSION is at least as high as $1. 599dnl $3 = code to use if AC_ACVERSION is older than $1. 600define([CF_ACVERSION_CHECK], 601[ 602ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl 603ifdef([m4_version_compare], 604[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], 605[CF_ACVERSION_COMPARE( 606AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), 607AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl 608dnl --------------------------------------------------------------------------- 609dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53 610dnl -------------------- 611dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, 612dnl MAJOR2, MINOR2, TERNARY2, 613dnl PRINTABLE2, not FOUND, FOUND) 614define([CF_ACVERSION_COMPARE], 615[ifelse(builtin([eval], [$2 < $5]), 1, 616[ifelse([$8], , ,[$8])], 617[ifelse([$9], , ,[$9])])])dnl 618dnl --------------------------------------------------------------------------- 619dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42 620dnl ------------- 621dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS 622dnl The second parameter if given makes this macro verbose. 623dnl 624dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS, 625dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily 626dnl confused by the quotes (which require backslashes to keep them usable). 627AC_DEFUN([CF_ADD_CFLAGS], 628[ 629cf_fix_cppflags=no 630cf_new_cflags= 631cf_new_cppflags= 632cf_new_extra_cppflags= 633 634for cf_add_cflags in $1 635do 636case $cf_fix_cppflags in 637no) 638 case $cf_add_cflags in #(vi 639 -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi 640 case $cf_add_cflags in 641 -D*) 642 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` 643 644 test "${cf_add_cflags}" != "${cf_tst_cflags}" \ 645 && test -z "${cf_tst_cflags}" \ 646 && cf_fix_cppflags=yes 647 648 if test $cf_fix_cppflags = yes ; then 649 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" 650 continue 651 elif test "${cf_tst_cflags}" = "\"'" ; then 652 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" 653 continue 654 fi 655 ;; 656 esac 657 case "$CPPFLAGS" in 658 *$cf_add_cflags) #(vi 659 ;; 660 *) #(vi 661 case $cf_add_cflags in #(vi 662 -D*) 663 cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` 664 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags) 665 ;; 666 esac 667 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" 668 ;; 669 esac 670 ;; 671 *) 672 cf_new_cflags="$cf_new_cflags $cf_add_cflags" 673 ;; 674 esac 675 ;; 676yes) 677 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" 678 679 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` 680 681 test "${cf_add_cflags}" != "${cf_tst_cflags}" \ 682 && test -z "${cf_tst_cflags}" \ 683 && cf_fix_cppflags=no 684 ;; 685esac 686done 687 688if test -n "$cf_new_cflags" ; then 689 ifelse([$2],,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) 690 CFLAGS="$CFLAGS $cf_new_cflags" 691fi 692 693if test -n "$cf_new_cppflags" ; then 694 ifelse([$2],,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) 695 CPPFLAGS="$CPPFLAGS $cf_new_cppflags" 696fi 697 698if test -n "$cf_new_extra_cppflags" ; then 699 ifelse([$2],,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) 700 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" 701fi 702 703AC_SUBST(EXTRA_CPPFLAGS) 704 705])dnl 706dnl --------------------------------------------------------------------------- 707dnl CF_ADD_INCDIR version: 13 updated: 2010/05/26 16:44:57 708dnl ------------- 709dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's 710dnl redundant. We don't normally need to add -I/usr/local/include for gcc, 711dnl but old versions (and some misinstalled ones) need that. To make things 712dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to 713dnl the include-path). 714AC_DEFUN([CF_ADD_INCDIR], 715[ 716if test -n "$1" ; then 717 for cf_add_incdir in $1 718 do 719 while test $cf_add_incdir != /usr/include 720 do 721 if test -d $cf_add_incdir 722 then 723 cf_have_incdir=no 724 if test -n "$CFLAGS$CPPFLAGS" ; then 725 # a loop is needed to ensure we can add subdirs of existing dirs 726 for cf_test_incdir in $CFLAGS $CPPFLAGS ; do 727 if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then 728 cf_have_incdir=yes; break 729 fi 730 done 731 fi 732 733 if test "$cf_have_incdir" = no ; then 734 if test "$cf_add_incdir" = /usr/local/include ; then 735 if test "$GCC" = yes 736 then 737 cf_save_CPPFLAGS=$CPPFLAGS 738 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" 739 AC_TRY_COMPILE([#include <stdio.h>], 740 [printf("Hello")], 741 [], 742 [cf_have_incdir=yes]) 743 CPPFLAGS=$cf_save_CPPFLAGS 744 fi 745 fi 746 fi 747 748 if test "$cf_have_incdir" = no ; then 749 CF_VERBOSE(adding $cf_add_incdir to include-path) 750 ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir" 751 752 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` 753 test "$cf_top_incdir" = "$cf_add_incdir" && break 754 cf_add_incdir="$cf_top_incdir" 755 else 756 break 757 fi 758 fi 759 done 760 done 761fi 762])dnl 763dnl --------------------------------------------------------------------------- 764dnl CF_ADD_LIB version: 2 updated: 2010/06/02 05:03:05 765dnl ---------- 766dnl Add a library, used to enforce consistency. 767dnl 768dnl $1 = library to add, without the "-l" 769dnl $2 = variable to update (default $LIBS) 770AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl 771dnl --------------------------------------------------------------------------- 772dnl CF_ADD_LIBDIR version: 9 updated: 2010/05/26 16:44:57 773dnl ------------- 774dnl Adds to the library-path 775dnl 776dnl Some machines have trouble with multiple -L options. 777dnl 778dnl $1 is the (list of) directory(s) to add 779dnl $2 is the optional name of the variable to update (default LDFLAGS) 780dnl 781AC_DEFUN([CF_ADD_LIBDIR], 782[ 783if test -n "$1" ; then 784 for cf_add_libdir in $1 785 do 786 if test $cf_add_libdir = /usr/lib ; then 787 : 788 elif test -d $cf_add_libdir 789 then 790 cf_have_libdir=no 791 if test -n "$LDFLAGS$LIBS" ; then 792 # a loop is needed to ensure we can add subdirs of existing dirs 793 for cf_test_libdir in $LDFLAGS $LIBS ; do 794 if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then 795 cf_have_libdir=yes; break 796 fi 797 done 798 fi 799 if test "$cf_have_libdir" = no ; then 800 CF_VERBOSE(adding $cf_add_libdir to library-path) 801 ifelse([$2],,LDFLAGS,[$2])="-L$cf_add_libdir $ifelse([$2],,LDFLAGS,[$2])" 802 fi 803 fi 804 done 805fi 806])dnl 807dnl --------------------------------------------------------------------------- 808dnl CF_ADD_LIBS version: 1 updated: 2010/06/02 05:03:05 809dnl ----------- 810dnl Add one or more libraries, used to enforce consistency. 811dnl 812dnl $1 = libraries to add, with the "-l", etc. 813dnl $2 = variable to update (default $LIBS) 814AC_DEFUN([CF_ADD_LIBS],[ifelse($2,,LIBS,[$2])="$1 [$]ifelse($2,,LIBS,[$2])"])dnl 815dnl --------------------------------------------------------------------------- 816dnl CF_ADD_OPTIONAL_PATH version: 1 updated: 2007/07/29 12:33:33 817dnl -------------------- 818dnl Add an optional search-path to the compile/link variables. 819dnl See CF_WITH_PATH 820dnl 821dnl $1 = shell variable containing the result of --with-XXX=[DIR] 822dnl $2 = module to look for. 823AC_DEFUN([CF_ADD_OPTIONAL_PATH],[ 824 case "$1" in #(vi 825 no) #(vi 826 ;; 827 yes) #(vi 828 ;; 829 *) 830 CF_ADD_SEARCHPATH([$1], [AC_MSG_ERROR(cannot find $2 under $1)]) 831 ;; 832 esac 833])dnl 834dnl --------------------------------------------------------------------------- 835dnl CF_ADD_SEARCHPATH version: 5 updated: 2009/01/11 20:40:21 836dnl ----------------- 837dnl Set $CPPFLAGS and $LDFLAGS with the directories given via the parameter. 838dnl They can be either the common root of include- and lib-directories, or the 839dnl lib-directory (to allow for things like lib64 directories). 840dnl See also CF_FIND_LINKAGE. 841dnl 842dnl $1 is the list of colon-separated directory names to search. 843dnl $2 is the action to take if a parameter does not yield a directory. 844AC_DEFUN([CF_ADD_SEARCHPATH], 845[ 846AC_REQUIRE([CF_PATHSEP]) 847for cf_searchpath in `echo "$1" | tr $PATH_SEPARATOR ' '`; do 848 if test -d $cf_searchpath/include; then 849 CF_ADD_INCDIR($cf_searchpath/include) 850 elif test -d $cf_searchpath/../include ; then 851 CF_ADD_INCDIR($cf_searchpath/../include) 852 ifelse([$2],,,[else 853$2]) 854 fi 855 if test -d $cf_searchpath/lib; then 856 CF_ADD_LIBDIR($cf_searchpath/lib) 857 elif test -d $cf_searchpath ; then 858 CF_ADD_LIBDIR($cf_searchpath) 859 ifelse([$2],,,[else 860$2]) 861 fi 862done 863]) 864dnl --------------------------------------------------------------------------- 865dnl CF_ADD_SUBDIR_PATH version: 3 updated: 2010/07/03 20:58:12 866dnl ------------------ 867dnl Append to a search-list for a nonstandard header/lib-file 868dnl $1 = the variable to return as result 869dnl $2 = the package name 870dnl $3 = the subdirectory, e.g., bin, include or lib 871dnl $4 = the directory under which we will test for subdirectories 872dnl $5 = a directory that we do not want $4 to match 873AC_DEFUN([CF_ADD_SUBDIR_PATH], 874[ 875test "$4" != "$5" && \ 876test -d "$4" && \ 877ifelse([$5],NONE,,[(test $5 = NONE || test "$4" != "$5") &&]) { 878 test -n "$verbose" && echo " ... testing for $3-directories under $4" 879 test -d $4/$3 && $1="[$]$1 $4/$3" 880 test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2" 881 test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3" 882 test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3" 883 test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2" 884} 885])dnl 886dnl --------------------------------------------------------------------------- 887dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31 888dnl -------------- 889dnl Allow user to disable a normally-on option. 890AC_DEFUN([CF_ARG_DISABLE], 891[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl 892dnl --------------------------------------------------------------------------- 893dnl CF_ARG_MSG_ENABLE version: 2 updated: 2000/07/29 19:32:03 894dnl ----------------- 895dnl Verbose form of AC_ARG_ENABLE: 896dnl 897dnl Parameters: 898dnl $1 = message 899dnl $2 = option name 900dnl $3 = help-string 901dnl $4 = action to perform if option is enabled 902dnl $5 = action if perform if option is disabled 903dnl $6 = default option value (either 'yes' or 'no') 904AC_DEFUN([CF_ARG_MSG_ENABLE],[ 905AC_MSG_CHECKING($1) 906AC_ARG_ENABLE($2,[$3],,enableval=ifelse($6,,no,$6)) 907AC_MSG_RESULT($enableval) 908if test "$enableval" != no ; then 909ifelse($4,,[ :],$4) 910else 911ifelse($5,,[ :],$5) 912fi 913])dnl 914dnl --------------------------------------------------------------------------- 915dnl CF_ARG_OPTION version: 4 updated: 2010/05/26 05:38:42 916dnl ------------- 917dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus 918dnl values. 919dnl 920dnl Parameters: 921dnl $1 = option name 922dnl $2 = help-string 923dnl $3 = action to perform if option is not default 924dnl $4 = action if perform if option is default 925dnl $5 = default option value (either 'yes' or 'no') 926AC_DEFUN([CF_ARG_OPTION], 927[AC_ARG_ENABLE([$1],[$2],[test "$enableval" != ifelse([$5],no,yes,no) && enableval=ifelse([$5],no,no,yes) 928 if test "$enableval" != "$5" ; then 929ifelse([$3],,[ :]dnl 930,[ $3]) ifelse([$4],,,[ 931 else 932 $4]) 933 fi],[enableval=$5 ifelse([$4],,,[ 934 $4 935])dnl 936 ])])dnl 937dnl --------------------------------------------------------------------------- 938dnl CF_BUNDLED_INTL version: 17 updated: 2012/10/06 08:57:51 939dnl --------------- 940dnl Top-level macro for configuring an application with a bundled copy of 941dnl the intl and po directories for gettext. 942dnl 943dnl $1 specifies either Makefile or makefile, defaulting to the former. 944dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls 945dnl 946dnl Sets variables which can be used to substitute in makefiles: 947dnl GT_YES - "#" comment unless building intl library, otherwise empty 948dnl GT_NO - "#" comment if building intl library, otherwise empty 949dnl INTLDIR_MAKE - to make ./intl directory 950dnl MSG_DIR_MAKE - to make ./po directory 951dnl SUB_MAKEFILE - list of makefiles in ./intl, ./po directories 952dnl 953dnl Defines: 954dnl HAVE_LIBGETTEXT_H if we're using ./intl 955dnl NLS_TEXTDOMAIN 956dnl 957dnl Environment: 958dnl ALL_LINGUAS if set, lists the root names of the ".po" files. 959dnl CONFIG_H assumed to be "config.h" 960dnl PACKAGE must be set, used as default for textdomain 961dnl VERSION may be set, otherwise extract from "VERSION" file. 962dnl 963AC_DEFUN([CF_BUNDLED_INTL],[ 964cf_makefile=ifelse($1,,Makefile,$1) 965 966dnl Set of available languages (based on source distribution). Note that 967dnl setting $LINGUAS overrides $ALL_LINGUAS. Some environments set $LINGUAS 968dnl rather than $LC_ALL 969test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'` 970 971# Allow override of "config.h" definition: 972: ${CONFIG_H:=config.h} 973AC_SUBST(CONFIG_H) 974 975if test -z "$PACKAGE" ; then 976 AC_MSG_ERROR([[CF_BUNDLED_INTL] used without setting [PACKAGE] variable]) 977fi 978 979if test -z "$VERSION" ; then 980if test -f $srcdir/VERSION ; then 981 VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1` 982else 983 VERSION=unknown 984fi 985fi 986AC_SUBST(VERSION) 987 988AM_GNU_GETTEXT(,,,[$2]) 989 990if test "$USE_NLS" = yes ; then 991 AC_ARG_WITH(textdomain, 992 [ --with-textdomain=PKG NLS text-domain (default is package name)], 993 [NLS_TEXTDOMAIN=$withval], 994 [NLS_TEXTDOMAIN=$PACKAGE]) 995 AC_DEFINE_UNQUOTED(NLS_TEXTDOMAIN,"$NLS_TEXTDOMAIN",[Define to the nls textdomain value]) 996 AC_SUBST(NLS_TEXTDOMAIN) 997fi 998 999INTLDIR_MAKE= 1000MSG_DIR_MAKE= 1001SUB_MAKEFILE= 1002 1003dnl this updates SUB_MAKEFILE and MSG_DIR_MAKE: 1004CF_OUR_MESSAGES($1) 1005 1006if test "$USE_INCLUDED_LIBINTL" = yes ; then 1007 if test "$nls_cv_force_use_gnu_gettext" = yes ; then 1008 : 1009 elif test "$nls_cv_use_gnu_gettext" = yes ; then 1010 : 1011 else 1012 INTLDIR_MAKE="#" 1013 fi 1014 if test -z "$INTLDIR_MAKE"; then 1015 AC_DEFINE(HAVE_LIBGETTEXT_H,1,[Define to 1 if we have libgettext.h]) 1016 for cf_makefile in \ 1017 $srcdir/intl/Makefile.in \ 1018 $srcdir/intl/makefile.in 1019 do 1020 if test -f "$cf_makefile" ; then 1021 SUB_MAKEFILE="$SUB_MAKEFILE `echo \"${cf_makefile}\"|sed -e 's,^'$srcdir/',,' -e 's/\.in$//'`:${cf_makefile}" 1022 break 1023 fi 1024 done 1025 fi 1026else 1027 INTLDIR_MAKE="#" 1028 if test "$USE_NLS" = yes ; then 1029 AC_CHECK_HEADERS(libintl.h) 1030 fi 1031fi 1032 1033if test -z "$INTLDIR_MAKE" ; then 1034 CPPFLAGS="$CPPFLAGS -I../intl" 1035fi 1036 1037dnl FIXME: we use this in lynx (the alternative is a spurious dependency upon 1038dnl GNU make) 1039if test "$BUILD_INCLUDED_LIBINTL" = yes ; then 1040 GT_YES="#" 1041 GT_NO= 1042else 1043 GT_YES= 1044 GT_NO="#" 1045fi 1046 1047AC_SUBST(INTLDIR_MAKE) 1048AC_SUBST(MSG_DIR_MAKE) 1049AC_SUBST(GT_YES) 1050AC_SUBST(GT_NO) 1051 1052dnl FIXME: the underlying AM_GNU_GETTEXT macro either needs some fixes or a 1053dnl little documentation. It doesn't define anything so that we can ifdef our 1054dnl own code, except ENABLE_NLS, which is too vague to be of any use. 1055 1056if test "$USE_INCLUDED_LIBINTL" = yes ; then 1057 if test "$nls_cv_force_use_gnu_gettext" = yes ; then 1058 AC_DEFINE(HAVE_GETTEXT,1,[Define to 1 if we have gettext function]) 1059 elif test "$nls_cv_use_gnu_gettext" = yes ; then 1060 AC_DEFINE(HAVE_GETTEXT,1,[Define to 1 if we have gettext function]) 1061 fi 1062 if test -n "$nls_cv_header_intl" ; then 1063 AC_DEFINE(HAVE_LIBINTL_H,1,[Define to 1 if we have header-file for libintl]) 1064 fi 1065fi 1066])dnl 1067dnl --------------------------------------------------------------------------- 1068dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49 1069dnl --------------- 1070dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content 1071dnl into CC. This will not help with broken scripts that wrap the compiler with 1072dnl options, but eliminates a more common category of user confusion. 1073AC_DEFUN([CF_CC_ENV_FLAGS], 1074[ 1075# This should have been defined by AC_PROG_CC 1076: ${CC:=cc} 1077 1078AC_MSG_CHECKING(\$CC variable) 1079case "$CC" in #(vi 1080*[[\ \ ]]-[[IUD]]*) 1081 AC_MSG_RESULT(broken) 1082 AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options) 1083 # humor him... 1084 cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'` 1085 CC=`echo "$CC" | sed -e 's/[[ ]].*//'` 1086 CF_ADD_CFLAGS($cf_flags) 1087 ;; 1088*) 1089 AC_MSG_RESULT(ok) 1090 ;; 1091esac 1092])dnl 1093dnl --------------------------------------------------------------------------- 1094dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03 1095dnl -------------- 1096dnl Check if we're accidentally using a cache from a different machine. 1097dnl Derive the system name, as a check for reusing the autoconf cache. 1098dnl 1099dnl If we've packaged config.guess and config.sub, run that (since it does a 1100dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow 1101dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM 1102dnl which is useful in cross-compiles. 1103dnl 1104dnl Note: we would use $ac_config_sub, but that is one of the places where 1105dnl autoconf 2.5x broke compatibility with autoconf 2.13 1106AC_DEFUN([CF_CHECK_CACHE], 1107[ 1108if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then 1109 ifelse([$1],,[AC_CANONICAL_HOST],[$1]) 1110 system_name="$host_os" 1111else 1112 system_name="`(uname -s -r) 2>/dev/null`" 1113 if test -z "$system_name" ; then 1114 system_name="`(hostname) 2>/dev/null`" 1115 fi 1116fi 1117test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.]) 1118AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"]) 1119 1120test -z "$system_name" && system_name="$cf_cv_system_name" 1121test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name) 1122 1123if test ".$system_name" != ".$cf_cv_system_name" ; then 1124 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) 1125 AC_MSG_ERROR("Please remove config.cache and try again.") 1126fi 1127])dnl 1128dnl --------------------------------------------------------------------------- 1129dnl CF_CHECK_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09 1130dnl ------------------------ 1131dnl Show the version of libtool 1132dnl 1133dnl Save the version in a cache variable - this is not entirely a good thing, 1134dnl but the version string from libtool is very ugly, and for bug reports it 1135dnl might be useful to have the original string. 1136AC_DEFUN([CF_CHECK_LIBTOOL_VERSION],[ 1137if test -n "$LIBTOOL" && test "$LIBTOOL" != none 1138then 1139 AC_MSG_CHECKING(version of $LIBTOOL) 1140 CF_LIBTOOL_VERSION 1141 AC_MSG_RESULT($cf_cv_libtool_version) 1142 if test -z "$cf_cv_libtool_version" ; then 1143 AC_MSG_ERROR(This is not GNU libtool) 1144 fi 1145else 1146 AC_MSG_ERROR(GNU libtool has not been found) 1147fi 1148])dnl 1149dnl --------------------------------------------------------------------------- 1150dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39 1151dnl ----------------- 1152dnl Check if the given compiler is really clang. clang's C driver defines 1153dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does 1154dnl not ignore some gcc options. 1155dnl 1156dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to 1157dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from 1158dnl the wrappers for gcc and g++ warnings. 1159dnl 1160dnl $1 = GCC (default) or GXX 1161dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS 1162dnl $3 = CFLAGS (default) or CXXFLAGS 1163AC_DEFUN([CF_CLANG_COMPILER],[ 1164ifelse([$2],,CLANG_COMPILER,[$2])=no 1165 1166if test "$ifelse([$1],,[$1],GCC)" = yes ; then 1167 AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler) 1168 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" 1169 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments" 1170 AC_TRY_COMPILE([],[ 1171#ifdef __clang__ 1172#else 1173make an error 1174#endif 1175],[ifelse([$2],,CLANG_COMPILER,[$2])=yes 1176cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" 1177],[]) 1178 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" 1179 AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2])) 1180fi 1181]) 1182dnl --------------------------------------------------------------------------- 1183dnl CF_CURSES_CHTYPE version: 8 updated: 2012/10/06 08:57:51 1184dnl ---------------- 1185dnl Test if curses defines 'chtype' (usually a 'long' type for SysV curses). 1186AC_DEFUN([CF_CURSES_CHTYPE], 1187[ 1188AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 1189AC_CACHE_CHECK(for chtype typedef,cf_cv_chtype_decl,[ 1190 AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], 1191 [chtype foo], 1192 [cf_cv_chtype_decl=yes], 1193 [cf_cv_chtype_decl=no])]) 1194if test $cf_cv_chtype_decl = yes ; then 1195 AC_DEFINE(HAVE_TYPE_CHTYPE,1,[Define to 1 if chtype is declared]) 1196 AC_CACHE_CHECK(if chtype is scalar or struct,cf_cv_chtype_type,[ 1197 AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], 1198 [chtype foo; long x = foo], 1199 [cf_cv_chtype_type=scalar], 1200 [cf_cv_chtype_type=struct])]) 1201 if test $cf_cv_chtype_type = scalar ; then 1202 AC_DEFINE(TYPE_CHTYPE_IS_SCALAR,1,[Define to 1 if chtype is a scaler/integer]) 1203 fi 1204fi 1205])dnl 1206dnl --------------------------------------------------------------------------- 1207dnl CF_CURSES_CONFIG version: 2 updated: 2006/10/29 11:06:27 1208dnl ---------------- 1209dnl Tie together the configure-script macros for curses. It may be ncurses, 1210dnl but unless asked, we do not make a special search for ncurses. However, 1211dnl still check for the ncurses version number, for use in other macros. 1212AC_DEFUN([CF_CURSES_CONFIG], 1213[ 1214CF_CURSES_CPPFLAGS 1215CF_NCURSES_VERSION 1216CF_CURSES_LIBS 1217])dnl 1218dnl --------------------------------------------------------------------------- 1219dnl CF_CURSES_CPPFLAGS version: 11 updated: 2011/04/09 14:51:08 1220dnl ------------------ 1221dnl Look for the curses headers. 1222AC_DEFUN([CF_CURSES_CPPFLAGS],[ 1223 1224AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[ 1225cf_cv_curses_incdir=no 1226case $host_os in #(vi 1227hpux10.*) #(vi 1228 if test "x$cf_cv_screen" = "xcurses_colr" 1229 then 1230 test -d /usr/include/curses_colr && \ 1231 cf_cv_curses_incdir="-I/usr/include/curses_colr" 1232 fi 1233 ;; 1234sunos3*|sunos4*) 1235 if test "x$cf_cv_screen" = "xcurses_5lib" 1236 then 1237 test -d /usr/5lib && \ 1238 test -d /usr/5include && \ 1239 cf_cv_curses_incdir="-I/usr/5include" 1240 fi 1241 ;; 1242esac 1243]) 1244test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir" 1245 1246CF_CURSES_HEADER 1247CF_TERM_HEADER 1248])dnl 1249dnl --------------------------------------------------------------------------- 1250dnl CF_CURSES_FUNCS version: 17 updated: 2011/05/14 16:07:29 1251dnl --------------- 1252dnl Curses-functions are a little complicated, since a lot of them are macros. 1253AC_DEFUN([CF_CURSES_FUNCS], 1254[ 1255AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 1256AC_REQUIRE([CF_XOPEN_CURSES]) 1257AC_REQUIRE([CF_CURSES_TERM_H]) 1258AC_REQUIRE([CF_CURSES_UNCTRL_H]) 1259for cf_func in $1 1260do 1261 CF_UPPER(cf_tr_func,$cf_func) 1262 AC_MSG_CHECKING(for ${cf_func}) 1263 CF_MSG_LOG(${cf_func}) 1264 AC_CACHE_VAL(cf_cv_func_$cf_func,[ 1265 eval cf_result='$ac_cv_func_'$cf_func 1266 if test ".$cf_result" != ".no"; then 1267 AC_TRY_LINK(CF__CURSES_HEAD, 1268 [ 1269#ifndef ${cf_func} 1270long foo = (long)(&${cf_func}); 1271if (foo + 1234 > 5678) 1272 ${cf_cv_main_return:-return}(foo); 1273#endif 1274 ], 1275 [cf_result=yes], 1276 [cf_result=no]) 1277 fi 1278 eval 'cf_cv_func_'$cf_func'=$cf_result' 1279 ]) 1280 # use the computed/retrieved cache-value: 1281 eval 'cf_result=$cf_cv_func_'$cf_func 1282 AC_MSG_RESULT($cf_result) 1283 if test $cf_result != no; then 1284 AC_DEFINE_UNQUOTED(HAVE_${cf_tr_func}) 1285 fi 1286done 1287])dnl 1288dnl --------------------------------------------------------------------------- 1289dnl CF_CURSES_HEADER version: 3 updated: 2011/05/01 19:47:45 1290dnl ---------------- 1291dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common 1292dnl variations of ncurses' installs. 1293dnl 1294dnl $1 = ncurses when looking for ncurses, or is empty 1295AC_DEFUN([CF_CURSES_HEADER],[ 1296AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ 1297cf_cv_ncurses_header=none 1298for cf_header in ifelse($1,,,[ \ 1299 $1/ncurses.h \ 1300 $1/curses.h]) \ 1301 ncurses.h \ 1302 curses.h ifelse($1,,[ncurses/ncurses.h ncurses/curses.h]) 1303do 1304AC_TRY_COMPILE([#include <${cf_header}>], 1305 [initscr(); tgoto("?", 0,0)], 1306 [cf_cv_ncurses_header=$cf_header; break],[]) 1307done 1308]) 1309 1310if test "$cf_cv_ncurses_header" = none ; then 1311 AC_MSG_ERROR(No curses header-files found) 1312fi 1313 1314# cheat, to get the right #define's for HAVE_NCURSES_H, etc. 1315AC_CHECK_HEADERS($cf_cv_ncurses_header) 1316])dnl 1317dnl --------------------------------------------------------------------------- 1318dnl CF_CURSES_LIBS version: 37 updated: 2013/02/09 17:33:50 1319dnl -------------- 1320dnl Look for the curses libraries. Older curses implementations may require 1321dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. 1322AC_DEFUN([CF_CURSES_LIBS],[ 1323 1324AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 1325AC_MSG_CHECKING(if we have identified curses libraries) 1326AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], 1327 [initscr(); tgoto("?", 0,0)], 1328 cf_result=yes, 1329 cf_result=no) 1330AC_MSG_RESULT($cf_result) 1331 1332if test "$cf_result" = no ; then 1333case $host_os in #(vi 1334freebsd*) #(vi 1335 AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)]) 1336 ;; 1337hpux10.*) #(vi 1338 # Looking at HPUX 10.20, the Hcurses library is the oldest (1997), cur_colr 1339 # next (1998), and xcurses "newer" (2000). There is no header file for 1340 # Hcurses; the subdirectory curses_colr has the headers (curses.h and 1341 # term.h) for cur_colr 1342 if test "x$cf_cv_screen" = "xcurses_colr" 1343 then 1344 AC_CHECK_LIB(cur_colr,initscr,[ 1345 CF_ADD_LIBS(-lcur_colr) 1346 ac_cv_func_initscr=yes 1347 ],[ 1348 AC_CHECK_LIB(Hcurses,initscr,[ 1349 # HP's header uses __HP_CURSES, but user claims _HP_CURSES. 1350 CF_ADD_LIBS(-lHcurses) 1351 CPPFLAGS="$CPPFLAGS -D__HP_CURSES -D_HP_CURSES" 1352 ac_cv_func_initscr=yes 1353 ])]) 1354 fi 1355 ;; 1356linux*) 1357 case `arch 2>/dev/null` in 1358 x86_64) 1359 if test -d /lib64 1360 then 1361 CF_ADD_LIBDIR(/lib64) 1362 else 1363 CF_ADD_LIBDIR(/lib) 1364 fi 1365 ;; 1366 *) 1367 CF_ADD_LIBDIR(/lib) 1368 ;; 1369 esac 1370 ;; 1371sunos3*|sunos4*) 1372 if test "x$cf_cv_screen" = "xcurses_5lib" 1373 then 1374 if test -d /usr/5lib ; then 1375 CF_ADD_LIBDIR(/usr/5lib) 1376 CF_ADD_LIBS(-lcurses -ltermcap) 1377 fi 1378 fi 1379 ac_cv_func_initscr=yes 1380 ;; 1381esac 1382 1383if test ".$ac_cv_func_initscr" != .yes ; then 1384 cf_save_LIBS="$LIBS" 1385 1386 if test ".${cf_cv_ncurses_version:-no}" != .no 1387 then 1388 cf_check_list="ncurses curses cursesX" 1389 else 1390 cf_check_list="cursesX curses ncurses" 1391 fi 1392 1393 # Check for library containing tgoto. Do this before curses library 1394 # because it may be needed to link the test-case for initscr. 1395 if test "x$cf_term_lib" = x 1396 then 1397 AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ 1398 for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown 1399 do 1400 AC_CHECK_LIB($cf_term_lib,tgoto,[break]) 1401 done 1402 ]) 1403 fi 1404 1405 # Check for library containing initscr 1406 test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" 1407 if test "x$cf_curs_lib" = x 1408 then 1409 for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown 1410 do 1411 AC_CHECK_LIB($cf_curs_lib,initscr,[break]) 1412 done 1413 fi 1414 test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found) 1415 1416 LIBS="-l$cf_curs_lib $cf_save_LIBS" 1417 if test "$cf_term_lib" = unknown ; then 1418 AC_MSG_CHECKING(if we can link with $cf_curs_lib library) 1419 AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], 1420 [initscr()], 1421 [cf_result=yes], 1422 [cf_result=no]) 1423 AC_MSG_RESULT($cf_result) 1424 test $cf_result = no && AC_MSG_ERROR(Cannot link curses library) 1425 elif test "$cf_curs_lib" = "$cf_term_lib" ; then 1426 : 1427 elif test "$cf_term_lib" != predefined ; then 1428 AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries) 1429 AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], 1430 [initscr(); tgoto((char *)0, 0, 0);], 1431 [cf_result=no], 1432 [ 1433 LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" 1434 AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], 1435 [initscr()], 1436 [cf_result=yes], 1437 [cf_result=error]) 1438 ]) 1439 AC_MSG_RESULT($cf_result) 1440 fi 1441fi 1442fi 1443 1444])dnl 1445dnl --------------------------------------------------------------------------- 1446dnl CF_CURSES_TERM_H version: 10 updated: 2012/10/06 08:57:51 1447dnl ---------------- 1448dnl SVr4 curses should have term.h as well (where it puts the definitions of 1449dnl the low-level interface). This may not be true in old/broken implementations, 1450dnl as well as in misconfigured systems (e.g., gcc configured for Solaris 2.4 1451dnl running with Solaris 2.5.1). 1452AC_DEFUN([CF_CURSES_TERM_H], 1453[ 1454AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 1455 1456AC_CACHE_CHECK(for term.h, cf_cv_term_header,[ 1457 1458# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look 1459# for <term.h> if we do not find the variant. 1460 1461cf_header_list="term.h ncurses/term.h ncursesw/term.h" 1462 1463case ${cf_cv_ncurses_header:-curses.h} in #(vi 1464*/*) 1465 cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h 1466 cf_header_list="$cf_header_item $cf_header_list" 1467 ;; 1468esac 1469 1470for cf_header in $cf_header_list 1471do 1472 AC_TRY_COMPILE([ 1473#include <${cf_cv_ncurses_header:-curses.h}> 1474#include <${cf_header}>], 1475 [WINDOW *x], 1476 [cf_cv_term_header=$cf_header 1477 break], 1478 [cf_cv_term_header=no]) 1479done 1480 1481case $cf_cv_term_header in #(vi 1482no) 1483 # If curses is ncurses, some packagers still mess it up by trying to make 1484 # us use GNU termcap. This handles the most common case. 1485 for cf_header in ncurses/term.h ncursesw/term.h 1486 do 1487 AC_TRY_COMPILE([ 1488#include <${cf_cv_ncurses_header:-curses.h}> 1489#ifdef NCURSES_VERSION 1490#include <${cf_header}> 1491#else 1492make an error 1493#endif], 1494 [WINDOW *x], 1495 [cf_cv_term_header=$cf_header 1496 break], 1497 [cf_cv_term_header=no]) 1498 done 1499 ;; 1500esac 1501]) 1502 1503case $cf_cv_term_header in #(vi 1504term.h) #(vi 1505 AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h]) 1506 ;; 1507ncurses/term.h) #(vi 1508 AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h]) 1509 ;; 1510ncursesw/term.h) 1511 AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h]) 1512 ;; 1513esac 1514])dnl 1515dnl --------------------------------------------------------------------------- 1516dnl CF_CURSES_UNCTRL_H version: 2 updated: 2012/10/06 08:57:51 1517dnl ------------------ 1518dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages 1519dnl may put it in a subdirectory (along with ncurses' other headers, of 1520dnl course). Packages which put the headers in inconsistent locations are 1521dnl broken). 1522AC_DEFUN([CF_CURSES_UNCTRL_H], 1523[ 1524AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 1525 1526AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[ 1527 1528# If we found <ncurses/curses.h>, look for <ncurses/unctrl.h>, but always look 1529# for <unctrl.h> if we do not find the variant. 1530 1531cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h" 1532 1533case ${cf_cv_ncurses_header:-curses.h} in #(vi 1534*/*) 1535 cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h 1536 cf_header_list="$cf_header_item $cf_header_list" 1537 ;; 1538esac 1539 1540for cf_header in $cf_header_list 1541do 1542 AC_TRY_COMPILE([ 1543#include <${cf_cv_ncurses_header:-curses.h}> 1544#include <${cf_header}>], 1545 [WINDOW *x], 1546 [cf_cv_unctrl_header=$cf_header 1547 break], 1548 [cf_cv_unctrl_header=no]) 1549done 1550 1551case $cf_cv_unctrl_header in #(vi 1552no) 1553 AC_MSG_WARN(unctrl.h header not found) 1554 ;; 1555esac 1556]) 1557 1558case $cf_cv_unctrl_header in #(vi 1559unctrl.h) #(vi 1560 AC_DEFINE(HAVE_UNCTRL_H,1,[Define to 1 if we have unctrl.h]) 1561 ;; 1562ncurses/unctrl.h) #(vi 1563 AC_DEFINE(HAVE_NCURSES_UNCTRL_H,1,[Define to 1 if we have ncurses/unctrl.h]) 1564 ;; 1565ncursesw/unctrl.h) 1566 AC_DEFINE(HAVE_NCURSESW_UNCTRL_H,1,[Define to 1 if we have ncursesw/unctrl.h]) 1567 ;; 1568esac 1569])dnl 1570dnl --------------------------------------------------------------------------- 1571dnl CF_CURSES_WACS_MAP version: 6 updated: 2012/10/06 08:57:51 1572dnl ------------------ 1573dnl Check for likely values of wacs_map[]. 1574AC_DEFUN([CF_CURSES_WACS_MAP], 1575[ 1576AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[ 1577 cf_cv_curses_wacs_map=unknown 1578 for name in wacs_map _wacs_map __wacs_map _nc_wacs _wacs_char 1579 do 1580 AC_TRY_LINK([ 1581#ifndef _XOPEN_SOURCE_EXTENDED 1582#define _XOPEN_SOURCE_EXTENDED 1583#endif 1584#include <${cf_cv_ncurses_header:-curses.h}>], 1585 [void *foo = &($name['k'])], 1586 [cf_cv_curses_wacs_map=$name 1587 break]) 1588 done]) 1589 1590test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map,[Define to name of (n)curses wide-character array]) 1591])dnl 1592dnl --------------------------------------------------------------------------- 1593dnl CF_CURSES_WACS_SYMBOLS version: 2 updated: 2012/10/06 08:57:51 1594dnl ---------------------- 1595dnl Do a check to see if the WACS_xxx constants are defined compatibly with 1596dnl X/Open Curses. In particular, NetBSD's implementation of the WACS_xxx 1597dnl constants is broken since those constants do not point to cchar_t's. 1598AC_DEFUN([CF_CURSES_WACS_SYMBOLS], 1599[ 1600AC_REQUIRE([CF_CURSES_WACS_MAP]) 1601 1602AC_CACHE_CHECK(for wide alternate character constants, cf_cv_curses_wacs_symbols,[ 1603cf_cv_curses_wacs_symbols=no 1604if test "$cf_cv_curses_wacs_map" != unknown 1605then 1606 AC_TRY_LINK([ 1607#ifndef _XOPEN_SOURCE_EXTENDED 1608#define _XOPEN_SOURCE_EXTENDED 1609#endif 1610#include <${cf_cv_ncurses_header:-curses.h}>], 1611 [cchar_t *foo = WACS_PLUS; 1612 $cf_cv_curses_wacs_map['k'] = *WACS_PLUS], 1613 [cf_cv_curses_wacs_symbols=yes]) 1614else 1615 AC_TRY_LINK([ 1616#ifndef _XOPEN_SOURCE_EXTENDED 1617#define _XOPEN_SOURCE_EXTENDED 1618#endif 1619#include <${cf_cv_ncurses_header:-curses.h}>], 1620 [cchar_t *foo = WACS_PLUS], 1621 [cf_cv_curses_wacs_symbols=yes]) 1622fi 1623]) 1624 1625test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS,1,[Define to 1 if (n)curses supports wide-character WACS_ symbols]) 1626])dnl 1627dnl --------------------------------------------------------------------------- 1628dnl CF_CURSES_WGETPARENT version: 3 updated: 2012/10/06 08:57:51 1629dnl -------------------- 1630dnl Check for curses support for directly determining the parent of a given 1631dnl window. Some implementations make this difficult, so we provide for 1632dnl defining an application-specific function that gives this functionality. 1633dnl 1634dnl $1 = name of function to use if the feature is missing 1635AC_DEFUN([CF_CURSES_WGETPARENT],[ 1636CF_CURSES_FUNCS(wgetparent) 1637if test "x$cf_cv_func_wgetparent" != xyes 1638then 1639 AC_MSG_CHECKING(if WINDOW has _parent member) 1640 AC_TRY_COMPILE([#include <${cf_cv_ncurses_header:-curses.h}>], 1641 [WINDOW *p = stdscr->_parent], 1642 [cf_window__parent=yes], 1643 [cf_window__parent=no]) 1644 AC_MSG_RESULT($cf_window__parent) 1645 if test "$cf_window__parent" = yes 1646 then 1647 AC_DEFINE(HAVE_WINDOW__PARENT,1,[Define to 1 if WINDOW struct has _parent member]) 1648 fi 1649fi 1650])dnl 1651dnl --------------------------------------------------------------------------- 1652dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 1653dnl ---------- 1654dnl "dirname" is not portable, so we fake it with a shell script. 1655AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl 1656dnl --------------------------------------------------------------------------- 1657dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28 1658dnl --------------- 1659dnl You can always use "make -n" to see the actual options, but it's hard to 1660dnl pick out/analyze warning messages when the compile-line is long. 1661dnl 1662dnl Sets: 1663dnl ECHO_LT - symbol to control if libtool is verbose 1664dnl ECHO_LD - symbol to prefix "cc -o" lines 1665dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o) 1666dnl SHOW_CC - symbol to put before explicit "cc -c" lines 1667dnl ECHO_CC - symbol to put before any "cc" line 1668dnl 1669AC_DEFUN([CF_DISABLE_ECHO],[ 1670AC_MSG_CHECKING(if you want to see long compiling messages) 1671CF_ARG_DISABLE(echo, 1672 [ --disable-echo do not display "compiling" commands], 1673 [ 1674 ECHO_LT='--silent' 1675 ECHO_LD='@echo linking [$]@;' 1676 RULE_CC='@echo compiling [$]<' 1677 SHOW_CC='@echo compiling [$]@' 1678 ECHO_CC='@' 1679],[ 1680 ECHO_LT='' 1681 ECHO_LD='' 1682 RULE_CC='' 1683 SHOW_CC='' 1684 ECHO_CC='' 1685]) 1686AC_MSG_RESULT($enableval) 1687AC_SUBST(ECHO_LT) 1688AC_SUBST(ECHO_LD) 1689AC_SUBST(RULE_CC) 1690AC_SUBST(SHOW_CC) 1691AC_SUBST(ECHO_CC) 1692])dnl 1693dnl --------------------------------------------------------------------------- 1694dnl CF_DISABLE_LIBTOOL_VERSION version: 1 updated: 2010/05/15 15:45:59 1695dnl -------------------------- 1696dnl Check if we should use the libtool 1.5 feature "-version-number" instead of 1697dnl the older "-version-info" feature. The newer feature allows us to use 1698dnl version numbering on shared libraries which make them compatible with 1699dnl various systems. 1700AC_DEFUN([CF_DISABLE_LIBTOOL_VERSION], 1701[ 1702AC_MSG_CHECKING(if libtool -version-number should be used) 1703CF_ARG_DISABLE(libtool-version, 1704 [ --disable-libtool-version enable to use libtool's incompatible naming scheme], 1705 [cf_libtool_version=no], 1706 [cf_libtool_version=yes]) 1707AC_MSG_RESULT($cf_libtool_version) 1708 1709if test "$cf_libtool_version" = yes ; then 1710 LIBTOOL_VERSION="-version-number" 1711else 1712 LIBTOOL_VERSION="-version-info" 1713fi 1714 1715AC_SUBST(LIBTOOL_VERSION) 1716])dnl 1717dnl --------------------------------------------------------------------------- 1718dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33 1719dnl --------------------- 1720dnl The rpath-hack makes it simpler to build programs, particularly with the 1721dnl *BSD ports which may have essential libraries in unusual places. But it 1722dnl can interfere with building an executable for the base system. Use this 1723dnl option in that case. 1724AC_DEFUN([CF_DISABLE_RPATH_HACK], 1725[ 1726AC_MSG_CHECKING(if rpath-hack should be disabled) 1727CF_ARG_DISABLE(rpath-hack, 1728 [ --disable-rpath-hack don't add rpath options for additional libraries], 1729 [cf_disable_rpath_hack=yes], 1730 [cf_disable_rpath_hack=no]) 1731AC_MSG_RESULT($cf_disable_rpath_hack) 1732if test "$cf_disable_rpath_hack" = no ; then 1733 CF_RPATH_HACK 1734fi 1735]) 1736dnl --------------------------------------------------------------------------- 1737dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42 1738dnl --------------- 1739dnl Check if the rpath option should be used, setting cache variable 1740dnl cf_cv_enable_rpath if so. 1741AC_DEFUN([CF_ENABLE_RPATH], 1742[ 1743AC_MSG_CHECKING(if rpath option should be used) 1744AC_ARG_ENABLE(rpath, 1745[ --enable-rpath use rpath option when generating shared libraries], 1746[cf_cv_enable_rpath=$enableval], 1747[cf_cv_enable_rpath=no]) 1748AC_MSG_RESULT($cf_cv_enable_rpath) 1749])dnl 1750dnl --------------------------------------------------------------------------- 1751dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54 1752dnl --------------- 1753dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We 1754dnl prefer a standard location, and use -L options only if we do not find the 1755dnl library in the standard library location(s). 1756dnl $1 = library name 1757dnl $2 = library class, usually the same as library name 1758dnl $3 = includes 1759dnl $4 = code fragment to compile/link 1760dnl $5 = corresponding function-name 1761dnl $6 = flag, nonnull if failure should not cause an error-exit 1762dnl 1763dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had 1764dnl to use a -L option. 1765AC_DEFUN([CF_FIND_LIBRARY], 1766[ 1767 eval 'cf_cv_have_lib_'$1'=no' 1768 cf_libdir="" 1769 AC_CHECK_FUNC($5, 1770 eval 'cf_cv_have_lib_'$1'=yes',[ 1771 cf_save_LIBS="$LIBS" 1772 AC_MSG_CHECKING(for $5 in -l$1) 1773 LIBS="-l$1 $LIBS" 1774 AC_TRY_LINK([$3],[$4], 1775 [AC_MSG_RESULT(yes) 1776 eval 'cf_cv_have_lib_'$1'=yes' 1777 ], 1778 [AC_MSG_RESULT(no) 1779 CF_LIBRARY_PATH(cf_search,$2) 1780 for cf_libdir in $cf_search 1781 do 1782 AC_MSG_CHECKING(for -l$1 in $cf_libdir) 1783 LIBS="-L$cf_libdir -l$1 $cf_save_LIBS" 1784 AC_TRY_LINK([$3],[$4], 1785 [AC_MSG_RESULT(yes) 1786 eval 'cf_cv_have_lib_'$1'=yes' 1787 break], 1788 [AC_MSG_RESULT(no) 1789 LIBS="$cf_save_LIBS"]) 1790 done 1791 ]) 1792 ]) 1793eval 'cf_found_library=[$]cf_cv_have_lib_'$1 1794ifelse($6,,[ 1795if test $cf_found_library = no ; then 1796 AC_MSG_ERROR(Cannot link $1 library) 1797fi 1798]) 1799])dnl 1800dnl --------------------------------------------------------------------------- 1801dnl CF_FIND_LINKAGE version: 19 updated: 2010/05/29 16:31:02 1802dnl --------------- 1803dnl Find a library (specifically the linkage used in the code fragment), 1804dnl searching for it if it is not already in the library path. 1805dnl See also CF_ADD_SEARCHPATH. 1806dnl 1807dnl Parameters (4-on are optional): 1808dnl $1 = headers for library entrypoint 1809dnl $2 = code fragment for library entrypoint 1810dnl $3 = the library name without the "-l" option or ".so" suffix. 1811dnl $4 = action to perform if successful (default: update CPPFLAGS, etc) 1812dnl $5 = action to perform if not successful 1813dnl $6 = module name, if not the same as the library name 1814dnl $7 = extra libraries 1815dnl 1816dnl Sets these variables: 1817dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found 1818dnl $cf_cv_header_path_$3 - include-directory if needed 1819dnl $cf_cv_library_path_$3 - library-directory if needed 1820dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3 1821AC_DEFUN([CF_FIND_LINKAGE],[ 1822 1823# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these 1824# will be set on completion of the AC_TRY_LINK below. 1825cf_cv_header_path_$3= 1826cf_cv_library_path_$3= 1827 1828CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)]) 1829 1830cf_save_LIBS="$LIBS" 1831 1832AC_TRY_LINK([$1],[$2],[ 1833 cf_cv_find_linkage_$3=yes 1834 cf_cv_header_path_$3=/usr/include 1835 cf_cv_library_path_$3=/usr/lib 1836],[ 1837 1838LIBS="-l$3 $7 $cf_save_LIBS" 1839 1840AC_TRY_LINK([$1],[$2],[ 1841 cf_cv_find_linkage_$3=yes 1842 cf_cv_header_path_$3=/usr/include 1843 cf_cv_library_path_$3=/usr/lib 1844 cf_cv_library_file_$3="-l$3" 1845],[ 1846 cf_cv_find_linkage_$3=no 1847 LIBS="$cf_save_LIBS" 1848 1849 CF_VERBOSE(find linkage for $3 library) 1850 CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)]) 1851 1852 cf_save_CPPFLAGS="$CPPFLAGS" 1853 cf_test_CPPFLAGS="$CPPFLAGS" 1854 1855 CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6])) 1856 for cf_cv_header_path_$3 in $cf_search 1857 do 1858 if test -d $cf_cv_header_path_$3 ; then 1859 CF_VERBOSE(... testing $cf_cv_header_path_$3) 1860 CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3" 1861 AC_TRY_COMPILE([$1],[$2],[ 1862 CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3) 1863 cf_cv_find_linkage_$3=maybe 1864 cf_test_CPPFLAGS="$CPPFLAGS" 1865 break],[ 1866 CPPFLAGS="$cf_save_CPPFLAGS" 1867 ]) 1868 fi 1869 done 1870 1871 if test "$cf_cv_find_linkage_$3" = maybe ; then 1872 1873 CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)]) 1874 1875 cf_save_LIBS="$LIBS" 1876 cf_save_LDFLAGS="$LDFLAGS" 1877 1878 ifelse([$6],,,[ 1879 CPPFLAGS="$cf_test_CPPFLAGS" 1880 LIBS="-l$3 $7 $cf_save_LIBS" 1881 AC_TRY_LINK([$1],[$2],[ 1882 CF_VERBOSE(... found $3 library in system) 1883 cf_cv_find_linkage_$3=yes]) 1884 CPPFLAGS="$cf_save_CPPFLAGS" 1885 LIBS="$cf_save_LIBS" 1886 ]) 1887 1888 if test "$cf_cv_find_linkage_$3" != yes ; then 1889 CF_LIBRARY_PATH(cf_search,$3) 1890 for cf_cv_library_path_$3 in $cf_search 1891 do 1892 if test -d $cf_cv_library_path_$3 ; then 1893 CF_VERBOSE(... testing $cf_cv_library_path_$3) 1894 CPPFLAGS="$cf_test_CPPFLAGS" 1895 LIBS="-l$3 $7 $cf_save_LIBS" 1896 LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3" 1897 AC_TRY_LINK([$1],[$2],[ 1898 CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3) 1899 cf_cv_find_linkage_$3=yes 1900 cf_cv_library_file_$3="-l$3" 1901 break],[ 1902 CPPFLAGS="$cf_save_CPPFLAGS" 1903 LIBS="$cf_save_LIBS" 1904 LDFLAGS="$cf_save_LDFLAGS" 1905 ]) 1906 fi 1907 done 1908 CPPFLAGS="$cf_save_CPPFLAGS" 1909 LDFLAGS="$cf_save_LDFLAGS" 1910 fi 1911 1912 else 1913 cf_cv_find_linkage_$3=no 1914 fi 1915 ],$7) 1916]) 1917 1918LIBS="$cf_save_LIBS" 1919 1920if test "$cf_cv_find_linkage_$3" = yes ; then 1921ifelse([$4],,[ 1922 CF_ADD_INCDIR($cf_cv_header_path_$3) 1923 CF_ADD_LIBDIR($cf_cv_library_path_$3) 1924 CF_ADD_LIB($3) 1925],[$4]) 1926else 1927ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5]) 1928fi 1929])dnl 1930dnl --------------------------------------------------------------------------- 1931dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09 1932dnl -------------- 1933dnl Forget that we saw the given tool. 1934AC_DEFUN([CF_FORGET_TOOL],[ 1935unset ac_cv_prog_ac_ct_$1 1936unset ac_ct_$1 1937unset $1 1938])dnl 1939dnl --------------------------------------------------------------------------- 1940dnl CF_FUNC_WAIT version: 3 updated: 2012/10/06 08:57:51 1941dnl ------------ 1942dnl Test for the presence of <sys/wait.h>, 'union wait', arg-type of 'wait()' 1943dnl and/or 'waitpid()'. 1944dnl 1945dnl Note that we cannot simply grep for 'union wait' in the wait.h file, 1946dnl because some Posix systems turn this on only when a BSD variable is 1947dnl defined. 1948dnl 1949dnl I don't use AC_HEADER_SYS_WAIT, because it defines HAVE_SYS_WAIT_H, which 1950dnl would conflict with an attempt to test that header directly. 1951dnl 1952AC_DEFUN([CF_FUNC_WAIT], 1953[ 1954AC_REQUIRE([CF_UNION_WAIT]) 1955if test $cf_cv_type_unionwait = yes; then 1956 1957 AC_MSG_CHECKING(if union wait can be used as wait-arg) 1958 AC_CACHE_VAL(cf_cv_arg_union_wait,[ 1959 AC_TRY_COMPILE($cf_wait_headers, 1960 [union wait x; wait(&x)], 1961 [cf_cv_arg_union_wait=yes], 1962 [cf_cv_arg_union_wait=no]) 1963 ]) 1964 AC_MSG_RESULT($cf_cv_arg_union_wait) 1965 test $cf_cv_arg_union_wait = yes && AC_DEFINE(WAIT_USES_UNION,1,[Define to 1 if wait() uses a union parameter]) 1966 1967 AC_MSG_CHECKING(if union wait can be used as waitpid-arg) 1968 AC_CACHE_VAL(cf_cv_arg_union_waitpid,[ 1969 AC_TRY_COMPILE($cf_wait_headers, 1970 [union wait x; waitpid(0, &x, 0)], 1971 [cf_cv_arg_union_waitpid=yes], 1972 [cf_cv_arg_union_waitpid=no]) 1973 ]) 1974 AC_MSG_RESULT($cf_cv_arg_union_waitpid) 1975 test $cf_cv_arg_union_waitpid = yes && AC_DEFINE(WAITPID_USES_UNION,1,[Define to 1 if waitpid() uses a union parameter]) 1976 1977fi 1978])dnl 1979dnl --------------------------------------------------------------------------- 1980dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03 1981dnl ----------------- 1982dnl Test for availability of useful gcc __attribute__ directives to quiet 1983dnl compiler warnings. Though useful, not all are supported -- and contrary 1984dnl to documentation, unrecognized directives cause older compilers to barf. 1985AC_DEFUN([CF_GCC_ATTRIBUTES], 1986[ 1987if test "$GCC" = yes 1988then 1989cat > conftest.i <<EOF 1990#ifndef GCC_PRINTF 1991#define GCC_PRINTF 0 1992#endif 1993#ifndef GCC_SCANF 1994#define GCC_SCANF 0 1995#endif 1996#ifndef GCC_NORETURN 1997#define GCC_NORETURN /* nothing */ 1998#endif 1999#ifndef GCC_UNUSED 2000#define GCC_UNUSED /* nothing */ 2001#endif 2002EOF 2003if test "$GCC" = yes 2004then 2005 AC_CHECKING([for $CC __attribute__ directives]) 2006cat > conftest.$ac_ext <<EOF 2007#line __oline__ "${as_me:-configure}" 2008#include "confdefs.h" 2009#include "conftest.h" 2010#include "conftest.i" 2011#if GCC_PRINTF 2012#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var))) 2013#else 2014#define GCC_PRINTFLIKE(fmt,var) /*nothing*/ 2015#endif 2016#if GCC_SCANF 2017#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var))) 2018#else 2019#define GCC_SCANFLIKE(fmt,var) /*nothing*/ 2020#endif 2021extern void wow(char *,...) GCC_SCANFLIKE(1,2); 2022extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN; 2023extern void foo(void) GCC_NORETURN; 2024int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; } 2025EOF 2026 cf_printf_attribute=no 2027 cf_scanf_attribute=no 2028 for cf_attribute in scanf printf unused noreturn 2029 do 2030 CF_UPPER(cf_ATTRIBUTE,$cf_attribute) 2031 cf_directive="__attribute__(($cf_attribute))" 2032 echo "checking for $CC $cf_directive" 1>&AC_FD_CC 2033 2034 case $cf_attribute in #(vi 2035 printf) #(vi 2036 cf_printf_attribute=yes 2037 cat >conftest.h <<EOF 2038#define GCC_$cf_ATTRIBUTE 1 2039EOF 2040 ;; 2041 scanf) #(vi 2042 cf_scanf_attribute=yes 2043 cat >conftest.h <<EOF 2044#define GCC_$cf_ATTRIBUTE 1 2045EOF 2046 ;; 2047 *) #(vi 2048 cat >conftest.h <<EOF 2049#define GCC_$cf_ATTRIBUTE $cf_directive 2050EOF 2051 ;; 2052 esac 2053 2054 if AC_TRY_EVAL(ac_compile); then 2055 test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute) 2056 cat conftest.h >>confdefs.h 2057 case $cf_attribute in #(vi 2058 noreturn) #(vi 2059 AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc]) 2060 ;; 2061 printf) #(vi 2062 cf_value='/* nothing */' 2063 if test "$cf_printf_attribute" != no ; then 2064 cf_value='__attribute__((format(printf,fmt,var)))' 2065 AC_DEFINE(GCC_PRINTF,1,[Define to 1 if the compiler supports gcc-like printf attribute.]) 2066 fi 2067 AC_DEFINE_UNQUOTED(GCC_PRINTFLIKE(fmt,var),$cf_value,[Define to printf-attribute for gcc]) 2068 ;; 2069 scanf) #(vi 2070 cf_value='/* nothing */' 2071 if test "$cf_scanf_attribute" != no ; then 2072 cf_value='__attribute__((format(scanf,fmt,var)))' 2073 AC_DEFINE(GCC_SCANF,1,[Define to 1 if the compiler supports gcc-like scanf attribute.]) 2074 fi 2075 AC_DEFINE_UNQUOTED(GCC_SCANFLIKE(fmt,var),$cf_value,[Define to sscanf-attribute for gcc]) 2076 ;; 2077 unused) #(vi 2078 AC_DEFINE_UNQUOTED(GCC_UNUSED,$cf_directive,[Define to unused-attribute for gcc]) 2079 ;; 2080 esac 2081 fi 2082 done 2083else 2084 fgrep define conftest.i >>confdefs.h 2085fi 2086rm -rf conftest* 2087fi 2088])dnl 2089dnl --------------------------------------------------------------------------- 2090dnl CF_GCC_VERSION version: 7 updated: 2012/10/18 06:46:33 2091dnl -------------- 2092dnl Find version of gcc 2093AC_DEFUN([CF_GCC_VERSION],[ 2094AC_REQUIRE([AC_PROG_CC]) 2095GCC_VERSION=none 2096if test "$GCC" = yes ; then 2097 AC_MSG_CHECKING(version of $CC) 2098 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.]].*//'`" 2099 test -z "$GCC_VERSION" && GCC_VERSION=unknown 2100 AC_MSG_RESULT($GCC_VERSION) 2101fi 2102])dnl 2103dnl --------------------------------------------------------------------------- 2104dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39 2105dnl --------------- 2106dnl Check if the compiler supports useful warning options. There's a few that 2107dnl we don't use, simply because they're too noisy: 2108dnl 2109dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x) 2110dnl -Wredundant-decls (system headers make this too noisy) 2111dnl -Wtraditional (combines too many unrelated messages, only a few useful) 2112dnl -Wwrite-strings (too noisy, but should review occasionally). This 2113dnl is enabled for ncurses using "--enable-const". 2114dnl -pedantic 2115dnl 2116dnl Parameter: 2117dnl $1 is an optional list of gcc warning flags that a particular 2118dnl application might want to use, e.g., "no-unused" for 2119dnl -Wno-unused 2120dnl Special: 2121dnl If $with_ext_const is "yes", add a check for -Wwrite-strings 2122dnl 2123AC_DEFUN([CF_GCC_WARNINGS], 2124[ 2125AC_REQUIRE([CF_GCC_VERSION]) 2126CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS) 2127CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS) 2128 2129cat > conftest.$ac_ext <<EOF 2130#line __oline__ "${as_me:-configure}" 2131int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; } 2132EOF 2133 2134if test "$INTEL_COMPILER" = yes 2135then 2136# The "-wdXXX" options suppress warnings: 2137# remark #1419: external declaration in primary source file 2138# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem) 2139# remark #1684: conversion from pointer to same-sized integral type (potential portability problem) 2140# remark #193: zero used for undefined preprocessing identifier 2141# remark #593: variable "curs_sb_left_arrow" was set but never used 2142# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits 2143# remark #869: parameter "tw" was never referenced 2144# remark #981: operands are evaluated in unspecified order 2145# warning #279: controlling expression is constant 2146 2147 AC_CHECKING([for $CC warning options]) 2148 cf_save_CFLAGS="$CFLAGS" 2149 EXTRA_CFLAGS="-Wall" 2150 for cf_opt in \ 2151 wd1419 \ 2152 wd1683 \ 2153 wd1684 \ 2154 wd193 \ 2155 wd593 \ 2156 wd279 \ 2157 wd810 \ 2158 wd869 \ 2159 wd981 2160 do 2161 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" 2162 if AC_TRY_EVAL(ac_compile); then 2163 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt) 2164 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" 2165 fi 2166 done 2167 CFLAGS="$cf_save_CFLAGS" 2168 2169elif test "$GCC" = yes 2170then 2171 AC_CHECKING([for $CC warning options]) 2172 cf_save_CFLAGS="$CFLAGS" 2173 EXTRA_CFLAGS= 2174 cf_warn_CONST="" 2175 test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings" 2176 for cf_opt in W Wall \ 2177 Wbad-function-cast \ 2178 Wcast-align \ 2179 Wcast-qual \ 2180 Winline \ 2181 Wmissing-declarations \ 2182 Wmissing-prototypes \ 2183 Wnested-externs \ 2184 Wpointer-arith \ 2185 Wshadow \ 2186 Wstrict-prototypes \ 2187 Wundef $cf_warn_CONST $1 2188 do 2189 CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" 2190 if AC_TRY_EVAL(ac_compile); then 2191 test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt) 2192 case $cf_opt in #(vi 2193 Wcast-qual) #(vi 2194 CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES" 2195 ;; 2196 Winline) #(vi 2197 case $GCC_VERSION in 2198 [[34]].*) 2199 CF_VERBOSE(feature is broken in gcc $GCC_VERSION) 2200 continue;; 2201 esac 2202 ;; 2203 Wpointer-arith) #(vi 2204 case $GCC_VERSION in 2205 [[12]].*) 2206 CF_VERBOSE(feature is broken in gcc $GCC_VERSION) 2207 continue;; 2208 esac 2209 ;; 2210 esac 2211 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" 2212 fi 2213 done 2214 CFLAGS="$cf_save_CFLAGS" 2215fi 2216rm -rf conftest* 2217 2218AC_SUBST(EXTRA_CFLAGS) 2219])dnl 2220dnl --------------------------------------------------------------------------- 2221dnl CF_GNU_SOURCE version: 6 updated: 2005/07/09 13:23:07 2222dnl ------------- 2223dnl Check if we must define _GNU_SOURCE to get a reasonable value for 2224dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect 2225dnl (or misfeature) of glibc2, which breaks portability of many applications, 2226dnl since it is interwoven with GNU extensions. 2227dnl 2228dnl Well, yes we could work around it... 2229AC_DEFUN([CF_GNU_SOURCE], 2230[ 2231AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[ 2232AC_TRY_COMPILE([#include <sys/types.h>],[ 2233#ifndef _XOPEN_SOURCE 2234make an error 2235#endif], 2236 [cf_cv_gnu_source=no], 2237 [cf_save="$CPPFLAGS" 2238 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" 2239 AC_TRY_COMPILE([#include <sys/types.h>],[ 2240#ifdef _XOPEN_SOURCE 2241make an error 2242#endif], 2243 [cf_cv_gnu_source=no], 2244 [cf_cv_gnu_source=yes]) 2245 CPPFLAGS="$cf_save" 2246 ]) 2247]) 2248test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" 2249])dnl 2250dnl --------------------------------------------------------------------------- 2251dnl CF_HEADERS_SH version: 1 updated: 2007/07/04 15:37:05 2252dnl ------------- 2253dnl Setup variables needed to construct headers-sh 2254AC_DEFUN([CF_HEADERS_SH],[ 2255PACKAGE_PREFIX=$1 2256PACKAGE_CONFIG=$2 2257AC_SUBST(PACKAGE_PREFIX) 2258AC_SUBST(PACKAGE_CONFIG) 2259EXTRA_OUTPUT="$EXTRA_OUTPUT headers-sh:$srcdir/headers-sh.in" 2260]) 2261dnl --------------------------------------------------------------------------- 2262dnl CF_HEADER_PATH version: 12 updated: 2010/05/05 05:22:40 2263dnl -------------- 2264dnl Construct a search-list of directories for a nonstandard header-file 2265dnl 2266dnl Parameters 2267dnl $1 = the variable to return as result 2268dnl $2 = the package name 2269AC_DEFUN([CF_HEADER_PATH], 2270[ 2271$1= 2272 2273# collect the current set of include-directories from compiler flags 2274cf_header_path_list="" 2275if test -n "${CFLAGS}${CPPFLAGS}" ; then 2276 for cf_header_path in $CPPFLAGS $CFLAGS 2277 do 2278 case $cf_header_path in #(vi 2279 -I*) 2280 cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'` 2281 CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE) 2282 cf_header_path_list="$cf_header_path_list [$]$1" 2283 ;; 2284 esac 2285 done 2286fi 2287 2288# add the variations for the package we are looking for 2289CF_SUBDIR_PATH($1,$2,include) 2290 2291test "$includedir" != NONE && \ 2292test "$includedir" != "/usr/include" && \ 2293test -d "$includedir" && { 2294 test -d $includedir && $1="[$]$1 $includedir" 2295 test -d $includedir/$2 && $1="[$]$1 $includedir/$2" 2296} 2297 2298test "$oldincludedir" != NONE && \ 2299test "$oldincludedir" != "/usr/include" && \ 2300test -d "$oldincludedir" && { 2301 test -d $oldincludedir && $1="[$]$1 $oldincludedir" 2302 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2" 2303} 2304 2305$1="[$]$1 $cf_header_path_list" 2306])dnl 2307dnl --------------------------------------------------------------------------- 2308dnl CF_INTEL_COMPILER version: 5 updated: 2013/02/10 10:41:05 2309dnl ----------------- 2310dnl Check if the given compiler is really the Intel compiler for Linux. It 2311dnl tries to imitate gcc, but does not return an error when it finds a mismatch 2312dnl between prototypes, e.g., as exercised by CF_MISSING_CHECK. 2313dnl 2314dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to 2315dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from 2316dnl the wrappers for gcc and g++ warnings. 2317dnl 2318dnl $1 = GCC (default) or GXX 2319dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS 2320dnl $3 = CFLAGS (default) or CXXFLAGS 2321AC_DEFUN([CF_INTEL_COMPILER],[ 2322AC_REQUIRE([AC_CANONICAL_HOST]) 2323ifelse([$2],,INTEL_COMPILER,[$2])=no 2324 2325if test "$ifelse([$1],,[$1],GCC)" = yes ; then 2326 case $host_os in 2327 linux*|gnu*) 2328 AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler) 2329 cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" 2330 ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -no-gcc" 2331 AC_TRY_COMPILE([],[ 2332#ifdef __INTEL_COMPILER 2333#else 2334make an error 2335#endif 2336],[ifelse([$2],,INTEL_COMPILER,[$2])=yes 2337cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" 2338],[]) 2339 ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" 2340 AC_MSG_RESULT($ifelse([$2],,INTEL_COMPILER,[$2])) 2341 ;; 2342 esac 2343fi 2344])dnl 2345dnl --------------------------------------------------------------------------- 2346dnl CF_LARGEFILE version: 8 updated: 2012/10/06 08:57:51 2347dnl ------------ 2348dnl Add checks for large file support. 2349AC_DEFUN([CF_LARGEFILE],[ 2350ifdef([AC_FUNC_FSEEKO],[ 2351 AC_SYS_LARGEFILE 2352 if test "$enable_largefile" != no ; then 2353 AC_FUNC_FSEEKO 2354 2355 # Normally we would collect these definitions in the config.h, 2356 # but (like _XOPEN_SOURCE), some environments rely on having these 2357 # defined before any of the system headers are included. Another 2358 # case comes up with C++, e.g., on AIX the compiler compiles the 2359 # header files by themselves before looking at the body files it is 2360 # told to compile. For ncurses, those header files do not include 2361 # the config.h 2362 test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES " 2363 test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE " 2364 test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits " 2365 2366 AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[ 2367 AC_TRY_COMPILE([ 2368#include <sys/types.h> 2369#include <dirent.h> 2370 ],[ 2371 /* if transitional largefile support is setup, this is true */ 2372 extern struct dirent64 * readdir(DIR *); 2373 struct dirent64 *x = readdir((DIR *)0); 2374 struct dirent *y = readdir((DIR *)0); 2375 int z = x - y; 2376 ], 2377 [cf_cv_struct_dirent64=yes], 2378 [cf_cv_struct_dirent64=no]) 2379 ]) 2380 test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64,1,[Define to 1 if we have struct dirent64]) 2381 fi 2382]) 2383]) 2384dnl --------------------------------------------------------------------------- 2385dnl CF_LD_RPATH_OPT version: 5 updated: 2011/07/17 14:48:41 2386dnl --------------- 2387dnl For the given system and compiler, find the compiler flags to pass to the 2388dnl loader to use the "rpath" feature. 2389AC_DEFUN([CF_LD_RPATH_OPT], 2390[ 2391AC_REQUIRE([CF_CHECK_CACHE]) 2392 2393LD_RPATH_OPT= 2394AC_MSG_CHECKING(for an rpath option) 2395case $cf_cv_system_name in #(vi 2396irix*) #(vi 2397 if test "$GCC" = yes; then 2398 LD_RPATH_OPT="-Wl,-rpath," 2399 else 2400 LD_RPATH_OPT="-rpath " 2401 fi 2402 ;; 2403linux*|gnu*|k*bsd*-gnu) #(vi 2404 LD_RPATH_OPT="-Wl,-rpath," 2405 ;; 2406openbsd[[2-9]].*|mirbsd*) #(vi 2407 LD_RPATH_OPT="-Wl,-rpath," 2408 ;; 2409dragonfly*|freebsd*) #(vi 2410 LD_RPATH_OPT="-rpath " 2411 ;; 2412netbsd*) #(vi 2413 LD_RPATH_OPT="-Wl,-rpath," 2414 ;; 2415osf*|mls+*) #(vi 2416 LD_RPATH_OPT="-rpath " 2417 ;; 2418solaris2*) #(vi 2419 LD_RPATH_OPT="-R" 2420 ;; 2421*) 2422 ;; 2423esac 2424AC_MSG_RESULT($LD_RPATH_OPT) 2425 2426case "x$LD_RPATH_OPT" in #(vi 2427x-R*) 2428 AC_MSG_CHECKING(if we need a space after rpath option) 2429 cf_save_LIBS="$LIBS" 2430 CF_ADD_LIBS(${LD_RPATH_OPT}$libdir) 2431 AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes) 2432 LIBS="$cf_save_LIBS" 2433 AC_MSG_RESULT($cf_rpath_space) 2434 test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT " 2435 ;; 2436esac 2437])dnl 2438dnl --------------------------------------------------------------------------- 2439dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50 2440dnl --------------- 2441dnl Construct a search-list of directories for a nonstandard library-file 2442dnl 2443dnl Parameters 2444dnl $1 = the variable to return as result 2445dnl $2 = the package name 2446AC_DEFUN([CF_LIBRARY_PATH], 2447[ 2448$1= 2449cf_library_path_list="" 2450if test -n "${LDFLAGS}${LIBS}" ; then 2451 for cf_library_path in $LDFLAGS $LIBS 2452 do 2453 case $cf_library_path in #(vi 2454 -L*) 2455 cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` 2456 CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE) 2457 cf_library_path_list="$cf_library_path_list [$]$1" 2458 ;; 2459 esac 2460 done 2461fi 2462 2463CF_SUBDIR_PATH($1,$2,lib) 2464 2465$1="$cf_library_path_list [$]$1" 2466])dnl 2467dnl --------------------------------------------------------------------------- 2468dnl CF_LIBTOOL_VERSION version: 1 updated: 2013/04/06 18:03:09 2469dnl ------------------ 2470AC_DEFUN([CF_LIBTOOL_VERSION],[ 2471if test -n "$LIBTOOL" && test "$LIBTOOL" != none 2472then 2473 cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` 2474else 2475 cf_cv_libtool_version= 2476fi 2477test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version 2478])dnl 2479dnl --------------------------------------------------------------------------- 2480dnl CF_LIB_PREFIX version: 9 updated: 2012/01/21 19:28:10 2481dnl ------------- 2482dnl Compute the library-prefix for the given host system 2483dnl $1 = variable to set 2484define([CF_LIB_PREFIX], 2485[ 2486 case $cf_cv_system_name in #(vi 2487 OS/2*|os2*) #(vi 2488 LIB_PREFIX='' 2489 ;; 2490 *) LIB_PREFIX='lib' 2491 ;; 2492 esac 2493ifelse($1,,,[$1=$LIB_PREFIX]) 2494 AC_SUBST(LIB_PREFIX) 2495])dnl 2496dnl --------------------------------------------------------------------------- 2497dnl CF_LIB_SUFFIX version: 22 updated: 2013/09/07 13:54:05 2498dnl ------------- 2499dnl Compute the library file-suffix from the given model name 2500dnl $1 = model name 2501dnl $2 = variable to set (the nominal library suffix) 2502dnl $3 = dependency variable to set (actual filename) 2503dnl The variable $LIB_SUFFIX, if set, prepends the variable to set. 2504AC_DEFUN([CF_LIB_SUFFIX], 2505[ 2506 case X$1 in #(vi 2507 Xlibtool) #(vi 2508 $2='.la' 2509 $3=[$]$2 2510 ;; 2511 Xdebug) #(vi 2512 $2='_g.a' 2513 $3=[$]$2 2514 ;; 2515 Xprofile) #(vi 2516 $2='_p.a' 2517 $3=[$]$2 2518 ;; 2519 Xshared) #(vi 2520 case $cf_cv_system_name in 2521 aix[[5-7]]*) #(vi 2522 $2='.a' 2523 $3=[$]$2 2524 ;; 2525 cygwin*|msys*|mingw*) #(vi 2526 $2='.dll' 2527 $3='.dll.a' 2528 ;; 2529 darwin*) #(vi 2530 $2='.dylib' 2531 $3=[$]$2 2532 ;; 2533 hpux*) #(vi 2534 case $target in 2535 ia64*) #(vi 2536 $2='.so' 2537 $3=[$]$2 2538 ;; 2539 *) #(vi 2540 $2='.sl' 2541 $3=[$]$2 2542 ;; 2543 esac 2544 ;; 2545 *) #(vi 2546 $2='.so' 2547 $3=[$]$2 2548 ;; 2549 esac 2550 ;; 2551 *) 2552 $2='.a' 2553 $3=[$]$2 2554 ;; 2555 esac 2556 test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" 2557 test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}" 2558])dnl 2559dnl --------------------------------------------------------------------------- 2560dnl CF_MAKEFLAGS version: 14 updated: 2011/03/31 19:29:46 2561dnl ------------ 2562dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make' 2563dnl options to lower-levels. It's very useful for "make -n" -- if we have it. 2564dnl (GNU 'make' does both, something POSIX 'make', which happens to make the 2565dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-) 2566AC_DEFUN([CF_MAKEFLAGS], 2567[ 2568AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[ 2569 cf_cv_makeflags='' 2570 for cf_option in '-${MAKEFLAGS}' '${MFLAGS}' 2571 do 2572 cat >cf_makeflags.tmp <<CF_EOF 2573SHELL = /bin/sh 2574all : 2575 @ echo '.$cf_option' 2576CF_EOF 2577 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp 2>/dev/null | fgrep -v "ing directory" | sed -e 's,[[ ]]*$,,'` 2578 case "$cf_result" in 2579 .*k) 2580 cf_result=`${MAKE:-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null` 2581 case "$cf_result" in 2582 .*CC=*) cf_cv_makeflags= 2583 ;; 2584 *) cf_cv_makeflags=$cf_option 2585 ;; 2586 esac 2587 break 2588 ;; 2589 .-) ;; 2590 *) echo "given option \"$cf_option\", no match \"$cf_result\"" 2591 ;; 2592 esac 2593 done 2594 rm -f cf_makeflags.tmp 2595]) 2596 2597AC_SUBST(cf_cv_makeflags) 2598])dnl 2599dnl --------------------------------------------------------------------------- 2600dnl CF_MAKE_TAGS version: 6 updated: 2010/10/23 15:52:32 2601dnl ------------ 2602dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have 2603dnl a monocase filesystem. 2604AC_DEFUN([CF_MAKE_TAGS],[ 2605AC_REQUIRE([CF_MIXEDCASE_FILENAMES]) 2606 2607AC_CHECK_PROGS(CTAGS, exctags ctags) 2608AC_CHECK_PROGS(ETAGS, exetags etags) 2609 2610AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS:-ctags}, yes, no) 2611 2612if test "$cf_cv_mixedcase" = yes ; then 2613 AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS:-etags}, yes, no) 2614else 2615 MAKE_UPPER_TAGS=no 2616fi 2617 2618if test "$MAKE_UPPER_TAGS" = yes ; then 2619 MAKE_UPPER_TAGS= 2620else 2621 MAKE_UPPER_TAGS="#" 2622fi 2623 2624if test "$MAKE_LOWER_TAGS" = yes ; then 2625 MAKE_LOWER_TAGS= 2626else 2627 MAKE_LOWER_TAGS="#" 2628fi 2629 2630AC_SUBST(CTAGS) 2631AC_SUBST(ETAGS) 2632 2633AC_SUBST(MAKE_UPPER_TAGS) 2634AC_SUBST(MAKE_LOWER_TAGS) 2635])dnl 2636dnl --------------------------------------------------------------------------- 2637dnl CF_MATH_LIB version: 8 updated: 2010/05/29 16:31:02 2638dnl ----------- 2639dnl Checks for libraries. At least one UNIX system, Apple Macintosh 2640dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler 2641dnl AC_CHECK_LIB(m,sin), because that fails for C++. 2642AC_DEFUN([CF_MATH_LIB], 2643[ 2644AC_CACHE_CHECK(if -lm needed for math functions, 2645 cf_cv_need_libm,[ 2646 AC_TRY_LINK([ 2647 #include <stdio.h> 2648 #include <math.h> 2649 ], 2650 [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)], 2651 [cf_cv_need_libm=no], 2652 [cf_cv_need_libm=yes])]) 2653if test "$cf_cv_need_libm" = yes 2654then 2655ifelse($1,,[ 2656 CF_ADD_LIB(m) 2657],[$1=-lm]) 2658fi 2659]) 2660dnl --------------------------------------------------------------------------- 2661dnl CF_MBSTATE_T version: 4 updated: 2012/10/06 08:57:51 2662dnl ------------ 2663dnl Check if mbstate_t is declared, and if so, which header file. 2664dnl This (including wchar.h) is needed on Tru64 5.0 to declare mbstate_t, 2665dnl as well as include stdio.h to work around a misuse of varargs in wchar.h 2666AC_DEFUN([CF_MBSTATE_T], 2667[ 2668AC_CACHE_CHECK(if we must include wchar.h to declare mbstate_t,cf_cv_mbstate_t,[ 2669AC_TRY_COMPILE([ 2670#include <stdlib.h> 2671#include <stdio.h> 2672#ifdef HAVE_LIBUTF8_H 2673#include <libutf8.h> 2674#endif], 2675 [mbstate_t state], 2676 [cf_cv_mbstate_t=no], 2677 [AC_TRY_COMPILE([ 2678#include <stdlib.h> 2679#include <stdio.h> 2680#include <wchar.h> 2681#ifdef HAVE_LIBUTF8_H 2682#include <libutf8.h> 2683#endif], 2684 [mbstate_t value], 2685 [cf_cv_mbstate_t=yes], 2686 [cf_cv_mbstate_t=unknown])])]) 2687 2688if test "$cf_cv_mbstate_t" = yes ; then 2689 AC_DEFINE(NEED_WCHAR_H,1,[Define to 1 if we must include wchar.h]) 2690fi 2691 2692if test "$cf_cv_mbstate_t" != unknown ; then 2693 AC_DEFINE(HAVE_MBSTATE_T,1,[Define to 1 if mbstate_t is declared]) 2694fi 2695])dnl 2696dnl --------------------------------------------------------------------------- 2697dnl CF_MIXEDCASE_FILENAMES version: 5 updated: 2013/09/07 13:54:05 2698dnl ---------------------- 2699dnl Check if the file-system supports mixed-case filenames. If we're able to 2700dnl create a lowercase name and see it as uppercase, it doesn't support that. 2701AC_DEFUN([CF_MIXEDCASE_FILENAMES], 2702[ 2703AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[ 2704if test "$cross_compiling" = yes ; then 2705 case $target_alias in #(vi 2706 *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw32*|*-uwin*) #(vi 2707 cf_cv_mixedcase=no 2708 ;; 2709 *) 2710 cf_cv_mixedcase=yes 2711 ;; 2712 esac 2713else 2714 rm -f conftest CONFTEST 2715 echo test >conftest 2716 if test -f CONFTEST ; then 2717 cf_cv_mixedcase=no 2718 else 2719 cf_cv_mixedcase=yes 2720 fi 2721 rm -f conftest CONFTEST 2722fi 2723]) 2724test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if filesystem supports mixed-case filenames.]) 2725])dnl 2726dnl --------------------------------------------------------------------------- 2727dnl CF_MSG_LOG version: 5 updated: 2010/10/23 15:52:32 2728dnl ---------- 2729dnl Write a debug message to config.log, along with the line number in the 2730dnl configure script. 2731AC_DEFUN([CF_MSG_LOG],[ 2732echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC 2733])dnl 2734dnl --------------------------------------------------------------------------- 2735dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05 2736dnl ------------------- 2737dnl Check if we can compile with ncurses' header file 2738dnl $1 is the cache variable to set 2739dnl $2 is the header-file to include 2740dnl $3 is the root name (ncurses or ncursesw) 2741AC_DEFUN([CF_NCURSES_CC_CHECK],[ 2742 AC_TRY_COMPILE([ 2743]ifelse($3,ncursesw,[ 2744#define _XOPEN_SOURCE_EXTENDED 2745#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */ 2746#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */ 2747])[ 2748#include <$2>],[ 2749#ifdef NCURSES_VERSION 2750]ifelse($3,ncursesw,[ 2751#ifndef WACS_BSSB 2752 make an error 2753#endif 2754])[ 2755printf("%s\n", NCURSES_VERSION); 2756#else 2757#ifdef __NCURSES_H 2758printf("old\n"); 2759#else 2760 make an error 2761#endif 2762#endif 2763 ] 2764 ,[$1=$2] 2765 ,[$1=no]) 2766])dnl 2767dnl --------------------------------------------------------------------------- 2768dnl CF_NCURSES_CONFIG version: 10 updated: 2012/10/06 08:57:51 2769dnl ----------------- 2770dnl Tie together the configure-script macros for ncurses. 2771dnl Prefer the "-config" script from ncurses 6.x, to simplify analysis. 2772dnl Allow that to be overridden using the $NCURSES_CONFIG environment variable. 2773dnl 2774dnl $1 is the root library name (default: "ncurses") 2775AC_DEFUN([CF_NCURSES_CONFIG], 2776[ 2777cf_ncuconfig_root=ifelse($1,,ncurses,$1) 2778 2779echo "Looking for ${cf_ncuconfig_root}-config" 2780 2781CF_ACVERSION_CHECK(2.52, 2782 [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)], 2783 [AC_PATH_PROGS(NCURSES_CONFIG, ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)]) 2784 2785if test "$NCURSES_CONFIG" != none ; then 2786 2787CPPFLAGS="$CPPFLAGS `$NCURSES_CONFIG --cflags`" 2788CF_ADD_LIBS(`$NCURSES_CONFIG --libs`) 2789 2790# even with config script, some packages use no-override for curses.h 2791CF_CURSES_HEADER(ifelse($1,,ncurses,$1)) 2792 2793dnl like CF_NCURSES_CPPFLAGS 2794AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) 2795 2796dnl like CF_NCURSES_LIBS 2797CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_ncuconfig_root) 2798AC_DEFINE_UNQUOTED($cf_nculib_ROOT) 2799 2800dnl like CF_NCURSES_VERSION 2801cf_cv_ncurses_version=`$NCURSES_CONFIG --version` 2802 2803else 2804 2805CF_NCURSES_CPPFLAGS(ifelse($1,,ncurses,$1)) 2806CF_NCURSES_LIBS(ifelse($1,,ncurses,$1)) 2807 2808fi 2809])dnl 2810dnl --------------------------------------------------------------------------- 2811dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51 2812dnl ------------------- 2813dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting 2814dnl the CPPFLAGS variable so we can include its header. 2815dnl 2816dnl The header files may be installed as either curses.h, or ncurses.h (would 2817dnl be obsolete, except that some packagers prefer this name to distinguish it 2818dnl from a "native" curses implementation). If not installed for overwrite, 2819dnl the curses.h file would be in an ncurses subdirectory (e.g., 2820dnl /usr/include/ncurses), but someone may have installed overwriting the 2821dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd 2822dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in 2823dnl the header. 2824dnl 2825dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header 2826dnl is already in the include-path, don't even bother with this, since we cannot 2827dnl easily determine which file it is. In this case, it has to be <curses.h>. 2828dnl 2829dnl The optional parameter gives the root name of the library, in case it is 2830dnl not installed as the default curses library. That is how the 2831dnl wide-character version of ncurses is installed. 2832AC_DEFUN([CF_NCURSES_CPPFLAGS], 2833[AC_REQUIRE([CF_WITH_CURSES_DIR]) 2834 2835AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl 2836cf_ncuhdr_root=ifelse($1,,ncurses,$1) 2837 2838test -n "$cf_cv_curses_dir" && \ 2839test "$cf_cv_curses_dir" != "no" && { \ 2840 CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root) 2841} 2842 2843AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[ 2844 cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" 2845 ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" 2846 for cf_header in $cf_header_list 2847 do 2848 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1) 2849 test "$cf_cv_ncurses_h" != no && break 2850 done 2851]) 2852 2853CF_NCURSES_HEADER 2854CF_TERM_HEADER 2855 2856# some applications need this, but should check for NCURSES_VERSION 2857AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) 2858 2859CF_NCURSES_VERSION 2860])dnl 2861dnl --------------------------------------------------------------------------- 2862dnl CF_NCURSES_HEADER version: 3 updated: 2012/10/06 08:57:51 2863dnl ----------------- 2864dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common 2865dnl variations of ncurses' installs. 2866dnl 2867dnl See also CF_CURSES_HEADER, which sets the same cache variable. 2868AC_DEFUN([CF_NCURSES_HEADER],[ 2869 2870if test "$cf_cv_ncurses_h" != no ; then 2871 cf_cv_ncurses_header=$cf_cv_ncurses_h 2872else 2873 2874AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ 2875 test -n "$verbose" && echo 2876 CF_HEADER_PATH(cf_search,$cf_ncuhdr_root) 2877 test -n "$verbose" && echo search path $cf_search 2878 cf_save2_CPPFLAGS="$CPPFLAGS" 2879 for cf_incdir in $cf_search 2880 do 2881 CF_ADD_INCDIR($cf_incdir) 2882 for cf_header in \ 2883 ncurses.h \ 2884 curses.h 2885 do 2886 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1) 2887 if test "$cf_cv_ncurses_h2" != no ; then 2888 cf_cv_ncurses_h2=$cf_incdir/$cf_header 2889 test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG 2890 break 2891 fi 2892 test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG 2893 done 2894 CPPFLAGS="$cf_save2_CPPFLAGS" 2895 test "$cf_cv_ncurses_h2" != no && break 2896 done 2897 test "$cf_cv_ncurses_h2" = no && AC_MSG_ERROR(not found) 2898 ]) 2899 2900 CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2) 2901 cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` 2902 if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then 2903 cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header 2904 fi 2905 CF_ADD_INCDIR($cf_1st_incdir) 2906 2907fi 2908 2909# Set definitions to allow ifdef'ing for ncurses.h 2910 2911case $cf_cv_ncurses_header in # (vi 2912*ncurses.h) 2913 AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h]) 2914 ;; 2915esac 2916 2917case $cf_cv_ncurses_header in # (vi 2918ncurses/curses.h|ncurses/ncurses.h) 2919 AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h]) 2920 ;; 2921ncursesw/curses.h|ncursesw/ncurses.h) 2922 AC_DEFINE(HAVE_NCURSESW_NCURSES_H,1,[Define to 1 if we have ncursesw/ncurses.h]) 2923 ;; 2924esac 2925 2926])dnl 2927dnl --------------------------------------------------------------------------- 2928dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38 2929dnl --------------- 2930dnl Look for the ncurses library. This is a little complicated on Linux, 2931dnl because it may be linked with the gpm (general purpose mouse) library. 2932dnl Some distributions have gpm linked with (bsd) curses, which makes it 2933dnl unusable with ncurses. However, we don't want to link with gpm unless 2934dnl ncurses has a dependency, since gpm is normally set up as a shared library, 2935dnl and the linker will record a dependency. 2936dnl 2937dnl The optional parameter gives the root name of the library, in case it is 2938dnl not installed as the default curses library. That is how the 2939dnl wide-character version of ncurses is installed. 2940AC_DEFUN([CF_NCURSES_LIBS], 2941[AC_REQUIRE([CF_NCURSES_CPPFLAGS]) 2942 2943cf_nculib_root=ifelse($1,,ncurses,$1) 2944 # This works, except for the special case where we find gpm, but 2945 # ncurses is in a nonstandard location via $LIBS, and we really want 2946 # to link gpm. 2947cf_ncurses_LIBS="" 2948cf_ncurses_SAVE="$LIBS" 2949AC_CHECK_LIB(gpm,Gpm_Open, 2950 [AC_CHECK_LIB(gpm,initscr, 2951 [LIBS="$cf_ncurses_SAVE"], 2952 [cf_ncurses_LIBS="-lgpm"])]) 2953 2954case $host_os in #(vi 2955freebsd*) 2956 # This is only necessary if you are linking against an obsolete 2957 # version of ncurses (but it should do no harm, since it's static). 2958 if test "$cf_nculib_root" = ncurses ; then 2959 AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"]) 2960 fi 2961 ;; 2962esac 2963 2964CF_ADD_LIBS($cf_ncurses_LIBS) 2965 2966if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) 2967then 2968 CF_ADD_LIBS(-l$cf_nculib_root) 2969else 2970 CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root, 2971 [#include <${cf_cv_ncurses_header:-curses.h}>], 2972 [initscr()], 2973 initscr) 2974fi 2975 2976if test -n "$cf_ncurses_LIBS" ; then 2977 AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS) 2978 cf_ncurses_SAVE="$LIBS" 2979 for p in $cf_ncurses_LIBS ; do 2980 q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` 2981 if test "$q" != "$LIBS" ; then 2982 LIBS="$q" 2983 fi 2984 done 2985 AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], 2986 [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);], 2987 [AC_MSG_RESULT(yes)], 2988 [AC_MSG_RESULT(no) 2989 LIBS="$cf_ncurses_SAVE"]) 2990fi 2991 2992CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root) 2993AC_DEFINE_UNQUOTED($cf_nculib_ROOT) 2994])dnl 2995dnl --------------------------------------------------------------------------- 2996dnl CF_NCURSES_VERSION version: 14 updated: 2012/10/06 08:57:51 2997dnl ------------------ 2998dnl Check for the version of ncurses, to aid in reporting bugs, etc. 2999dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use 3000dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi. 3001AC_DEFUN([CF_NCURSES_VERSION], 3002[ 3003AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 3004AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[ 3005 cf_cv_ncurses_version=no 3006 cf_tempfile=out$$ 3007 rm -f $cf_tempfile 3008 AC_TRY_RUN([ 3009#include <${cf_cv_ncurses_header:-curses.h}> 3010#include <stdio.h> 3011int main() 3012{ 3013 FILE *fp = fopen("$cf_tempfile", "w"); 3014#ifdef NCURSES_VERSION 3015# ifdef NCURSES_VERSION_PATCH 3016 fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); 3017# else 3018 fprintf(fp, "%s\n", NCURSES_VERSION); 3019# endif 3020#else 3021# ifdef __NCURSES_H 3022 fprintf(fp, "old\n"); 3023# else 3024 make an error 3025# endif 3026#endif 3027 ${cf_cv_main_return:-return}(0); 3028}],[ 3029 cf_cv_ncurses_version=`cat $cf_tempfile`],,[ 3030 3031 # This will not work if the preprocessor splits the line after the 3032 # Autoconf token. The 'unproto' program does that. 3033 cat > conftest.$ac_ext <<EOF 3034#include <${cf_cv_ncurses_header:-curses.h}> 3035#undef Autoconf 3036#ifdef NCURSES_VERSION 3037Autoconf NCURSES_VERSION 3038#else 3039#ifdef __NCURSES_H 3040Autoconf "old" 3041#endif 3042; 3043#endif 3044EOF 3045 cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out" 3046 AC_TRY_EVAL(cf_try) 3047 if test -f conftest.out ; then 3048 cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'` 3049 test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" 3050 rm -f conftest.out 3051 fi 3052]) 3053 rm -f $cf_tempfile 3054]) 3055test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) 3056])dnl 3057dnl --------------------------------------------------------------------------- 3058dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03 3059dnl ------------------ 3060dnl see CF_WITH_NO_LEAKS 3061AC_DEFUN([CF_NO_LEAKS_OPTION],[ 3062AC_MSG_CHECKING(if you want to use $1 for testing) 3063AC_ARG_WITH($1, 3064 [$2], 3065 [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[ 3066 $4 3067]) 3068 : ${with_cflags:=-g} 3069 : ${with_no_leaks:=yes} 3070 with_$1=yes], 3071 [with_$1=]) 3072AC_MSG_RESULT(${with_$1:-no}) 3073 3074case .$with_cflags in #(vi 3075.*-g*) 3076 case .$CFLAGS in #(vi 3077 .*-g*) #(vi 3078 ;; 3079 *) 3080 CF_ADD_CFLAGS([-g]) 3081 ;; 3082 esac 3083 ;; 3084esac 3085])dnl 3086dnl --------------------------------------------------------------------------- 3087dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49 3088dnl ---------------- 3089dnl Check if the given variable is a number. If not, report an error. 3090dnl $1 is the variable 3091dnl $2 is the message 3092AC_DEFUN([CF_NUMBER_SYNTAX],[ 3093if test -n "$1" ; then 3094 case $1 in #(vi 3095 [[0-9]]*) #(vi 3096 ;; 3097 *) 3098 AC_MSG_ERROR($2 is not a number: $1) 3099 ;; 3100 esac 3101else 3102 AC_MSG_ERROR($2 value is empty) 3103fi 3104])dnl 3105dnl --------------------------------------------------------------------------- 3106dnl CF_OUR_MESSAGES version: 7 updated: 2004/09/12 19:45:55 3107dnl --------------- 3108dnl Check if we use the messages included with this program 3109dnl 3110dnl $1 specifies either Makefile or makefile, defaulting to the former. 3111dnl 3112dnl Sets variables which can be used to substitute in makefiles: 3113dnl MSG_DIR_MAKE - to make ./po directory 3114dnl SUB_MAKEFILE - makefile in ./po directory (see CF_BUNDLED_INTL) 3115dnl 3116AC_DEFUN([CF_OUR_MESSAGES], 3117[ 3118cf_makefile=ifelse($1,,Makefile,$1) 3119 3120use_our_messages=no 3121if test "$USE_NLS" = yes ; then 3122if test -d $srcdir/po ; then 3123AC_MSG_CHECKING(if we should use included message-library) 3124 AC_ARG_ENABLE(included-msgs, 3125 [ --disable-included-msgs use included messages, for i18n support], 3126 [use_our_messages=$enableval], 3127 [use_our_messages=yes]) 3128fi 3129AC_MSG_RESULT($use_our_messages) 3130fi 3131 3132MSG_DIR_MAKE="#" 3133if test "$use_our_messages" = yes 3134then 3135 SUB_MAKEFILE="$SUB_MAKEFILE po/$cf_makefile.in:$srcdir/po/$cf_makefile.inn" 3136 MSG_DIR_MAKE= 3137fi 3138 3139AC_SUBST(MSG_DIR_MAKE) 3140AC_SUBST(SUB_MAKEFILE) 3141])dnl 3142dnl --------------------------------------------------------------------------- 3143dnl CF_PATHSEP version: 6 updated: 2012/09/29 18:38:12 3144dnl ---------- 3145dnl Provide a value for the $PATH and similar separator (or amend the value 3146dnl as provided in autoconf 2.5x). 3147AC_DEFUN([CF_PATHSEP], 3148[ 3149 AC_MSG_CHECKING(for PATH separator) 3150 case $cf_cv_system_name in 3151 os2*) PATH_SEPARATOR=';' ;; 3152 *) ${PATH_SEPARATOR:=':'} ;; 3153 esac 3154ifelse([$1],,,[$1=$PATH_SEPARATOR]) 3155 AC_SUBST(PATH_SEPARATOR) 3156 AC_MSG_RESULT($PATH_SEPARATOR) 3157])dnl 3158dnl --------------------------------------------------------------------------- 3159dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54 3160dnl -------------- 3161dnl Check the argument to see that it looks like a pathname. Rewrite it if it 3162dnl begins with one of the prefix/exec_prefix variables, and then again if the 3163dnl result begins with 'NONE'. This is necessary to work around autoconf's 3164dnl delayed evaluation of those symbols. 3165AC_DEFUN([CF_PATH_SYNTAX],[ 3166if test "x$prefix" != xNONE; then 3167 cf_path_syntax="$prefix" 3168else 3169 cf_path_syntax="$ac_default_prefix" 3170fi 3171 3172case ".[$]$1" in #(vi 3173.\[$]\(*\)*|.\'*\'*) #(vi 3174 ;; 3175..|./*|.\\*) #(vi 3176 ;; 3177.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX 3178 ;; 3179.\[$]{*prefix}*|.\[$]{*dir}*) #(vi 3180 eval $1="[$]$1" 3181 case ".[$]$1" in #(vi 3182 .NONE/*) 3183 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%` 3184 ;; 3185 esac 3186 ;; #(vi 3187.no|.NONE/*) 3188 $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%` 3189 ;; 3190*) 3191 ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2) 3192 ;; 3193esac 3194])dnl 3195dnl --------------------------------------------------------------------------- 3196dnl CF_PKG_CONFIG version: 7 updated: 2011/04/29 04:53:22 3197dnl ------------- 3198dnl Check for the package-config program, unless disabled by command-line. 3199AC_DEFUN([CF_PKG_CONFIG], 3200[ 3201AC_MSG_CHECKING(if you want to use pkg-config) 3202AC_ARG_WITH(pkg-config, 3203 [ --with-pkg-config{=path} enable/disable use of pkg-config], 3204 [cf_pkg_config=$withval], 3205 [cf_pkg_config=yes]) 3206AC_MSG_RESULT($cf_pkg_config) 3207 3208case $cf_pkg_config in #(vi 3209no) #(vi 3210 PKG_CONFIG=none 3211 ;; 3212yes) #(vi 3213 CF_ACVERSION_CHECK(2.52, 3214 [AC_PATH_TOOL(PKG_CONFIG, pkg-config, none)], 3215 [AC_PATH_PROG(PKG_CONFIG, pkg-config, none)]) 3216 ;; 3217*) 3218 PKG_CONFIG=$withval 3219 ;; 3220esac 3221 3222test -z "$PKG_CONFIG" && PKG_CONFIG=none 3223if test "$PKG_CONFIG" != none ; then 3224 CF_PATH_SYNTAX(PKG_CONFIG) 3225fi 3226 3227AC_SUBST(PKG_CONFIG) 3228])dnl 3229dnl --------------------------------------------------------------------------- 3230dnl CF_POSIX_C_SOURCE version: 8 updated: 2010/05/26 05:38:42 3231dnl ----------------- 3232dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed. 3233dnl 3234dnl POSIX.1-1990 _POSIX_SOURCE 3235dnl POSIX.1-1990 and _POSIX_SOURCE and 3236dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2 3237dnl Bindings Option 3238dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L 3239dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L 3240dnl X/Open 2000 _POSIX_C_SOURCE=200112L 3241dnl 3242dnl Parameters: 3243dnl $1 is the nominal value for _POSIX_C_SOURCE 3244AC_DEFUN([CF_POSIX_C_SOURCE], 3245[ 3246cf_POSIX_C_SOURCE=ifelse([$1],,199506L,[$1]) 3247 3248cf_save_CFLAGS="$CFLAGS" 3249cf_save_CPPFLAGS="$CPPFLAGS" 3250 3251CF_REMOVE_DEFINE(cf_trim_CFLAGS,$cf_save_CFLAGS,_POSIX_C_SOURCE) 3252CF_REMOVE_DEFINE(cf_trim_CPPFLAGS,$cf_save_CPPFLAGS,_POSIX_C_SOURCE) 3253 3254AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[ 3255 CF_MSG_LOG(if the symbol is already defined go no further) 3256 AC_TRY_COMPILE([#include <sys/types.h>],[ 3257#ifndef _POSIX_C_SOURCE 3258make an error 3259#endif], 3260 [cf_cv_posix_c_source=no], 3261 [cf_want_posix_source=no 3262 case .$cf_POSIX_C_SOURCE in #(vi 3263 .[[12]]??*) #(vi 3264 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" 3265 ;; 3266 .2) #(vi 3267 cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" 3268 cf_want_posix_source=yes 3269 ;; 3270 .*) 3271 cf_want_posix_source=yes 3272 ;; 3273 esac 3274 if test "$cf_want_posix_source" = yes ; then 3275 AC_TRY_COMPILE([#include <sys/types.h>],[ 3276#ifdef _POSIX_SOURCE 3277make an error 3278#endif],[], 3279 cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE") 3280 fi 3281 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE) 3282 CFLAGS="$cf_trim_CFLAGS" 3283 CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" 3284 CF_MSG_LOG(if the second compile does not leave our definition intact error) 3285 AC_TRY_COMPILE([#include <sys/types.h>],[ 3286#ifndef _POSIX_C_SOURCE 3287make an error 3288#endif],, 3289 [cf_cv_posix_c_source=no]) 3290 CFLAGS="$cf_save_CFLAGS" 3291 CPPFLAGS="$cf_save_CPPFLAGS" 3292 ]) 3293]) 3294 3295if test "$cf_cv_posix_c_source" != no ; then 3296 CFLAGS="$cf_trim_CFLAGS" 3297 CPPFLAGS="$cf_trim_CPPFLAGS" 3298 CF_ADD_CFLAGS($cf_cv_posix_c_source) 3299fi 3300 3301])dnl 3302dnl --------------------------------------------------------------------------- 3303dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55 3304dnl ---------- 3305dnl standard check for CC, plus followup sanity checks 3306dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name 3307AC_DEFUN([CF_PROG_CC],[ 3308ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)]) 3309CF_GCC_VERSION 3310CF_ACVERSION_CHECK(2.52, 3311 [AC_PROG_CC_STDC], 3312 [CF_ANSI_CC_REQD]) 3313CF_CC_ENV_FLAGS 3314])dnl 3315dnl --------------------------------------------------------------------------- 3316dnl CF_PROG_EXT version: 11 updated: 2012/10/06 08:57:51 3317dnl ----------- 3318dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX. 3319AC_DEFUN([CF_PROG_EXT], 3320[ 3321AC_REQUIRE([CF_CHECK_CACHE]) 3322case $cf_cv_system_name in 3323os2*) 3324 CFLAGS="$CFLAGS -Zmt" 3325 CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" 3326 CXXFLAGS="$CXXFLAGS -Zmt" 3327 # autoconf's macro sets -Zexe and suffix both, which conflict:w 3328 LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" 3329 ac_cv_exeext=.exe 3330 ;; 3331esac 3332 3333AC_EXEEXT 3334AC_OBJEXT 3335 3336PROG_EXT="$EXEEXT" 3337AC_SUBST(PROG_EXT) 3338test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT",[Define to the program extension (normally blank)]) 3339])dnl 3340dnl --------------------------------------------------------------------------- 3341dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14 3342dnl ------------ 3343AC_DEFUN([CF_PROG_LINT], 3344[ 3345AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint) 3346AC_SUBST(LINT_OPTS) 3347])dnl 3348dnl --------------------------------------------------------------------------- 3349dnl CF_PROG_LN_S version: 2 updated: 2010/08/14 18:25:37 3350dnl ------------ 3351dnl Combine checks for "ln -s" and "ln -sf", updating $LN_S to include "-f" 3352dnl option if it is supported. 3353AC_DEFUN([CF_PROG_LN_S],[ 3354AC_PROG_LN_S 3355AC_MSG_CHECKING(if $LN_S -f options work) 3356 3357rm -f conf$$.src conf$$dst 3358echo >conf$$.dst 3359echo first >conf$$.src 3360if $LN_S -f conf$$.src conf$$.dst 2>/dev/null; then 3361 cf_prog_ln_sf=yes 3362else 3363 cf_prog_ln_sf=no 3364fi 3365rm -f conf$$.dst conf$$src 3366AC_MSG_RESULT($cf_prog_ln_sf) 3367 3368test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f" 3369])dnl 3370dnl --------------------------------------------------------------------------- 3371dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50 3372dnl ---------------- 3373dnl Remove all -U and -D options that refer to the given symbol from a list 3374dnl of C compiler options. This works around the problem that not all 3375dnl compilers process -U and -D options from left-to-right, so a -U option 3376dnl cannot be used to cancel the effect of a preceding -D option. 3377dnl 3378dnl $1 = target (which could be the same as the source variable) 3379dnl $2 = source (including '$') 3380dnl $3 = symbol to remove 3381define([CF_REMOVE_DEFINE], 3382[ 3383$1=`echo "$2" | \ 3384 sed -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[[ ]]/ /g' \ 3385 -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'` 3386])dnl 3387dnl --------------------------------------------------------------------------- 3388dnl CF_RPATH_HACK version: 11 updated: 2013/09/01 13:02:00 3389dnl ------------- 3390AC_DEFUN([CF_RPATH_HACK], 3391[ 3392AC_REQUIRE([CF_LD_RPATH_OPT]) 3393AC_MSG_CHECKING(for updated LDFLAGS) 3394if test -n "$LD_RPATH_OPT" ; then 3395 AC_MSG_RESULT(maybe) 3396 3397 AC_CHECK_PROGS(cf_ldd_prog,ldd,no) 3398 cf_rpath_list="/usr/lib /lib" 3399 if test "$cf_ldd_prog" != no 3400 then 3401 cf_rpath_oops= 3402 3403AC_TRY_LINK([#include <stdio.h>], 3404 [printf("Hello");], 3405 [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort | uniq` 3406 cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`]) 3407 3408 # If we passed the link-test, but get a "not found" on a given library, 3409 # this could be due to inept reconfiguration of gcc to make it only 3410 # partly honor /usr/local/lib (or whatever). Sometimes this behavior 3411 # is intentional, e.g., installing gcc in /usr/bin and suppressing the 3412 # /usr/local libraries. 3413 if test -n "$cf_rpath_oops" 3414 then 3415 for cf_rpath_src in $cf_rpath_oops 3416 do 3417 for cf_rpath_dir in \ 3418 /usr/local \ 3419 /usr/pkg \ 3420 /opt/sfw 3421 do 3422 if test -f $cf_rpath_dir/lib/$cf_rpath_src 3423 then 3424 CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src) 3425 LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib" 3426 break 3427 fi 3428 done 3429 done 3430 fi 3431 fi 3432 3433 CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS) 3434 3435 CF_RPATH_HACK_2(LDFLAGS) 3436 CF_RPATH_HACK_2(LIBS) 3437 3438 CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS) 3439else 3440 AC_MSG_RESULT(no) 3441fi 3442AC_SUBST(EXTRA_LDFLAGS) 3443])dnl 3444dnl --------------------------------------------------------------------------- 3445dnl CF_RPATH_HACK_2 version: 6 updated: 2010/04/17 16:31:24 3446dnl --------------- 3447dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to 3448dnl EXTRA_LDFLAGS for each -L option found. 3449dnl 3450dnl $cf_rpath_list contains a list of directories to ignore. 3451dnl 3452dnl $1 = variable name to update. The LDFLAGS variable should be the only one, 3453dnl but LIBS often has misplaced -L options. 3454AC_DEFUN([CF_RPATH_HACK_2], 3455[ 3456CF_VERBOSE(...checking $1 [$]$1) 3457 3458cf_rpath_dst= 3459for cf_rpath_src in [$]$1 3460do 3461 case $cf_rpath_src in #(vi 3462 -L*) #(vi 3463 3464 # check if this refers to a directory which we will ignore 3465 cf_rpath_skip=no 3466 if test -n "$cf_rpath_list" 3467 then 3468 for cf_rpath_item in $cf_rpath_list 3469 do 3470 if test "x$cf_rpath_src" = "x-L$cf_rpath_item" 3471 then 3472 cf_rpath_skip=yes 3473 break 3474 fi 3475 done 3476 fi 3477 3478 if test "$cf_rpath_skip" = no 3479 then 3480 # transform the option 3481 if test "$LD_RPATH_OPT" = "-R " ; then 3482 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%-R %"` 3483 else 3484 cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e "s%-L%$LD_RPATH_OPT%"` 3485 fi 3486 3487 # if we have not already added this, add it now 3488 cf_rpath_tst=`echo "$EXTRA_LDFLAGS" | sed -e "s%$cf_rpath_tmp %%"` 3489 if test "x$cf_rpath_tst" = "x$EXTRA_LDFLAGS" 3490 then 3491 CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp) 3492 EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS" 3493 fi 3494 fi 3495 ;; 3496 esac 3497 cf_rpath_dst="$cf_rpath_dst $cf_rpath_src" 3498done 3499$1=$cf_rpath_dst 3500 3501CF_VERBOSE(...checked $1 [$]$1) 3502AC_SUBST(EXTRA_LDFLAGS) 3503])dnl 3504dnl --------------------------------------------------------------------------- 3505dnl CF_SHARED_OPTS version: 83 updated: 2013/09/21 17:34:53 3506dnl -------------- 3507dnl -------------- 3508dnl Attempt to determine the appropriate CC/LD options for creating a shared 3509dnl library. 3510dnl 3511dnl Notes: 3512dnl a) ${LOCAL_LDFLAGS} is used to link executables that will run within 3513dnl the build-tree, i.e., by making use of the libraries that are compiled in 3514dnl $rel_builddir/lib We avoid compiling-in a $rel_builddir/lib path for the 3515dnl shared library since that can lead to unexpected results at runtime. 3516dnl b) ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared 3517dnl libraries are compiled in ../../lib 3518dnl 3519dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure 3520dnl to install symbolic links to the rel/abi versions of shared libraries. 3521dnl 3522dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi 3523dnl version when making symbolic links. 3524dnl 3525dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library 3526dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix 3527dnl (ex: libncurses.so.<ver>). 3528dnl 3529dnl Some loaders leave 'so_locations' lying around. It's nice to clean up. 3530AC_DEFUN([CF_SHARED_OPTS], 3531[ 3532 AC_REQUIRE([CF_LD_RPATH_OPT]) 3533 RM_SHARED_OPTS= 3534 LOCAL_LDFLAGS= 3535 LOCAL_LDFLAGS2= 3536 LD_SHARED_OPTS= 3537 INSTALL_LIB="-m 644" 3538 : ${rel_builddir:=.} 3539 3540 cf_cv_do_symlinks=no 3541 cf_ld_rpath_opt= 3542 test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT" 3543 3544 AC_MSG_CHECKING(if release/abi version should be used for shared libs) 3545 AC_ARG_WITH(shlib-version, 3546 [ --with-shlib-version=X Specify rel or abi version for shared libs], 3547 [test -z "$withval" && withval=auto 3548 case $withval in #(vi 3549 yes) #(vi 3550 cf_cv_shlib_version=auto 3551 ;; 3552 rel|abi|auto|no) #(vi 3553 cf_cv_shlib_version=$withval 3554 ;; 3555 *) 3556 AC_MSG_ERROR([option value must be one of: rel, abi, auto or no]) 3557 ;; 3558 esac 3559 ],[cf_cv_shlib_version=auto]) 3560 AC_MSG_RESULT($cf_cv_shlib_version) 3561 3562 cf_cv_rm_so_locs=no 3563 cf_try_cflags= 3564 3565 # Some less-capable ports of gcc support only -fpic 3566 CC_SHARED_OPTS= 3567 if test "$GCC" = yes 3568 then 3569 AC_MSG_CHECKING(which $CC option to use) 3570 cf_save_CFLAGS="$CFLAGS" 3571 for CC_SHARED_OPTS in -fPIC -fpic '' 3572 do 3573 CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS" 3574 AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[]) 3575 done 3576 AC_MSG_RESULT($CC_SHARED_OPTS) 3577 CFLAGS="$cf_save_CFLAGS" 3578 fi 3579 3580 cf_cv_shlib_version_infix=no 3581 3582 case $cf_cv_system_name in #(vi 3583 aix4.[3-9]*|aix[[5-7]]*) #(vi 3584 if test "$GCC" = yes; then 3585 CC_SHARED_OPTS= 3586 MK_SHARED_LIB='${CC} -shared -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@' 3587 else 3588 # CC_SHARED_OPTS='-qpic=large -G' 3589 # perhaps "-bM:SRE -bnoentry -bexpall" 3590 MK_SHARED_LIB='${CC} -G -Wl,-brtl -Wl,-blibpath:${RPATH_LIST}:/usr/lib -o [$]@' 3591 fi 3592 ;; 3593 beos*) #(vi 3594 MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0' 3595 ;; 3596 cygwin*) #(vi 3597 CC_SHARED_OPTS= 3598 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' 3599 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" 3600 cf_cv_shlib_version=cygdll 3601 cf_cv_shlib_version_infix=cygdll 3602 cat >mk_shared_lib.sh <<-CF_EOF 3603 #!/bin/sh 3604 SHARED_LIB=\[$]1 3605 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` 3606 shift 3607 cat <<-EOF 3608 Linking shared library 3609 ** SHARED_LIB \[$]SHARED_LIB 3610 ** IMPORT_LIB \[$]IMPORT_LIB 3611EOF 3612 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} 3613CF_EOF 3614 chmod +x mk_shared_lib.sh 3615 ;; 3616 msys*) #(vi 3617 CC_SHARED_OPTS= 3618 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' 3619 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" 3620 cf_cv_shlib_version=msysdll 3621 cf_cv_shlib_version_infix=msysdll 3622 cat >mk_shared_lib.sh <<-CF_EOF 3623 #!/bin/sh 3624 SHARED_LIB=\[$]1 3625 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/msys-/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` 3626 shift 3627 cat <<-EOF 3628 Linking shared library 3629 ** SHARED_LIB \[$]SHARED_LIB 3630 ** IMPORT_LIB \[$]IMPORT_LIB 3631EOF 3632 exec \[$]* -shared -Wl,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} 3633CF_EOF 3634 chmod +x mk_shared_lib.sh 3635 ;; 3636 darwin*) #(vi 3637 cf_try_cflags="no-cpp-precomp" 3638 CC_SHARED_OPTS="-dynamic" 3639 MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]' 3640 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi 3641 cf_cv_shlib_version_infix=yes 3642 AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [ 3643 cf_save_LDFLAGS=$LDFLAGS 3644 LDFLAGS="$LDFLAGS -Wl,-search_paths_first" 3645 AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no) 3646 LDFLAGS=$cf_save_LDFLAGS]) 3647 if test $cf_cv_ldflags_search_paths_first = yes; then 3648 LDFLAGS="$LDFLAGS -Wl,-search_paths_first" 3649 fi 3650 ;; 3651 hpux[[7-8]]*) #(vi 3652 # HP-UX 8.07 ld lacks "+b" option used for libdir search-list 3653 if test "$GCC" != yes; then 3654 CC_SHARED_OPTS='+Z' 3655 fi 3656 MK_SHARED_LIB='${LD} -b -o $[@]' 3657 INSTALL_LIB="-m 555" 3658 ;; 3659 hpux*) #(vi 3660 # (tested with gcc 2.7.2 -- I don't have c89) 3661 if test "$GCC" = yes; then 3662 LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}' 3663 else 3664 CC_SHARED_OPTS='+Z' 3665 LD_SHARED_OPTS='-Wl,+b,${libdir}' 3666 fi 3667 MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]' 3668 # HP-UX shared libraries must be executable, and should be 3669 # readonly to exploit a quirk in the memory manager. 3670 INSTALL_LIB="-m 555" 3671 ;; 3672 interix*) 3673 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel 3674 if test "$cf_cv_shlib_version" = rel; then 3675 cf_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}' 3676 else 3677 cf_shared_soname='`basename $@`' 3678 fi 3679 CC_SHARED_OPTS= 3680 MK_SHARED_LIB='${CC} -shared -Wl,-rpath,${RPATH_LIST} -Wl,-h,'$cf_shared_soname' -o $@' 3681 ;; 3682 irix*) #(vi 3683 if test "$cf_cv_enable_rpath" = yes ; then 3684 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" 3685 fi 3686 # tested with IRIX 5.2 and 'cc'. 3687 if test "$GCC" != yes; then 3688 CC_SHARED_OPTS='-KPIC' 3689 MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]' 3690 else 3691 MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]' 3692 fi 3693 cf_cv_rm_so_locs=yes 3694 ;; 3695 linux*|gnu*|k*bsd*-gnu) #(vi 3696 if test "$DFT_LWR_MODEL" = "shared" ; then 3697 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" 3698 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" 3699 fi 3700 if test "$cf_cv_enable_rpath" = yes ; then 3701 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" 3702 fi 3703 CF_SHARED_SONAME 3704 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' 3705 ;; 3706 mingw*) #(vi 3707 cf_cv_shlib_version=mingw 3708 cf_cv_shlib_version_infix=mingw 3709 if test "$DFT_LWR_MODEL" = "shared" ; then 3710 LOCAL_LDFLAGS="-Wl,--enable-auto-import" 3711 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" 3712 EXTRA_LDFLAGS="-Wl,--enable-auto-import $EXTRA_LDFLAGS" 3713 fi 3714 CC_SHARED_OPTS= 3715 MK_SHARED_LIB='sh '$rel_builddir'/mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' 3716 RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" 3717 cat >mk_shared_lib.sh <<-CF_EOF 3718 #!/bin/sh 3719 SHARED_LIB=\[$]1 3720 IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` 3721 shift 3722 cat <<-EOF 3723 Linking shared library 3724 ** SHARED_LIB \[$]SHARED_LIB 3725 ** IMPORT_LIB \[$]IMPORT_LIB 3726EOF 3727 exec \[$]* -shared -Wl,--enable-auto-import,--out-implib=\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o \[$]{SHARED_LIB} 3728CF_EOF 3729 chmod +x mk_shared_lib.sh 3730 ;; 3731 openbsd[[2-9]].*|mirbsd*) #(vi 3732 if test "$DFT_LWR_MODEL" = "shared" ; then 3733 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" 3734 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" 3735 fi 3736 if test "$cf_cv_enable_rpath" = yes ; then 3737 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" 3738 fi 3739 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" 3740 CF_SHARED_SONAME 3741 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' 3742 ;; 3743 nto-qnx*|openbsd*|freebsd[[12]].*) #(vi 3744 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" 3745 MK_SHARED_LIB='${LD} -Bshareable -o $[@]' 3746 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel 3747 ;; 3748 dragonfly*|freebsd*) #(vi 3749 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" 3750 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then 3751 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)" 3752 LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${RPATH_LIST} $LOCAL_LDFLAGS" 3753 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" 3754 fi 3755 CF_SHARED_SONAME 3756 MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]' 3757 ;; 3758 netbsd*) #(vi 3759 CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" 3760 if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then 3761 LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)" 3762 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" 3763 EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${RPATH_LIST} $EXTRA_LDFLAGS" 3764 if test "$cf_cv_shlib_version" = auto; then 3765 if test -f /usr/libexec/ld.elf_so; then 3766 cf_cv_shlib_version=abi 3767 else 3768 cf_cv_shlib_version=rel 3769 fi 3770 fi 3771 CF_SHARED_SONAME 3772 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]' 3773 else 3774 MK_SHARED_LIB='${CC} -Wl,-shared -Wl,-Bshareable -o $[@]' 3775 fi 3776 ;; 3777 osf*|mls+*) #(vi 3778 # tested with OSF/1 V3.2 and 'cc' 3779 # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't 3780 # link with shared libs). 3781 MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`' 3782 case $host_os in #(vi 3783 osf4*) 3784 MK_SHARED_LIB="${MK_SHARED_LIB} -msym" 3785 ;; 3786 esac 3787 MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]' 3788 if test "$DFT_LWR_MODEL" = "shared" ; then 3789 LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" 3790 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" 3791 fi 3792 cf_cv_rm_so_locs=yes 3793 ;; 3794 sco3.2v5*) # (also uw2* and UW7: hops 13-Apr-98 3795 # tested with osr5.0.5 3796 if test "$GCC" != yes; then 3797 CC_SHARED_OPTS='-belf -KPIC' 3798 fi 3799 MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@' 3800 if test "$cf_cv_enable_rpath" = yes ; then 3801 # only way is to set LD_RUN_PATH but no switch for it 3802 RUN_PATH=$libdir 3803 fi 3804 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel 3805 LINK_PROGS='LD_RUN_PATH=${libdir}' 3806 LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib' 3807 ;; 3808 sunos4*) #(vi 3809 # tested with SunOS 4.1.1 and gcc 2.7.0 3810 if test "$GCC" != yes; then 3811 CC_SHARED_OPTS='-KPIC' 3812 fi 3813 MK_SHARED_LIB='${LD} -assert pure-text -o $[@]' 3814 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel 3815 ;; 3816 solaris2*) #(vi 3817 # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2 3818 # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3 3819 if test "$DFT_LWR_MODEL" = "shared" ; then 3820 LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}" 3821 LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" 3822 fi 3823 if test "$cf_cv_enable_rpath" = yes ; then 3824 EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS" 3825 fi 3826 CF_SHARED_SONAME 3827 if test "$GCC" != yes; then 3828 cf_save_CFLAGS="$CFLAGS" 3829 for cf_shared_opts in -xcode=pic32 -xcode=pic13 -KPIC -Kpic -O 3830 do 3831 CFLAGS="$cf_shared_opts $cf_save_CFLAGS" 3832 AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break]) 3833 done 3834 CFLAGS="$cf_save_CFLAGS" 3835 CC_SHARED_OPTS=$cf_shared_opts 3836 MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]' 3837 else 3838 MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]' 3839 fi 3840 ;; 3841 sysv5uw7*|unix_sv*) #(vi 3842 # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc) 3843 if test "$GCC" != yes; then 3844 CC_SHARED_OPTS='-KPIC' 3845 fi 3846 MK_SHARED_LIB='${LD} -d y -G -o [$]@' 3847 ;; 3848 *) 3849 CC_SHARED_OPTS='unknown' 3850 MK_SHARED_LIB='echo unknown' 3851 ;; 3852 esac 3853 3854 # This works if the last tokens in $MK_SHARED_LIB are the -o target. 3855 case "$cf_cv_shlib_version" in #(vi 3856 rel|abi) 3857 case "$MK_SHARED_LIB" in #(vi 3858 *'-o $[@]') #(vi 3859 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes 3860 ;; 3861 *) 3862 AC_MSG_WARN(ignored --with-shlib-version) 3863 ;; 3864 esac 3865 ;; 3866 esac 3867 3868 if test -n "$cf_try_cflags" 3869 then 3870cat > conftest.$ac_ext <<EOF 3871#line __oline__ "${as_me:-configure}" 3872#include <stdio.h> 3873int main(int argc, char *argv[[]]) 3874{ 3875 printf("hello\n"); 3876 return (argv[[argc-1]] == 0) ; 3877} 3878EOF 3879 cf_save_CFLAGS="$CFLAGS" 3880 for cf_opt in $cf_try_cflags 3881 do 3882 CFLAGS="$cf_save_CFLAGS -$cf_opt" 3883 AC_MSG_CHECKING(if CFLAGS option -$cf_opt works) 3884 if AC_TRY_EVAL(ac_compile); then 3885 AC_MSG_RESULT(yes) 3886 cf_save_CFLAGS="$CFLAGS" 3887 else 3888 AC_MSG_RESULT(no) 3889 fi 3890 done 3891 CFLAGS="$cf_save_CFLAGS" 3892 fi 3893 3894 3895 # RPATH_LIST is a colon-separated list of directories 3896 test -n "$cf_ld_rpath_opt" && MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${RPATH_LIST}" 3897 test -z "$RPATH_LIST" && RPATH_LIST="\${libdir}" 3898 3899 test $cf_cv_rm_so_locs = yes && RM_SHARED_OPTS="$RM_SHARED_OPTS so_locations" 3900 3901 CF_VERBOSE(CC_SHARED_OPTS: $CC_SHARED_OPTS) 3902 CF_VERBOSE(MK_SHARED_LIB: $MK_SHARED_LIB) 3903 3904 AC_SUBST(CC_SHARED_OPTS) 3905 AC_SUBST(LD_RPATH_OPT) 3906 AC_SUBST(LD_SHARED_OPTS) 3907 AC_SUBST(MK_SHARED_LIB) 3908 AC_SUBST(RM_SHARED_OPTS) 3909 3910 AC_SUBST(LINK_PROGS) 3911 AC_SUBST(LINK_TESTS) 3912 3913 AC_SUBST(EXTRA_LDFLAGS) 3914 AC_SUBST(LOCAL_LDFLAGS) 3915 AC_SUBST(LOCAL_LDFLAGS2) 3916 3917 AC_SUBST(INSTALL_LIB) 3918 AC_SUBST(RPATH_LIST) 3919])dnl 3920dnl --------------------------------------------------------------------------- 3921dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43 3922dnl ---------------- 3923dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for 3924dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar) 3925dnl option. 3926dnl 3927dnl $1 is the default that should be used for "$cf_cv_shlib_version". 3928dnl If missing, use "rel". 3929define([CF_SHARED_SONAME], 3930[ 3931 test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1) 3932 if test "$cf_cv_shlib_version" = rel; then 3933 cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}' 3934 else 3935 cf_cv_shared_soname='`basename $[@]`' 3936 fi 3937]) 3938dnl --------------------------------------------------------------------------- 3939dnl CF_SUBDIR_PATH version: 6 updated: 2010/04/21 06:20:50 3940dnl -------------- 3941dnl Construct a search-list for a nonstandard header/lib-file 3942dnl $1 = the variable to return as result 3943dnl $2 = the package name 3944dnl $3 = the subdirectory, e.g., bin, include or lib 3945AC_DEFUN([CF_SUBDIR_PATH], 3946[ 3947$1= 3948 3949CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix) 3950CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE) 3951CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix) 3952CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix) 3953CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix) 3954])dnl 3955dnl --------------------------------------------------------------------------- 3956dnl CF_TERM_HEADER version: 3 updated: 2012/10/06 08:57:51 3957dnl -------------- 3958dnl Look for term.h, which is part of X/Open curses. It defines the interface 3959dnl to terminfo database. Usually it is in the same include-path as curses.h, 3960dnl but some packagers change this, breaking various applications. 3961AC_DEFUN([CF_TERM_HEADER],[ 3962AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[ 3963case ${cf_cv_ncurses_header} in #(vi 3964*/ncurses.h|*/ncursesw.h) #(vi 3965 cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'` 3966 ;; 3967*) 3968 cf_term_header=term.h 3969 ;; 3970esac 3971 3972for cf_test in $cf_term_header "ncurses/term.h" "ncursesw/term.h" 3973do 3974AC_TRY_COMPILE([#include <stdio.h> 3975#include <${cf_cv_ncurses_header:-curses.h}> 3976#include <$cf_test> 3977],[int x = auto_left_margin],[ 3978 cf_cv_term_header="$cf_test"],[ 3979 cf_cv_term_header=unknown 3980 ]) 3981 test "$cf_cv_term_header" != unknown && break 3982done 3983]) 3984 3985# Set definitions to allow ifdef'ing to accommodate subdirectories 3986 3987case $cf_cv_term_header in # (vi 3988*term.h) 3989 AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h]) 3990 ;; 3991esac 3992 3993case $cf_cv_term_header in # (vi 3994ncurses/term.h) #(vi 3995 AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h]) 3996 ;; 3997ncursesw/term.h) 3998 AC_DEFINE(HAVE_NCURSESW_TERM_H,1,[Define to 1 if we have ncursesw/term.h]) 3999 ;; 4000esac 4001])dnl 4002dnl --------------------------------------------------------------------------- 4003dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 4004dnl ------------------- 4005dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we 4006dnl can define it successfully. 4007AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ 4008AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ 4009 AC_TRY_COMPILE([ 4010#include <stdlib.h> 4011#include <string.h> 4012#include <sys/types.h> 4013],[ 4014#ifndef _XOPEN_SOURCE 4015make an error 4016#endif], 4017 [cf_cv_xopen_source=no], 4018 [cf_save="$CPPFLAGS" 4019 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" 4020 AC_TRY_COMPILE([ 4021#include <stdlib.h> 4022#include <string.h> 4023#include <sys/types.h> 4024],[ 4025#ifdef _XOPEN_SOURCE 4026make an error 4027#endif], 4028 [cf_cv_xopen_source=no], 4029 [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) 4030 CPPFLAGS="$cf_save" 4031 ]) 4032]) 4033 4034if test "$cf_cv_xopen_source" != no ; then 4035 CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) 4036 CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) 4037 cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" 4038 CF_ADD_CFLAGS($cf_temp_xopen_source) 4039fi 4040]) 4041dnl --------------------------------------------------------------------------- 4042dnl CF_UNION_WAIT version: 6 updated: 2012/10/06 08:57:51 4043dnl ------------- 4044dnl Check to see if the BSD-style union wait is declared. Some platforms may 4045dnl use this, though it is deprecated in favor of the 'int' type in Posix. 4046dnl Some vendors provide a bogus implementation that declares union wait, but 4047dnl uses the 'int' type instead; we try to spot these by checking for the 4048dnl associated macros. 4049dnl 4050dnl Ahem. Some implementers cast the status value to an int*, as an attempt to 4051dnl use the macros for either union wait or int. So we do a check compile to 4052dnl see if the macros are defined and apply to an int. 4053dnl 4054dnl Sets: $cf_cv_type_unionwait 4055dnl Defines: HAVE_TYPE_UNIONWAIT 4056AC_DEFUN([CF_UNION_WAIT], 4057[ 4058AC_REQUIRE([CF_WAIT_HEADERS]) 4059AC_MSG_CHECKING([for union wait]) 4060AC_CACHE_VAL(cf_cv_type_unionwait,[ 4061 AC_TRY_LINK($cf_wait_headers, 4062 [int x; 4063 int y = WEXITSTATUS(x); 4064 int z = WTERMSIG(x); 4065 wait(&x); 4066 ], 4067 [cf_cv_type_unionwait=no 4068 echo compiles ok w/o union wait 1>&AC_FD_CC 4069 ],[ 4070 AC_TRY_LINK($cf_wait_headers, 4071 [union wait x; 4072#ifdef WEXITSTATUS 4073 int y = WEXITSTATUS(x); 4074#endif 4075#ifdef WTERMSIG 4076 int z = WTERMSIG(x); 4077#endif 4078 wait(&x); 4079 ], 4080 [cf_cv_type_unionwait=yes 4081 echo compiles ok with union wait and possibly macros too 1>&AC_FD_CC 4082 ], 4083 [cf_cv_type_unionwait=no])])]) 4084AC_MSG_RESULT($cf_cv_type_unionwait) 4085test $cf_cv_type_unionwait = yes && AC_DEFINE(HAVE_TYPE_UNIONWAIT,1,[Define to 1 if type unionwait is declared]) 4086])dnl 4087dnl --------------------------------------------------------------------------- 4088dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 4089dnl -------- 4090dnl Make an uppercase version of a variable 4091dnl $1=uppercase($2) 4092AC_DEFUN([CF_UPPER], 4093[ 4094$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` 4095])dnl 4096dnl --------------------------------------------------------------------------- 4097dnl CF_UTF8_LIB version: 8 updated: 2012/10/06 08:57:51 4098dnl ----------- 4099dnl Check for multibyte support, and if not found, utf8 compatibility library 4100AC_DEFUN([CF_UTF8_LIB], 4101[ 4102AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[ 4103 cf_save_LIBS="$LIBS" 4104 AC_TRY_LINK([ 4105#include <stdlib.h>],[putwc(0,0);], 4106 [cf_cv_utf8_lib=yes], 4107 [CF_FIND_LINKAGE([ 4108#include <libutf8.h>],[putwc(0,0);],utf8, 4109 [cf_cv_utf8_lib=add-on], 4110 [cf_cv_utf8_lib=no]) 4111])]) 4112 4113# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between 4114# ncurses/ncursesw: 4115if test "$cf_cv_utf8_lib" = "add-on" ; then 4116 AC_DEFINE(HAVE_LIBUTF8_H,1,[Define to 1 if we should include libutf8.h]) 4117 CF_ADD_INCDIR($cf_cv_header_path_utf8) 4118 CF_ADD_LIBDIR($cf_cv_library_path_utf8) 4119 CF_ADD_LIBS($cf_cv_library_file_utf8) 4120fi 4121])dnl 4122dnl --------------------------------------------------------------------------- 4123dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12 4124dnl ---------- 4125dnl Use AC_VERBOSE w/o the warnings 4126AC_DEFUN([CF_VERBOSE], 4127[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG 4128CF_MSG_LOG([$1]) 4129])dnl 4130dnl --------------------------------------------------------------------------- 4131dnl CF_VERSION_INFO version: 6 updated: 2013/06/16 10:25:53 4132dnl --------------- 4133dnl Define several useful symbols derived from the VERSION file. A separate 4134dnl file is preferred to embedding the version numbers in various scripts. 4135dnl (automake is a textbook-example of why the latter is a bad idea, but there 4136dnl are others). 4137dnl 4138dnl The file contents are: 4139dnl libtool-version release-version patch-version 4140dnl or 4141dnl release-version 4142dnl where 4143dnl libtool-version (see ?) consists of 3 integers separated by '.' 4144dnl release-version consists of a major version and minor version 4145dnl separated by '.', optionally followed by a patch-version 4146dnl separated by '-'. The minor version need not be an 4147dnl integer (but it is preferred). 4148dnl patch-version is an integer in the form yyyymmdd, so ifdef's and 4149dnl scripts can easily compare versions. 4150dnl 4151dnl If libtool is used, the first form is required, since CF_WITH_LIBTOOL 4152dnl simply extracts the first field using 'cut -f1'. 4153dnl 4154dnl Optional parameters: 4155dnl $1 = internal name for package 4156dnl $2 = external name for package 4157AC_DEFUN([CF_VERSION_INFO], 4158[ 4159if test -f $srcdir/VERSION ; then 4160 AC_MSG_CHECKING(for package version) 4161 4162 # if there are not enough fields, cut returns the last one... 4163 cf_field1=`sed -e '2,$d' $srcdir/VERSION|cut -f1` 4164 cf_field2=`sed -e '2,$d' $srcdir/VERSION|cut -f2` 4165 cf_field3=`sed -e '2,$d' $srcdir/VERSION|cut -f3` 4166 4167 # this is how CF_BUNDLED_INTL uses $VERSION: 4168 VERSION="$cf_field1" 4169 4170 VERSION_MAJOR=`echo "$cf_field2" | sed -e 's/\..*//'` 4171 test -z "$VERSION_MAJOR" && AC_MSG_ERROR(missing major-version) 4172 4173 VERSION_MINOR=`echo "$cf_field2" | sed -e 's/^[[^.]]*\.//' -e 's/-.*//'` 4174 test -z "$VERSION_MINOR" && AC_MSG_ERROR(missing minor-version) 4175 4176 AC_MSG_RESULT(${VERSION_MAJOR}.${VERSION_MINOR}) 4177 4178 AC_MSG_CHECKING(for package patch date) 4179 VERSION_PATCH=`echo "$cf_field3" | sed -e 's/^[[^-]]*-//'` 4180 case .$VERSION_PATCH in 4181 .) 4182 AC_MSG_ERROR(missing patch-date $VERSION_PATCH) 4183 ;; 4184 .[[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]]) 4185 ;; 4186 *) 4187 AC_MSG_ERROR(illegal patch-date $VERSION_PATCH) 4188 ;; 4189 esac 4190 AC_MSG_RESULT($VERSION_PATCH) 4191else 4192 AC_MSG_ERROR(did not find $srcdir/VERSION) 4193fi 4194 4195# show the actual data that we have for versions: 4196CF_VERBOSE(ABI VERSION $VERSION) 4197CF_VERBOSE(VERSION_MAJOR $VERSION_MAJOR) 4198CF_VERBOSE(VERSION_MINOR $VERSION_MINOR) 4199CF_VERBOSE(VERSION_PATCH $VERSION_PATCH) 4200 4201AC_SUBST(VERSION) 4202AC_SUBST(VERSION_MAJOR) 4203AC_SUBST(VERSION_MINOR) 4204AC_SUBST(VERSION_PATCH) 4205 4206dnl if a package name is given, define its corresponding version info. We 4207dnl need the package name to ensure that the defined symbols are unique. 4208ifelse($1,,,[ 4209 cf_PACKAGE=$1 4210 PACKAGE=ifelse($2,,$1,$2) 4211 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",[Define to the package-name]) 4212 AC_SUBST(PACKAGE) 4213 CF_UPPER(cf_PACKAGE,$cf_PACKAGE) 4214 AC_DEFINE_UNQUOTED(${cf_PACKAGE}_VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}") 4215 AC_DEFINE_UNQUOTED(${cf_PACKAGE}_PATCHDATE,${VERSION_PATCH}) 4216]) 4217])dnl 4218dnl --------------------------------------------------------------------------- 4219dnl CF_WAIT_HEADERS version: 2 updated: 1997/10/21 19:45:33 4220dnl --------------- 4221dnl Build up an expression $cf_wait_headers with the header files needed to 4222dnl compile against the prototypes for 'wait()', 'waitpid()', etc. Assume it's 4223dnl Posix, which uses <sys/types.h> and <sys/wait.h>, but allow SVr4 variation 4224dnl with <wait.h>. 4225AC_DEFUN([CF_WAIT_HEADERS], 4226[ 4227AC_HAVE_HEADERS(sys/wait.h) 4228cf_wait_headers="#include <sys/types.h> 4229" 4230if test $ac_cv_header_sys_wait_h = yes; then 4231cf_wait_headers="$cf_wait_headers 4232#include <sys/wait.h> 4233" 4234else 4235AC_HAVE_HEADERS(wait.h) 4236AC_HAVE_HEADERS(waitstatus.h) 4237if test $ac_cv_header_wait_h = yes; then 4238cf_wait_headers="$cf_wait_headers 4239#include <wait.h> 4240" 4241fi 4242if test $ac_cv_header_waitstatus_h = yes; then 4243cf_wait_headers="$cf_wait_headers 4244#include <waitstatus.h> 4245" 4246fi 4247fi 4248])dnl 4249dnl --------------------------------------------------------------------------- 4250dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49 4251dnl ------------------- 4252dnl Allow library's ABI to be overridden. Generally this happens when a 4253dnl packager has incremented the ABI past that used in the original package, 4254dnl and wishes to keep doing this. 4255dnl 4256dnl $1 is the package name, if any, to derive a corresponding {package}_ABI 4257dnl symbol. 4258AC_DEFUN([CF_WITH_ABI_VERSION],[ 4259test -z "$cf_cv_abi_version" && cf_cv_abi_version=0 4260AC_ARG_WITH(abi-version, 4261[ --with-abi-version=XXX override derived ABI version], 4262[AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval) 4263 cf_cv_abi_version=$withval]) 4264 CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version) 4265ifelse($1,,,[ 4266$1_ABI=$cf_cv_abi_version 4267]) 4268])dnl 4269dnl --------------------------------------------------------------------------- 4270dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38 4271dnl ------------------ 4272dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses 4273dnl libraries. 4274AC_DEFUN([CF_WITH_CURSES_DIR],[ 4275 4276AC_MSG_CHECKING(for specific curses-directory) 4277AC_ARG_WITH(curses-dir, 4278 [ --with-curses-dir=DIR directory in which (n)curses is installed], 4279 [cf_cv_curses_dir=$withval], 4280 [cf_cv_curses_dir=no]) 4281AC_MSG_RESULT($cf_cv_curses_dir) 4282 4283if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) 4284then 4285 CF_PATH_SYNTAX(withval) 4286 if test -d "$cf_cv_curses_dir" 4287 then 4288 CF_ADD_INCDIR($cf_cv_curses_dir/include) 4289 CF_ADD_LIBDIR($cf_cv_curses_dir/lib) 4290 fi 4291fi 4292])dnl 4293dnl --------------------------------------------------------------------------- 4294dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47 4295dnl ---------------- 4296dnl Configure-option for dbmalloc. The optional parameter is used to override 4297dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. 4298AC_DEFUN([CF_WITH_DBMALLOC],[ 4299CF_NO_LEAKS_OPTION(dbmalloc, 4300 [ --with-dbmalloc test: use Conor Cahill's dbmalloc library], 4301 [USE_DBMALLOC]) 4302 4303if test "$with_dbmalloc" = yes ; then 4304 AC_CHECK_HEADER(dbmalloc.h, 4305 [AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))]) 4306fi 4307])dnl 4308dnl --------------------------------------------------------------------------- 4309dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47 4310dnl --------------- 4311dnl Configure-option for dmalloc. The optional parameter is used to override 4312dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests. 4313AC_DEFUN([CF_WITH_DMALLOC],[ 4314CF_NO_LEAKS_OPTION(dmalloc, 4315 [ --with-dmalloc test: use Gray Watson's dmalloc library], 4316 [USE_DMALLOC]) 4317 4318if test "$with_dmalloc" = yes ; then 4319 AC_CHECK_HEADER(dmalloc.h, 4320 [AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))]) 4321fi 4322])dnl 4323dnl --------------------------------------------------------------------------- 4324dnl CF_WITH_LIBTOOL version: 30 updated: 2013/09/07 13:54:05 4325dnl --------------- 4326dnl Provide a configure option to incorporate libtool. Define several useful 4327dnl symbols for the makefile rules. 4328dnl 4329dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses 4330dnl macros from libtool.m4 which is in the aclocal directory of automake. 4331dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro. 4332dnl But that still does not work properly since the macro is expanded outside 4333dnl the CF_WITH_LIBTOOL macro: 4334dnl 4335dnl #!/bin/sh 4336dnl ACLOCAL=`aclocal --print-ac-dir` 4337dnl if test -z "$ACLOCAL" ; then 4338dnl echo cannot find aclocal directory 4339dnl exit 1 4340dnl elif test ! -f $ACLOCAL/libtool.m4 ; then 4341dnl echo cannot find libtool.m4 file 4342dnl exit 1 4343dnl fi 4344dnl 4345dnl LOCAL=aclocal.m4 4346dnl ORIG=aclocal.m4.orig 4347dnl 4348dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15 4349dnl rm -f $ORIG 4350dnl mv $LOCAL $ORIG 4351dnl 4352dnl # sed the LIBTOOL= assignment to omit the current directory? 4353dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL:-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL 4354dnl cat $ORIG >>$LOCAL 4355dnl 4356dnl autoconf-257 $* 4357dnl 4358AC_DEFUN([CF_WITH_LIBTOOL], 4359[ 4360AC_REQUIRE([CF_DISABLE_LIBTOOL_VERSION]) 4361ifdef([AC_PROG_LIBTOOL],,[ 4362LIBTOOL= 4363]) 4364# common library maintenance symbols that are convenient for libtool scripts: 4365LIB_CREATE='${AR} -cr' 4366LIB_OBJECT='${OBJECTS}' 4367LIB_SUFFIX=.a 4368LIB_PREP="$RANLIB" 4369 4370# symbols used to prop libtool up to enable it to determine what it should be 4371# doing: 4372LIB_CLEAN= 4373LIB_COMPILE= 4374LIB_LINK='${CC}' 4375LIB_INSTALL= 4376LIB_UNINSTALL= 4377 4378AC_MSG_CHECKING(if you want to build libraries with libtool) 4379AC_ARG_WITH(libtool, 4380 [ --with-libtool generate libraries with libtool], 4381 [with_libtool=$withval], 4382 [with_libtool=no]) 4383AC_MSG_RESULT($with_libtool) 4384if test "$with_libtool" != "no"; then 4385ifdef([AC_PROG_LIBTOOL],[ 4386 # missing_content_AC_PROG_LIBTOOL{{ 4387 AC_PROG_LIBTOOL 4388 # missing_content_AC_PROG_LIBTOOL}} 4389],[ 4390 if test "$with_libtool" != "yes" ; then 4391 CF_PATH_SYNTAX(with_libtool) 4392 LIBTOOL=$with_libtool 4393 else 4394 AC_CHECK_TOOLS(LIBTOOL,[libtool glibtool],none) 4395 CF_LIBTOOL_VERSION 4396 if test -z "$cf_cv_libtool_version" && test "$LIBTOOL" = libtool 4397 then 4398 CF_FORGET_TOOL(LIBTOOL) 4399 AC_CHECK_TOOLS(LIBTOOL,[glibtool],none) 4400 CF_LIBTOOL_VERSION 4401 fi 4402 fi 4403 if test -z "$LIBTOOL" ; then 4404 AC_MSG_ERROR(Cannot find libtool) 4405 fi 4406])dnl 4407 LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} ${LIBTOOL_VERSION} `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} ${LT_UNDEF} $(LIBS) -o' 4408 LIB_OBJECT='${OBJECTS:.o=.lo}' 4409 LIB_SUFFIX=.la 4410 LIB_CLEAN='${LIBTOOL} --mode=clean' 4411 LIB_COMPILE='${LIBTOOL} --mode=compile' 4412 LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}' 4413 LIB_INSTALL='${LIBTOOL} --mode=install' 4414 LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' 4415 LIB_PREP=: 4416 4417 CF_CHECK_LIBTOOL_VERSION 4418 4419 # special hack to add -no-undefined (which libtool should do for itself) 4420 LT_UNDEF= 4421 case "$cf_cv_system_name" in #(vi 4422 cygwin*|msys*|mingw32*|uwin*|aix[[4-7]]) #(vi 4423 LT_UNDEF=-no-undefined 4424 ;; 4425 esac 4426 AC_SUBST([LT_UNDEF]) 4427 4428 # special hack to add --tag option for C++ compiler 4429 case $cf_cv_libtool_version in #(vi 4430 1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) #(vi 4431 LIBTOOL_CXX="$LIBTOOL --tag=CXX" 4432 LIBTOOL="$LIBTOOL --tag=CC" 4433 ;; 4434 *) 4435 LIBTOOL_CXX="$LIBTOOL" 4436 ;; 4437 esac 4438else 4439 LIBTOOL="" 4440 LIBTOOL_CXX="" 4441fi 4442 4443test -z "$LIBTOOL" && ECHO_LT= 4444 4445AC_SUBST(LIBTOOL) 4446AC_SUBST(LIBTOOL_CXX) 4447AC_SUBST(LIBTOOL_OPTS) 4448 4449AC_SUBST(LIB_CREATE) 4450AC_SUBST(LIB_OBJECT) 4451AC_SUBST(LIB_SUFFIX) 4452AC_SUBST(LIB_PREP) 4453 4454AC_SUBST(LIB_CLEAN) 4455AC_SUBST(LIB_COMPILE) 4456AC_SUBST(LIB_LINK) 4457AC_SUBST(LIB_INSTALL) 4458AC_SUBST(LIB_UNINSTALL) 4459 4460])dnl 4461dnl --------------------------------------------------------------------------- 4462dnl CF_WITH_LIBTOOL_OPTS version: 2 updated: 2007/04/08 18:14:54 4463dnl -------------------- 4464dnl Allow user to pass additional libtool options into the library creation 4465dnl and link steps. The main use for this is to do something like 4466dnl ./configure --with-libtool-opts=-static 4467dnl to get the same behavior as automake-flavored 4468dnl ./configure --enable-static 4469AC_DEFUN([CF_WITH_LIBTOOL_OPTS],[ 4470AC_MSG_CHECKING(for additional libtool options) 4471AC_ARG_WITH(libtool-opts, 4472 [ --with-libtool-opts=XXX specify additional libtool options], 4473 [with_libtool_opts=$withval], 4474 [with_libtool_opts=no]) 4475AC_MSG_RESULT($with_libtool_opts) 4476 4477case .$with_libtool_opts in 4478.yes|.no|.) 4479 ;; 4480*) 4481 LIBTOOL_OPTS=$with_libtool_opts 4482 ;; 4483esac 4484 4485AC_SUBST(LIBTOOL_OPTS) 4486])dnl 4487dnl --------------------------------------------------------------------------- 4488dnl CF_WITH_NO_LEAKS version: 2 updated: 2012/10/06 08:57:51 4489dnl ---------------- 4490AC_DEFUN([CF_WITH_NO_LEAKS],[ 4491 4492AC_REQUIRE([CF_WITH_DMALLOC]) 4493AC_REQUIRE([CF_WITH_DBMALLOC]) 4494AC_REQUIRE([CF_WITH_PURIFY]) 4495AC_REQUIRE([CF_WITH_VALGRIND]) 4496 4497AC_MSG_CHECKING(if you want to perform memory-leak testing) 4498AC_ARG_WITH(no-leaks, 4499 [ --with-no-leaks test: free permanent memory, analyze leaks], 4500 [AC_DEFINE(NO_LEAKS,1,[Define to 1 to enable leak-checking]) 4501 cf_doalloc=".${with_dmalloc}${with_dbmalloc}${with_purify}${with_valgrind}" 4502 case ${cf_doalloc} in #(vi 4503 *yes*) ;; 4504 *) AC_DEFINE(DOALLOC,10000,[Define to size of malloc-array]) ;; 4505 esac 4506 with_no_leaks=yes], 4507 [with_no_leaks=]) 4508AC_MSG_RESULT($with_no_leaks) 4509])dnl 4510dnl --------------------------------------------------------------------------- 4511dnl CF_WITH_PURIFY version: 2 updated: 2006/12/14 18:43:43 4512dnl -------------- 4513AC_DEFUN([CF_WITH_PURIFY],[ 4514CF_NO_LEAKS_OPTION(purify, 4515 [ --with-purify test: use Purify], 4516 [USE_PURIFY], 4517 [LINK_PREFIX="$LINK_PREFIX purify"]) 4518AC_SUBST(LINK_PREFIX) 4519])dnl 4520dnl --------------------------------------------------------------------------- 4521dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49 4522dnl ------------------- 4523dnl Allow library's release-version to be overridden. Generally this happens when a 4524dnl packager has incremented the release-version past that used in the original package, 4525dnl and wishes to keep doing this. 4526dnl 4527dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR 4528dnl and {package}_MINOR symbols 4529dnl symbol. 4530AC_DEFUN([CF_WITH_REL_VERSION],[ 4531test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 4532AC_ARG_WITH(rel-version, 4533[ --with-rel-version=XXX override derived release version], 4534[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval) 4535 cf_cv_rel_version=$withval]) 4536ifelse($1,,[ 4537 CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version) 4538],[ 4539 $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'` 4540 $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'` 4541 CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version) 4542 CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version) 4543]) 4544])dnl 4545dnl --------------------------------------------------------------------------- 4546dnl CF_WITH_SHARED_OR_LIBTOOL version: 5 updated: 2013/09/02 09:17:44 4547dnl ------------------------- 4548dnl Provide shared libraries using either autoconf macros (--with-shared) or 4549dnl using the external libtool script (--with-libtool). 4550dnl 4551dnl $1 = program name (all caps preferred) 4552dnl $1 = release version 4553dnl $2 = ABI version 4554define([CF_WITH_SHARED_OR_LIBTOOL],[ 4555 4556REL_VERSION=$2 4557ABI_VERSION=$3 4558cf_cv_rel_version=$REL_VERSION 4559AC_SUBST(ABI_VERSION) 4560AC_SUBST(REL_VERSION) 4561 4562CF_WITH_REL_VERSION($1) 4563CF_WITH_ABI_VERSION 4564 4565LIB_MODEL=static 4566DFT_LWR_MODEL=$LIB_MODEL 4567LIBTOOL_MAKE="#" 4568 4569# use to comment-out makefile lines 4570MAKE_NORMAL= 4571MAKE_STATIC= 4572MAKE_SHARED="#" 4573 4574CF_WITH_LIBTOOL 4575 4576LIB_CREATE="$LIB_CREATE \[$]@" 4577 4578if test "$with_libtool" = "yes" ; then 4579 OBJEXT="lo" 4580 LIB_MODEL=libtool 4581 DFT_LWR_MODEL=$LIB_MODEL 4582 LIBTOOL_MAKE= 4583 CF_WITH_LIBTOOL_OPTS 4584 MAKE_NORMAL="#" 4585 MAKE_STATIC="#" 4586 MAKE_SHARED= 4587else 4588 AC_MSG_CHECKING(if you want to build shared libraries) 4589 AC_ARG_WITH(shared, 4590 [ --with-shared generate shared-libraries], 4591 [with_shared=$withval], 4592 [with_shared=no]) 4593 AC_MSG_RESULT($with_shared) 4594 if test "$with_shared" = "yes" ; then 4595 LIB_MODEL=shared 4596 DFT_LWR_MODEL=$LIB_MODEL 4597 CF_SHARED_OPTS 4598 LIB_PREP=: 4599 LIB_CREATE="[$]MK_SHARED_LIB" 4600 CFLAGS="$CFLAGS $CC_SHARED_OPTS" 4601 MAKE_NORMAL="#" 4602 MAKE_STATIC="#" 4603 MAKE_SHARED= 4604 fi 4605fi 4606 4607LIB_SUFFIX= 4608CF_LIB_SUFFIX($LIB_MODEL, DFT_LIB_SUFFIX, DFT_DEP_SUFFIX) 4609LIB_SUFFIX=$DFT_LIB_SUFFIX 4610 4611AC_SUBST(DFT_LWR_MODEL) 4612AC_SUBST(DFT_LIB_SUFFIX) 4613AC_SUBST(DFT_DEP_SUFFIX) 4614AC_SUBST(LIB_MODEL) 4615 4616AC_SUBST(LIBTOOL_MAKE) 4617 4618AC_SUBST(MAKE_NORMAL) 4619AC_SUBST(MAKE_SHARED) 4620AC_SUBST(MAKE_STATIC) 4621])dnl 4622dnl --------------------------------------------------------------------------- 4623dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21 4624dnl ---------------- 4625AC_DEFUN([CF_WITH_VALGRIND],[ 4626CF_NO_LEAKS_OPTION(valgrind, 4627 [ --with-valgrind test: use valgrind], 4628 [USE_VALGRIND]) 4629])dnl 4630dnl --------------------------------------------------------------------------- 4631dnl CF_WITH_WARNINGS version: 5 updated: 2004/07/23 14:40:34 4632dnl ---------------- 4633dnl Combine the checks for gcc features into a configure-script option 4634dnl 4635dnl Parameters: 4636dnl $1 - see CF_GCC_WARNINGS 4637AC_DEFUN([CF_WITH_WARNINGS], 4638[ 4639if ( test "$GCC" = yes || test "$GXX" = yes ) 4640then 4641AC_MSG_CHECKING(if you want to check for gcc warnings) 4642AC_ARG_WITH(warnings, 4643 [ --with-warnings test: turn on gcc warnings], 4644 [cf_opt_with_warnings=$withval], 4645 [cf_opt_with_warnings=no]) 4646AC_MSG_RESULT($cf_opt_with_warnings) 4647if test "$cf_opt_with_warnings" != no ; then 4648 CF_GCC_ATTRIBUTES 4649 CF_GCC_WARNINGS([$1]) 4650fi 4651fi 4652])dnl 4653dnl --------------------------------------------------------------------------- 4654dnl CF_XOPEN_CURSES version: 11 updated: 2011/01/18 18:15:30 4655dnl --------------- 4656dnl Test if we should define X/Open source for curses, needed on Digital Unix 4657dnl 4.x, to see the extended functions, but breaks on IRIX 6.x. 4658dnl 4659dnl The getbegyx() check is needed for HPUX, which omits legacy macros such 4660dnl as getbegy(). The latter is better design, but the former is standard. 4661AC_DEFUN([CF_XOPEN_CURSES], 4662[ 4663AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 4664AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[ 4665AC_TRY_LINK([ 4666#include <stdlib.h> 4667#include <${cf_cv_ncurses_header:-curses.h}>],[ 4668#if defined(NCURSES_VERSION_PATCH) 4669#if (NCURSES_VERSION_PATCH < 20100501) && (NCURSES_VERSION_PATCH >= 20100403) 4670 make an error 4671#endif 4672#endif 4673 long x = winnstr(stdscr, "", 0); 4674 int x1, y1; 4675 getbegyx(stdscr, y1, x1)], 4676 [cf_cv_need_xopen_extension=no], 4677 [AC_TRY_LINK([ 4678#define _XOPEN_SOURCE_EXTENDED 4679#include <stdlib.h> 4680#include <${cf_cv_ncurses_header:-curses.h}>],[ 4681#ifdef NCURSES_VERSION 4682 cchar_t check; 4683 int check2 = curs_set((int)sizeof(check)); 4684#endif 4685 long x = winnstr(stdscr, "", 0); 4686 int x1, y1; 4687 getbegyx(stdscr, y1, x1)], 4688 [cf_cv_need_xopen_extension=yes], 4689 [cf_cv_need_xopen_extension=unknown])])]) 4690test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" 4691])dnl 4692dnl --------------------------------------------------------------------------- 4693dnl CF_XOPEN_SOURCE version: 45 updated: 2013/09/07 14:06:25 4694dnl --------------- 4695dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, 4696dnl or adapt to the vendor's definitions to get equivalent functionality, 4697dnl without losing the common non-POSIX features. 4698dnl 4699dnl Parameters: 4700dnl $1 is the nominal value for _XOPEN_SOURCE 4701dnl $2 is the nominal value for _POSIX_C_SOURCE 4702AC_DEFUN([CF_XOPEN_SOURCE],[ 4703AC_REQUIRE([AC_CANONICAL_HOST]) 4704 4705cf_XOPEN_SOURCE=ifelse([$1],,500,[$1]) 4706cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2]) 4707cf_xopen_source= 4708 4709case $host_os in #(vi 4710aix[[4-7]]*) #(vi 4711 cf_xopen_source="-D_ALL_SOURCE" 4712 ;; 4713cygwin|msys) #(vi 4714 cf_XOPEN_SOURCE=600 4715 ;; 4716darwin[[0-8]].*) #(vi 4717 cf_xopen_source="-D_APPLE_C_SOURCE" 4718 ;; 4719darwin*) #(vi 4720 cf_xopen_source="-D_DARWIN_C_SOURCE" 4721 cf_XOPEN_SOURCE= 4722 ;; 4723freebsd*|dragonfly*) #(vi 4724 # 5.x headers associate 4725 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L 4726 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L 4727 cf_POSIX_C_SOURCE=200112L 4728 cf_XOPEN_SOURCE=600 4729 cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" 4730 ;; 4731hpux11*) #(vi 4732 cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500" 4733 ;; 4734hpux*) #(vi 4735 cf_xopen_source="-D_HPUX_SOURCE" 4736 ;; 4737irix[[56]].*) #(vi 4738 cf_xopen_source="-D_SGI_SOURCE" 4739 cf_XOPEN_SOURCE= 4740 ;; 4741linux*|gnu*|mint*|k*bsd*-gnu) #(vi 4742 CF_GNU_SOURCE 4743 ;; 4744mirbsd*) #(vi 4745 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <sys/select.h> and other headers which use u_int / u_short types 4746 cf_XOPEN_SOURCE= 4747 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) 4748 ;; 4749netbsd*) #(vi 4750 cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw 4751 ;; 4752openbsd[[4-9]]*) #(vi 4753 # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw 4754 cf_xopen_source="-D_BSD_SOURCE" 4755 cf_XOPEN_SOURCE=600 4756 ;; 4757openbsd*) #(vi 4758 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw 4759 ;; 4760osf[[45]]*) #(vi 4761 cf_xopen_source="-D_OSF_SOURCE" 4762 ;; 4763nto-qnx*) #(vi 4764 cf_xopen_source="-D_QNX_SOURCE" 4765 ;; 4766sco*) #(vi 4767 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer 4768 ;; 4769solaris2.*) #(vi 4770 cf_xopen_source="-D__EXTENSIONS__" 4771 ;; 4772*) 4773 CF_TRY_XOPEN_SOURCE 4774 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) 4775 ;; 4776esac 4777 4778if test -n "$cf_xopen_source" ; then 4779 CF_ADD_CFLAGS($cf_xopen_source) 4780fi 4781 4782dnl In anything but the default case, we may have system-specific setting 4783dnl which is still not guaranteed to provide all of the entrypoints that 4784dnl _XOPEN_SOURCE would yield. 4785if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then 4786 AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) 4787 AC_TRY_COMPILE([#include <stdlib.h>],[ 4788#ifndef _XOPEN_SOURCE 4789make an error 4790#endif], 4791 [cf_XOPEN_SOURCE_set=yes], 4792 [cf_XOPEN_SOURCE_set=no]) 4793 AC_MSG_RESULT($cf_XOPEN_SOURCE_set) 4794 if test $cf_XOPEN_SOURCE_set = yes 4795 then 4796 AC_TRY_COMPILE([#include <stdlib.h>],[ 4797#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE 4798make an error 4799#endif], 4800 [cf_XOPEN_SOURCE_set_ok=yes], 4801 [cf_XOPEN_SOURCE_set_ok=no]) 4802 if test $cf_XOPEN_SOURCE_set_ok = no 4803 then 4804 AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) 4805 fi 4806 else 4807 CF_TRY_XOPEN_SOURCE 4808 fi 4809fi 4810]) 4811dnl --------------------------------------------------------------------------- 4812dnl CF__ADD_SHLIB_RULES version: 4 updated: 2013/07/22 18:49:24 4813dnl ------------------- 4814dnl Append rules for creating, installing, uninstalling and cleaning library. 4815dnl In particular, this is needed for shared libraries since there are symbolic 4816dnl links which depend on configuration choices. 4817dnl 4818dnl The logic is controlled by these cache variables: 4819dnl $cf_cv_do_symlinks 4820dnl $cf_cv_shlib_version 4821dnl 4822dnl The macro uses variables set by CF__DEFINE_SHLIB_VARS 4823dnl 4824dnl $1 = makefile to append to 4825dnl $2 = model (static, shared, libtool) 4826dnl $3 = objects (dependencies) 4827dnl $4 = additional libraries needed to link the shared library 4828define([CF__ADD_SHLIB_RULES],[ 4829 4830CF__DEFINE_LIB_TARGET 4831 4832case x$2 in 4833xlibtool|xshared) #(vi 4834 cf_libdeps="ifelse($4,,,[$4])" 4835 ;; 4836x*) 4837 cf_libdeps= 4838 ;; 4839esac 4840 4841cat >>$1 <<CF_EOF 4842 4843# generated by CF__ADD_SHLIB_RULES 4844# libmodel: $2 4845# symlinks: $cf_cv_do_symlinks 4846# shlibver: $cf_cv_shlib_version 4847 4848CF_EOF 4849 4850cat >>$1 <<CF_EOF 4851$cf_libname :: \\ 4852CF_EOF 4853 4854cat >>$1 <<CF_EOF 4855 $3 4856 @echo linking \[$]@ 4857 \$(LIBTOOL_CREATE) $3 $cf_libdeps 4858CF_EOF 4859 4860if test "x$cf_cv_do_symlinks" = xyes 4861then 4862cat >>$1 <<CF_EOF 4863 \$(LN_S) $cf_libname $cf_liblink 4864 \$(LN_S) $cf_liblink $cf_libroot 4865CF_EOF 4866fi 4867 4868cat >>$1 <<CF_EOF 4869 4870install \\ 4871install.libs :: \$(DESTDIR)\$(libdir)/$cf_libname 4872 4873\$(DESTDIR)\$(libdir)/$cf_libname :: \\ 4874 \$(DESTDIR)\$(libdir) \\ 4875 $3 4876 @echo linking \[$]@ 4877 \$(LIBTOOL_CREATE) $3 $cf_libdeps 4878CF_EOF 4879 4880if test "x$cf_cv_do_symlinks" = xyes 4881then 4882cat >>$1 <<CF_EOF 4883 cd \$(DESTDIR)\$(libdir) && (\$(LN_S) $cf_libname $cf_liblink; \$(LN_S) $cf_liblink $cf_libroot; ) 4884CF_EOF 4885fi 4886 4887if test x$2 = xshared 4888then 4889cat >>$1 <<CF_EOF 4890 - test -z "\$(DESTDIR)" && /sbin/ldconfig 4891CF_EOF 4892fi 4893 4894cat >>$1 <<CF_EOF 4895 4896uninstall \\ 4897uninstall.libs :: 4898 @echo uninstalling \$(DESTDIR)\$(libdir)/$cf_libname 4899CF_EOF 4900 4901if test "x$cf_cv_do_symlinks" = xyes 4902then 4903cat >>$1 <<CF_EOF 4904 -rm -f \$(DESTDIR)\$(libdir)/$cf_libroot 4905 -rm -f \$(DESTDIR)\$(libdir)/$cf_liblink 4906CF_EOF 4907fi 4908 4909cat >>$1 <<CF_EOF 4910 -rm -f \$(DESTDIR)\$(libdir)/$cf_libname 4911 4912clean \\ 4913clean.libs :: 4914CF_EOF 4915 4916if test "x$cf_cv_do_symlinks" = xyes 4917then 4918cat >>$1 <<CF_EOF 4919 -rm -f $cf_libroot 4920 -rm -f $cf_liblink 4921CF_EOF 4922fi 4923 4924cat >>$1 <<CF_EOF 4925 -rm -f $cf_libname 4926 4927mostlyclean:: 4928 -rm -f $3 4929# end generated by CF__ADD_SHLIB_RULES 4930CF_EOF 4931])dnl 4932dnl --------------------------------------------------------------------------- 4933dnl CF__CURSES_HEAD version: 2 updated: 2010/10/23 15:54:49 4934dnl --------------- 4935dnl Define a reusable chunk which includes <curses.h> and <term.h> when they 4936dnl are both available. 4937define([CF__CURSES_HEAD],[ 4938#ifdef HAVE_XCURSES 4939#include <xcurses.h> 4940char * XCursesProgramName = "test"; 4941#else 4942#include <${cf_cv_ncurses_header:-curses.h}> 4943#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) 4944#include <ncursesw/term.h> 4945#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) 4946#include <ncurses/term.h> 4947#elif defined(HAVE_TERM_H) 4948#include <term.h> 4949#endif 4950#endif 4951]) 4952dnl --------------------------------------------------------------------------- 4953dnl CF__CURSES_HEAD version: 2 updated: 2010/10/23 15:54:49 4954dnl --------------- 4955dnl Define a reusable chunk which includes <curses.h> and <term.h> when they 4956dnl are both available. 4957define([CF__CURSES_HEAD],[ 4958#ifdef HAVE_XCURSES 4959#include <xcurses.h> 4960char * XCursesProgramName = "test"; 4961#else 4962#include <${cf_cv_ncurses_header:-curses.h}> 4963#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H) 4964#include <ncursesw/term.h> 4965#elif defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H) 4966#include <ncurses/term.h> 4967#elif defined(HAVE_TERM_H) 4968#include <term.h> 4969#endif 4970#endif 4971]) 4972dnl --------------------------------------------------------------------------- 4973dnl CF__DEFINE_LIB_TARGET version: 1 updated: 2013/07/22 18:27:50 4974dnl --------------------- 4975define([CF__DEFINE_LIB_TARGET],[ 4976cf_libname=\${LIB_BASENAME} 4977cf_liblink=$cf_libname 4978cf_libroot=$cf_libname 4979 4980if test "x$cf_cv_do_symlinks" = xyes 4981then 4982 case "x$cf_cv_shlib_version" in #(vi 4983 xrel) #(vi 4984 cf_liblink="\${LIB_ABI_NAME}" 4985 cf_libname="\${LIB_REL_NAME}" 4986 ;; 4987 xabi) 4988 cf_liblink="\${LIB_REL_NAME}" 4989 cf_libname="\${LIB_ABI_NAME}" 4990 ;; 4991 esac 4992fi 4993LIB_TARGET=$cf_libname 4994])dnl 4995dnl --------------------------------------------------------------------------- 4996dnl CF__DEFINE_SHLIB_VARS version: 2 updated: 2013/07/27 17:38:32 4997dnl --------------------- 4998dnl Substitute makefile variables useful for CF__ADD_SHLIB_RULES. 4999dnl 5000dnl The substitution requires these variables: 5001dnl LIB_PREFI - "lib" 5002dnl LIB_ROOTNAME - "foo" 5003dnl LIB_SUFFIX - ".so" 5004dnl REL_VERSION - "5.0" 5005dnl ABI_VERSION - "4.2.4" 5006define([CF__DEFINE_SHLIB_VARS],[ 5007CF__DEFINE_LIB_TARGET 5008SET_SHLIB_VARS="# begin CF__DEFINE_SHLIB_VARS\\ 5009LIB_BASENAME = ${LIB_PREFIX}\${LIB_ROOTNAME}\${LIB_SUFFIX}\\ 5010LIB_REL_NAME = \${LIB_BASENAME}.\${REL_VERSION}\\ 5011LIB_ABI_NAME = \${LIB_BASENAME}.\${ABI_VERSION}\\ 5012LIB_TARGET = $LIB_TARGET\\ 5013RM_SHARED_OPTS = $RM_SHARED_OPTS\\ 5014# end CF__DEFINE_SHLIB_VARS" 5015AC_SUBST(SET_SHLIB_VARS) 5016AC_SUBST(LIB_TARGET) 5017])dnl 5018dnl --------------------------------------------------------------------------- 5019dnl CF__ICONV_BODY version: 2 updated: 2007/07/26 17:35:47 5020dnl -------------- 5021dnl Test-code needed for iconv compile-checks 5022define([CF__ICONV_BODY],[ 5023 iconv_t cd = iconv_open("",""); 5024 iconv(cd,NULL,NULL,NULL,NULL); 5025 iconv_close(cd);] 5026)dnl 5027dnl --------------------------------------------------------------------------- 5028dnl CF__ICONV_HEAD version: 1 updated: 2007/07/26 15:57:03 5029dnl -------------- 5030dnl Header-files needed for iconv compile-checks 5031define([CF__ICONV_HEAD],[ 5032#include <stdlib.h> 5033#include <iconv.h>] 5034)dnl 5035dnl --------------------------------------------------------------------------- 5036dnl CF__INIT_SHLIB_RULES version: 2 updated: 2013/07/27 17:38:32 5037dnl -------------------- 5038dnl The third parameter to AC_OUTPUT, used to pass variables needed for 5039dnl CF__ADD_SHLIB_RULES. 5040define([CF__INIT_SHLIB_RULES],[ 5041ABI_VERSION="$ABI_VERSION" 5042REL_VERSION="$REL_VERSION" 5043LIB_MODEL="$LIB_MODEL" 5044LIB_PREFIX="$LIB_PREFIX" 5045LIB_ROOTNAME="$LIB_ROOTNAME" 5046DFT_DEP_SUFFIX="$DFT_DEP_SUFFIX" 5047RM_SHARED_OPTS="$RM_SHARED_OPTS" 5048cf_cv_do_symlinks="$cf_cv_do_symlinks" 5049cf_cv_shlib_version="$cf_cv_shlib_version" 5050]) 5051dnl --------------------------------------------------------------------------- 5052dnl CF__INTL_BODY version: 1 updated: 2007/07/26 17:35:47 5053dnl ------------- 5054dnl Test-code needed for libintl compile-checks 5055dnl $1 = parameter 2 from AM_WITH_NLS 5056define([CF__INTL_BODY],[ 5057 bindtextdomain ("", ""); 5058 return (int) gettext ("") 5059 ifelse([$1], need-ngettext, [ + (int) ngettext ("", "", 0)], []) 5060 [ + _nl_msg_cat_cntr] 5061]) 5062dnl --------------------------------------------------------------------------- 5063dnl CF__INTL_HEAD version: 1 updated: 2007/07/26 17:35:47 5064dnl ------------- 5065dnl Header-files needed for libintl compile-checks 5066define([CF__INTL_HEAD],[ 5067#include <libintl.h> 5068extern int _nl_msg_cat_cntr; 5069])dnl 5070dnl --------------------------------------------------------------------------- 5071dnl jm_GLIBC21 version: 3 updated: 2002/10/27 23:21:42 5072dnl ---------- 5073dnl Inserted as requested by gettext 0.10.40 5074dnl File from /usr/share/aclocal 5075dnl glibc21.m4 5076dnl ==================== 5077dnl serial 2 5078dnl 5079dnl Test for the GNU C Library, version 2.1 or newer. 5080dnl From Bruno Haible. 5081AC_DEFUN([jm_GLIBC21], 5082 [ 5083 AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, 5084 ac_cv_gnu_library_2_1, 5085 [AC_EGREP_CPP([Lucky GNU user], 5086 [ 5087#include <features.h> 5088#ifdef __GNU_LIBRARY__ 5089 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) 5090 Lucky GNU user 5091 #endif 5092#endif 5093 ], 5094 ac_cv_gnu_library_2_1=yes, 5095 ac_cv_gnu_library_2_1=no) 5096 ] 5097 ) 5098 AC_SUBST(GLIBC21) 5099 GLIBC21="$ac_cv_gnu_library_2_1" 5100 ] 5101) 5102