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

📄 headers.m4

📁 autoconf 2.59版,可用于redhat系统.用于编译原码,编写makefile文件.
💻 M4
📖 第 1 页 / 共 2 页
字号:
ac_header_dirent=nofor ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do  _AC_CHECK_HEADER_DIRENT($ac_hdr,			  [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$ac_hdr), 1)ac_header_dirent=$ac_hdr; break])done# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.if test $ac_header_dirent = dirent.h; then  AC_SEARCH_LIBS(opendir, dir)else  AC_SEARCH_LIBS(opendir, x)fi])# AC_HEADER_DIRENT# AC_HEADER_MAJOR# ---------------AN_FUNCTION([major],     [AC_HEADER_MAJOR])AN_FUNCTION([makedev],   [AC_HEADER_MAJOR])AN_FUNCTION([minor],     [AC_HEADER_MAJOR])AN_HEADER([sys/mkdev.h], [AC_HEADER_MAJOR])AC_DEFUN([AC_HEADER_MAJOR],[AC_CACHE_CHECK(whether sys/types.h defines makedev,		ac_cv_header_sys_types_h_makedev,[AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <sys/types.h>]],				 [[return makedev(0, 0);]])],		[ac_cv_header_sys_types_h_makedev=yes],		[ac_cv_header_sys_types_h_makedev=no])])if test $ac_cv_header_sys_types_h_makedev = no; thenAC_CHECK_HEADER(sys/mkdev.h,		[AC_DEFINE(MAJOR_IN_MKDEV, 1,			   [Define to 1 if `major', `minor', and `makedev' are			    declared in <mkdev.h>.])])  if test $ac_cv_header_sys_mkdev_h = no; then    AC_CHECK_HEADER(sys/sysmacros.h,		    [AC_DEFINE(MAJOR_IN_SYSMACROS, 1,			       [Define to 1 if `major', `minor', and `makedev'				are declared in <sysmacros.h>.])])  fifi])# AC_HEADER_MAJOR# AC_HEADER_STAT# --------------# FIXME: Shouldn't this be named AC_HEADER_SYS_STAT?AN_IDENTIFIER([S_ISBLK], [AC_HEADER_STAT])AN_IDENTIFIER([S_ISCHR], [AC_HEADER_STAT])AN_IDENTIFIER([S_ISDIR], [AC_HEADER_STAT])AN_IDENTIFIER([S_ISFIFO], [AC_HEADER_STAT])AN_IDENTIFIER([S_ISLNK], [AC_HEADER_STAT])AN_IDENTIFIER([S_ISREG], [AC_HEADER_STAT])AN_IDENTIFIER([S_ISSOCK], [AC_HEADER_STAT])AC_DEFUN([AC_HEADER_STAT],[AC_CACHE_CHECK(whether stat file-mode macros are broken,  ac_cv_header_stat_broken,[AC_EGREP_CPP([You lose], [#include <sys/types.h>#include <sys/stat.h>#if defined(S_ISBLK) && defined(S_IFDIR)# if S_ISBLK (S_IFDIR)You lose.# endif#endif#if defined(S_ISBLK) && defined(S_IFCHR)# if S_ISBLK (S_IFCHR)You lose.# endif#endif#if defined(S_ISLNK) && defined(S_IFREG)# if S_ISLNK (S_IFREG)You lose.# endif#endif#if defined(S_ISSOCK) && defined(S_IFREG)# if S_ISSOCK (S_IFREG)You lose.# endif#endif], ac_cv_header_stat_broken=yes, ac_cv_header_stat_broken=no)])if test $ac_cv_header_stat_broken = yes; then  AC_DEFINE(STAT_MACROS_BROKEN, 1,	    [Define to 1 if the `S_IS*' macros in <sys/stat.h> do not	     work properly.])fi])# AC_HEADER_STAT# AC_HEADER_STDBOOL# -----------------# Check for stdbool.h that conforms to C99.AN_IDENTIFIER([bool], [AC_HEADER_STDBOOL])AN_IDENTIFIER([true], [AC_HEADER_STDBOOL])AN_IDENTIFIER([false],[AC_HEADER_STDBOOL])AC_DEFUN([AC_HEADER_STDBOOL],[AC_CACHE_CHECK([for stdbool.h that conforms to C99],   [ac_cv_header_stdbool_h],   [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(      [[#include <stdbool.h>#ifndef bool# error bool is not defined#endif#ifndef false# error false is not defined#endif#if false# error false is not 0#endif#ifndef true# error true is not defined#endif#if true != 1# error true is not 1#endif#ifndef __bool_true_false_are_defined# error __bool_true_false_are_defined is not defined#endif	struct s { _Bool s: 1; _Bool t; } s;	char a[true == 1 ? 1 : -1];	char b[false == 0 ? 1 : -1];	char c[__bool_true_false_are_defined == 1 ? 1 : -1];	char d[(bool) -0.5 == true ? 1 : -1];	bool e = &s;	char f[(_Bool) -0.0 == false ? 1 : -1];	char g[true];	char h[sizeof (_Bool)];	char i[sizeof s.t];      ]],      [[ return !a + !b + !c + !d + !e + !f + !g + !h + !i; ]])],      [ac_cv_header_stdbool_h=yes],      [ac_cv_header_stdbool_h=no])])AC_CHECK_TYPES([_Bool])if test $ac_cv_header_stdbool_h = yes; then  AC_DEFINE(HAVE_STDBOOL_H, 1, [Define to 1 if stdbool.h conforms to C99.])fi])# AC_HEADER_STDBOOL# AC_HEADER_STDC# --------------# FIXME: I find this list very strange.  It comes from the original# autoscan list, but I don't think it is useful for the same reason# that we don't bind AC_PROG_CC to finding a C function calls: if the# user uses bcmp, then she will certainly have the `#include', and# therefore, we will trigger AC_HEADER_STDC elsewhere.  --akim 2002-09-28# FIXME: Err... index and rindex are _not_ to be used... --akim 2002-09-28AN_FUNCTION([bcmp],     [AC_HEADER_STDC])AN_FUNCTION([bcopy],    [AC_HEADER_STDC])AN_FUNCTION([bzero],    [AC_HEADER_STDC])AN_FUNCTION([index],    [AC_HEADER_STDC])AN_FUNCTION([memchr],   [AC_HEADER_STDC])AN_FUNCTION([memcpy],   [AC_HEADER_STDC])AN_FUNCTION([memmove],  [AC_HEADER_STDC])AN_FUNCTION([memset],   [AC_HEADER_STDC])AN_FUNCTION([rindex],   [AC_HEADER_STDC])AN_HEADER([float.h],    [AC_HEADER_STDC])AN_HEADER([stdarg.h],   [AC_HEADER_STDC])AN_HEADER([stddef.h],   [AC_HEADER_STDC])AN_HEADER([stdlib.h],   [AC_HEADER_STDC])AN_HEADER([string.h],   [AC_HEADER_STDC])AC_DEFUN([AC_HEADER_STDC],[AC_CACHE_CHECK(for ANSI C header files, ac_cv_header_stdc,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdlib.h>#include <stdarg.h>#include <string.h>#include <float.h>]])],		    [ac_cv_header_stdc=yes],		    [ac_cv_header_stdc=no])if test $ac_cv_header_stdc = yes; then  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.  AC_EGREP_HEADER(memchr, string.h, , ac_cv_header_stdc=no)fiif test $ac_cv_header_stdc = yes; then  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.  AC_EGREP_HEADER(free, stdlib.h, , ac_cv_header_stdc=no)fiif test $ac_cv_header_stdc = yes; then  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.  AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <ctype.h>#if ((' ' & 0x0FF) == 0x020)# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))#else# define ISLOWER(c) \		   (('a' <= (c) && (c) <= 'i') \		     || ('j' <= (c) && (c) <= 'r') \		     || ('s' <= (c) && (c) <= 'z'))# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))#endif#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))intmain (){  int i;  for (i = 0; i < 256; i++)    if (XOR (islower (i), ISLOWER (i))	|| toupper (i) != TOUPPER (i))      exit(2);  exit (0);}]])], , ac_cv_header_stdc=no, :)fi])if test $ac_cv_header_stdc = yes; then  AC_DEFINE(STDC_HEADERS, 1,	    [Define to 1 if you have the ANSI C header files.])fi])# AC_HEADER_STDC# AC_HEADER_SYS_WAIT# ------------------AN_HEADER([sys/wait.h], [AC_HEADER_SYS_WAIT])AC_DEFUN([AC_HEADER_SYS_WAIT],[AC_CACHE_CHECK([for sys/wait.h that is POSIX.1 compatible],  ac_cv_header_sys_wait_h,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>#include <sys/wait.h>#ifndef WEXITSTATUS# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)#endif#ifndef WIFEXITED# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)#endif],[  int s;  wait (&s);  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;])],		 [ac_cv_header_sys_wait_h=yes],		 [ac_cv_header_sys_wait_h=no])])if test $ac_cv_header_sys_wait_h = yes; then  AC_DEFINE(HAVE_SYS_WAIT_H, 1,	    [Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible.])fi])# AC_HEADER_SYS_WAIT# AC_HEADER_TIME# --------------AN_IDENTIFIER([timeval],  [AC_HEADER_TIME])AC_DEFUN([AC_HEADER_TIME],[AC_CACHE_CHECK([whether time.h and sys/time.h may both be included],  ac_cv_header_time,[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/types.h>#include <sys/time.h>#include <time.h>],[if ((struct tm *) 0)return 0;])],		   [ac_cv_header_time=yes],		   [ac_cv_header_time=no])])if test $ac_cv_header_time = yes; then  AC_DEFINE(TIME_WITH_SYS_TIME, 1,	    [Define to 1 if you can safely include both <sys/time.h>	     and <time.h>.])fi])# AC_HEADER_TIME# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H# ----------------------------------m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],[AC_CACHE_CHECK([whether termios.h defines TIOCGWINSZ],		ac_cv_sys_tiocgwinsz_in_termios_h,[AC_EGREP_CPP([yes],	      [#include <sys/types.h>#include <termios.h>#ifdef TIOCGWINSZ  yes#endif],		ac_cv_sys_tiocgwinsz_in_termios_h=yes,		ac_cv_sys_tiocgwinsz_in_termios_h=no)])])# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL# ----------------------------------m4_define([_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL],[AC_CACHE_CHECK([whether sys/ioctl.h defines TIOCGWINSZ],		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h,[AC_EGREP_CPP([yes],	      [#include <sys/types.h>#include <sys/ioctl.h>#ifdef TIOCGWINSZ  yes#endif],		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes,		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no)])])# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL# AC_HEADER_TIOCGWINSZ# --------------------# Look for a header that defines TIOCGWINSZ.# FIXME: Is this the proper name?  Is this the proper implementation?# I need more help.AC_DEFUN([AC_HEADER_TIOCGWINSZ],[_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_Hif test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then  _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL  if test $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h = yes; then    AC_DEFINE(GWINSZ_IN_SYS_IOCTL,1,	      [Define to 1 if `TIOCGWINSZ' requires <sys/ioctl.h>.])  fifi])# AC_HEADER_TIOCGWINSZ# AU::AC_UNISTD_H# ---------------AU_DEFUN([AC_UNISTD_H],[AC_CHECK_HEADERS(unistd.h)])# AU::AC_USG# ----------# Define `USG' if string functions are in strings.h.AU_DEFUN([AC_USG],[AC_DIAGNOSE([obsolete],[$0: Remove `AC_MSG_CHECKING', `AC_LINK_IFELSE' and this `AC_WARNING'when you adjust your code to use HAVE_STRING_H.])dnlAC_MSG_CHECKING([for BSD string and memory functions])AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <strings.h>]],				[[rindex(0, 0); bzero(0, 0);]])],	       [AC_MSG_RESULT(yes)],	       [AC_MSG_RESULT(no)		AC_DEFINE(USG, 1,			  [Define to 1 if you do not have <strings.h>, index,			   bzero, etc... This symbol is obsolete, you should			   not depend upon it.])])AC_CHECK_HEADERS(string.h)])# AU::AC_USG# AU::AC_MEMORY_H# ---------------# To be precise this macro used to be:##   | AC_MSG_CHECKING(whether string.h declares mem functions)#   | AC_EGREP_HEADER(memchr, string.h, ac_found=yes, ac_found=no)#   | AC_MSG_RESULT($ac_found)#   | if test $ac_found = no; then#   |	AC_CHECK_HEADER(memory.h, [AC_DEFINE(NEED_MEMORY_H)])#   | fi## But it is better to check for both headers, and alias NEED_MEMORY_H to# HAVE_MEMORY_H.AU_DEFUN([AC_MEMORY_H],[AC_DIAGNOSE([obsolete], [$0: Remove this warning and`AC_CHECK_HEADER(memory.h, AC_DEFINE(...))' when you adjust your code touse and HAVE_STRING_H and HAVE_MEMORY_H, not NEED_MEMORY_H.])dnlAC_CHECK_HEADER(memory.h,		[AC_DEFINE([NEED_MEMORY_H], 1,			   [Same as `HAVE_MEMORY_H', don't depend on me.])])AC_CHECK_HEADERS(string.h memory.h)])# AU::AC_DIR_HEADER# -----------------# Like calling `AC_HEADER_DIRENT' and `AC_FUNC_CLOSEDIR_VOID', but# defines a different set of C preprocessor macros to indicate which# header file is found.AU_DEFUN([AC_DIR_HEADER],[AC_HEADER_DIRENTAC_FUNC_CLOSEDIR_VOIDAC_DIAGNOSE([obsolete],[$0: Remove this warning and the four `AC_DEFINE' when youadjust your code to use `AC_HEADER_DIRENT'.])test ac_cv_header_dirent_dirent_h &&  AC_DEFINE([DIRENT], 1, [Same as `HAVE_DIRENT_H', don't depend on me.])test ac_cv_header_dirent_sys_ndir_h &&  AC_DEFINE([SYSNDIR], 1, [Same as `HAVE_SYS_NDIR_H', don't depend on me.])test ac_cv_header_dirent_sys_dir_h &&  AC_DEFINE([SYSDIR], 1, [Same as `HAVE_SYS_DIR_H', don't depend on me.])test ac_cv_header_dirent_ndir_h &&  AC_DEFINE([NDIR], 1, [Same as `HAVE_NDIR_H', don't depend on me.])])

⌨️ 快捷键说明

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