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

📄 tcl.m4

📁 rtai-3.1-test3的源代码(Real-Time Application Interface )
💻 M4
📖 第 1 页 / 共 5 页
字号:
    AC_PATH_X    not_really_there=""    if test "$no_x" = ""; then	if test "$x_includes" = ""; then	    AC_TRY_CPP([#include <X11/XIntrinsic.h>], , not_really_there="yes")	else	    if test ! -r $x_includes/X11/Intrinsic.h; then		not_really_there="yes"	    fi	fi    fi    if test "$no_x" = "yes" -o "$not_really_there" = "yes"; then	AC_MSG_CHECKING(for X11 header files)	XINCLUDES="# no special path needed"	AC_TRY_CPP([#include <X11/Intrinsic.h>], , XINCLUDES="nope")	if test "$XINCLUDES" = nope; then	    dirs="/usr/unsupported/include /usr/local/include /usr/X386/include /usr/X11R6/include /usr/X11R5/include /usr/include/X11R5 /usr/include/X11R4 /usr/openwin/include /usr/X11/include /usr/sww/include"	    for i in $dirs ; do		if test -r $i/X11/Intrinsic.h; then		    AC_MSG_RESULT($i)		    XINCLUDES=" -I$i"		    break		fi	    done	fi    else	if test "$x_includes" != ""; then	    XINCLUDES=-I$x_includes	else	    XINCLUDES="# no special path needed"	fi    fi    if test "$XINCLUDES" = nope; then	AC_MSG_RESULT(couldn't find any!)	XINCLUDES="# no include files found"    fi    if test "$no_x" = yes; then	AC_MSG_CHECKING(for X11 libraries)	XLIBSW=nope	dirs="/usr/unsupported/lib /usr/local/lib /usr/X386/lib /usr/X11R6/lib /usr/X11R5/lib /usr/lib/X11R5 /usr/lib/X11R4 /usr/openwin/lib /usr/X11/lib /usr/sww/X11/lib"	for i in $dirs ; do	    if test -r $i/libX11.a -o -r $i/libX11.so -o -r $i/libX11.sl; then		AC_MSG_RESULT($i)		XLIBSW="-L$i -lX11"		x_libraries="$i"		break	    fi	done    else	if test "$x_libraries" = ""; then	    XLIBSW=-lX11	else	    XLIBSW="-L$x_libraries -lX11"	fi    fi    if test "$XLIBSW" = nope ; then	AC_CHECK_LIB(Xwindow, XCreateWindow, XLIBSW=-lXwindow)    fi    if test "$XLIBSW" = nope ; then	AC_MSG_RESULT(couldn't find any!  Using -lX11.)	XLIBSW=-lX11    fi])#--------------------------------------------------------------------# SC_BLOCKING_STYLE##	The statements below check for systems where POSIX-style#	non-blocking I/O (O_NONBLOCK) doesn't work or is unimplemented. #	On these systems (mostly older ones), use the old BSD-style#	FIONBIO approach instead.## Arguments:#	none#	# Results:##	Defines some of the following vars:#		HAVE_SYS_IOCTL_H#		HAVE_SYS_FILIO_H#		USE_FIONBIO#		O_NONBLOCK##--------------------------------------------------------------------AC_DEFUN(SC_BLOCKING_STYLE, [    AC_CHECK_HEADERS(sys/ioctl.h)    AC_CHECK_HEADERS(sys/filio.h)    AC_MSG_CHECKING([FIONBIO vs. O_NONBLOCK for nonblocking I/O])    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	    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	fi    fi    case $system in	# There used to be code here to use FIONBIO under AIX.  However, it	# was reported that FIONBIO doesn't work under AIX 3.2.5.  Since	# using O_NONBLOCK seems fine under AIX 4.*, I removed the FIONBIO	# code (JO, 5/31/97).	OSF*)	    AC_DEFINE(USE_FIONBIO)	    AC_MSG_RESULT(FIONBIO)	    ;;	SunOS-4*)	    AC_DEFINE(USE_FIONBIO)	    AC_MSG_RESULT(FIONBIO)	    ;;	ULTRIX-4.*)	    AC_DEFINE(USE_FIONBIO)	    AC_MSG_RESULT(FIONBIO)	    ;;	*)	    AC_MSG_RESULT(O_NONBLOCK)	    ;;    esac])#--------------------------------------------------------------------# SC_HAVE_VFORK##	Check to see whether the system provides a vfork kernel call.#	If not, then use fork instead.  Also, check for a problem with#	vforks and signals that can cause core dumps if a vforked child#	resets a signal handler.  If the problem exists, then use fork#	instead of vfork.## Arguments:#	none#	# Results:##	Defines some of the following vars:#		vfork (=fork)##--------------------------------------------------------------------AC_DEFUN(SC_HAVE_VFORK, [    AC_TYPE_SIGNAL()    AC_CHECK_FUNC(vfork, tcl_ok=1, tcl_ok=0)    if test "$tcl_ok" = 1; then	AC_MSG_CHECKING([vfork/signal bug]);	AC_TRY_RUN([#include <stdio.h>#include <signal.h>#include <sys/wait.h>int gotSignal = 0;sigProc(sig)    int sig;{    gotSignal = 1;}main(){    int pid, sts;    (void) signal(SIGCHLD, sigProc);    pid = vfork();    if (pid <  0) {	exit(1);    } else if (pid == 0) {	(void) signal(SIGCHLD, SIG_DFL);	_exit(0);    } else {	(void) wait(&sts);    }    exit((gotSignal) ? 0 : 1);}], tcl_ok=1, tcl_ok=0, tcl_ok=0)	if test "$tcl_ok" = 1; then	    AC_MSG_RESULT(ok)	else	    AC_MSG_RESULT([buggy, using fork instead])	fi    fi    rm -f core    if test "$tcl_ok" = 0; then	AC_DEFINE(vfork, fork)    fi])#--------------------------------------------------------------------# SC_TIME_HANLDER##	Checks how the system deals with time.h, what time structures#	are used on the system, and what fields the structures have.## Arguments:#	none#	# Results:##	Defines some of the following vars:#		USE_DELTA_FOR_TZ#		HAVE_TM_GMTOFF#		HAVE_TM_TZADJ#		HAVE_TIMEZONE_VAR##--------------------------------------------------------------------AC_DEFUN(SC_TIME_HANDLER, [    AC_CHECK_HEADERS(sys/time.h)    AC_HEADER_TIME    AC_STRUCT_TIMEZONE    AC_MSG_CHECKING([tm_tzadj in struct tm])    AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_tzadj;],	    [AC_DEFINE(HAVE_TM_TZADJ)	    AC_MSG_RESULT(yes)],	    AC_MSG_RESULT(no))    AC_MSG_CHECKING([tm_gmtoff in struct tm])    AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_gmtoff;],	    [AC_DEFINE(HAVE_TM_GMTOFF)	    AC_MSG_RESULT(yes)],	    AC_MSG_RESULT(no))    #    # Its important to include time.h in this check, as some systems    # (like convex) have timezone functions, etc.    #    have_timezone=no    AC_MSG_CHECKING([long timezone variable])    AC_TRY_COMPILE([#include <time.h>],	    [extern long timezone;	    timezone += 1;	    exit (0);],	    [have_timezone=yes	    AC_DEFINE(HAVE_TIMEZONE_VAR)	    AC_MSG_RESULT(yes)],	    AC_MSG_RESULT(no))    #    # On some systems (eg IRIX 6.2), timezone is a time_t and not a long.    #    if test "$have_timezone" = no; then    AC_MSG_CHECKING([time_t timezone variable])    AC_TRY_COMPILE([#include <time.h>],	    [extern time_t timezone;	    timezone += 1;	    exit (0);],	    [AC_DEFINE(HAVE_TIMEZONE_VAR)	    AC_MSG_RESULT(yes)],	    AC_MSG_RESULT(no))    fi    #    # AIX does not have a timezone field in struct tm. When the AIX bsd    # library is used, the timezone global and the gettimeofday methods are    # to be avoided for timezone deduction instead, we deduce the timezone    # by comparing the localtime result on a known GMT value.    #    if test "`uname -s`" = "AIX" ; then	AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes)	if test $libbsd = yes; then	    AC_DEFINE(USE_DELTA_FOR_TZ)	fi    fi])#--------------------------------------------------------------------# SC_BUGGY_STRTOD##	Under Solaris 2.4, strtod returns the wrong value for the#	terminating character under some conditions.  Check for this#	and if the problem exists use a substitute procedure#	"fixstrtod" (provided by Tcl) that corrects the error.## Arguments:#	none#	# Results:##	Might defines some of the following vars:#		strtod (=fixstrtod)##--------------------------------------------------------------------AC_DEFUN(SC_BUGGY_STRTOD, [    AC_CHECK_FUNC(strtod, tk_strtod=1, tk_strtod=0)    if test "$tk_strtod" = 1; then	AC_MSG_CHECKING([for Solaris 2.4 strtod bug])	AC_TRY_RUN([	    extern double strtod();	    int main()	    {		char *string = "NaN";		char *term;		strtod(string, &term);		if ((term != string) && (term[-1] == 0)) {		    exit(1);		}		exit(0);	    }], tk_ok=1, tk_ok=0, tk_ok=0)	if test "$tk_ok" = 1; then	    AC_MSG_RESULT(ok)	else	    AC_MSG_RESULT(buggy)	    AC_DEFINE(strtod, fixstrtod)	fi    fi])#--------------------------------------------------------------------# SC_TCL_LINK_LIBS##	Search for the libraries needed to link the Tcl shell.#	Things like the math library (-lm) and socket stuff (-lsocket vs.#	-lnsl) are dealt with here.## Arguments:#	Requires the following vars to be set in the Makefile:#		DL_LIBS#		LIBS#		MATH_LIBS#	# Results:##	Subst's the following var:#		TCL_LIBS#		MATH_LIBS##	Might append to the following vars:#		LIBS##	Might define the following vars:#		HAVE_NET_ERRNO_H##--------------------------------------------------------------------AC_DEFUN(SC_TCL_LINK_LIBS, [    #--------------------------------------------------------------------    # On a few very rare systems, all of the libm.a stuff is    # already in libc.a.  Set compiler flags accordingly.    # Also, Linux requires the "ieee" library for math to work    # right (and it must appear before "-lm").    #--------------------------------------------------------------------    AC_CHECK_FUNC(sin, MATH_LIBS="", MATH_LIBS="-lm")    AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"])    #--------------------------------------------------------------------    # On AIX systems, libbsd.a has to be linked in to support    # non-blocking file IO.  This library has to be linked in after    # the MATH_LIBS or it breaks the pow() function.  The way to    # insure proper sequencing, is to add it to the tail of MATH_LIBS.    # This library also supplies gettimeofday.    #--------------------------------------------------------------------    libbsd=no    if test "`uname -s`" = "AIX" ; then	AC_CHECK_LIB(bsd, gettimeofday, libbsd=yes)	if test $libbsd = yes; then	    MATH_LIBS="$MATH_LIBS -lbsd"	fi    fi    #--------------------------------------------------------------------    # Interactive UNIX requires -linet instead of -lsocket, plus it    # needs net/errno.h to define the socket-related error codes.    #--------------------------------------------------------------------    AC_CHECK_LIB(inet, main, [LIBS="$LIBS -linet"])    AC_CHECK_HEADER(net/errno.h, AC_DEFINE(HAVE_NET_ERRNO_H))    #--------------------------------------------------------------------    #	Check for the existence of the -lsocket and -lnsl libraries.    #	The order here is important, so that they end up in the right    #	order in the command line generated by make.  Here are some    #	special considerations:    #	1. Use "connect" and "accept" to check for -lsocket, and    #	   "gethostbyname" to check for -lnsl.    #	2. Use each function name only once:  can't redo a check because    #	   autoconf caches the results of the last check and won't redo it.    #	3. Use -lnsl and -lsocket only if they supply procedures that    #	   aren't already present in the normal libraries.  This is because    #	   IRIX 5.2 has libraries, but they aren't needed and they're    #	   bogus:  they goof up name resolution if used.    #	4. On some SVR4 systems, can't use -lsocket without -lnsl too.    #	   To get around this problem, check for both libraries together    #	   if -lsocket doesn't work by itself.    #--------------------------------------------------------------------    tcl_checkBoth=0    AC_CHECK_FUNC(connect, tcl_checkSocket=0, tcl_checkSocket=1)    if test "$tcl_checkSocket" = 1; then	AC_CHECK_LIB(socket, main, LIBS="$LIBS -lsocket", tcl_checkBoth=1)    fi    if test "$tcl_checkBoth" = 1; then	tk_oldLibs=$LIBS	LIBS="$LIBS -lsocket -lnsl"	AC_CHECK_FUNC(accept, tcl_checkNsl=0, [LIBS=$tk_oldLibs])    fi    AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, main,	    [LIBS="$LIBS -lnsl"]))        # Don't perform the eval of the libraries here because DL_LIBS    # won't be set until we call SC_CONFIG_CFLAGS    TCL_LIBS='${DL_LIBS} ${LIBS} ${MATH_LIBS}'    AC_SUBST(TCL_LIBS)    AC_SUBST(MATH_LIBS)])#------------------------------------------------------------------------# SC_MAKE_LIB --##	Generate a line that can be used to build a shared/unshared library#	in a platform independent manner.## Arguments:#	none##	Requires:## Results:##	Defines the following vars:#		MAKE_LIB	Makefile rule for building a library#		MAKE_SHARED_LIB	Makefile rule for building a shared library#		MAKE_UNSHARED_LIB	Makefile rule for building a static#				library#------------------------------------------------------------------------AC_DEFUN(SC_MAKE_LIB, [    case "`uname -s`" in	*win32* | *WIN32* | *CYGWIN_NT* |*CYGWIN_98*|*CYGWIN_95*)	    if test "${CC-cc}" = "cl"; then		MAKE_STATIC_LIB="\${STLIB_LD} -out:\[$]@ \$(\[$]@_OBJECTS) "		MAKE_SHARED_LIB="\${SHLIB_LD} \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\[$]@ \$(\[$]@_OBJECTS) "	    else		MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(\[$]@_OBJECTS)"		MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ --output-lib \[$](patsubst %.dll,lib%.a,\[$]@) \$(\[$]@_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"	    fi	    ;;	*)	    MAKE_STATIC_LIB="\${STLIB_LD} \[$]@ \$(\[$]@_OBJECTS)"	    MAKE_SHARED_LIB="\${SHLIB_LD} -o \[$]@ \$(\[$]@_OBJECTS) \${SHLIB_LDFLAGS} \${SHLIB_LD_LIBS}"	    ;;    esac    if test "${SHARED_BUILD}" = "1" ; then	MAKE_LIB=${MAKE_SHARED_LIB}    else	MAKE_LIB=${MAKE_STATIC_LIB}    fi    AC_SUBST(MAKE_LIB)

⌨️ 快捷键说明

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