?? aclocal.m4
字號(hào):
ac_cv_lbl_gcc_fixincludes=yes, ac_cv_lbl_gcc_fixincludes=no)) AC_MSG_RESULT($ac_cv_lbl_gcc_fixincludes) if test $ac_cv_lbl_gcc_fixincludes = no ; then # Don't cache failure unset ac_cv_lbl_gcc_fixincludes AC_MSG_ERROR(see the INSTALL for more info) fi fi])dnldnl Check for flex, default to lexdnl Require flex 2.4 or higherdnl Check for bison, default to yaccdnl Default to lex/yacc if both flex and bison are not availablednl Define the yy prefix string if using flex and bisondnldnl usage:dnldnl AC_LBL_LEX_AND_YACC(lex, yacc, yyprefix)dnldnl results:dnldnl $1 (lex set)dnl $2 (yacc appended)dnl $3 (optional flex and bison -P prefix)dnlAC_DEFUN(AC_LBL_LEX_AND_YACC, [AC_ARG_WITH(flex, [ --without-flex don't use flex]) AC_ARG_WITH(bison, [ --without-bison don't use bison]) if test "$with_flex" = no ; then $1=lex else AC_CHECK_PROGS($1, flex, lex) fi if test "$$1" = flex ; then # The -V flag was added in 2.4 AC_MSG_CHECKING(for flex 2.4 or higher) AC_CACHE_VAL(ac_cv_lbl_flex_v24, if flex -V >/dev/null 2>&1; then ac_cv_lbl_flex_v24=yes else ac_cv_lbl_flex_v24=no fi) AC_MSG_RESULT($ac_cv_lbl_flex_v24) if test $ac_cv_lbl_flex_v24 = no ; then s="2.4 or higher required" AC_MSG_WARN(ignoring obsolete flex executable ($s)) $1=lex fi fi if test "$with_bison" = no ; then $2=yacc else AC_CHECK_PROGS($2, bison, yacc) fi if test "$$2" = bison ; then $2="$$2 -y" fi if test "$$1" != lex -a "$$2" = yacc -o "$$1" = lex -a "$$2" != yacc ; then AC_MSG_WARN(don't have both flex and bison; reverting to lex/yacc) $1=lex $2=yacc fi if test "$$1" = flex -a -n "$3" ; then $1="$$1 -P$3" $2="$$2 -p $3" fi])dnldnl Checks to see if union wait is used with WEXITSTATUS()dnldnl usage:dnldnl AC_LBL_UNION_WAITdnldnl results:dnldnl DECLWAITSTATUS (defined)dnlAC_DEFUN(AC_LBL_UNION_WAIT, [AC_MSG_CHECKING(if union wait is used) AC_CACHE_VAL(ac_cv_lbl_union_wait, AC_TRY_COMPILE([# include <sys/types.h># include <sys/wait.h>], [int status; u_int i = WEXITSTATUS(status); u_int j = waitpid(0, &status, 0);], ac_cv_lbl_union_wait=no, ac_cv_lbl_union_wait=yes)) AC_MSG_RESULT($ac_cv_lbl_union_wait) if test $ac_cv_lbl_union_wait = yes ; then AC_DEFINE(DECLWAITSTATUS,union wait) else AC_DEFINE(DECLWAITSTATUS,int) fi])dnldnl Checks to see if the sockaddr struct has the 4.4 BSD sa_len memberdnldnl usage:dnldnl AC_LBL_SOCKADDR_SA_LENdnldnl results:dnldnl HAVE_SOCKADDR_SA_LEN (defined)dnlAC_DEFUN(AC_LBL_SOCKADDR_SA_LEN, [AC_MSG_CHECKING(if sockaddr struct has sa_len member) AC_CACHE_VAL(ac_cv_lbl_sockaddr_has_sa_len, AC_TRY_COMPILE([# include <sys/types.h># include <sys/socket.h>], [u_int i = sizeof(((struct sockaddr *)0)->sa_len)], ac_cv_lbl_sockaddr_has_sa_len=yes, ac_cv_lbl_sockaddr_has_sa_len=no)) AC_MSG_RESULT($ac_cv_lbl_sockaddr_has_sa_len) if test $ac_cv_lbl_sockaddr_has_sa_len = yes ; then AC_DEFINE(HAVE_SOCKADDR_SA_LEN) fi])dnldnl Checks to see if -R is useddnldnl usage:dnldnl AC_LBL_HAVE_RUN_PATHdnldnl results:dnldnl ac_cv_lbl_have_run_path (yes or no)dnlAC_DEFUN(AC_LBL_HAVE_RUN_PATH, [AC_MSG_CHECKING(for ${CC-cc} -R) AC_CACHE_VAL(ac_cv_lbl_have_run_path, [echo 'main(){}' > conftest.c ${CC-cc} -o conftest conftest.c -R/a1/b2/c3 >conftest.out 2>&1 if test ! -s conftest.out ; then ac_cv_lbl_have_run_path=yes else ac_cv_lbl_have_run_path=no fi rm -f conftest*]) AC_MSG_RESULT($ac_cv_lbl_have_run_path) ])dnldnl Check whether a given format can be used to print 64-bit integersdnlAC_DEFUN(AC_LBL_CHECK_64BIT_FORMAT, [ AC_MSG_CHECKING([whether %$1x can be used to format 64-bit integers]) AC_RUN_IFELSE( [ AC_LANG_SOURCE( [[# ifdef HAVE_INTTYPES_H #include <inttypes.h># endif# ifdef HAVE_SYS_BITYPES_H #include <sys/bitypes.h># endif #include <stdio.h> #include <sys/types.h> main() { u_int64_t t = 1; char strbuf[16+1]; sprintf(strbuf, "%016$1x", t << 32); if (strcmp(strbuf, "0000000100000000") == 0) exit(0); else exit(1); } ]]) ], [ AC_DEFINE(PRId64, "$1d") AC_DEFINE(PRIo64, "$1o") AC_DEFINE(PRIx64, "$1x") AC_DEFINE(PRIu64, "$1u") AC_MSG_RESULT(yes) ], [ AC_MSG_RESULT(no) $2 ]) ])dnldnl Checks to see if unaligned memory accesses faildnldnl usage:dnldnl AC_LBL_UNALIGNED_ACCESSdnldnl results:dnldnl LBL_ALIGN (DEFINED)dnlAC_DEFUN(AC_LBL_UNALIGNED_ACCESS, [AC_MSG_CHECKING(if unaligned accesses fail) AC_CACHE_VAL(ac_cv_lbl_unaligned_fail, [case "$host_cpu" in # # These are CPU types where: # # the CPU faults on an unaligned access, but at least some # OSes that support that CPU catch the fault and simulate # the unaligned access (e.g., Alpha/{Digital,Tru64} UNIX) - # the simulation is slow, so we don't want to use it; # # the CPU, I infer (from the old # # XXX: should also check that they don't do weird things (like on arm) # # comment) doesn't fault on unaligned accesses, but doesn't # do a normal unaligned fetch, either (e.g., presumably, ARM); # # for whatever reason, the test program doesn't work # (this has been claimed to be the case for several of those # CPUs - I don't know what the problem is; the problem # was reported as "the test program dumps core" for SuperH, # but that's what the test program is *supposed* to do - # it dumps core before it writes anything, so the test # for an empty output file should find an empty output # file and conclude that unaligned accesses don't work). # # This run-time test won't work if you're cross-compiling, so # in order to support cross-compiling for a particular CPU, # we have to wire in the list of CPU types anyway, as far as # I know, so perhaps we should just have a set of CPUs on # which we know it doesn't work, a set of CPUs on which we # know it does work, and have the script just fail on other # cpu types and update it when such a failure occurs. # alpha*|arm*|bfin*|hp*|mips*|sh*|sparc*|ia64|nv1) ac_cv_lbl_unaligned_fail=yes ;; *) cat >conftest.c <<EOF# include <sys/types.h># include <sys/wait.h># include <stdio.h> unsigned char a[[5]] = { 1, 2, 3, 4, 5 }; main() { unsigned int i; pid_t pid; int status; /* avoid "core dumped" message */ pid = fork(); if (pid < 0) exit(2); if (pid > 0) { /* parent */ pid = waitpid(pid, &status, 0); if (pid < 0) exit(3); exit(!WIFEXITED(status)); } /* child */ i = *(unsigned int *)&a[[1]]; printf("%d\n", i); exit(0); }EOF ${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS \ conftest.c $LIBS >/dev/null 2>&1 if test ! -x conftest ; then dnl failed to compile for some reason ac_cv_lbl_unaligned_fail=yes else ./conftest >conftest.out if test ! -s conftest.out ; then ac_cv_lbl_unaligned_fail=yes else ac_cv_lbl_unaligned_fail=no fi fi rm -f conftest* core core.conftest ;; esac]) AC_MSG_RESULT($ac_cv_lbl_unaligned_fail) if test $ac_cv_lbl_unaligned_fail = yes ; then AC_DEFINE(LBL_ALIGN) fi])dnldnl If using gcc and the file .devel exists:dnl Compile with -g (if supported) and -Walldnl If using gcc 2 or later, do extra prototype checking and some otherdnl checksdnl If an os prototype include exists, symlink os-proto.h to itdnldnl usage:dnldnl AC_LBL_DEVEL(copt)dnldnl results:dnldnl $1 (copt appended)dnl HAVE_OS_PROTO_H (defined)dnl os-proto.h (symlinked)dnlAC_DEFUN(AC_LBL_DEVEL, [rm -f os-proto.h if test "${LBL_CFLAGS+set}" = set; then $1="$$1 ${LBL_CFLAGS}" fi if test -f .devel ; then if test "$GCC" = yes ; then if test "${LBL_CFLAGS+set}" != set; then if test "$ac_cv_prog_cc_g" = yes ; then $1="-g $$1" fi $1="$$1 -Wall" if test $ac_cv_lbl_gcc_vers -gt 1 ; then $1="$$1 -Wmissing-prototypes -Wstrict-prototypes -Wwrite-strings -Wpointer-arith -W" fi fi else case "$host_os" in irix6*) V_CCOPT="$V_CCOPT -n32" ;; *) ;; esac fi os=`echo $host_os | sed -e 's/\([[0-9]][[0-9]]*\)[[^0-9]].*$/\1/'` name="lbl/os-$os.h" if test -f $name ; then ln -s $name os-proto.h AC_DEFINE(HAVE_OS_PROTO_H) else AC_MSG_WARN(can't find $name) fi fi])dnldnl Improved version of AC_CHECK_LIBdnldnl Thanks to John Hawkinson (jhawk@mit.edu)dnldnl usage:dnldnl AC_LBL_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [,dnl ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]])dnldnl results:dnldnl LIBSdnldnl XXX - "AC_LBL_LIBRARY_NET" was redone to use "AC_SEARCH_LIBS"dnl rather than "AC_LBL_CHECK_LIB", so this isn't used any more.dnl We keep it around for reference purposes in case it's everdnl useful in the future.dnldefine(AC_LBL_CHECK_LIB,[AC_MSG_CHECKING([for $2 in -l$1])dnl Use a cache variable name containing the library, functiondnl name, and extra libraries to link with, because the test really isdnl for library $1 defining function $2, when linked with potinaldnl library $5, not just for library $1. Separate tests with the samednl $1 and different $2's or $5's may have different results.ac_lib_var=`echo $1['_']$2['_']$5 | sed 'y%./+- %__p__%'`AC_CACHE_VAL(ac_cv_lbl_lib_$ac_lib_var,[ac_save_LIBS="$LIBS"LIBS="-l$1 $5 $LIBS"AC_TRY_LINK(dnlifelse([$2], [main], , dnl Avoid conflicting decl of main.[/* Override any gcc2 internal prototype to avoid an error. */]ifelse(AC_LANG, CPLUSPLUS, [#ifdef __cplusplusextern "C"#endif])dnl[/* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */char $2();]), [$2()], eval "ac_cv_lbl_lib_$ac_lib_var=yes", eval "ac_cv_lbl_lib_$ac_lib_var=no")LIBS="$ac_save_LIBS"])dnlif eval "test \"`echo '$ac_cv_lbl_lib_'$ac_lib_var`\" = yes"; then AC_MSG_RESULT(yes) ifelse([$3], ,[changequote(, )dnl ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`changequote([, ])dnl AC_DEFINE_UNQUOTED($ac_tr_lib) LIBS="-l$1 $LIBS"], [$3])else AC_MSG_RESULT(no)ifelse([$4], , , [$4])dnlfi])dnldnl AC_LBL_LIBRARY_NETdnldnl This test is for network applications that need socket() anddnl gethostbyname() -ish functions. Under Solaris, those applicationsdnl need to link with "-lsocket -lnsl". Under IRIX, they need to linkdnl with "-lnsl" but should *not* link with "-lsocket" becausednl libsocket.a breaks a number of things (for instance:dnl gethostbyname() under IRIX 5.2, and snoop sockets under mostdnl versions of IRIX).dnldnl Unfortunately, many application developers are not aware of this,dnl and mistakenly write tests that cause -lsocket to be used underdnl IRIX. It is also easy to write tests that cause -lnsl to be useddnl under operating systems where neither are necessary (or useful),dnl such as SunOS 4.1.4, which uses -lnsl for TLI.dnldnl This test exists so that every application developer does not testdnl this in a different, and subtly broken fashion.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -