]> granicus.if.org Git - php/commitdiff
Fixed #46059 (Compile failure under IRIX 6.5.30 building posix.c)
authorArnaud Le Blanc <lbarnaud@php.net>
Sat, 20 Sep 2008 22:12:31 +0000 (22:12 +0000)
committerArnaud Le Blanc <lbarnaud@php.net>
Sat, 20 Sep 2008 22:12:31 +0000 (22:12 +0000)
ext/posix/config.m4
ext/posix/posix.c

index f88e2615ff4c2a038d7ed8cdcf5a8262ec54cc1c..ada08ce946d592f64f3bdd2d4df7abf27fa2af38 100644 (file)
@@ -31,4 +31,20 @@ int main(int argc, char *argv[])
   ], [
     AC_MSG_RESULT([no, cannot detect working ttyname_r() when cross compiling. posix_ttyname() will be thread-unsafe])
   ])
+
+  AC_CACHE_CHECK([for utsname.domainname], ac_cv_have_utsname_domainname, [
+    AC_TRY_COMPILE([
+      #define _GNU_SOURCE
+      #include <sys/utsname.h>
+    ],[
+      return sizeof(((struct utsname *)0)->domainname);
+    ],[
+      ac_cv_have_utsname_domainname=yes
+    ],[
+      ac_cv_have_utsname_domainname=no
+    ])
+  ])
+  if test ac_cv_have_utsname_domainname=yes; then
+    AC_DEFINE(HAVE_UTSNAME_DOMAINNAME, 1, [Wether struct utsname has domainname])
+  fi
 fi
index 4507f552b34f5660990b68d398a96737cbbdabdf..10cc85ec569621828b9bb5c365e39ed59d4f39b8 100644 (file)
@@ -666,7 +666,7 @@ PHP_FUNCTION(posix_uname)
        add_assoc_string(return_value, "release",  u.release,  1);
        add_assoc_string(return_value, "version",  u.version,  1);
        add_assoc_string(return_value, "machine",  u.machine,  1);
-#if defined(_GNU_SOURCE) && !defined(DARWIN)
+#if defined(_GNU_SOURCE) && !defined(DARWIN) && defined(HAVE_UTSNAME_DOMAINNAME)
        add_assoc_string(return_value, "domainname", u.domainname, 1);
 #endif
 }