📄 aclocal.m4
字号:
dnl $Id: aclocal.m4,v 1.8 2005/02/27 00:02:01 tom Exp $dnl ---------------------------------------------------------------------------dnl ---------------------------------------------------------------------------dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48:30dnl -------------dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGSdnl The second parameter if given makes this macro verbose.dnldnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS,dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easilydnl confused by the quotes (which require backslashes to keep them usable).AC_DEFUN([CF_ADD_CFLAGS],[cf_fix_cppflags=nocf_new_cflags=cf_new_cppflags=cf_new_extra_cppflags=for cf_add_cflags in $1docase $cf_fix_cppflags inno) case $cf_add_cflags in #(vi -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi case $cf_add_cflags in -D*) cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ && test -z "${cf_tst_cflags}" \ && cf_fix_cppflags=yes if test $cf_fix_cppflags = yes ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" continue elif test "${cf_tst_cflags}" = "\"'" ; then cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" continue fi ;; esac case "$CPPFLAGS" in *$cf_add_cflags) #(vi ;; *) #(vi cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" ;; esac ;; *) cf_new_cflags="$cf_new_cflags $cf_add_cflags" ;; esac ;;yes) cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` test "${cf_add_cflags}" != "${cf_tst_cflags}" \ && test -z "${cf_tst_cflags}" \ && cf_fix_cppflags=no ;;esacdoneif test -n "$cf_new_cflags" ; then ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)]) CFLAGS="$CFLAGS $cf_new_cflags"fiif test -n "$cf_new_cppflags" ; then ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)]) CPPFLAGS="$cf_new_cppflags $CPPFLAGS"fiif test -n "$cf_new_extra_cppflags" ; then ifelse($2,,,[CF_VERBOSE(add to \$EXTRA_CPPFLAGS $cf_new_extra_cppflags)]) EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS"fiAC_SUBST(EXTRA_CPPFLAGS)])dnldnl ---------------------------------------------------------------------------dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52dnl -------------dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it'sdnl redundant. We don't normally need to add -I/usr/local/include for gcc,dnl but old versions (and some misinstalled ones) need that. To make thingsdnl worse, gcc 3.x gives error messages if -I/usr/local/include is added todnl the include-path).AC_DEFUN([CF_ADD_INCDIR],[for cf_add_incdir in $1do while true do case $cf_add_incdir in /usr/include) # (vi ;; /usr/local/include) # (vi if test "$GCC" = yes then cf_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" AC_TRY_COMPILE([#include <stdio.h>], [printf("Hello")], [], [CPPFLAGS="$cf_save_CPPFLAGS"]) fi ;; *) # (vi CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" ;; esac cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` test "$cf_top_incdir" = "$cf_add_incdir" && break cf_add_incdir="$cf_top_incdir" donedone])dnldnl ---------------------------------------------------------------------------dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34dnl ----------------dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'dnl in the sharutils 4.2 distribution.AC_DEFUN([CF_ANSI_CC_CHECK],[AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[cf_cv_ansi_cc=nocf_save_CFLAGS="$CFLAGS"cf_save_CPPFLAGS="$CPPFLAGS"# Don't try gcc -ansi; that turns off useful extensions and# breaks some systems' header files.# AIX -qlanglvl=ansi# Ultrix and OSF/1 -std1# HP-UX -Aa -D_HPUX_SOURCE# SVR4 -Xc# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)for cf_arg in "-DCC_HAS_PROTOS" \ "" \ -qlanglvl=ansi \ -std1 \ -Ae \ "-Aa -D_HPUX_SOURCE" \ -Xcdo CF_ADD_CFLAGS($cf_arg) AC_TRY_COMPILE([#ifndef CC_HAS_PROTOS#if !defined(__STDC__) || (__STDC__ != 1)choke me#endif#endif],[ int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);};], [cf_cv_ansi_cc="$cf_arg"; break])doneCFLAGS="$cf_save_CFLAGS"CPPFLAGS="$cf_save_CPPFLAGS"])if test "$cf_cv_ansi_cc" != "no"; thenif test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then CF_ADD_CFLAGS($cf_cv_ansi_cc)else AC_DEFINE(CC_HAS_PROTOS)fifi])dnldnl ---------------------------------------------------------------------------dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44dnl ---------------dnl For programs that must use an ANSI compiler, obtain compiler options thatdnl will make it recognize prototypes. We'll do preprocessor checks in otherdnl macros, since tools such as unproto can fake prototypes, but only part ofdnl the preprocessor.AC_DEFUN([CF_ANSI_CC_REQD],[AC_REQUIRE([CF_ANSI_CC_CHECK])if test "$cf_cv_ansi_cc" = "no"; then AC_ERROR([Your compiler does not appear to recognize prototypes.You have the following choices: a. adjust your compiler options b. get an up-to-date compiler c. use a wrapper such as unproto])fi])dnldnl ---------------------------------------------------------------------------dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31dnl --------------dnl Check if we're accidentally using a cache from a different machine.dnl Derive the system name, as a check for reusing the autoconf cache.dnldnl If we've packaged config.guess and config.sub, run that (since it does adnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allowdnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEMdnl which is useful in cross-compiles.dnldnl Note: we would use $ac_config_sub, but that is one of the places wherednl autoconf 2.5x broke compatibility with autoconf 2.13AC_DEFUN([CF_CHECK_CACHE],[if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then ifelse([$1],,[AC_CANONICAL_HOST],[$1]) system_name="$host_os"else system_name="`(uname -s -r) 2>/dev/null`" if test -z "$system_name" ; then system_name="`(hostname) 2>/dev/null`" fifitest -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])test -z "$system_name" && system_name="$cf_cv_system_name"test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)if test ".$system_name" != ".$cf_cv_system_name" ; then AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)) AC_ERROR("Please remove config.cache and try again.")fi])dnldnl ---------------------------------------------------------------------------dnl CF_CURSES_ACS_MAP version: 3 updated: 2003/05/17 22:19:02dnl -----------------dnl Check for likely values of acs_map[]:AC_DEFUN([CF_CURSES_ACS_MAP],[AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[cf_cv_curses_acs_map=unknownfor name in acs_map _acs_map __acs_map _nc_acs_mapdoAC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],[$name['k'] = ACS_PLUS],[cf_cv_curses_acs_map=$name; break])done])test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)])dnl ---------------------------------------------------------------------------dnl CF_CURSES_CHECK_TYPE version: 2 updated: 2003/03/01 23:40:33dnl --------------------dnl Check if curses.h defines the given typeAC_DEFUN([CF_CURSES_CHECK_TYPE],[AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h})AC_TRY_COMPILE([#ifndef _XOPEN_SOURCE_EXTENDED#define _XOPEN_SOURCE_EXTENDED#endif#include <${cf_cv_ncurses_header-curses.h}>],[$1 foo],cf_result=yes,cf_result=no)AC_MSG_RESULT($cf_result)if test $cf_result = yes ; then CF_UPPER(cf_result,have_type_$1) AC_DEFINE_UNQUOTED($cf_result)else AC_DEFINE_UNQUOTED($1,$2)fi])dnldnl ---------------------------------------------------------------------------dnl CF_CURSES_CPPFLAGS version: 7 updated: 2003/06/06 00:48:41dnl ------------------dnl Look for the curses headers.AC_DEFUN([CF_CURSES_CPPFLAGS],[AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[cf_cv_curses_incdir=nocase $host_os in #(vihpux10.*|hpux11.*) #(vi test -d /usr/include/curses_colr && \ cf_cv_curses_incdir="-I/usr/include/curses_colr" ;;sunos3*|sunos4*) test -d /usr/5lib && \ test -d /usr/5include && \ cf_cv_curses_incdir="-I/usr/5include" ;;esac])test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS"AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[cf_cv_ncurses_header=nonefor cf_header in \ curses.h \ ncurses.h \ ncurses/curses.h \ ncurses/ncurses.hdoAC_TRY_COMPILE([#include <${cf_header}>], [initscr(); tgoto("?", 0,0)], [cf_cv_ncurses_header=$cf_header; break],[])done])if test "$cf_cv_ncurses_header" = none ; then AC_MSG_ERROR(No curses header-files found)fi# cheat, to get the right #define's for HAVE_NCURSES_H, etc.AC_CHECK_HEADERS($cf_cv_ncurses_header)])dnldnl ---------------------------------------------------------------------------dnl CF_CURSES_LIBS version: 23 updated: 2003/11/06 19:59:57dnl --------------dnl Look for the curses libraries. Older curses implementations may requirednl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first.AC_DEFUN([CF_CURSES_LIBS],[AC_REQUIRE([CF_CURSES_CPPFLAGS])dnlAC_MSG_CHECKING(if we have identified curses libraries)AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], [initscr(); tgoto("?", 0,0)], cf_result=yes, cf_result=no)AC_MSG_RESULT($cf_result)if test "$cf_result" = no ; thencase $host_os in #(vifreebsd*) #(vi AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"]) ;;hpux10.*|hpux11.*) #(vi AC_CHECK_LIB(cur_colr,initscr,[ LIBS="-lcur_colr $LIBS" ac_cv_func_initscr=yes ],[ AC_CHECK_LIB(Hcurses,initscr,[ # HP's header uses __HP_CURSES, but user claims _HP_CURSES. LIBS="-lHcurses $LIBS" CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS" ac_cv_func_initscr=yes ])]) ;;linux*) # Suse Linux does not follow /usr/lib convention LIBS="$LIBS -L/lib" ;;sunos3*|sunos4*) test -d /usr/5lib && \ LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap" ac_cv_func_initscr=yes ;;esacif test ".$ac_cv_func_initscr" != .yes ; then cf_save_LIBS="$LIBS" cf_term_lib="" cf_curs_lib="" if test ".${cf_cv_ncurses_version-no}" != .no then cf_check_list="ncurses curses cursesX" else cf_check_list="cursesX curses ncurses" fi # Check for library containing tgoto. Do this before curses library # because it may be needed to link the test-case for initscr. AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[ for cf_term_lib in $cf_check_list termcap termlib unknown do AC_CHECK_LIB($cf_term_lib,tgoto,[break]) done ]) # Check for library containing initscr test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS" for cf_curs_lib in $cf_check_list xcurses jcurses unknown do AC_CHECK_LIB($cf_curs_lib,initscr,[break]) done test $cf_curs_lib = unknown && AC_ERROR(no curses library found) LIBS="-l$cf_curs_lib $cf_save_LIBS" if test "$cf_term_lib" = unknown ; then AC_MSG_CHECKING(if we can link with $cf_curs_lib library) AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>], [initscr()], [cf_result=yes], [cf_result=no]) AC_MSG_RESULT($cf_result) test $cf_result = no && AC_ERROR(Cannot link curses library) elif test "$cf_curs_lib" = "$cf_term_lib" ; then : elif test "$cf_term_lib" != predefined ; then AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -