📄 aclocal.m4
字号:
int a, b;/* exit (strcmp("DEAD", ecvt(1.9, 2, &a, &b)) == 0);*/ exit (strcmp("19", ecvt(1.9, 2, &a, &b)) != 0);}], [ac_cv_func_ecvt=yes], [ac_cv_func_ecvt=no])])if test $ac_cv_func_ecvt = yes; then AC_DEFINE(HAVE_ECVT)fi])dnl Checks if working fcvt() existsdnl Defines HAVE_FCVT on success.AC_DEFUN(AC_FUNC_FCVT,[AC_CACHE_CHECK([for working fcvt() ], ac_cv_func_fcvt, [AC_TRY_RUN([sprintf(s) char *s;{ strcpy(s, "DEAD");}main(){ int a, b;/* exit (strcmp("DEAD", fcvt(1.9, 2, &a, &b)) == 0);*/ exit (strcmp("190", fcvt(1.9, 2, &a, &b)) != 0);}], [ac_cv_func_fcvt=yes], [ac_cv_func_fcvt=no])])if test $ac_cv_func_fcvt = yes; then AC_DEFINE(HAVE_FCVT)fi])dnl Checks if working gcvt() existsdnl Defines HAVE_GCVT on success.AC_DEFUN(AC_FUNC_GCVT,[AC_CACHE_CHECK([for working gcvt() ], ac_cv_func_gcvt, [AC_TRY_RUN([sprintf(s) char *s;{ strcpy(s, "DEAD");}main(){ char buf[32];/* exit (strcmp("DEAD", gcvt(1.9, 10, buf)) == 0);*/ exit (strcmp("1.9", gcvt(1.9, 10, buf)) != 0);}], [ac_cv_func_gcvt=yes], [ac_cv_func_gcvt=no])])if test $ac_cv_func_gcvt = yes; then AC_DEFINE(HAVE_GCVT)fi])dnl Checks if function uname() is availablednl Defines HAVE_UNAME on success.AC_DEFUN(AC_FUNC_UNAME,[AC_CACHE_CHECK([for uname], ac_cv_func_uname, [AC_TRY_LINK([#include <sys/utsname.h>], [struct utsname un;uname(&un);], [ac_cv_func_uname=yes], [ac_cv_func_uname=no])])if test $ac_cv_func_uname = yes; then AC_DEFINE(HAVE_UNAME)fi])dnl Checks if function mlockall() is availablednl beware HP-UX 10.x it contains a bad mlockall() in libcdnl Defines HAVE_MLOCKALL on success.AC_DEFUN(AC_FUNC_MLOCKALL,[AC_CACHE_CHECK([for mlockall], ac_cv_func_mlockall, [AC_TRY_RUN([#include <sys/types.h>#include <sys/mman.h>#include <errno.h>main(){ if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0) { if (errno == EPERM || errno == EACCES) exit(0); exit(-1); } exit(0);}], [ac_cv_func_mlockall=yes], [ac_cv_func_mlockall=no])])if test $ac_cv_func_mlockall = yes; then AC_DEFINE(HAVE_MLOCKALL)fi])dnl Checks if mmap() works to get shared memorydnl Defines HAVE_SMMAP on success.AC_DEFUN(AC_FUNC_SMMAP,[AC_CACHE_CHECK([if mmap works to get shared memory], ac_cv_func_smmap, [AC_TRY_RUN([#include <sys/types.h>#include <sys/mman.h>char *mkshare(){ int size = 8192; int f; char *addr;#ifdef MAP_ANONYMOUS /* HP/UX */ f = -1; addr = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, f, 0);#else if ((f = open("/dev/zero", 2)) < 0) exit(1); addr = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, f, 0);#endif if (addr == (char *)-1) exit(1); close(f); return (addr);}main(){ char *addr; addr = mkshare(8192); *addr = 'I'; switch (fork()) { case -1: printf("help\n"); exit(1); case 0: /* child */ *addr = 'N'; _exit(0); break; default: /* parent */ wait(0); sleep(1); break; } if (*addr != 'N') exit(1); exit(0);}], [ac_cv_func_smmap=yes], [ac_cv_func_smmap=no], [ac_cv_func_smmap=no])])if test $ac_cv_func_smmap = yes; then AC_DEFINE(HAVE_SMMAP)fi])dnl Checks if sys_siglist[] existsdnl Defines HAVE_SYS_SIGLIST on success.AC_DEFUN(AC_FUNC_SYS_SIGLIST,[AC_CACHE_CHECK([for sys_siglist], ac_cv_func_sys_siglist, [AC_TRY_RUN([main(){ extern char *sys_siglist[];if (sys_siglist[1] == 0) exit(1);exit(0);}], [ac_cv_func_sys_siglist=yes], [ac_cv_func_sys_siglist=no])])if test $ac_cv_func_sys_siglist = yes; then AC_DEFINE(HAVE_SYS_SIGLIST)fi])dnl Checks for maximum number of bits in minor device numberAC_DEFUN(AC_CHECK_MINOR_BITS,[AC_REQUIRE([AC_HEADER_MAKEDEV])dnlchangequote(<<, >>)dnldefine(<<AC_MACRO_NAME>>, DEV_MINOR_BITS)dnldnl The cache variable name.define(<<AC_CV_NAME>>, ac_cv_dev_minor_bits)dnlchangequote([, ])dnlAC_MSG_CHECKING(bits in minor device number)AC_CACHE_VAL(AC_CV_NAME,[AC_TRY_RUN([#include <stdio.h>#include <sys/types.h>#ifdef major# define _FOUND_MAJOR_#endif#ifdef MAJOR_IN_MKDEV# include <sys/mkdev.h># define _FOUND_MAJOR_#endif#ifndef _FOUND_MAJOR_# ifdef MAJOR_IN_SYSMACROS# include <sys/sysmacros.h># define _FOUND_MAJOR_# endif#endif#ifndef _FOUND_MAJOR_# if defined(hpux) || defined(__hpux__) || defined(__hpux)# include <sys/mknod.h># define _FOUND_MAJOR_# endif#endif#ifndef _FOUND_MAJOR_# define major(dev) (((dev) >> 8) & 0xFF)# define minor(dev) ((dev) & 0xFF)# define makedev(majo, mino) (((majo) << 8) | (mino))#endifmain(){ long l = 1; int i; int m; int c = 0; FILE *f=fopen("conftestval", "w"); if (!f) exit(1); for (i=1, m=0; i <= 32; i++, l<<=1) { if (minor(l) == 0 && c == 0) c = m; if (minor(l) != 0) m = i; } fprintf(f, "%d\n", m); exit(0);}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnlAC_MSG_RESULT($AC_CV_NAME)AC_DEFINE_UNQUOTED(AC_MACRO_NAME, $AC_CV_NAME)undefine([AC_MACRO_NAME])dnlundefine([AC_CV_NAME])dnl])dnl Checks for maximum number of bits in minor device numbers are non contiguousdnl Defines DEV_MINOR_NONCONTIG on success.AC_DEFUN(AC_CHECK_MINOR_NONCONTIG,[AC_REQUIRE([AC_HEADER_MAKEDEV])dnlAC_CACHE_CHECK([whether bits in minor device numbers are non contiguous], ac_cv_dev_minor_noncontig, [AC_TRY_RUN([#include <sys/types.h>#ifdef major# define _FOUND_MAJOR_#endif#ifdef MAJOR_IN_MKDEV# include <sys/mkdev.h># define _FOUND_MAJOR_#endif#ifndef _FOUND_MAJOR_# ifdef MAJOR_IN_SYSMACROS# include <sys/sysmacros.h># define _FOUND_MAJOR_# endif#endif#ifndef _FOUND_MAJOR_# if defined(hpux) || defined(__hpux__) || defined(__hpux)# include <sys/mknod.h># define _FOUND_MAJOR_# endif#endif#ifndef _FOUND_MAJOR_# define major(dev) (((dev) >> 8) & 0xFF)# define minor(dev) ((dev) & 0xFF)# define makedev(majo, mino) (((majo) << 8) | (mino))#endifmain(){ long l = 1; int i; int m; int c = 0; for (i=1, m=0; i <= 32; i++, l<<=1) { if (minor(l) == 0 && c == 0) c = m; if (minor(l) != 0) m = i; }exit (m == c);}], [ac_cv_dev_minor_noncontig=yes], [ac_cv_dev_minor_noncontig=no])])if test $ac_cv_dev_minor_noncontig = yes; then AC_DEFINE(DEV_MINOR_NONCONTIG)fi])dnl Checks if we may not define our own malloc()dnl Defines NO_USER_MALLOC if we cannot.AC_DEFUN(AC_USER_MALLOC,[AC_CACHE_CHECK([if we may not define our own malloc()], ac_cv_no_user_malloc, [AC_TRY_LINK([char * malloc(x) int x; { return ((char *)0);}],[], [ac_cv_no_user_malloc=no], [ac_cv_no_user_malloc=yes])])if test $ac_cv_no_user_malloc = yes; then AC_DEFINE(NO_USER_MALLOC)fi])dnl Checks if BSD-4.2 compliant getpgrp() existsdnl Defines HAVE_BSD_GETPGRP on success.AC_DEFUN(AC_FUNC_BSD_GETPGRP,[AC_CACHE_CHECK([for BSD compliant getpgrp], ac_cv_func_bsd_getpgrp, [AC_TRY_RUN([main(){ long p;/* * POSIX getpgrp() has void parameter... */ p = getpgrp(-1); if (p == getpgrp(1) && p == getpgrp(getpid())) exit(1);exit(0);}], [ac_cv_func_bsd_getpgrp=yes], [ac_cv_func_bsd_getpgrp=no])])if test $ac_cv_func_bsd_getpgrp = yes; then AC_DEFINE(HAVE_BSD_GETPGRP)fi])dnl Checks if BSD-4.2 compliant setpgrp() existsdnl Defines HAVE_BSD_SETPGRP on success.AC_DEFUN(AC_FUNC_BSD_SETPGRP,[AC_REQUIRE([AC_HEADER_ERRNO_DEF])dnlAC_CACHE_CHECK([for BSD compliant setpgrp], ac_cv_func_bsd_setpgrp, [AC_TRY_RUN([#include <errno.h>#ifndef HAVE_ERRNO_DEFextern int errno;#endifmain(){ errno = 0;/* * Force illegal pid on BSD */if (setpgrp(-1, 100) < 0 && errno == ESRCH) exit(0);exit(1);}], [ac_cv_func_bsd_setpgrp=yes], [ac_cv_func_bsd_setpgrp=no])])if test $ac_cv_func_bsd_setpgrp = yes; then AC_DEFINE(HAVE_BSD_SETPGRP)fi])dnl Checks if select() needs more than sys/time.h & sys/types.hdnl Defines SELECT_NONSTD_HDR on success.AC_DEFUN(AC_HEADER_SELECT_NONSTD,[AC_CACHE_CHECK([if select needs nonstd include files], ac_cv_header_slect_nonstd_hdr, [AC_TRY_COMPILE([#include <sys/types.h>#include <sys/time.h>], [fd_set rfd; FD_ZERO(&rfd); select(1, &rfd, 0, 0, 0);], [ac_cv_header_slect_nonstd_hdr=no], [ac_cv_header_slect_nonstd_hdr=yes])])if test $ac_cv_header_slect_nonstd_hdr = yes; then AC_DEFINE(SELECT_NONSTD_HDR)fi])dnl Checks if select() needs sys/select.hdnl Defines NEED_SYS_SELECT_H on success.AC_DEFUN(AC_HEADER_SYS_SELECT,[AC_REQUIRE([AC_HEADER_SELECT_NONSTD])dnlAC_CACHE_CHECK([if sys/select.h is needed for select], ac_cv_header_need_sys_select_h, [AC_TRY_COMPILE([#include <sys/types.h>#include <sys/time.h>#include <sys/select.h>#ifndef SELECT_NONSTD_HDRdo not compile if we do not need nonstandard headers#endif], [fd_set rfd; FD_ZERO(&rfd); select(1, &rfd, 0, 0, 0);], [ac_cv_header_need_sys_select_h=yes], [ac_cv_header_need_sys_select_h=no])])if test $ac_cv_header_need_sys_select_h = yes; then AC_DEFINE(NEED_SYS_SELECT_H)fi])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -