config.m4 1.5 KB

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