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

📄 tcl.m4

📁 来自网络的iaxclient的协议栈源码
💻 M4
📖 第 1 页 / 共 5 页
字号:
AC_DEFUN(TEA_LOAD_TKCONFIG, [    AC_MSG_CHECKING([for existence of ${TK_BIN_DIR}/tkConfig.sh])    if test -f "${TK_BIN_DIR}/tkConfig.sh" ; then        AC_MSG_RESULT([loading])	. ${TK_BIN_DIR}/tkConfig.sh    else        AC_MSG_RESULT([could not find ${TK_BIN_DIR}/tkConfig.sh])    fi    # eval is required to do the TK_DBGX substitution    eval "TK_LIB_FILE=\"${TK_LIB_FILE}\""    eval "TK_STUB_LIB_FILE=\"${TK_STUB_LIB_FILE}\""    # If the TK_BIN_DIR is the build directory (not the install directory),    # then set the common variable name to the value of the build variables.    # For example, the variable TK_LIB_SPEC will be set to the value    # of TK_BUILD_LIB_SPEC. An extension should make use of TK_LIB_SPEC    # instead of TK_BUILD_LIB_SPEC since it will work with both an    # installed and uninstalled version of Tcl.    if test -f ${TK_BIN_DIR}/Makefile ; then        TK_LIB_SPEC=${TK_BUILD_LIB_SPEC}        TK_STUB_LIB_SPEC=${TK_BUILD_STUB_LIB_SPEC}        TK_STUB_LIB_PATH=${TK_BUILD_STUB_LIB_PATH}    elif test "`uname -s`" = "Darwin"; then	# If Tk was built as a framework, attempt to use the libraries	# from the framework at the given location so that linking works	# against Tk.framework installed in an arbitary location.	case ${TK_DEFS} in	    *TK_FRAMEWORK*)		if test -f ${TK_BIN_DIR}/${TK_LIB_FILE}; then		    for i in "`cd ${TK_BIN_DIR}; pwd`" \			     "`cd ${TK_BIN_DIR}/../..; pwd`"; do			if test "`basename "$i"`" = "${TK_LIB_FILE}.framework"; then			    TK_LIB_SPEC="-F`dirname "$i"` -framework ${TK_LIB_FILE}"			    break			fi		    done		fi		if test -f ${TK_BIN_DIR}/${TK_STUB_LIB_FILE}; then		    TK_STUB_LIB_SPEC="-L${TK_BIN_DIR} ${TK_STUB_LIB_FLAG}"		    TK_STUB_LIB_PATH="${TK_BIN_DIR}/${TK_STUB_LIB_FILE}"		fi		;;	esac    fi    # eval is required to do the TK_DBGX substitution    eval "TK_LIB_FLAG=\"${TK_LIB_FLAG}\""    eval "TK_LIB_SPEC=\"${TK_LIB_SPEC}\""    eval "TK_STUB_LIB_FLAG=\"${TK_STUB_LIB_FLAG}\""    eval "TK_STUB_LIB_SPEC=\"${TK_STUB_LIB_SPEC}\""    # Ensure windowingsystem is defined    if test "${TEA_PLATFORM}" = "unix" ; then	case ${TK_DEFS} in	    *MAC_OSX_TK*)		AC_DEFINE(MAC_OSX_TK, 1, [Are we building against Mac OS X TkAqua?])		TEA_WINDOWINGSYSTEM="aqua"		;;	    *)		TEA_WINDOWINGSYSTEM="x11"		;;	esac    elif test "${TEA_PLATFORM}" = "windows" ; then	TEA_WINDOWINGSYSTEM="win32"    fi    AC_SUBST(TK_VERSION)    AC_SUBST(TK_BIN_DIR)    AC_SUBST(TK_SRC_DIR)    AC_SUBST(TK_LIB_FILE)    AC_SUBST(TK_LIB_FLAG)    AC_SUBST(TK_LIB_SPEC)    AC_SUBST(TK_STUB_LIB_FILE)    AC_SUBST(TK_STUB_LIB_FLAG)    AC_SUBST(TK_STUB_LIB_SPEC)    AC_SUBST(TK_LIBS)    AC_SUBST(TK_XINCLUDES)])#------------------------------------------------------------------------# TEA_ENABLE_SHARED --##	Allows the building of shared libraries## Arguments:#	none#	# Results:##	Adds the following arguments to configure:#		--enable-shared=yes|no##	Defines the following vars:#		STATIC_BUILD	Used for building import/export libraries#				on Windows.##	Sets the following vars:#		SHARED_BUILD	Value of 1 or 0#------------------------------------------------------------------------AC_DEFUN(TEA_ENABLE_SHARED, [    AC_MSG_CHECKING([how to build libraries])    AC_ARG_ENABLE(shared,	AC_HELP_STRING([--enable-shared],	    [build and link with shared libraries (default: on)]),	[tcl_ok=$enableval], [tcl_ok=yes])    if test "${enable_shared+set}" = set; then	enableval="$enable_shared"	tcl_ok=$enableval    else	tcl_ok=yes    fi    if test "$tcl_ok" = "yes" ; then	AC_MSG_RESULT([shared])	SHARED_BUILD=1    else	AC_MSG_RESULT([static])	SHARED_BUILD=0	AC_DEFINE(STATIC_BUILD, 1, [Is this a static build?])    fi    AC_SUBST(SHARED_BUILD)])#------------------------------------------------------------------------# TEA_ENABLE_THREADS --##	Specify if thread support should be enabled.  If "yes" is specified#	as an arg (optional), threads are enabled by default, "no" means#	threads are disabled.  "yes" is the default.##	TCL_THREADS is checked so that if you are compiling an extension#	against a threaded core, your extension must be compiled threaded#	as well.##	Note that it is legal to have a thread enabled extension run in a#	threaded or non-threaded Tcl core, but a non-threaded extension may#	only run in a non-threaded Tcl core.## Arguments:#	none#	# Results:##	Adds the following arguments to configure:#		--enable-threads##	Sets the following vars:#		THREADS_LIBS	Thread library(s)##	Defines the following vars:#		TCL_THREADS#		_REENTRANT#		_THREAD_SAFE##------------------------------------------------------------------------AC_DEFUN(TEA_ENABLE_THREADS, [    AC_ARG_ENABLE(threads,	AC_HELP_STRING([--enable-threads],	    [build with threads]),	[tcl_ok=$enableval], [tcl_ok=yes])    if test "${enable_threads+set}" = set; then	enableval="$enable_threads"	tcl_ok=$enableval    else	tcl_ok=yes    fi    if test "$tcl_ok" = "yes" -o "${TCL_THREADS}" = 1; then	TCL_THREADS=1	if test "${TEA_PLATFORM}" != "windows" ; then	    # We are always OK on Windows, so check what this platform wants:    	    # USE_THREAD_ALLOC tells us to try the special thread-based	    # allocator that significantly reduces lock contention	    AC_DEFINE(USE_THREAD_ALLOC, 1,		[Do we want to use the threaded memory allocator?])	    AC_DEFINE(_REENTRANT, 1, [Do we want the reentrant OS API?])	    if test "`uname -s`" = "SunOS" ; then		AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1,			[Do we really want to follow the standard? Yes we do!])	    fi	    AC_DEFINE(_THREAD_SAFE, 1, [Do we want the thread-safe OS API?])	    AC_CHECK_LIB(pthread,pthread_mutex_init,tcl_ok=yes,tcl_ok=no)	    if test "$tcl_ok" = "no"; then		# Check a little harder for __pthread_mutex_init in the same		# library, as some systems hide it there until pthread.h is		# defined.  We could alternatively do an AC_TRY_COMPILE with		# pthread.h, but that will work with libpthread really doesn't		# exist, like AIX 4.2.  [Bug: 4359]		AC_CHECK_LIB(pthread, __pthread_mutex_init,		    tcl_ok=yes, tcl_ok=no)	    fi	    if test "$tcl_ok" = "yes"; then		# The space is needed		THREADS_LIBS=" -lpthread"	    else		AC_CHECK_LIB(pthreads, pthread_mutex_init,		    tcl_ok=yes, tcl_ok=no)		if test "$tcl_ok" = "yes"; then		    # The space is needed		    THREADS_LIBS=" -lpthreads"		else		    AC_CHECK_LIB(c, pthread_mutex_init,			tcl_ok=yes, tcl_ok=no)		    if test "$tcl_ok" = "no"; then			AC_CHECK_LIB(c_r, pthread_mutex_init,			    tcl_ok=yes, tcl_ok=no)			if test "$tcl_ok" = "yes"; then			    # The space is needed			    THREADS_LIBS=" -pthread"			else			    TCL_THREADS=0			    AC_MSG_WARN([Do not know how to find pthread lib on your system - thread support disabled])			fi		    fi		fi	    fi	fi    else	TCL_THREADS=0    fi    # Do checking message here to not mess up interleaved configure output    AC_MSG_CHECKING([for building with threads])    if test "${TCL_THREADS}" = 1; then	AC_DEFINE(TCL_THREADS, 1, [Are we building with threads enabled?])	AC_MSG_RESULT([yes (default)])    else	AC_MSG_RESULT([no])    fi    # TCL_THREADS sanity checking.  See if our request for building with    # threads is the same as the way Tcl was built.  If not, warn the user.    case ${TCL_DEFS} in	*THREADS=1*)	    if test "${TCL_THREADS}" = "0"; then		AC_MSG_WARN([    Building ${PACKAGE_NAME} without threads enabled, but building against Tcl    that IS thread-enabled.  It is recommended to use --enable-threads.])	    fi	    ;;	*)	    if test "${TCL_THREADS}" = "1"; then		AC_MSG_WARN([    --enable-threads requested, but building against a Tcl that is NOT    thread-enabled.  This is an OK configuration that will also run in    a thread-enabled core.])	    fi	    ;;    esac    AC_SUBST(TCL_THREADS)])#------------------------------------------------------------------------# TEA_ENABLE_SYMBOLS --##	Specify if debugging symbols should be used.#	Memory (TCL_MEM_DEBUG) debugging can also be enabled.## Arguments:#	none#	#	TEA varies from core Tcl in that C|LDFLAGS_DEFAULT receives#	the value of C|LDFLAGS_OPTIMIZE|DEBUG already substituted.#	Requires the following vars to be set in the Makefile:#		CFLAGS_DEFAULT#		LDFLAGS_DEFAULT#	# Results:##	Adds the following arguments to configure:#		--enable-symbols##	Defines the following vars:#		CFLAGS_DEFAULT	Sets to $(CFLAGS_DEBUG) if true#				Sets to $(CFLAGS_OPTIMIZE) if false#		LDFLAGS_DEFAULT	Sets to $(LDFLAGS_DEBUG) if true#				Sets to $(LDFLAGS_OPTIMIZE) if false#		DBGX		Formerly used as debug library extension;#				always blank now.##------------------------------------------------------------------------AC_DEFUN(TEA_ENABLE_SYMBOLS, [    dnl Make sure we are initialized    AC_REQUIRE([TEA_CONFIG_CFLAGS])    AC_MSG_CHECKING([for build with symbols])    AC_ARG_ENABLE(symbols,	AC_HELP_STRING([--enable-symbols],	    [build with debugging symbols (default: off)]),	[tcl_ok=$enableval], [tcl_ok=no])    DBGX=""    if test "$tcl_ok" = "no"; then	CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}"	LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"	AC_MSG_RESULT([no])    else	CFLAGS_DEFAULT="${CFLAGS_DEBUG}"	LDFLAGS_DEFAULT="${LDFLAGS_DEBUG}"	if test "$tcl_ok" = "yes"; then	    AC_MSG_RESULT([yes (standard debugging)])	fi    fi    if test "${TEA_PLATFORM}" != "windows" ; then	LDFLAGS_DEFAULT="${LDFLAGS}"    fi    AC_SUBST(TCL_DBGX)    AC_SUBST(CFLAGS_DEFAULT)    AC_SUBST(LDFLAGS_DEFAULT)    if test "$tcl_ok" = "mem" -o "$tcl_ok" = "all"; then	AC_DEFINE(TCL_MEM_DEBUG, 1, [Is memory debugging enabled?])    fi    if test "$tcl_ok" != "yes" -a "$tcl_ok" != "no"; then	if test "$tcl_ok" = "all"; then	    AC_MSG_RESULT([enabled symbols mem debugging])	else	    AC_MSG_RESULT([enabled $tcl_ok debugging])	fi    fi])#------------------------------------------------------------------------# TEA_ENABLE_LANGINFO --##	Allows use of modern nl_langinfo check for better l10n.#	This is only relevant for Unix.## Arguments:#	none#	# Results:##	Adds the following arguments to configure:#		--enable-langinfo=yes|no (default is yes)##	Defines the following vars:#		HAVE_LANGINFO	Triggers use of nl_langinfo if defined.##------------------------------------------------------------------------AC_DEFUN(TEA_ENABLE_LANGINFO, [    AC_ARG_ENABLE(langinfo,	AC_HELP_STRING([--enable-langinfo],	    [use nl_langinfo if possible to determine encoding at startup, otherwise use old heuristic (default: on)]),	[langinfo_ok=$enableval], [langinfo_ok=yes])    HAVE_LANGINFO=0    if test "$langinfo_ok" = "yes"; then	AC_CHECK_HEADER(langinfo.h,[langinfo_ok=yes],[langinfo_ok=no])    fi    AC_MSG_CHECKING([whether to use nl_langinfo])    if test "$langinfo_ok" = "yes"; then	AC_CACHE_VAL(tcl_cv_langinfo_h,	    AC_TRY_COMPILE([#include <langinfo.h>], [nl_langinfo(CODESET);],		    [tcl_cv_langinfo_h=yes],[tcl_cv_langinfo_h=no]))	AC_MSG_RESULT([$tcl_cv_langinfo_h])	if test $tcl_cv_langinfo_h = yes; then	    AC_DEFINE(HAVE_LANGINFO, 1, [Do we have nl_langinfo()?])	fi    else 	AC_MSG_RESULT([$langinfo_ok])    fi])#--------------------------------------------------------------------# TEA_CONFIG_SYSTEM##	Determine what the system is (some things cannot be easily checked#	on a feature-driven basis, alas). This can usually be done via the#	"uname" command, but there are a few systems, like Next, where#	this doesn't work.## Arguments:#	none## Results:#	Defines the following var:##	system -	System/platform/version identification code.##--------------------------------------------------------------------AC_DEFUN(TEA_CONFIG_SYSTEM, [    AC_CACHE_CHECK([system version], tcl_cv_sys_version, [	if test "${TEA_PLATFORM}" = "windows" ; then	    tcl_cv_sys_version=windows	elif test -f /usr/lib/NextStep/software_version; then	    tcl_cv_sys_version=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`	else	    tcl_cv_sys_version=`uname -s`-`uname -r`	    if test "$?" -ne 0 ; then		AC_MSG_WARN([can't find uname command])		tcl_cv_sys_version=unknown	    else		# Special check for weird MP-RAS system (uname returns weird		# results, and the version is kept in special file).		if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then		    tcl_cv_sys_version=MP-RAS-`awk '{print $3}' /etc/.relid`		fi		if test "`uname -s`" = "AIX" ; then		    tcl_cv_sys_version=AIX-`uname -v`.`uname -r`		fi	    fi	fi    ])    system=$tcl_cv_sys_version

⌨️ 快捷键说明

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