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

📄 tcl.m4

📁 rtai-3.1-test3的源代码(Real-Time Application Interface )
💻 M4
📖 第 1 页 / 共 5 页
字号:
	    ;;	SCO_SV-3.2*)	    # Note, dlopen is available only on SCO 3.2.5 and greater.  However,	    # this test works, since "uname -s" was non-standard in 3.2.4 and	    # below.	    SHLIB_CFLAGS="-KPIC -belf"	    SHLIB_LD="ld -G"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS=""	    LDFLAGS="-belf -Wl,-Bexport"	    LD_SEARCH_FLAGS=""	    ;;	SINIX*5.4*)	    SHLIB_CFLAGS="-K PIC"	    SHLIB_LD="cc -G"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS=""	    LD_SEARCH_FLAGS=""	    ;;	SunOS-4*)	    SHLIB_CFLAGS="-PIC"	    SHLIB_LD="ld"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS=""	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'	    # SunOS can't handle version numbers with dots in them in library	    # specs, like -ltcl7.5, so use -ltcl75 instead.  Also, it	    # requires an extra version number at the end of .so file names.	    # So, the library has to have a name like libtcl75.so.1.0	    SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'	    TCL_LIB_VERSIONS_OK=nodots	    ;;	SunOS-5.[[0-6]]*)	    SHLIB_CFLAGS="-KPIC"	    SHLIB_LD="/usr/ccs/bin/ld -G -z text"	    # Note: need the LIBS below, otherwise Tk won't find Tcl's	    # symbols when dynamically loaded into tclsh.	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS=""	    LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'	    ;;	SunOS-5*)	    SHLIB_CFLAGS="-KPIC"	    SHLIB_LD="/usr/ccs/bin/ld -G -z text"	    LDFLAGS=""    	    do64bit_ok=no	    if test "$do64bit" = "yes" ; then	    arch=`isainfo`	    if test "$arch" = "sparcv9 sparc" ; then		if test "$CC" != "gcc" -a `$CC -v 2>&1 | grep -c gcc` = "0" ; then		do64bit_ok=yes		EXTRA_CFLAGS="-xarch=v9"		LDFLAGS="-xarch=v9"		else 		AC_MSG_WARN("64bit mode not supported using GCC on $system")		fi	    else		AC_MSG_WARN("64bit mode only supported sparcv9 system")	    fi	    fi	    	    # Note: need the LIBS below, otherwise Tk won't find Tcl's	    # symbols when dynamically loaded into tclsh.	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then		LD_SEARCH_FLAGS='-Wl,-R,${LIB_RUNTIME_DIR}'	    else		LD_SEARCH_FLAGS='-R ${LIB_RUNTIME_DIR}'	    fi	    ;;	ULTRIX-4.*)	    SHLIB_CFLAGS="-G 0"	    SHLIB_SUFFIX=".a"	    SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0"	    SHLIB_LD_LIBS='${LIBS}'	    DL_OBJS="tclLoadAout.o"	    DL_LIBS=""	    LDFLAGS="-Wl,-D,08000000"	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'	    ;;	UNIX_SV* | UnixWare-5*)	    SHLIB_CFLAGS="-KPIC"	    SHLIB_LD="cc -G"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    # Some UNIX_SV* systems (unixware 1.1.2 for example) have linkers	    # that don't grok the -Bexport option.  Test that it does.	    hold_ldflags=$LDFLAGS	    AC_MSG_CHECKING(for ld accepts -Bexport flag)	    LDFLAGS="${LDFLAGS} -Wl,-Bexport"	    AC_TRY_LINK(, [int i;], found=yes, found=no)	    LDFLAGS=$hold_ldflags	    AC_MSG_RESULT($found)	    if test $found = yes; then	    LDFLAGS="-Wl,-Bexport"	    else	    LDFLAGS=""	    fi	    LD_SEARCH_FLAGS=""	    ;;    esac    if test "$do64bit" = "yes" -a "$do64bit_ok" = "no" ; then    AC_MSG_WARN("64bit support being disabled -- not supported on this platform")    fi    # Step 4: If pseudo-static linking is in use (see K. B. Kenny, "Dynamic    # Loading for Tcl -- What Became of It?".  Proc. 2nd Tcl/Tk Workshop,    # New Orleans, LA, Computerized Processes Unlimited, 1994), then we need    # to determine which of several header files defines the a.out file    # format (a.out.h, sys/exec.h, or sys/exec_aout.h).  At present, we    # support only a file format that is more or less version-7-compatible.     # In particular,    #	- a.out files must begin with `struct exec'.    #	- the N_TXTOFF on the `struct exec' must compute the seek address    #	  of the text segment    #	- The `struct exec' must contain a_magic, a_text, a_data, a_bss    #	  and a_entry fields.    # The following compilation should succeed if and only if either sys/exec.h    # or a.out.h is usable for the purpose.    #    # Note that the modified COFF format used on MIPS Ultrix 4.x is usable; the    # `struct exec' includes a second header that contains information that    # duplicates the v7 fields that are needed.    if test "x$DL_OBJS" = "xtclLoadAout.o" ; then	AC_MSG_CHECKING(sys/exec.h)	AC_TRY_COMPILE([#include <sys/exec.h>],[	    struct exec foo;	    unsigned long seek;	    int flag;#if defined(__mips) || defined(mips)	    seek = N_TXTOFF (foo.ex_f, foo.ex_o);#else	    seek = N_TXTOFF (foo);#endif	    flag = (foo.a_magic == OMAGIC);	    return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;    ], tcl_ok=usable, tcl_ok=unusable)	AC_MSG_RESULT($tcl_ok)	if test $tcl_ok = usable; then	    AC_DEFINE(USE_SYS_EXEC_H)	else	    AC_MSG_CHECKING(a.out.h)	    AC_TRY_COMPILE([#include <a.out.h>],[		struct exec foo;		unsigned long seek;		int flag;#if defined(__mips) || defined(mips)		seek = N_TXTOFF (foo.ex_f, foo.ex_o);#else		seek = N_TXTOFF (foo);#endif		flag = (foo.a_magic == OMAGIC);		return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;	    ], tcl_ok=usable, tcl_ok=unusable)	    AC_MSG_RESULT($tcl_ok)	    if test $tcl_ok = usable; then		AC_DEFINE(USE_A_OUT_H)	    else		AC_MSG_CHECKING(sys/exec_aout.h)		AC_TRY_COMPILE([#include <sys/exec_aout.h>],[		    struct exec foo;		    unsigned long seek;		    int flag;#if defined(__mips) || defined(mips)		    seek = N_TXTOFF (foo.ex_f, foo.ex_o);#else		    seek = N_TXTOFF (foo);#endif		    flag = (foo.a_midmag == OMAGIC);		    return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;		], tcl_ok=usable, tcl_ok=unusable)		AC_MSG_RESULT($tcl_ok)		if test $tcl_ok = usable; then		    AC_DEFINE(USE_SYS_EXEC_AOUT_H)		else		    DL_OBJS=""		fi	    fi	fi    fi    # Step 5: disable dynamic loading if requested via a command-line switch.    AC_ARG_ENABLE(load, [  --disable-load          disallow dynamic loading and "load" command],	[tcl_ok=$enableval], [tcl_ok=yes])    if test "$tcl_ok" = "no"; then	DL_OBJS=""    fi    if test "x$DL_OBJS" != "x" ; then	BUILD_DLTEST="\$(DLTEST_TARGETS)"    else	echo "Can't figure out how to do dynamic loading or shared libraries"	echo "on this system."	SHLIB_CFLAGS=""	SHLIB_LD=""	SHLIB_SUFFIX=""	DL_OBJS="tclLoadNone.o"	DL_LIBS=""	LDFLAGS=""	LD_SEARCH_FLAGS=""	BUILD_DLTEST=""    fi    # If we're running gcc, then change the C flags for compiling shared    # libraries to the right flags for gcc, instead of those for the    # standard manufacturer compiler.    if test "$DL_OBJS" != "tclLoadNone.o" ; then	if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then	    case $system in		AIX-*)		    ;;		BSD/OS*)		    ;;		IRIX*)		    ;;		NetBSD-*|FreeBSD-*|OpenBSD-*)		    ;;		RISCos-*)		    ;;		ULTRIX-4.*)		    ;;		*)		    SHLIB_CFLAGS="-fPIC"		    ;;	    esac	fi    fi    if test "$SHARED_LIB_SUFFIX" = "" ; then	SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}${SHLIB_SUFFIX}'    fi    if test "$UNSHARED_LIB_SUFFIX" = "" ; then	UNSHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'    fi    AC_SUBST(STLIB_LD)    AC_SUBST(SHLIB_LD)    AC_SUBST(SHLIB_CFLAGS)    AC_SUBST(SHLIB_LDFLAGS)    AC_SUBST(DL_LIBS)    AC_SUBST(CFLAGS_DEBUG)    AC_SUBST(CFLAGS_OPTIMIZE)    AC_SUBST(LDFLAGS_DEBUG)    AC_SUBST(LDFLAGS_OPTIMIZE)])#--------------------------------------------------------------------# SC_SERIAL_PORT##	Determine which interface to use to talk to the serial port.#	Note that #include lines must begin in leftmost column for#	some compilers to recognize them as preprocessor directives.## Arguments:#	none#	# Results:##	Defines only one of the following vars:#		USE_TERMIOS#		USE_TERMIO#		USE_SGTTY##--------------------------------------------------------------------AC_DEFUN(SC_SERIAL_PORT, [    AC_MSG_CHECKING([termios vs. termio vs. sgtty])    AC_TRY_RUN([#include <termios.h>main(){    struct termios t;    if (tcgetattr(0, &t) == 0) {	cfsetospeed(&t, 0);	t.c_cflag |= PARENB | PARODD | CSIZE | CSTOPB;	return 0;    }    return 1;}], tk_ok=termios, tk_ok=no, tk_ok=no)    if test $tk_ok = termios; then	AC_DEFINE(USE_TERMIOS)    else	AC_TRY_RUN([#include <termio.h>main(){    struct termio t;    if (ioctl(0, TCGETA, &t) == 0) {	t.c_cflag |= CBAUD | PARENB | PARODD | CSIZE | CSTOPB;	return 0;    }    return 1;    }], tk_ok=termio, tk_ok=no, tk_ok=no)    if test $tk_ok = termio; then	AC_DEFINE(USE_TERMIO)    else	AC_TRY_RUN([#include <sgtty.h>main(){    struct sgttyb t;    if (ioctl(0, TIOCGETP, &t) == 0) {	t.sg_ospeed = 0;	t.sg_flags |= ODDP | EVENP | RAW;	return 0;    }    return 1;}], tk_ok=sgtty, tk_ok=none, tk_ok=none)    if test $tk_ok = sgtty; then	AC_DEFINE(USE_SGTTY)    fi    fi    fi    AC_MSG_RESULT($tk_ok)])#--------------------------------------------------------------------# SC_MISSING_POSIX_HEADERS##	Supply substitutes for missing POSIX header files.  Special#	notes:#	    - stdlib.h doesn't define strtol, strtoul, or#	      strtod insome versions of SunOS#	    - some versions of string.h don't declare procedures such#	      as strstr## Arguments:#	none#	# Results:##	Defines some of the following vars:#		NO_DIRENT_H#		NO_ERRNO_H#		NO_VALUES_H#		NO_LIMITS_H#		NO_STDLIB_H#		NO_STRING_H#		NO_SYS_WAIT_H#		NO_DLFCN_H#		HAVE_UNISTD_H#		HAVE_SYS_PARAM_H##		HAVE_STRING_H ?##--------------------------------------------------------------------AC_DEFUN(SC_MISSING_POSIX_HEADERS, [    AC_MSG_CHECKING(dirent.h)    AC_TRY_LINK([#include <sys/types.h>#include <dirent.h>], [#ifndef _POSIX_SOURCE#   ifdef __Lynx__	/*	 * Generate compilation error to make the test fail:  Lynx headers	 * are only valid if really in the POSIX environment.	 */	missing_procedure();#   endif#endifDIR *d;struct dirent *entryPtr;char *p;d = opendir("foobar");entryPtr = readdir(d);p = entryPtr->d_name;closedir(d);], tcl_ok=yes, tcl_ok=no)    if test $tcl_ok = no; then	AC_DEFINE(NO_DIRENT_H)    fi    AC_MSG_RESULT($tcl_ok)    AC_CHECK_HEADER(errno.h, , AC_DEFINE(NO_ERRNO_H))    AC_CHECK_HEADER(float.h, , AC_DEFINE(NO_FLOAT_H))    AC_CHECK_HEADER(values.h, , AC_DEFINE(NO_VALUES_H))    AC_CHECK_HEADER(limits.h, , AC_DEFINE(NO_LIMITS_H))    AC_CHECK_HEADER(stdlib.h, tcl_ok=1, tcl_ok=0)    AC_EGREP_HEADER(strtol, stdlib.h, , tcl_ok=0)    AC_EGREP_HEADER(strtoul, stdlib.h, , tcl_ok=0)    AC_EGREP_HEADER(strtod, stdlib.h, , tcl_ok=0)    if test $tcl_ok = 0; then	AC_DEFINE(NO_STDLIB_H)    fi    AC_CHECK_HEADER(string.h, tcl_ok=1, tcl_ok=0)    AC_EGREP_HEADER(strstr, string.h, , tcl_ok=0)    AC_EGREP_HEADER(strerror, string.h, , tcl_ok=0)    # See also memmove check below for a place where NO_STRING_H can be    # set and why.    if test $tcl_ok = 0; then	AC_DEFINE(NO_STRING_H)    fi    AC_CHECK_HEADER(sys/wait.h, , AC_DEFINE(NO_SYS_WAIT_H))    AC_CHECK_HEADER(dlfcn.h, , AC_DEFINE(NO_DLFCN_H))    # OS/390 lacks sys/param.h (and doesn't need it, by chance).    AC_HAVE_HEADERS(unistd.h sys/param.h)])#--------------------------------------------------------------------# SC_PATH_X##	Locate the X11 header files and the X11 library archive.  Try#	the ac_path_x macro first, but if it doesn't find the X stuff#	(e.g. because there's no xmkmf program) then check through#	a list of possible directories.  Under some conditions the#	autoconf macro will return an include directory that contains#	no include files, so double-check its result just to be safe.## Arguments:#	none#	# Results:##	Sets the the following vars:#		XINCLUDES#		XLIBSW##--------------------------------------------------------------------AC_DEFUN(SC_PATH_X, [

⌨️ 快捷键说明

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