⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aclocal.m4

📁 含有BACKTARACKING的編譯軟體
💻 M4
字号:
dnl $Id: aclocal.m4,v 1.2 2004/03/28 20:14:05 tom Exp $dnldnl Macros for cproto configure script (T.Dickey)dnl ---------------------------------------------------------------------------dnl ---------------------------------------------------------------------------dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15dnl -------------dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGSdnl The second parameter if given makes this macro verbose.AC_DEFUN([CF_ADD_CFLAGS],[cf_new_cflags=cf_new_cppflags=for cf_add_cflags in $1do	case $cf_add_cflags in #(vi	-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi		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"		;;	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"fi])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_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31dnl --------------dnl Allow user to disable a normally-on option.AC_DEFUN([CF_ARG_DISABLE],[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnldnl ---------------------------------------------------------------------------dnl CF_ARG_OPTION version: 3 updated: 1997/10/18 14:42:41dnl -------------dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogusdnl values.dnldnl Parameters:dnl $1 = option namednl $2 = help-stringdnl $3 = action to perform if option is not defaultdnl $4 = action if perform if option is defaultdnl $5 = default option value (either 'yes' or 'no')AC_DEFUN([CF_ARG_OPTION],[AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes)  if test "$enableval" != "$5" ; thenifelse($3,,[    :]dnl,[    $3]) ifelse($4,,,[  else    $4])  fi],[enableval=$5 ifelse($4,,,[  $4])dnl  ])])dnldnl ---------------------------------------------------------------------------dnl CF_CHECK_CACHE version: 9 updated: 2004/01/30 15:59:13dnl --------------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 ; 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_DISABLE_ECHO version: 10 updated: 2003/04/17 22:27:11dnl ---------------dnl You can always use "make -n" to see the actual options, but it's hard todnl pick out/analyze warning messages when the compile-line is long.dnldnl Sets:dnl	ECHO_LT - symbol to control if libtool is verbosednl	ECHO_LD - symbol to prefix "cc -o" linesdnl	RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)dnl	SHOW_CC - symbol to put before explicit "cc -c" linesdnl	ECHO_CC - symbol to put before any "cc" linednlAC_DEFUN([CF_DISABLE_ECHO],[AC_MSG_CHECKING(if you want to see long compiling messages)CF_ARG_DISABLE(echo,	[  --disable-echo          display "compiling" commands],	[    ECHO_LT='--silent'    ECHO_LD='@echo linking [$]@;'    RULE_CC='	@echo compiling [$]<'    SHOW_CC='	@echo compiling [$]@'    ECHO_CC='@'],[    ECHO_LT=''    ECHO_LD=''    RULE_CC='# compiling'    SHOW_CC='# compiling'    ECHO_CC=''])AC_MSG_RESULT($enableval)AC_SUBST(ECHO_LT)AC_SUBST(ECHO_LD)AC_SUBST(RULE_CC)AC_SUBST(SHOW_CC)AC_SUBST(ECHO_CC)])dnldnl ---------------------------------------------------------------------------dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52dnl -----------------dnl Test for availability of useful gcc __attribute__ directives to quietdnl compiler warnings.  Though useful, not all are supported -- and contrarydnl to documentation, unrecognized directives cause older compilers to barf.AC_DEFUN([CF_GCC_ATTRIBUTES],[if test "$GCC" = yesthencat > conftest.i <<EOF#ifndef GCC_PRINTF#define GCC_PRINTF 0#endif#ifndef GCC_SCANF#define GCC_SCANF 0#endif#ifndef GCC_NORETURN#define GCC_NORETURN /* nothing */#endif#ifndef GCC_UNUSED#define GCC_UNUSED /* nothing */#endifEOFif test "$GCC" = yesthen	AC_CHECKING([for $CC __attribute__ directives])cat > conftest.$ac_ext <<EOF#line __oline__ "configure"#include "confdefs.h"#include "conftest.h"#include "conftest.i"#if	GCC_PRINTF#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))#else#define GCC_PRINTFLIKE(fmt,var) /*nothing*/#endif#if	GCC_SCANF#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))#else#define GCC_SCANFLIKE(fmt,var)  /*nothing*/#endifextern void wow(char *,...) GCC_SCANFLIKE(1,2);extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;extern void foo(void) GCC_NORETURN;int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }EOF	for cf_attribute in scanf printf unused noreturn	do		CF_UPPER(CF_ATTRIBUTE,$cf_attribute)		cf_directive="__attribute__(($cf_attribute))"		echo "checking for $CC $cf_directive" 1>&AC_FD_CC		case $cf_attribute in		scanf|printf)		cat >conftest.h <<EOF#define GCC_$CF_ATTRIBUTE 1EOF			;;		*)		cat >conftest.h <<EOF#define GCC_$CF_ATTRIBUTE $cf_directiveEOF			;;		esac		if AC_TRY_EVAL(ac_compile); then			test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)			cat conftest.h >>confdefs.h		fi	doneelse	fgrep define conftest.i >>confdefs.hfirm -rf conftest*fi])dnldnl ---------------------------------------------------------------------------dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57dnl --------------dnl Find version of gccAC_DEFUN([CF_GCC_VERSION],[AC_REQUIRE([AC_PROG_CC])GCC_VERSION=noneif test "$GCC" = yes ; then	AC_MSG_CHECKING(version of $CC)	GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"	test -z "$GCC_VERSION" && GCC_VERSION=unknown	AC_MSG_RESULT($GCC_VERSION)fi])dnldnl ---------------------------------------------------------------------------dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30dnl ---------------dnl Check if the compiler supports useful warning options.  There's a few thatdnl we don't use, simply because they're too noisy:dnldnl	-Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)dnl	-Wredundant-decls (system headers make this too noisy)dnl	-Wtraditional (combines too many unrelated messages, only a few useful)dnl	-Wwrite-strings (too noisy, but should review occasionally).  Thisdnl		is enabled for ncurses using "--enable-const".dnl	-pedanticdnlAC_DEFUN([CF_GCC_WARNINGS],[AC_REQUIRE([CF_GCC_VERSION])if test "$GCC" = yesthen	cat > conftest.$ac_ext <<EOF#line __oline__ "configure"int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }EOF	AC_CHECKING([for $CC warning options])	cf_save_CFLAGS="$CFLAGS"	EXTRA_CFLAGS="-W -Wall"	cf_warn_CONST=""	test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"	for cf_opt in \		Wbad-function-cast \		Wcast-align \		Wcast-qual \		Winline \		Wmissing-declarations \		Wmissing-prototypes \		Wnested-externs \		Wpointer-arith \		Wshadow \		Wstrict-prototypes \		Wundef $cf_warn_CONST	do		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"		if AC_TRY_EVAL(ac_compile); then			test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)			case $cf_opt in #(vi			Wcast-qual) #(vi				CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"				;;			Winline) #(vi				case $GCC_VERSION in				3.3*)					CF_VERBOSE(feature is broken in gcc $GCC_VERSION)					continue;;				esac				;;			esac			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"		fi	done	rm -f conftest*	CFLAGS="$cf_save_CFLAGS"fiAC_SUBST(EXTRA_CFLAGS)])dnldnl ---------------------------------------------------------------------------dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18dnl -----------dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.AC_DEFUN([CF_PROG_EXT],[AC_REQUIRE([CF_CHECK_CACHE])case $cf_cv_system_name inos2*)    CFLAGS="$CFLAGS -Zmt"    CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"    CXXFLAGS="$CXXFLAGS -Zmt"    # autoconf's macro sets -Zexe and suffix both, which conflict:w    LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"    ac_cv_exeext=.exe    ;;esacAC_EXEEXTAC_OBJEXTPROG_EXT="$EXEEXT"AC_SUBST(PROG_EXT)test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")])dnldnl ---------------------------------------------------------------------------dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59dnl --------dnl Make an uppercase version of a variablednl $1=uppercase($2)AC_DEFUN([CF_UPPER],[$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`])dnldnl ---------------------------------------------------------------------------dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14dnl ----------dnl Use AC_VERBOSE w/o the warningsAC_DEFUN([CF_VERBOSE],[test -n "$verbose" && echo "	$1" 1>&AC_FD_MSG])dnldnl ---------------------------------------------------------------------------dnl CF_WITH_DBMALLOC version: 4 updated: 2004/02/28 05:49:27dnl ----------------dnl Configure-option for dbmalloc.  The optional parameter is used to overridednl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.AC_DEFUN([CF_WITH_DBMALLOC],[AC_MSG_CHECKING(if you want to link with dbmalloc for testing)AC_ARG_WITH(dbmalloc,	[  --with-dbmalloc         use Conor Cahill's dbmalloc library],	[with_dbmalloc=$withval],	[with_dbmalloc=no])AC_MSG_RESULT($with_dbmalloc)if test "$with_dbmalloc" = yes ; then	AC_CHECK_HEADER(dbmalloc.h,		[AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))])fi])dnldnl ---------------------------------------------------------------------------dnl CF_WITH_DMALLOC version: 4 updated: 2004/02/28 05:49:27dnl ---------------dnl Configure-option for dmalloc.  The optional parameter is used to overridednl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.AC_DEFUN([CF_WITH_DMALLOC],[AC_MSG_CHECKING(if you want to link with dmalloc for testing)AC_ARG_WITH(dmalloc,	[  --with-dmalloc          use Gray Watson's dmalloc library],	[with_dmalloc=$withval],	[with_dmalloc=no])AC_MSG_RESULT($with_dmalloc)if test "$with_dmalloc" = yes ; then	AC_CHECK_HEADER(dmalloc.h,		[AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))])fi])dnldnl ---------------------------------------------------------------------------dnl CF_WITH_WARNINGS version: 4 updated: 2003/05/24 15:01:41dnl ----------------dnl Combine the checks for gcc features into a configure-script optionAC_DEFUN([CF_WITH_WARNINGS],[if ( test "$GCC" = yes || test "$GXX" = yes )thenAC_MSG_CHECKING(if you want to check for gcc warnings)AC_ARG_WITH(warnings,	[  --with-warnings         test: turn on gcc warnings],	[cf_opt_with_warnings=$withval],	[cf_opt_with_warnings=no])AC_MSG_RESULT($cf_opt_with_warnings)if test "$cf_opt_with_warnings" != no ; then	CF_GCC_ATTRIBUTES	CF_GCC_WARNINGSfifi])dnl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -