https://github.com/php/php-src/commit/aeaab8e Port various autoconf bits to C99 compilers https://trac.macports.org/ticket/70468 php74 @7.4.33: Undefined symbols due to implicit ints --- a/Zend/Zend.m4.orig +++ b/Zend/Zend.m4 @@ -157,6 +157,7 @@ AC_MSG_CHECKING(whether double cast to long preserves least significant bits) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include +#include int main() { @@ -256,6 +257,7 @@ AC_MSG_CHECKING(for MM alignment and log values) AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include +#include typedef union _mm_align_test { void *ptr; --- a/build/libtool.m4.orig +++ b/build/libtool.m4 @@ -945,6 +945,7 @@ else #endif #include +#include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL --- a/build/php.m4.orig +++ b/build/php.m4 @@ -1120,7 +1120,7 @@ AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include -main() { +int main() { char buf[27]; struct tm t; time_t old = 0; @@ -1136,7 +1136,7 @@ return (1); ],[ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include -main() { +int main() { struct tm t, *s; time_t old = 0; char buf[27], *p; @@ -1175,6 +1175,7 @@ AC_DEFUN([PHP_DOES_PWRITE_WORK],[ #include #include #include +#include $1 int main() { int fd = open("conftest_in", O_WRONLY|O_CREAT, 0600); @@ -1208,6 +1209,7 @@ AC_DEFUN([PHP_DOES_PREAD_WORK],[ #include #include #include +#include $1 int main() { char buf[3]; @@ -1462,6 +1464,7 @@ dnl Even newer glibcs have a different seeker definition. AC_RUN_IFELSE([AC_LANG_SOURCE([[ #define _GNU_SOURCE #include +#include struct cookiedata { off64_t pos; @@ -1597,7 +1600,7 @@ AC_DEFUN([PHP_CHECK_FUNC_LIB],[ if test "$found" = "yes"; then ac_libs=$LIBS LIBS="$LIBS -l$2" - AC_RUN_IFELSE([AC_LANG_SOURCE([[main() { return (0); }]])],[found=yes],[found=no],[found=no]) + AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return (0); }]])],[found=yes],[found=no],[found=no]) LIBS=$ac_libs fi @@ -2285,7 +2288,7 @@ AC_DEFUN([PHP_TEST_WRITE_STDOUT],[ #define TEXT "This is the test message -- " -main() +int main() { int n; --- a/configure.ac.orig +++ b/configure.ac @@ -663,6 +663,7 @@ AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);]])],[AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include +#include #include #include #ifndef AF_INET --- a/ext/standard/config.m4.orig +++ b/ext/standard/config.m4 @@ -5,8 +5,10 @@ AC_CACHE_CHECK([whether flush should be called explicitly after a buffered io], AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #include -#include +#ifdef HAVE_UNISTD_H #include +#endif +#include int main(int argc, char **argv) { @@ -71,6 +73,9 @@ AC_CACHE_CHECK(for standard DES crypt, ac_cv_crypt_des,[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char *encrypted = crypt("rasmuslerdorf","rl"); @@ -98,6 +103,9 @@ AC_CACHE_CHECK(for extended DES crypt, ac_cv_crypt_ext_des,[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char *encrypted = crypt("rasmuslerdorf","_J9..rasm"); @@ -125,6 +133,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[15], answer[40]; @@ -162,6 +173,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[30], answer[70]; @@ -196,6 +210,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[21], answer[21+86]; @@ -229,6 +246,9 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include #endif +#include +#include + int main() { #if HAVE_CRYPT char salt[21], answer[21+43];