config.m4 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. dnl config.m4 for extension posix
  2. PHP_ARG_ENABLE(posix,whether to enable POSIX-like functions,
  3. [ --disable-posix Disable POSIX-like functions], yes)
  4. if test "$PHP_POSIX" = "yes"; then
  5. AC_DEFINE(HAVE_POSIX, 1, [whether to include POSIX-like functions])
  6. PHP_NEW_EXTENSION(posix, posix.c, $ext_shared)
  7. AC_CHECK_HEADERS([sys/mkdev.h sys/sysmacros.h])
  8. AC_CHECK_FUNCS(seteuid setegid setsid getsid setpgid getpgid ctermid mkfifo mknod setrlimit getrlimit getlogin getgroups makedev initgroups getpwuid_r getgrgid_r)
  9. AC_MSG_CHECKING([for working ttyname_r() implementation])
  10. AC_RUN_IFELSE([AC_LANG_SOURCE([[
  11. #include <unistd.h>
  12. int main(int argc, char *argv[])
  13. {
  14. char buf[64];
  15. return !ttyname_r(0, buf, 64);
  16. }
  17. ]])],[
  18. AC_MSG_RESULT([yes])
  19. AC_DEFINE(HAVE_TTYNAME_R, 1, [Whether you have a working ttyname_r])
  20. ],[
  21. AC_MSG_RESULT([no, posix_ttyname() will be thread-unsafe])
  22. ], [
  23. AC_MSG_RESULT([no, cannot detect working ttyname_r() when cross compiling. posix_ttyname() will be thread-unsafe])
  24. ])
  25. AC_CACHE_CHECK([for utsname.domainname], ac_cv_have_utsname_domainname, [
  26. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
  27. #define _GNU_SOURCE
  28. #include <sys/utsname.h>
  29. ]],[[
  30. return sizeof(((struct utsname *)0)->domainname);
  31. ]])],[
  32. ac_cv_have_utsname_domainname=yes
  33. ],[
  34. ac_cv_have_utsname_domainname=no
  35. ])
  36. ])
  37. if test "$ac_cv_have_utsname_domainname" = yes; then
  38. AC_DEFINE(HAVE_UTSNAME_DOMAINNAME, 1, [Whether struct utsname has domainname])
  39. fi
  40. fi