1dnl $Id: aclocal.m4,v 1.8 2005/02/27 00:02:01 tom Exp $ 2dnl --------------------------------------------------------------------------- 3dnl --------------------------------------------------------------------------- 4dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48:30 5dnl ------------- 6dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS 7dnl The second parameter if given makes this macro verbose. 8dnl 9dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS, 10dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily 11dnl confused by the quotes (which require backslashes to keep them usable). 12AC_DEFUN([CF_ADD_CFLAGS], 13[ 14cf_fix_cppflags=no 15cf_new_cflags= 16cf_new_cppflags= 17cf_new_extra_cppflags= 18 19for cf_add_cflags in $1 20do 21case $cf_fix_cppflags in 22no) 23 case $cf_add_cflags in #(vi 24 -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi 25 case $cf_add_cflags in 26 -D*) 27 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` 28 29 test "${cf_add_cflags}" != "${cf_tst_cflags}" \ 30 && test -z "${cf_tst_cflags}" \ 31 && cf_fix_cppflags=yes 32 33 if test $cf_fix_cppflags = yes ; then 34 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" 35 continue 36 elif test "${cf_tst_cflags}" = "\"'" ; then 37 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" 38 continue 39 fi 40 ;; 41 esac 42 case "$CPPFLAGS" in 43 *$cf_add_cflags) #(vi 44 ;; 45 *) #(vi 46 cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" 47 ;; 48 esac 49 ;; 50 *) 51 cf_new_cflags="$cf_new_cflags $cf_add_cflags" 52 ;; 53 esac 54 ;; 55yes) 56 cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" 57 58 cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` 59 60 test "${cf_add_cflags}" != "${cf_tst_cflags}" \ 61 && test -z "${cf_tst_cflags}" \ 62 && cf_fix_cppflags=no 63 ;; 64esac 65done 66 67if test -n "$cf_new_cflags" ; then 68 ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) 69 CFLAGS="$CFLAGS $cf_new_cflags" 70fi 71 72if test -n "$cf_new_cppflags" ; then 73 ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) 74 CPPFLAGS="$cf_new_cppflags $CPPFLAGS" 75fi 76 77if test -n "$cf_new_extra_cppflags" ; then 78 ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) 79 EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" 80fi 81 82AC_SUBST(EXTRA_CPPFLAGS) 83 84])dnl 85dnl --------------------------------------------------------------------------- 86dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52 87dnl ------------- 88dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's 89dnl redundant. We don't normally need to add -I/usr/local/include for gcc, 90dnl but old versions (and some misinstalled ones) need that. To make things 91dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to 92dnl the include-path). 93AC_DEFUN([CF_ADD_INCDIR], 94[ 95for cf_add_incdir in $1 96do 97 while true 98 do 99 case $cf_add_incdir in 100 /usr/include) # (vi 101 ;; 102 /usr/local/include) # (vi 103 if test "$GCC" = yes 104 then 105 cf_save_CPPFLAGS="$CPPFLAGS" 106 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" 107 AC_TRY_COMPILE([#include <stdio.h>], 108 [printf("Hello")], 109 [], 110 [CPPFLAGS="$cf_save_CPPFLAGS"]) 111 fi 112 ;; 113 *) # (vi 114 CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" 115 ;; 116 esac 117 cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` 118 test "$cf_top_incdir" = "$cf_add_incdir" && break 119 cf_add_incdir="$cf_top_incdir" 120 done 121done 122])dnl 123dnl --------------------------------------------------------------------------- 124dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34 125dnl ---------------- 126dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' 127dnl in the sharutils 4.2 distribution. 128AC_DEFUN([CF_ANSI_CC_CHECK], 129[ 130AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[ 131cf_cv_ansi_cc=no 132cf_save_CFLAGS="$CFLAGS" 133cf_save_CPPFLAGS="$CPPFLAGS" 134# Don't try gcc -ansi; that turns off useful extensions and 135# breaks some systems' header files. 136# AIX -qlanglvl=ansi 137# Ultrix and OSF/1 -std1 138# HP-UX -Aa -D_HPUX_SOURCE 139# SVR4 -Xc 140# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) 141for cf_arg in "-DCC_HAS_PROTOS" \ 142 "" \ 143 -qlanglvl=ansi \ 144 -std1 \ 145 -Ae \ 146 "-Aa -D_HPUX_SOURCE" \ 147 -Xc 148do 149 CF_ADD_CFLAGS($cf_arg) 150 AC_TRY_COMPILE( 151[ 152#ifndef CC_HAS_PROTOS 153#if !defined(__STDC__) || (__STDC__ != 1) 154choke me 155#endif 156#endif 157],[ 158 int test (int i, double x); 159 struct s1 {int (*f) (int a);}; 160 struct s2 {int (*f) (double a);};], 161 [cf_cv_ansi_cc="$cf_arg"; break]) 162done 163CFLAGS="$cf_save_CFLAGS" 164CPPFLAGS="$cf_save_CPPFLAGS" 165]) 166 167if test "$cf_cv_ansi_cc" != "no"; then 168if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then 169 CF_ADD_CFLAGS($cf_cv_ansi_cc) 170else 171 AC_DEFINE(CC_HAS_PROTOS) 172fi 173fi 174])dnl 175dnl --------------------------------------------------------------------------- 176dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44 177dnl --------------- 178dnl For programs that must use an ANSI compiler, obtain compiler options that 179dnl will make it recognize prototypes. We'll do preprocessor checks in other 180dnl macros, since tools such as unproto can fake prototypes, but only part of 181dnl the preprocessor. 182AC_DEFUN([CF_ANSI_CC_REQD], 183[AC_REQUIRE([CF_ANSI_CC_CHECK]) 184if test "$cf_cv_ansi_cc" = "no"; then 185 AC_ERROR( 186[Your compiler does not appear to recognize prototypes. 187You have the following choices: 188 a. adjust your compiler options 189 b. get an up-to-date compiler 190 c. use a wrapper such as unproto]) 191fi 192])dnl 193dnl --------------------------------------------------------------------------- 194dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31 195dnl -------------- 196dnl Check if we're accidentally using a cache from a different machine. 197dnl Derive the system name, as a check for reusing the autoconf cache. 198dnl 199dnl If we've packaged config.guess and config.sub, run that (since it does a 200dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow 201dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM 202dnl which is useful in cross-compiles. 203dnl 204dnl Note: we would use $ac_config_sub, but that is one of the places where 205dnl autoconf 2.5x broke compatibility with autoconf 2.13 206AC_DEFUN([CF_CHECK_CACHE], 207[ 208if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then 209 ifelse([$1],,[AC_CANONICAL_HOST],[$1]) 210 system_name="$host_os" 211else 212 system_name="`(uname -s -r) 2>/dev/null`" 213 if test -z "$system_name" ; then 214 system_name="`(hostname) 2>/dev/null`" 215 fi 216fi 217test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name") 218AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"]) 219 220test -z "$system_name" && system_name="$cf_cv_system_name" 221test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name) 222 223if test ".$system_name" != ".$cf_cv_system_name" ; then 224 AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) 225 AC_ERROR("Please remove config.cache and try again.") 226fi 227])dnl 228dnl --------------------------------------------------------------------------- 229dnl CF_CURSES_ACS_MAP version: 3 updated: 2003/05/17 22:19:02 230dnl ----------------- 231dnl Check for likely values of acs_map[]: 232AC_DEFUN([CF_CURSES_ACS_MAP], 233[ 234AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[ 235cf_cv_curses_acs_map=unknown 236for name in acs_map _acs_map __acs_map _nc_acs_map 237do 238AC_TRY_LINK([ 239#include <${cf_cv_ncurses_header-curses.h}> 240],[ 241$name['k'] = ACS_PLUS 242],[cf_cv_curses_acs_map=$name; break]) 243done 244]) 245 246test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map) 247]) 248dnl --------------------------------------------------------------------------- 249dnl CF_CURSES_CHECK_TYPE version: 2 updated: 2003/03/01 23:40:33 250dnl -------------------- 251dnl Check if curses.h defines the given type 252AC_DEFUN([CF_CURSES_CHECK_TYPE], 253[ 254AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h}) 255AC_TRY_COMPILE([ 256#ifndef _XOPEN_SOURCE_EXTENDED 257#define _XOPEN_SOURCE_EXTENDED 258#endif 259#include <${cf_cv_ncurses_header-curses.h}>],[ 260$1 foo 261],cf_result=yes,cf_result=no) 262AC_MSG_RESULT($cf_result) 263if test $cf_result = yes ; then 264 CF_UPPER(cf_result,have_type_$1) 265 AC_DEFINE_UNQUOTED($cf_result) 266else 267 AC_DEFINE_UNQUOTED($1,$2) 268fi 269])dnl 270dnl --------------------------------------------------------------------------- 271dnl CF_CURSES_CPPFLAGS version: 7 updated: 2003/06/06 00:48:41 272dnl ------------------ 273dnl Look for the curses headers. 274AC_DEFUN([CF_CURSES_CPPFLAGS],[ 275 276AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[ 277cf_cv_curses_incdir=no 278case $host_os in #(vi 279hpux10.*|hpux11.*) #(vi 280 test -d /usr/include/curses_colr && \ 281 cf_cv_curses_incdir="-I/usr/include/curses_colr" 282 ;; 283sunos3*|sunos4*) 284 test -d /usr/5lib && \ 285 test -d /usr/5include && \ 286 cf_cv_curses_incdir="-I/usr/5include" 287 ;; 288esac 289]) 290test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS" 291 292AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[ 293cf_cv_ncurses_header=none 294for cf_header in \ 295 curses.h \ 296 ncurses.h \ 297 ncurses/curses.h \ 298 ncurses/ncurses.h 299do 300AC_TRY_COMPILE([#include <${cf_header}>], 301 [initscr(); tgoto("?", 0,0)], 302 [cf_cv_ncurses_header=$cf_header; break],[]) 303done 304]) 305 306if test "$cf_cv_ncurses_header" = none ; then 307 AC_MSG_ERROR(No curses header-files found) 308fi 309 310# cheat, to get the right #define's for HAVE_NCURSES_H, etc. 311AC_CHECK_HEADERS($cf_cv_ncurses_header) 312 313])dnl 314dnl --------------------------------------------------------------------------- 315dnl CF_CURSES_LIBS version: 23 updated: 2003/11/06 19:59:57 316dnl -------------- 317dnl Look for the curses libraries. Older curses implementations may require 318dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. 319AC_DEFUN([CF_CURSES_LIBS],[ 320 321AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 322AC_MSG_CHECKING(if we have identified curses libraries) 323AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], 324 [initscr(); tgoto("?", 0,0)], 325 cf_result=yes, 326 cf_result=no) 327AC_MSG_RESULT($cf_result) 328 329if test "$cf_result" = no ; then 330case $host_os in #(vi 331freebsd*) #(vi 332 AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"]) 333 ;; 334hpux10.*|hpux11.*) #(vi 335 AC_CHECK_LIB(cur_colr,initscr,[ 336 LIBS="-lcur_colr $LIBS" 337 ac_cv_func_initscr=yes 338 ],[ 339 AC_CHECK_LIB(Hcurses,initscr,[ 340 # HP's header uses __HP_CURSES, but user claims _HP_CURSES. 341 LIBS="-lHcurses $LIBS" 342 CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS" 343 ac_cv_func_initscr=yes 344 ])]) 345 ;; 346linux*) # Suse Linux does not follow /usr/lib convention 347 LIBS="$LIBS -L/lib" 348 ;; 349sunos3*|sunos4*) 350 test -d /usr/5lib && \ 351 LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap" 352 ac_cv_func_initscr=yes 353 ;; 354esac 355 356if test ".$ac_cv_func_initscr" != .yes ; then 357 cf_save_LIBS="$LIBS" 358 cf_term_lib="" 359 cf_curs_lib="" 360 361 if test ".${cf_cv_ncurses_version-no}" != .no 362 then 363 cf_check_list="ncurses curses cursesX" 364 else 365 cf_check_list="cursesX curses ncurses" 366 fi 367 368 # Check for library containing tgoto. Do this before curses library 369 # because it may be needed to link the test-case for initscr. 370 AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ 371 for cf_term_lib in $cf_check_list termcap termlib unknown 372 do 373 AC_CHECK_LIB($cf_term_lib,tgoto,[break]) 374 done 375 ]) 376 377 # Check for library containing initscr 378 test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" 379 for cf_curs_lib in $cf_check_list xcurses jcurses unknown 380 do 381 AC_CHECK_LIB($cf_curs_lib,initscr,[break]) 382 done 383 test $cf_curs_lib = unknown && AC_ERROR(no curses library found) 384 385 LIBS="-l$cf_curs_lib $cf_save_LIBS" 386 if test "$cf_term_lib" = unknown ; then 387 AC_MSG_CHECKING(if we can link with $cf_curs_lib library) 388 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], 389 [initscr()], 390 [cf_result=yes], 391 [cf_result=no]) 392 AC_MSG_RESULT($cf_result) 393 test $cf_result = no && AC_ERROR(Cannot link curses library) 394 elif test "$cf_curs_lib" = "$cf_term_lib" ; then 395 : 396 elif test "$cf_term_lib" != predefined ; then 397 AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries) 398 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], 399 [initscr(); tgoto((char *)0, 0, 0);], 400 [cf_result=no], 401 [ 402 LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS" 403 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], 404 [initscr()], 405 [cf_result=yes], 406 [cf_result=error]) 407 ]) 408 AC_MSG_RESULT($cf_result) 409 fi 410fi 411fi 412 413])dnl 414dnl --------------------------------------------------------------------------- 415dnl CF_CURSES_WACS_MAP version: 3 updated: 2003/05/17 22:19:02 416dnl ------------------ 417dnl Check for likely values of wacs_map[]: 418AC_DEFUN([CF_CURSES_WACS_MAP], 419[ 420AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[ 421 cf_cv_curses_wacs_map=unknown 422 for name in wacs_map _wacs_map __wacs_map _nc_wacs 423 do 424 AC_TRY_LINK([ 425#ifndef _XOPEN_SOURCE_EXTENDED 426#define _XOPEN_SOURCE_EXTENDED 427#endif 428#include <${cf_cv_ncurses_header-curses.h}>], 429 [$name['k'] = *WACS_PLUS], 430 [cf_cv_curses_wacs_map=$name 431 break]) 432 done]) 433]) 434dnl --------------------------------------------------------------------------- 435dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 436dnl ---------- 437dnl "dirname" is not portable, so we fake it with a shell script. 438AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl 439dnl --------------------------------------------------------------------------- 440dnl CF_FIND_LIBRARY version: 8 updated: 2004/11/23 20:14:58 441dnl --------------- 442dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We 443dnl prefer a standard location, and use -L options only if we do not find the 444dnl library in the standard library location(s). 445dnl $1 = library name 446dnl $2 = library class, usually the same as library name 447dnl $3 = includes 448dnl $4 = code fragment to compile/link 449dnl $5 = corresponding function-name 450dnl $6 = flag, nonnull if failure should not cause an error-exit 451dnl 452dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had 453dnl to use a -L option. 454AC_DEFUN([CF_FIND_LIBRARY], 455[ 456 eval 'cf_cv_have_lib_'$1'=no' 457 cf_libdir="" 458 AC_CHECK_FUNC($5, 459 eval 'cf_cv_have_lib_'$1'=yes',[ 460 cf_save_LIBS="$LIBS" 461 AC_MSG_CHECKING(for $5 in -l$1) 462 LIBS="-l$1 $LIBS" 463 AC_TRY_LINK([$3],[$4], 464 [AC_MSG_RESULT(yes) 465 eval 'cf_cv_have_lib_'$1'=yes' 466 ], 467 [AC_MSG_RESULT(no) 468 CF_LIBRARY_PATH(cf_search,$2) 469 for cf_libdir in $cf_search 470 do 471 AC_MSG_CHECKING(for -l$1 in $cf_libdir) 472 LIBS="-L$cf_libdir -l$1 $cf_save_LIBS" 473 AC_TRY_LINK([$3],[$4], 474 [AC_MSG_RESULT(yes) 475 eval 'cf_cv_have_lib_'$1'=yes' 476 break], 477 [AC_MSG_RESULT(no) 478 LIBS="$cf_save_LIBS"]) 479 done 480 ]) 481 ]) 482eval 'cf_found_library=[$]cf_cv_have_lib_'$1 483ifelse($6,,[ 484if test $cf_found_library = no ; then 485 AC_ERROR(Cannot link $1 library) 486fi 487]) 488])dnl 489dnl --------------------------------------------------------------------------- 490dnl CF_FUNC_CURSES_VERSION version: 3 updated: 2003/05/17 22:19:02 491dnl ---------------------- 492dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS. 493dnl It's a character string "SVR4", not documented. 494AC_DEFUN([CF_FUNC_CURSES_VERSION], 495[ 496AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[ 497AC_TRY_RUN([ 498#include <${cf_cv_ncurses_header-curses.h}> 499int main() 500{ 501 char temp[1024]; 502 sprintf(temp, "%s\n", curses_version()); 503 exit(0); 504}] 505,[cf_cv_func_curses_version=yes] 506,[cf_cv_func_curses_version=no] 507,[cf_cv_func_curses_version=unknown]) 508rm -f core]) 509test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION) 510]) 511dnl --------------------------------------------------------------------------- 512dnl CF_GNU_SOURCE version: 4 updated: 2004/12/03 20:43:00 513dnl ------------- 514dnl Check if we must define _GNU_SOURCE to get a reasonable value for 515dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect 516dnl (or misfeature) of glibc2, which breaks portability of many applications, 517dnl since it is interwoven with GNU extensions. 518dnl 519dnl Well, yes we could work around it... 520AC_DEFUN([CF_GNU_SOURCE], 521[ 522AC_REQUIRE([CF_INTEL_COMPILER]) 523 524if test "$INTEL_COMPILER" = no ; then 525AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[ 526AC_TRY_COMPILE([#include <sys/types.h>],[ 527#ifndef _XOPEN_SOURCE 528make an error 529#endif], 530 [cf_cv_gnu_source=no], 531 [cf_save="$CPPFLAGS" 532 CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" 533 AC_TRY_COMPILE([#include <sys/types.h>],[ 534#ifdef _XOPEN_SOURCE 535make an error 536#endif], 537 [cf_cv_gnu_source=no], 538 [cf_cv_gnu_source=yes]) 539 CPPFLAGS="$cf_save" 540 ]) 541]) 542test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" 543fi 544])dnl 545dnl --------------------------------------------------------------------------- 546dnl CF_HEADER_PATH version: 8 updated: 2002/11/10 14:46:59 547dnl -------------- 548dnl Construct a search-list for a nonstandard header-file 549AC_DEFUN([CF_HEADER_PATH], 550[CF_SUBDIR_PATH($1,$2,include) 551test "$includedir" != NONE && \ 552test "$includedir" != "/usr/include" && \ 553test -d "$includedir" && { 554 test -d $includedir && $1="[$]$1 $includedir" 555 test -d $includedir/$2 && $1="[$]$1 $includedir/$2" 556} 557 558test "$oldincludedir" != NONE && \ 559test "$oldincludedir" != "/usr/include" && \ 560test -d "$oldincludedir" && { 561 test -d $oldincludedir && $1="[$]$1 $oldincludedir" 562 test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2" 563} 564 565])dnl 566dnl --------------------------------------------------------------------------- 567dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42 568dnl ----------------- 569dnl If we do not have a given script, look for it in the parent directory. 570AC_DEFUN([CF_INHERIT_SCRIPT], 571[ 572test -f $1 || ( test -f ../$1 && cp ../$1 ./ ) 573])dnl 574dnl --------------------------------------------------------------------------- 575dnl CF_INTEL_COMPILER version: 1 updated: 2004/12/03 20:27:48 576dnl ----------------- 577dnl Check if the given compiler is really the Intel compiler for Linux. 578dnl It tries to imitate gcc, but does not return an error when it finds a 579dnl mismatch between prototypes, e.g., as exercised by CF_MISSING_CHECK. 580dnl 581dnl This macro should be run "soon" after AC_PROG_CC, to ensure that it is 582dnl not mistaken for gcc. 583AC_DEFUN([CF_INTEL_COMPILER],[ 584AC_REQUIRE([AC_PROG_CC]) 585 586INTEL_COMPILER=no 587 588if test "$GCC" = yes ; then 589 case $host_os in 590 linux*|gnu*) 591 AC_MSG_CHECKING(if this is really Intel compiler) 592 cf_save_CFLAGS="$CFLAGS" 593 CFLAGS="$CFLAGS -no-gcc" 594 AC_TRY_COMPILE([],[ 595#ifdef __INTEL_COMPILER 596#else 597make an error 598#endif 599],[INTEL_COMPILER=yes 600cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" 601],[]) 602 CFLAGS="$cf_save_CFLAGS" 603 AC_MSG_RESULT($INTEL_COMPILER) 604 ;; 605 esac 606fi 607])dnl 608dnl --------------------------------------------------------------------------- 609dnl CF_LIBRARY_PATH version: 7 updated: 2002/11/10 14:46:59 610dnl --------------- 611dnl Construct a search-list for a nonstandard library-file 612AC_DEFUN([CF_LIBRARY_PATH], 613[CF_SUBDIR_PATH($1,$2,lib)])dnl 614dnl --------------------------------------------------------------------------- 615dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52 616dnl ---------- 617dnl Write a debug message to config.log, along with the line number in the 618dnl configure script. 619AC_DEFUN([CF_MSG_LOG],[ 620echo "(line __oline__) testing $* ..." 1>&AC_FD_CC 621])dnl 622dnl --------------------------------------------------------------------------- 623dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28 624dnl ------------------- 625dnl Check if we can compile with ncurses' header file 626dnl $1 is the cache variable to set 627dnl $2 is the header-file to include 628dnl $3 is the root name (ncurses or ncursesw) 629AC_DEFUN([CF_NCURSES_CC_CHECK],[ 630 AC_TRY_COMPILE([ 631]ifelse($3,ncursesw,[ 632#define _XOPEN_SOURCE_EXTENDED 633#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */ 634#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */ 635])[ 636#include <$2>],[ 637#ifdef NCURSES_VERSION 638]ifelse($3,ncursesw,[ 639#ifndef WACS_BSSB 640 make an error 641#endif 642])[ 643printf("%s\n", NCURSES_VERSION); 644#else 645#ifdef __NCURSES_H 646printf("old\n"); 647#else 648 make an error 649#endif 650#endif 651 ] 652 ,[$1=$cf_header] 653 ,[$1=no]) 654])dnl 655dnl --------------------------------------------------------------------------- 656dnl CF_NCURSES_CPPFLAGS version: 17 updated: 2003/11/06 19:59:57 657dnl ------------------- 658dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting 659dnl the CPPFLAGS variable so we can include its header. 660dnl 661dnl The header files may be installed as either curses.h, or ncurses.h (would 662dnl be obsolete, except that some packagers prefer this name to distinguish it 663dnl from a "native" curses implementation). If not installed for overwrite, 664dnl the curses.h file would be in an ncurses subdirectory (e.g., 665dnl /usr/include/ncurses), but someone may have installed overwriting the 666dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd 667dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in 668dnl the header. 669dnl 670dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header 671dnl is already in the include-path, don't even bother with this, since we cannot 672dnl easily determine which file it is. In this case, it has to be <curses.h>. 673dnl 674dnl The optional parameter gives the root name of the library, in case it is 675dnl not installed as the default curses library. That is how the 676dnl wide-character version of ncurses is installed. 677AC_DEFUN([CF_NCURSES_CPPFLAGS], 678[AC_REQUIRE([CF_WITH_CURSES_DIR]) 679 680AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl 681cf_ncuhdr_root=ifelse($1,,ncurses,$1) 682 683test -n "$cf_cv_curses_dir" && \ 684test "$cf_cv_curses_dir" != "no" && \ 685CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS" 686 687AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[ 688 cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" 689 ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" 690 for cf_header in $cf_header_list 691 do 692 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1) 693 test "$cf_cv_ncurses_h" != no && break 694 done 695]) 696 697if test "$cf_cv_ncurses_h" != no ; then 698 cf_cv_ncurses_header=$cf_cv_ncurses_h 699else 700AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ 701 test -n "$verbose" && echo 702 CF_HEADER_PATH(cf_search,$cf_ncuhdr_root) 703 test -n "$verbose" && echo search path $cf_search 704 cf_save2_CPPFLAGS="$CPPFLAGS" 705 for cf_incdir in $cf_search 706 do 707 CF_ADD_INCDIR($cf_incdir) 708 for cf_header in \ 709 ncurses.h \ 710 curses.h 711 do 712 CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1) 713 if test "$cf_cv_ncurses_h2" != no ; then 714 cf_cv_ncurses_h2=$cf_incdir/$cf_header 715 test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG 716 break 717 fi 718 test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG 719 done 720 CPPFLAGS="$cf_save2_CPPFLAGS" 721 test "$cf_cv_ncurses_h2" != no && break 722 done 723 test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found) 724 ]) 725 726 CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2) 727 cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` 728 if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then 729 cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header 730 fi 731 CF_ADD_INCDIR($cf_1st_incdir) 732 733fi 734 735AC_DEFINE(NCURSES) 736 737case $cf_cv_ncurses_header in # (vi 738*ncurses.h) 739 AC_DEFINE(HAVE_NCURSES_H) 740 ;; 741esac 742 743case $cf_cv_ncurses_header in # (vi 744ncurses/curses.h|ncurses/ncurses.h) 745 AC_DEFINE(HAVE_NCURSES_NCURSES_H) 746 ;; 747ncursesw/curses.h|ncursesw/ncurses.h) 748 AC_DEFINE(HAVE_NCURSESW_NCURSES_H) 749 ;; 750esac 751 752CF_NCURSES_VERSION 753])dnl 754dnl --------------------------------------------------------------------------- 755dnl CF_NCURSES_LIBS version: 12 updated: 2004/04/27 16:26:05 756dnl --------------- 757dnl Look for the ncurses library. This is a little complicated on Linux, 758dnl because it may be linked with the gpm (general purpose mouse) library. 759dnl Some distributions have gpm linked with (bsd) curses, which makes it 760dnl unusable with ncurses. However, we don't want to link with gpm unless 761dnl ncurses has a dependency, since gpm is normally set up as a shared library, 762dnl and the linker will record a dependency. 763dnl 764dnl The optional parameter gives the root name of the library, in case it is 765dnl not installed as the default curses library. That is how the 766dnl wide-character version of ncurses is installed. 767AC_DEFUN([CF_NCURSES_LIBS], 768[AC_REQUIRE([CF_NCURSES_CPPFLAGS]) 769 770cf_nculib_root=ifelse($1,,ncurses,$1) 771 # This works, except for the special case where we find gpm, but 772 # ncurses is in a nonstandard location via $LIBS, and we really want 773 # to link gpm. 774cf_ncurses_LIBS="" 775cf_ncurses_SAVE="$LIBS" 776AC_CHECK_LIB(gpm,Gpm_Open, 777 [AC_CHECK_LIB(gpm,initscr, 778 [LIBS="$cf_ncurses_SAVE"], 779 [cf_ncurses_LIBS="-lgpm"])]) 780 781case $host_os in #(vi 782freebsd*) 783 # This is only necessary if you are linking against an obsolete 784 # version of ncurses (but it should do no harm, since it's static). 785 if test "$cf_nculib_root" = ncurses ; then 786 AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"]) 787 fi 788 ;; 789esac 790 791LIBS="$cf_ncurses_LIBS $LIBS" 792 793if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) 794then 795 LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS" 796else 797 CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root, 798 [#include <${cf_cv_ncurses_header-curses.h}>], 799 [initscr()], 800 initscr) 801fi 802 803if test -n "$cf_ncurses_LIBS" ; then 804 AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS) 805 cf_ncurses_SAVE="$LIBS" 806 for p in $cf_ncurses_LIBS ; do 807 q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` 808 if test "$q" != "$LIBS" ; then 809 LIBS="$q" 810 fi 811 done 812 AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], 813 [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);], 814 [AC_MSG_RESULT(yes)], 815 [AC_MSG_RESULT(no) 816 LIBS="$cf_ncurses_SAVE"]) 817fi 818 819CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root) 820AC_DEFINE_UNQUOTED($cf_nculib_ROOT) 821])dnl 822dnl --------------------------------------------------------------------------- 823dnl CF_NCURSES_VERSION version: 11 updated: 2003/11/06 19:59:57 824dnl ------------------ 825dnl Check for the version of ncurses, to aid in reporting bugs, etc. 826dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use 827dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi. 828AC_DEFUN([CF_NCURSES_VERSION], 829[ 830AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl 831AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[ 832 cf_cv_ncurses_version=no 833 cf_tempfile=out$$ 834 rm -f $cf_tempfile 835 AC_TRY_RUN([ 836#include <${cf_cv_ncurses_header-curses.h}> 837#include <stdio.h> 838int main() 839{ 840 FILE *fp = fopen("$cf_tempfile", "w"); 841#ifdef NCURSES_VERSION 842# ifdef NCURSES_VERSION_PATCH 843 fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); 844# else 845 fprintf(fp, "%s\n", NCURSES_VERSION); 846# endif 847#else 848# ifdef __NCURSES_H 849 fprintf(fp, "old\n"); 850# else 851 make an error 852# endif 853#endif 854 exit(0); 855}],[ 856 cf_cv_ncurses_version=`cat $cf_tempfile`],,[ 857 858 # This will not work if the preprocessor splits the line after the 859 # Autoconf token. The 'unproto' program does that. 860 cat > conftest.$ac_ext <<EOF 861#include <${cf_cv_ncurses_header-curses.h}> 862#undef Autoconf 863#ifdef NCURSES_VERSION 864Autoconf NCURSES_VERSION 865#else 866#ifdef __NCURSES_H 867Autoconf "old" 868#endif 869; 870#endif 871EOF 872 cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out" 873 AC_TRY_EVAL(cf_try) 874 if test -f conftest.out ; then 875 cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'` 876 test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" 877 rm -f conftest.out 878 fi 879]) 880 rm -f $cf_tempfile 881]) 882test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES) 883])dnl 884dnl --------------------------------------------------------------------------- 885dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38 886dnl -------------- 887dnl Check the argument to see that it looks like a pathname. Rewrite it if it 888dnl begins with one of the prefix/exec_prefix variables, and then again if the 889dnl result begins with 'NONE'. This is necessary to work around autoconf's 890dnl delayed evaluation of those symbols. 891AC_DEFUN([CF_PATH_SYNTAX],[ 892case ".[$]$1" in #(vi 893.\[$]\(*\)*|.\'*\'*) #(vi 894 ;; 895..|./*|.\\*) #(vi 896 ;; 897.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX 898 ;; 899.\[$]{*prefix}*) #(vi 900 eval $1="[$]$1" 901 case ".[$]$1" in #(vi 902 .NONE/*) 903 $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` 904 ;; 905 esac 906 ;; #(vi 907.NONE/*) 908 $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%` 909 ;; 910*) 911 ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2) 912 ;; 913esac 914])dnl 915dnl --------------------------------------------------------------------------- 916dnl CF_POSIX_C_SOURCE version: 3 updated: 2005/02/04 06:56:22 917dnl ----------------- 918dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed. 919dnl 920dnl POSIX.1-1990 _POSIX_SOURCE 921dnl POSIX.1-1990 and _POSIX_SOURCE and 922dnl POSIX.2-1992 C-Language _POSIX_C_SOURCE=2 923dnl Bindings Option 924dnl POSIX.1b-1993 _POSIX_C_SOURCE=199309L 925dnl POSIX.1c-1996 _POSIX_C_SOURCE=199506L 926dnl X/Open 2000 _POSIX_C_SOURCE=200112L 927dnl 928dnl Parameters: 929dnl $1 is the nominal value for _POSIX_C_SOURCE 930AC_DEFUN([CF_POSIX_C_SOURCE], 931[ 932cf_POSIX_C_SOURCE=ifelse($1,,199506L,$1) 933AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_posix_c_source,[ 934 CF_MSG_LOG(if the symbol is already defined go no further) 935 AC_TRY_COMPILE([#include <sys/types.h>],[ 936#ifndef _POSIX_C_SOURCE 937make an error 938#endif], 939 [cf_cv_posix_c_source=no], 940 [cf_want_posix_source=no 941 case .$cf_POSIX_C_SOURCE in 942 .[[12]]??*) 943 cf_cv_posix_c_source="-U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" 944 ;; 945 .2) 946 cf_cv_posix_c_source="-U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" 947 cf_want_posix_source=yes 948 ;; 949 .*) 950 cf_want_posix_source=yes 951 ;; 952 esac 953 if test "$cf_want_posix_source" = yes ; then 954 AC_TRY_COMPILE([#include <sys/types.h>],[ 955#ifdef _POSIX_SOURCE 956make an error 957#endif],[], 958 cf_cv_posix_c_source="$cf_cv_posix_c_source -U_POSIX_SOURCE -D_POSIX_SOURCE") 959 fi 960 CF_MSG_LOG(ifdef from value $cf_POSIX_C_SOURCE) 961 cf_save="$CPPFLAGS" 962 CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" 963 CF_MSG_LOG(if the second compile does not leave our definition intact error) 964 AC_TRY_COMPILE([#include <sys/types.h>],[ 965#ifndef _POSIX_C_SOURCE 966make an error 967#endif],, 968 [cf_cv_posix_c_source=no]) 969 CPPFLAGS="$cf_save" 970 ]) 971]) 972test "$cf_cv_posix_c_source" != no && CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source" 973])dnl 974dnl --------------------------------------------------------------------------- 975dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46 976dnl -------------- 977dnl Construct a search-list for a nonstandard header/lib-file 978dnl $1 = the variable to return as result 979dnl $2 = the package name 980dnl $3 = the subdirectory, e.g., bin, include or lib 981AC_DEFUN([CF_SUBDIR_PATH], 982[$1="" 983 984test -d [$]HOME && { 985 test -n "$verbose" && echo " ... testing $3-directories under [$]HOME" 986 test -d [$]HOME/$3 && $1="[$]$1 [$]HOME/$3" 987 test -d [$]HOME/$3/$2 && $1="[$]$1 [$]HOME/$3/$2" 988 test -d [$]HOME/$3/$2/$3 && $1="[$]$1 [$]HOME/$3/$2/$3" 989} 990 991# For other stuff under the home directory, it should be sufficient to put 992# a symbolic link for $HOME/$2 to the actual package location: 993test -d [$]HOME/$2 && { 994 test -n "$verbose" && echo " ... testing $3-directories under [$]HOME/$2" 995 test -d [$]HOME/$2/$3 && $1="[$]$1 [$]HOME/$2/$3" 996 test -d [$]HOME/$2/$3/$2 && $1="[$]$1 [$]HOME/$2/$3/$2" 997} 998 999test "$prefix" != /usr/local && \ 1000test -d /usr/local && { 1001 test -n "$verbose" && echo " ... testing $3-directories under /usr/local" 1002 test -d /usr/local/$3 && $1="[$]$1 /usr/local/$3" 1003 test -d /usr/local/$3/$2 && $1="[$]$1 /usr/local/$3/$2" 1004 test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3" 1005 test -d /usr/local/$2/$3 && $1="[$]$1 /usr/local/$2/$3" 1006 test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2" 1007} 1008 1009test "$prefix" != NONE && \ 1010test -d $prefix && { 1011 test -n "$verbose" && echo " ... testing $3-directories under $prefix" 1012 test -d $prefix/$3 && $1="[$]$1 $prefix/$3" 1013 test -d $prefix/$3/$2 && $1="[$]$1 $prefix/$3/$2" 1014 test -d $prefix/$3/$2/$3 && $1="[$]$1 $prefix/$3/$2/$3" 1015 test -d $prefix/$2/$3 && $1="[$]$1 $prefix/$2/$3" 1016 test -d $prefix/$2/$3/$2 && $1="[$]$1 $prefix/$2/$3/$2" 1017} 1018 1019test "$prefix" != /opt && \ 1020test -d /opt && { 1021 test -n "$verbose" && echo " ... testing $3-directories under /opt" 1022 test -d /opt/$3 && $1="[$]$1 /opt/$3" 1023 test -d /opt/$3/$2 && $1="[$]$1 /opt/$3/$2" 1024 test -d /opt/$3/$2/$3 && $1="[$]$1 /opt/$3/$2/$3" 1025 test -d /opt/$2/$3 && $1="[$]$1 /opt/$2/$3" 1026 test -d /opt/$2/$3/$2 && $1="[$]$1 /opt/$2/$3/$2" 1027} 1028 1029test "$prefix" != /usr && \ 1030test -d /usr && { 1031 test -n "$verbose" && echo " ... testing $3-directories under /usr" 1032 test -d /usr/$3 && $1="[$]$1 /usr/$3" 1033 test -d /usr/$3/$2 && $1="[$]$1 /usr/$3/$2" 1034 test -d /usr/$3/$2/$3 && $1="[$]$1 /usr/$3/$2/$3" 1035 test -d /usr/$2/$3 && $1="[$]$1 /usr/$2/$3" 1036} 1037])dnl 1038dnl --------------------------------------------------------------------------- 1039dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40 1040dnl ------------------ 1041dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on 1042dnl older SCO configurations. 1043AC_DEFUN([CF_SYS_TIME_SELECT], 1044[ 1045AC_MSG_CHECKING(if sys/time.h works with sys/select.h) 1046AC_CACHE_VAL(cf_cv_sys_time_select,[ 1047AC_TRY_COMPILE([ 1048#include <sys/types.h> 1049#ifdef HAVE_SYS_TIME_H 1050#include <sys/time.h> 1051#endif 1052#ifdef HAVE_SYS_SELECT_H 1053#include <sys/select.h> 1054#endif 1055],[],[cf_cv_sys_time_select=yes], 1056 [cf_cv_sys_time_select=no]) 1057 ]) 1058AC_MSG_RESULT($cf_cv_sys_time_select) 1059test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT) 1060])dnl 1061dnl --------------------------------------------------------------------------- 1062dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 1063dnl -------- 1064dnl Make an uppercase version of a variable 1065dnl $1=uppercase($2) 1066AC_DEFUN([CF_UPPER], 1067[ 1068$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` 1069])dnl 1070dnl --------------------------------------------------------------------------- 1071dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42 1072dnl ----------- 1073dnl Check for multibyte support, and if not found, utf8 compatibility library 1074AC_DEFUN([CF_UTF8_LIB], 1075[ 1076AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[ 1077 cf_save_LIBS="$LIBS" 1078 AC_TRY_LINK([ 1079#include <stdlib.h>],[putwc(0,0);], 1080 [cf_cv_utf8_lib=yes], 1081 [LIBS="-lutf8 $LIBS" 1082 AC_TRY_LINK([ 1083#include <libutf8.h>],[putwc(0,0);], 1084 [cf_cv_utf8_lib=add-on], 1085 [cf_cv_utf8_lib=no]) 1086 LIBS="$cf_save_LIBS" 1087])]) 1088 1089# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between 1090# ncurses/ncursesw: 1091if test "$cf_cv_utf8_lib" = "add-on" ; then 1092 AC_DEFINE(HAVE_LIBUTF8_H) 1093 LIBS="-lutf8 $LIBS" 1094fi 1095])dnl 1096dnl --------------------------------------------------------------------------- 1097dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14 1098dnl ---------- 1099dnl Use AC_VERBOSE w/o the warnings 1100AC_DEFUN([CF_VERBOSE], 1101[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG 1102])dnl 1103dnl --------------------------------------------------------------------------- 1104dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59 1105dnl ------------------ 1106dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses 1107dnl libraries. 1108AC_DEFUN([CF_WITH_CURSES_DIR],[ 1109AC_ARG_WITH(curses-dir, 1110 [ --with-curses-dir=DIR directory in which (n)curses is installed], 1111 [CF_PATH_SYNTAX(withval) 1112 cf_cv_curses_dir=$withval], 1113 [cf_cv_curses_dir=no]) 1114])dnl 1115dnl --------------------------------------------------------------------------- 1116dnl CF_XOPEN_SOURCE version: 17 updated: 2005/02/06 12:07:45 1117dnl --------------- 1118dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, 1119dnl or adapt to the vendor's definitions to get equivalent functionality. 1120dnl 1121dnl Parameters: 1122dnl $1 is the nominal value for _XOPEN_SOURCE 1123dnl $2 is the nominal value for _POSIX_C_SOURCE 1124AC_DEFUN([CF_XOPEN_SOURCE],[ 1125 1126cf_XOPEN_SOURCE=ifelse($1,,500,$1) 1127cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2) 1128 1129case $host_os in #(vi 1130aix[[45]]*) #(vi 1131 CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE" 1132 ;; 1133freebsd*) #(vi 1134 # 5.x headers associate 1135 # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L 1136 # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L 1137 cf_POSIX_C_SOURCE=200112L 1138 cf_XOPEN_SOURCE=600 1139 CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" 1140 ;; 1141hpux*) #(vi 1142 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" 1143 ;; 1144irix[[56]].*) #(vi 1145 CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" 1146 ;; 1147linux*|gnu*) #(vi 1148 CF_GNU_SOURCE 1149 ;; 1150mirbsd*) #(vi 1151 # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h> 1152 ;; 1153netbsd*) #(vi 1154 # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw 1155 ;; 1156openbsd*) #(vi 1157 # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw 1158 ;; 1159osf[[45]]*) #(vi 1160 CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE" 1161 ;; 1162sco*) #(vi 1163 # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer 1164 ;; 1165solaris*) #(vi 1166 CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" 1167 ;; 1168*) 1169 AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ 1170 AC_TRY_COMPILE([#include <sys/types.h>],[ 1171#ifndef _XOPEN_SOURCE 1172make an error 1173#endif], 1174 [cf_cv_xopen_source=no], 1175 [cf_save="$CPPFLAGS" 1176 CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" 1177 AC_TRY_COMPILE([#include <sys/types.h>],[ 1178#ifdef _XOPEN_SOURCE 1179make an error 1180#endif], 1181 [cf_cv_xopen_source=no], 1182 [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) 1183 CPPFLAGS="$cf_save" 1184 ]) 1185]) 1186test "$cf_cv_xopen_source" != no && CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE -D_XOPEN_SOURCE=$cf_cv_xopen_source" 1187 CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) 1188 ;; 1189esac 1190]) 1191