📄 config.m4
字号:
m4_define([upcase],`echo $1 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`)dnldnl love_FIND_FUNC(func, includes, arguments)dnl kind of like AC_CHECK_FUNC, but with headerfilesAC_DEFUN([love_FIND_FUNC], [AC_MSG_CHECKING([for $1])AC_CACHE_VAL(ac_cv_love_func_$1,[AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[$1($3)]])],[eval "ac_cv_love_func_$1=yes"],[eval "ac_cv_love_func_$1=no"])])eval "ac_res=\$ac_cv_love_func_$1"if false; then AC_CHECK_FUNCS($1)fi# $1eval "ac_tr_func=HAVE_[]upcase($1)"case "$ac_res" in yes) AC_DEFINE_UNQUOTED($ac_tr_func) AC_MSG_RESULT([yes]) ;; no) AC_MSG_RESULT([no]) ;;esac])dnl Not all systems have err.h, so we provide a replacement. Heimdaldnl unconditionally #includes <err.h>, so we need to create an err.h,dnl but we can't just have a static one because we don't want to usednl it on systems that have a real err.h. If the system has a realdnl err.h, we should use that (eg. on Darwin, the declarations getdnl linker attributes added, so we can't guarantee that our localdnl declarations will be correct). Phew!AC_CHECK_HEADERS([err.h], [], [ cp heimdal/lib/roken/err.hin heimdal_build/err.h ])AC_CHECK_HEADERS([ \ crypt.h \ curses.h \ errno.h \ inttypes.h \ netdb.h \ signal.h \ sys/bswap.h \ sys/file.h \ sys/stropts.h \ sys/timeb.h \ sys/times.h \ sys/uio.h \ sys/un.h \ sys/utsname.h \ term.h \ termcap.h \ time.h \ timezone.h \ ttyname.h \ netinet/in.h \ netinet/in6.h \ netinet6/in6.h])AC_CHECK_FUNCS([ \ atexit \ cgetent \ getprogname \ inet_aton \ gethostname \ getnameinfo \ iruserok \ putenv \ rcmd \ readv \ sendmsg \ setitimer \ socket \ strlwr \ strncasecmp \ strptime \ strsep \ strsep_copy \ strtok_r \ strupr \ swab \ umask \ uname \ unsetenv \ closefrom \ hstrerror \ err \ warn \ errx \ warnx \ flock \ getipnodebyname \ getipnodebyaddr \ freehostent \ writev])love_FIND_FUNC(bswap16, [#ifdef HAVE_SYS_BSWAP_H#include <sys/bswap.h>#endif], 0)love_FIND_FUNC(bswap32, [#ifdef HAVE_SYS_BSWAP_H#include <sys/bswap.h>#endif], 0)AC_DEFUN([AC_KRB_STRUCT_WINSIZE], [AC_MSG_CHECKING(for struct winsize)AC_CACHE_VAL(ac_cv_struct_winsize, [ac_cv_struct_winsize=nofor i in sys/termios.h sys/ioctl.h; doAC_EGREP_HEADER(struct[[ ]]*winsize,dnl$i, ac_cv_struct_winsize=yes; break)dnldone])if test "$ac_cv_struct_winsize" = "yes"; then AC_DEFINE(HAVE_STRUCT_WINSIZE, 1, [define if struct winsize is declared in sys/termios.h])fiAC_MSG_RESULT($ac_cv_struct_winsize)AC_EGREP_HEADER(ws_xpixel, termios.h, AC_DEFINE(HAVE_WS_XPIXEL, 1, [define if struct winsize has ws_xpixel]))AC_EGREP_HEADER(ws_ypixel, termios.h, AC_DEFINE(HAVE_WS_YPIXEL, 1, [define if struct winsize has ws_ypixel]))])AC_KRB_STRUCT_WINSIZEAC_TYPE_SIGNALif test "$ac_cv_type_signal" = "void" ; then AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if signal handlers return void.])fiAC_SUBST(VOID_RETSIGTYPE)m4_include(heimdal/cf/check-var.m4)rk_CHECK_VAR(h_errno, [#ifdef HAVE_SYS_TYPES_H#include <sys/types.h>#endif#ifdef HAVE_NETDB_H#include <netdb.h>#endif])m4_include(heimdal/cf/find-func.m4)m4_include(heimdal/cf/find-func-no-libs.m4)m4_include(heimdal/cf/find-func-no-libs2.m4)m4_include(heimdal/cf/resolv.m4)smb_save_LIBS=$LIBSRESOLV_LIBS=""LIBS=""dnl This fills in the global LIBS...rk_RESOLVdnl AC_CHECK_LIB_EXT(resolv, RESOLV_LIBS, res_search) SMB_ENABLE(RESOLV,YES)if test x"$LIBS" != "x"; then RESOLV_LIBS=$LIBSfiLIBS=$smb_save_LIBSSMB_EXT_LIB(RESOLV,[${RESOLV_LIBS}],[${RESOLV_CFLAGS}],[${RESOLV_CPPFLAGS}],[${RESOLV_LDFLAGS}])# these are disabled unless heimdal is found belowSMB_ENABLE(KERBEROS_LIB, NO)SMB_ENABLE(asn1_compile, NO)SMB_ENABLE(compile_et, NO)## We need bison -y and flex in new versions# Otherwise we get random runtime failures#LEX_YACC_COMBINATIONS=""LEX_YACC_COMBINATIONS="$LEX_YACC_COMBINATIONS flex-2.5.33:bison-2.3"AC_PROG_LEXLEX_BASENAME=`basename "$LEX"`if test x"$LEX_BASENAME" = x"flex"; then # "flex 2.5.33" FLEX_VERSION=`$LEX --version | cut -d ' ' -f2` AC_MSG_CHECKING(flex version) AC_MSG_RESULT($FLEX_VERSION) FLEX_MAJOR=`echo $FLEX_VERSION | cut -d '.' -f1` FLEX_MINOR=`echo $FLEX_VERSION | cut -d '.' -f2` FLEX_RELEASE=`echo $FLEX_VERSION | cut -d '.' -f3` LEX_VERSION="flex-$FLEX_MAJOR.$FLEX_MINOR.$FLEX_RELEASE"fiAC_PROG_YACCYACC_BASENAME=`basename "$YACC"`if test x"$YACC_BASENAME" = x"bison -y"; then # bison (GNU Bison) 2.3 BISON_VERSION=`$YACC --version | head -1 | cut -d ' ' -f4` AC_MSG_CHECKING(bison version) AC_MSG_RESULT($BISON_VERSION) BISON_MAJOR=`echo $BISON_VERSION | cut -d '.' -f1` BISON_MINOR=`echo $BISON_VERSION | cut -d '.' -f2` YACC_VERSION="bison-$BISON_MAJOR.$BISON_MINOR"fiAC_MSG_CHECKING(working LEX YACC combination)LEX_YACC="no"if test x"$LEX_VERSION" != x"" -a x"$YACC_VERSION" != x""; then V="$LEX_VERSION:$YACC_VERSION" for C in $LEX_YACC_COMBINATIONS; do if test x"$V" = x"$C"; then LEX_YACC=$V break; fi donefiif test x"$LEX_YACC" = x"no"; then LEX=false YACC=falsefiAC_MSG_RESULT($LEX_YACC)# Portions of heimdal kerberos are unpacked into source/heimdal# of the samba source tree. # if we ever get to using a host kerberos, we might add conditionals hereAC_DEFINE(HAVE_KRB5,1,[Whether kerberos is available])HAVE_KRB5=YESSMB_ENABLE(KERBEROS_LIB, YES)SMB_ENABLE(asn1_compile, YES)SMB_ENABLE(compile_et, YES)# only add closefrom if neededSMB_ENABLE(HEIMDAL_ROKEN_CLOSEFROM, NO)if test t$ac_cv_func_closefrom != tyes; then SMB_ENABLE(HEIMDAL_ROKEN_CLOSEFROM, YES)fi# only add getprogname if neededSMB_ENABLE(HEIMDAL_ROKEN_GETPROGNAME, NO)SMB_ENABLE(HEIMDAL_ROKEN_GETPROGNAME_H, NO)if test t$ac_cv_func_getprogname != tyes; then SMB_ENABLE(HEIMDAL_ROKEN_GETPROGNAME, YES) SMB_ENABLE(HEIMDAL_ROKEN_GETPROGNAME_H, YES)fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -