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

📄 tcl.m4

📁 rtai-3.1-test3的源代码(Real-Time Application Interface )
💻 M4
📖 第 1 页 / 共 5 页
字号:
    else	CFLAGS_DEFAULT="${CFLAGS_OPTIMIZE}"	LDFLAGS_DEFAULT="${LDFLAGS_OPTIMIZE}"	DBGX=""	TCL_DBGX=""	AC_MSG_RESULT([no])    fi    AC_SUBST(TCL_DBGX)    AC_SUBST(CFLAGS_DEFAULT)    AC_SUBST(LDFLAGS_DEFAULT)])#--------------------------------------------------------------------# SC_CONFIG_CFLAGS##	Try to determine the proper flags to pass to the compiler#	for building shared libraries and other such nonsense.## Arguments:#	none## Results:##	Defines the following vars:##       DL_OBJS -       Name of the object file that implements dynamic#                       loading for Tcl on this system.#       DL_LIBS -       Library file(s) to include in tclsh and other base#                       applications in order for the "load" command to work.#       LDFLAGS -      Flags to pass to the compiler when linking object#                       files into an executable application binary such#                       as tclsh.#       LD_SEARCH_FLAGS-Flags to pass to ld, such as "-R /usr/local/tcl/lib",#                       that tell the run-time dynamic linker where to look#                       for shared libraries such as libtcl.so.  Depends on#                       the variable LIB_RUNTIME_DIR in the Makefile.#       MAKE_LIB -      Command to execute to build the Tcl library;#                       differs depending on whether or not Tcl is being#                       compiled as a shared library.#       SHLIB_CFLAGS -  Flags to pass to cc when compiling the components#                       of a shared library (may request position-independent#                       code, among other things).#       SHLIB_LD -      Base command to use for combining object files#                       into a shared library.#       SHLIB_LD_LIBS - Dependent libraries for the linker to scan when#                       creating shared libraries.  This symbol typically#                       goes at the end of the "ld" commands that build#                       shared libraries. The value of the symbol is#                       "${LIBS}" if all of the dependent libraries should#                       be specified when creating a shared library.  If#                       dependent libraries should not be specified (as on#                       SunOS 4.x, where they cause the link to fail, or in#                       general if Tcl and Tk aren't themselves shared#                       libraries), then this symbol has an empty string#                       as its value.#       SHLIB_SUFFIX -  Suffix to use for the names of dynamically loadable#                       extensions.  An empty string means we don't know how#                       to use shared libraries on this platform.#       TCL_LIB_FILE -  Name of the file that contains the Tcl library, such#                       as libtcl7.8.so or libtcl7.8.a.#       TCL_LIB_SUFFIX -Specifies everything that comes after the "libtcl"#                       in the shared library name, using the $VERSION variable#                       to put the version in the right place.  This is used#                       by platforms that need non-standard library names.#                       Examples:  ${VERSION}.so.1.1 on NetBSD, since it needs#                       to have a version after the .so, and ${VERSION}.a#                       on AIX, since the Tcl shared library needs to have#                       a .a extension whereas shared objects for loadable#                       extensions have a .so extension.  Defaults to#                       ${VERSION}${SHLIB_SUFFIX}.#       TCL_NEEDS_EXP_FILE -#                       1 means that an export file is needed to link to a#                       shared library.#       TCL_EXP_FILE -  The name of the installed export / import file which#                       should be used to link to the Tcl shared library.#                       Empty if Tcl is unshared.#       TCL_BUILD_EXP_FILE -#                       The name of the built export / import file which#                       should be used to link to the Tcl shared library.#                       Empty if Tcl is unshared.#	CFLAGS_DEBUG -#			Flags used when running the compiler in debug mode#	CFLAGS_OPTIMIZE -#			Flags used when running the compiler in optimize mode##	EXTRA_CFLAGS##	Subst's the following vars:#		DL_LIBS#		CFLAGS_DEBUG#		CFLAGS_OPTIMIZE#--------------------------------------------------------------------AC_DEFUN(SC_CONFIG_CFLAGS, [    # Step 0: Enable 64 bit support?    AC_MSG_CHECKING([if 64bit support is enabled])    AC_ARG_ENABLE(64bit,[  --enable-64bit          enable 64bit support],,enableval="no")    if test "$enableval" = "yes"; then	AC_MSG_RESULT(Will compile with 64bit support)	do64bit=yes    else	do64bit=no    fi    AC_MSG_RESULT($do64bit)     # Step 1: set the variable "system" to hold the name and version number    # for the system.  This can usually be done via the "uname" command, but    # there are a few systems, like Next, where this doesn't work.    AC_MSG_CHECKING([system version (for dynamic loading)])    if test -f /usr/lib/NextStep/software_version; then	system=NEXTSTEP-`awk '/3/,/3/' /usr/lib/NextStep/software_version`    else	system=`uname -s`-`uname -r`	if test "$?" -ne 0 ; then	    AC_MSG_RESULT([unknown (can't find uname command)])	    system=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		system=MP-RAS-`awk '{print $3}' /etc/.relid'`	    fi	    if test "`uname -s`" = "AIX" ; then		system=AIX-`uname -v`.`uname -r`	    fi	    AC_MSG_RESULT($system)	fi    fi    # Step 2: check for existence of -ldl library.  This is needed because    # Linux can use either -ldl or -ldld for dynamic loading.    AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no)    # Step 3: set configuration options based on system name and version.    do64bit_ok=no    fullSrcDir=`cd $srcdir; pwd`    EXTRA_CFLAGS=""    TCL_EXPORT_FILE_SUFFIX=""    UNSHARED_LIB_SUFFIX=""    TCL_TRIM_DOTS='`echo ${VERSION} | tr -d .`'    ECHO_VERSION='`echo ${VERSION}`'    TCL_LIB_VERSIONS_OK=ok    CFLAGS_DEBUG=-g    CFLAGS_OPTIMIZE=-O    TCL_NEEDS_EXP_FILE=0    TCL_BUILD_EXP_FILE=""    TCL_EXP_FILE=""    STLIB_LD="ar cr"    case $system in	AIX-4.[[2-9]])	    SHLIB_CFLAGS=""	    SHLIB_LD="$fullSrcDir/ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS=""	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'	    TCL_NEEDS_EXP_FILE=1	    TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp'	    ;;	AIX-*)	    SHLIB_CFLAGS=""	    SHLIB_LD="$fullSrcDir/ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    LIBOBJS="$LIBOBJS tclLoadAix.o"	    DL_LIBS="-lld"	    LDFLAGS=""	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'	    TCL_NEEDS_EXP_FILE=1	    TCL_EXPORT_FILE_SUFFIX='${VERSION}\$\{DBGX\}.exp'	    ;;	BSD/OS-2.1*|BSD/OS-3*)	    SHLIB_CFLAGS=""	    SHLIB_LD="shlicc -r"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS=""	    LD_SEARCH_FLAGS=""	    ;;	BSD/OS-4.*)	    SHLIB_CFLAGS="-export-dynamic -fPIC"	    SHLIB_LD="cc -shared"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS="-export-dynamic"	    LD_SEARCH_FLAGS=""	    ;;	*win32*|*WIN32*|CYGWIN_NT*|cygwin_nt*|*CYGWIN_98*|*CYGWIN_95*)	  if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then	    if "$CC" -v 2>&1 | egrep '\/gcc-lib\/i[[3-6]]86[[^\/]]*-cygwin' >/dev/null; then		mno_cygwin="yes"		extra_cflags="-mno-cygwin"		extra_ldflags="-mno-cygwin"	    else		mno_cygwin="no"		extra_cflags=""		extra_ldflags=""	    fi	    if test "$cross_compiling" = "yes" -o "$mno_cygwin" = "yes"; then		PATHTYPE=''		CYGPATH='echo '		VPSEP=':'	    else		PATHTYPE='-w'		CYGPATH='cygpath'	 	VPSEP=';'	    fi	    CFLAGS_DEBUG="-g ${runtime}d"	    CFLAGS_OPTIMIZE="-O2 ${runtime}"	    LDFLAGS_CONSOLE="-mconsole ${extra_ldflags}"	    LDFLAGS_WINDOW="-mwindows ${extra_ldflags}"	    LDFLAGS_DEBUG="-g"	    LDFLAGS_OPTIMIZE=""	    EXTRA_CFLAGS="${extra_cflags}"	    SHLIB_LD="dllwrap"	    SHLIB_LD_LIBS="-luser32 -ladvapi32"	    RC="windres"	  else	    CFLAGS_DEBUG="-nologo -Z7 -Od -WX ${runtime}d"	    CFLAGS_OPTIMIZE="-nologo -Oti -Gs -GD ${runtime}"	    LDFLAGS_CONSOLE="-subsystem:console"	    LDFLAGS_WINDOW="-subsystem:windows"	    LDFLAGS_DEBUG="-debug:full -debugtype:cv"	    LDFLAGS_OPTIMIZE="-release"	    EXTRA_CFLAGS="-YX"	    PATHTYPE=-w	    STLIB_LD="lib -nologo"	    SHLIB_LD="link -dll -nologo"	    SHLIB_LD_LIBS="user32.lib advapi32.lib"	    RC="rc"	  fi	    ;;	dgux*)	    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=""	    ;;	HP-UX-*.08.*|HP-UX-*.09.*|HP-UX-*.10.*|HP-UX-*.11.*)	    SHLIB_SUFFIX=".sl"	    AC_CHECK_LIB(dld, shl_load, tcl_ok=yes, tcl_ok=no)	    if test "$tcl_ok" = yes; then		SHLIB_CFLAGS="+z"		SHLIB_LD="ld -b"		SHLIB_LD_LIBS=""		DL_OBJS="tclLoadShl.o"		DL_LIBS="-ldld"		LDFLAGS="-Wl,-E"		LD_SEARCH_FLAGS='-Wl,+s,+b,${LIB_RUNTIME_DIR}:.'	    fi	    ;;	IRIX-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}'	    SHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'	    ;;	IRIX-5.*|IRIX-6.*|IRIX64-6.5*)	    SHLIB_CFLAGS=""	    SHLIB_LD="ld -n32 -shared -rdata_shared"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS=""	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'	    if test "$CC" = "gcc" -o `$CC -v 2>&1 | grep -c gcc` != "0" ; then		EXTRA_CFLAGS="-mabi=n32"		LDFLAGS="-mabi=n32"	    else		case $system in		    IRIX-6.3)			# Use to build 6.2 compatible binaries on 6.3.			EXTRA_CFLAGS="-n32 -D_OLD_TERMIOS"			;;		    *)			EXTRA_CFLAGS="-n32"			;;		esac		LDFLAGS="-n32"	    fi	    ;;	IRIX64-6.*)	    SHLIB_CFLAGS=""	    SHLIB_LD="ld -32 -shared -rdata_shared"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS=""	    LDFLAGS=""	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'	    ;;	Linux*)	    SHLIB_CFLAGS="-fPIC"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".so"	    # egcs-2.91.66 on Redhat Linux 6.0 generates lots of warnings 	    # when you inline the string and math operations.  Turn this off to	    # get rid of the warnings.	    CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"	    if test "$have_dl" = yes; then		SHLIB_LD="${CC} -shared"		DL_OBJS="tclLoadDl.o"		DL_LIBS="-ldl"		LDFLAGS="-rdynamic"		LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'	    else		AC_CHECK_HEADER(dld.h, [		    SHLIB_LD="ld -shared"		    DL_OBJS="tclLoadDld.o"		    DL_LIBS="-ldld"		    LDFLAGS=""		    LD_SEARCH_FLAGS=""])	    fi	    if test "`uname -m`" = "alpha" ; then		EXTRA_CFLAGS="-mieee"	    fi	    ;;	MP-RAS-02*)	    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=""	    ;;	MP-RAS-*)	    SHLIB_CFLAGS="-K PIC"	    SHLIB_LD="cc -G"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS="-ldl"	    LDFLAGS="-Wl,-Bexport"	    LD_SEARCH_FLAGS=""	    ;;	NetBSD-*|FreeBSD-[[12]].*|OpenBSD-*)	    # Not available on all versions:  check for include file.	    AC_CHECK_HEADER(dlfcn.h, [		SHLIB_CFLAGS="-fPIC"		SHLIB_LD="ld -Bshareable -x"		SHLIB_LD_LIBS=""		SHLIB_SUFFIX=".so"		DL_OBJS="tclLoadDl.o"		DL_LIBS=""		LDFLAGS=""		LD_SEARCH_FLAGS=""		SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'	    ], [		SHLIB_CFLAGS=""		SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r"		SHLIB_LD_LIBS='${LIBS}'		SHLIB_SUFFIX=".a"		DL_OBJS="tclLoadAout.o"		DL_LIBS=""		LDFLAGS=""		LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'		SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'	    ])	    # FreeBSD doesn't handle version numbers with dots.	    UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.a'	    TCL_LIB_VERSIONS_OK=nodots	    ;;	FreeBSD-*)	    # FreeBSD 3.* and greater have ELF.	    SHLIB_CFLAGS="-fPIC"	    SHLIB_LD="ld -Bshareable -x"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS=""	    LDFLAGS=""	    LD_SEARCH_FLAGS=""	    ;;	NEXTSTEP-*)	    SHLIB_CFLAGS=""	    SHLIB_LD="cc -nostdlib -r"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadNext.o"	    DL_LIBS=""	    LDFLAGS=""	    LD_SEARCH_FLAGS=""	    ;;	OS/390-*)	    CFLAGS_OPTIMIZE=""      # Optimizer is buggy	    AC_DEFINE(_OE_SOCKETS)  # needed in sys/socket.h	    ;;      	OSF1-1.0|OSF1-1.1|OSF1-1.2)	    # OSF/1 1.[012] from OSF, and derivatives, including Paragon OSF/1	    SHLIB_CFLAGS=""	    # Hack: make package name same as library name	    SHLIB_LD='ld -R -export $@:'	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadOSF.o"	    DL_LIBS=""	    LDFLAGS=""	    LD_SEARCH_FLAGS=""	    ;;	OSF1-1.*)	    # OSF/1 1.3 from OSF using ELF, and derivatives, including AD2	    SHLIB_CFLAGS="-fPIC"	    SHLIB_LD="ld -shared"	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS=""	    LDFLAGS=""	    LD_SEARCH_FLAGS=""	    ;;	OSF1-V*)	    # Digital OSF/1	    SHLIB_CFLAGS=""	    SHLIB_LD='ld -shared -expect_unresolved "*"'	    SHLIB_LD_LIBS=""	    SHLIB_SUFFIX=".so"	    DL_OBJS="tclLoadDl.o"	    DL_LIBS=""	    LDFLAGS=""	    LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'	    ;;	RISCos-*)	    SHLIB_CFLAGS="-G 0"	    SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r -G 0"	    SHLIB_LD_LIBS='${LIBS}'	    SHLIB_SUFFIX=".a"	    DL_OBJS="tclLoadAout.o"	    DL_LIBS=""	    LDFLAGS="-Wl,-D,08000000"	    LD_SEARCH_FLAGS='-L${LIB_RUNTIME_DIR}'

⌨️ 快捷键说明

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