📄 aclocal.m4
字号:
dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Supportdnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>dnl CY_AC_PATH_TCLCONFIG and CY_AC_LOAD_TCLCONFIG should be invokeddnl (in that order) before any other TCL macros. Similarly for TK.dnl CYGNUS LOCAL: This gets the right posix flag for gccAC_DEFUN(CY_AC_TCL_LYNX_POSIX,[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP])AC_MSG_CHECKING([if running LynxOS])AC_CACHE_VAL(ac_cv_os_lynx,[AC_EGREP_CPP(yes,[/* * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__" */#if defined(__Lynx__) || defined(Lynx)yes#endif], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)])#if test "$ac_cv_os_lynx" = "yes" ; then AC_MSG_RESULT(yes) AC_DEFINE(LYNX) AC_MSG_CHECKING([whether -mposix or -X is available]) AC_CACHE_VAL(ac_cv_c_posix_flag, [AC_TRY_COMPILE(,[ /* * This flag varies depending on how old the compiler is. * -X is for the old "cc" and "gcc" (based on 1.42). * -mposix is for the new gcc (at least 2.5.8). */ #if defined(__GNUC__) && __GNUC__ >= 2 choke me #endif ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")]) CC="$CC $ac_cv_c_posix_flag" AC_MSG_RESULT($ac_cv_c_posix_flag) else AC_MSG_RESULT(no)fi])## Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This# makes configure think it's cross compiling. If --target wasn't used, then# we can't configure, so something is wrong. We don't use the cache# here cause if somebody fixes their compiler install, we want this to work.AC_DEFUN(CY_AC_C_WORKS,[# If we cannot compile and link a trivial program, we can't expect anything to workAC_MSG_CHECKING(whether the compiler ($CC) actually works)AC_TRY_COMPILE(, [/* don't need anything here */], c_compiles=yes, c_compiles=no)AC_TRY_LINK(, [/* don't need anything here */], c_links=yes, c_links=no)if test x"${c_compiles}" = x"no" ; then AC_MSG_ERROR(the native compiler is broken and won't compile.)fiif test x"${c_links}" = x"no" ; then AC_MSG_ERROR(the native compiler is broken and won't link.)fiAC_MSG_RESULT(yes)])AC_DEFUN(CY_AC_PATH_TCLH, [## Ok, lets find the tcl source trees so we can use the headers# Warning: transition of version 9 to 10 will break this algorithm# because 10 sorts before 9. We also look for just tcl. We have to# be careful that we don't match stuff like tclX by accident.# the alternative search directory is involked by --with-tclinclude#no_tcl=trueAC_MSG_CHECKING(for Tcl private headers)AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl private headers are], with_tclinclude=${withval})AC_CACHE_VAL(ac_cv_c_tclh,[# first check to see if --with-tclinclude was specifiedif test x"${with_tclinclude}" != x ; then if test -f ${with_tclinclude}/tclInt.h ; then ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)` elif test -f ${with_tclinclude}/generic/tclInt.h ; then ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)` else AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers]) fifi# next check if it came with Tcl configuration fileif test x"${ac_cv_c_tclconfig}" != x ; then if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/../generic; pwd)` fifi# next check in private source directory## since ls returns lowest version numbers first, reverse its outputif test x"${ac_cv_c_tclh}" = x ; then for i in \ ${srcdir}/../tcl \ `ls -dr ${srcdir}/../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../tcl[[8]].[[2-9]] 2>/dev/null` \ ${srcdir}/../../tcl \ `ls -dr ${srcdir}/../../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../../tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../../tcl[[8]].[[2-9]] 2>/dev/null` \ ${srcdir}/../../../tcl \ `ls -dr ${srcdir}/../../../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../../../tcl[[9]].[[0-9]] 2>/dev/null ` \ `ls -dr ${srcdir}/../../../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../../../tcl[[8]].[[2-9]] 2>/dev/null ` ; do if test -f $i/generic/tclInt.h ; then ac_cv_c_tclh=`(cd $i/generic; pwd)` break fi donefi# finally check in a few common install locations## since ls returns lowest version numbers first, reverse its outputif test x"${ac_cv_c_tclh}" = x ; then for i in \ `ls -dr /usr/local/src/tcl[[9]].[[0-9]].[[0-9]] /usr/local/src/tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr /usr/local/src/tcl[[8]].[[2-9]].[[0-9]] /usr/local/src/tcl[[8]].[[2-9]] 2>/dev/null` \ `ls -dr /usr/local/lib/tcl[[9]].[[0-9]].[[0-9]] /usr/local/lib/tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr /usr/local/lib/tcl[[8]].[[2-9]].[[0-9]] /usr/local/lib/tcl[[8]].[[2-9]] 2>/dev/null` \ /usr/local/src/tcl \ /usr/local/lib/tcl \ ${prefix}/include ; do if test -f $i/generic/tclInt.h ; then ac_cv_c_tclh=`(cd $i/generic; pwd)` break fi donefi# see if one is installedif test x"${ac_cv_c_tclh}" = x ; then AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="")fi])if test x"${ac_cv_c_tclh}" = x ; then TCLHDIR="# no Tcl private headers found" TCLHDIRDASHI="# no Tcl private headers found" AC_MSG_ERROR([Can't find Tcl private headers])fiif test x"${ac_cv_c_tclh}" != x ; then no_tcl="" if test x"${ac_cv_c_tclh}" = x"installed" ; then AC_MSG_RESULT([is installed]) TCLHDIR="" TCLHDIRDASHI="" TCL_LIBRARY="" else AC_MSG_RESULT([found in ${ac_cv_c_tclh}]) # this hack is cause the TCLHDIR won't print if there is a "-I" in it. TCLHDIR="${ac_cv_c_tclh}" TCLHDIRDASHI="-I${ac_cv_c_tclh}" TCL_LIBRARY=`echo $TCLHDIR | sed -e 's/generic//'`library fifiAC_SUBST(TCLHDIR)AC_SUBST(TCLHDIRDASHI)AC_SUBST(TCL_LIBRARY)])AC_DEFUN(CY_AC_PATH_TCLCONFIG, [## Ok, lets find the tcl configuration# First, look for one uninstalled. # the alternative search directory is invoked by --with-tcl#if test x"${no_tcl}" = x ; then # we reset no_tcl in case something fails here no_tcl=true AC_ARG_WITH(tcl, [ --with-tcl directory containing tcl configuration (tclConfig.sh)], with_tclconfig=${withval}) AC_MSG_CHECKING([for Tcl configuration]) AC_CACHE_VAL(ac_cv_c_tclconfig,[ # First check to see if --with-tcl was specified. if test x"${with_tclconfig}" != x ; then if test -f "${with_tclconfig}/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` else AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) fi fi # then check for a private Tcl installation if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ../tcl \ `ls -dr ../tcl[[9]].[[0-9]].[[0-9]] ../tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr ../tcl[[8]].[[2-9]].[[0-9]] ../tcl[[8]].[[2-9]] 2>/dev/null` \ ../../tcl \ `ls -dr ../../tcl[[9]].[[0-9]].[[0-9]] ../../tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../tcl[[8]].[[2-9]].[[0-9]] ../../tcl[[8]].[[2-9]] 2>/dev/null` \ ../../../tcl \ `ls -dr ../../../tcl[[9]].[[0-9]].[[0-9]] ../../../tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr ../../../tcl[[8]].[[2-9]].[[0-9]] ../../../tcl[[8]].[[2-9]] 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` break fi done fi # check in a few common install locations if test x"${ac_cv_c_tclconfig}" = x ; then for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i; pwd)` break fi done fi # check in a few other private locations if test x"${ac_cv_c_tclconfig}" = x ; then for i in \ ${srcdir}/../tcl \ `ls -dr ${srcdir}/../tcl[[9]].[[0-9]].[[0-9]] ${srcdir}/../tcl[[9]].[[0-9]] 2>/dev/null` \ `ls -dr ${srcdir}/../tcl[[8]].[[2-9]].[[0-9]] ${srcdir}/../tcl[[8]].[[2-9]] 2>/dev/null` ; do if test -f "$i/unix/tclConfig.sh" ; then ac_cv_c_tclconfig=`(cd $i/unix; pwd)` break fi done fi ]) if test x"${ac_cv_c_tclconfig}" = x ; then TCLCONFIG="# no Tcl configs found" AC_MSG_WARN(Can't find Tcl configuration definitions) else no_tcl= TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh AC_MSG_RESULT(found $TCLCONFIG) fifi])# Defined as a separate macro so we don't have to cache the values# from PATH_TCLCONFIG (because this can also be cached).AC_DEFUN(CY_AC_LOAD_TCLCONFIG, [ . $TCLCONFIGdnl AC_SUBST(TCL_VERSION)dnl AC_SUBST(TCL_MAJOR_VERSION)dnl AC_SUBST(TCL_MINOR_VERSION)dnl AC_SUBST(TCL_CC) AC_SUBST(TCL_DEFS)dnl following is just to test if missing symbol can be handled by configure AC_SUBST(TCL_DELETEME) AC_SUBST(TCL_DBGX)dnl not used, don't export to save symbolsdnl AC_SUBST(TCL_LIB_FILE)dnl don't export, not used outside of configurednl AC_SUBST(TCL_LIBS)dnl not used, don't export to save symbolsdnl AC_SUBST(TCL_PREFIX) AC_SUBST(TCL_EXEC_PREFIX)dnl not used, don't export to save symbolsdnl AC_SUBST(TCL_SHLIB_CFLAGS) AC_SUBST(TCL_SHLIB_LD)dnl don't export, not used outside of configurednl AC_SUBST(TCL_SHLIB_LD_LIBS)# Tcl defines TCL_SHLIB_SUFFIX but TCL_SHARED_LIB_SUFFIX then looks for it# as just SHLIB_SUFFIX. How bizarre. SHLIB_SUFFIX=$TCL_SHLIB_SUFFIX AC_SUBST(SHLIB_SUFFIX)dnl not used, don't export to save symbolsdnl AC_SUBST(TCL_DL_LIBS) AC_SUBST(TCL_LD_FLAGS)dnl don't export, not used outside of configurednl AC_SUBST(TCL_LD_SEARCH_FLAGS)dnl AC_SUBST(TCL_COMPAT_OBJS)dnl AC_SUBST(TCL_RANLIB)# if Tcl's build directory has been removed, TCL_LIB_SPEC should# be used instead of TCL_BUILD_LIB_SPECSAVELIBS=$LIBS# eval used to expand out TCL_DBGXeval "LIBS=\"$TCL_BUILD_LIB_SPEC $TCL_LIBS\""AC_MSG_CHECKING([Tcl build library])AC_MSG_RESULT($LIBS)AC_CHECK_FUNC(Tcl_CreateCommand,[ AC_MSG_CHECKING([if Tcl library build specification is valid]) AC_MSG_RESULT(yes)],[ TCL_BUILD_LIB_SPEC=$TCL_LIB_SPEC # Can't pull the following CHECKING call out since it will be # broken up by the CHECK_FUNC just above. AC_MSG_CHECKING([if Tcl library build specification is valid]) AC_MSG_RESULT(no)])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -