From a6de4c1050f5993a42c4aa5ee504f48d68249551 Mon Sep 17 00:00:00 2001 From: Bogdan Andone Date: Wed, 18 Nov 2015 15:55:47 +0200 Subject: [PATCH 1/4] Make libtool generate static objects. --- acinclude.m4 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/acinclude.m4 b/acinclude.m4 index ff2fad66f4c6..24fc87a37c56 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -826,6 +826,7 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[ shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting shared_cxx_post= shared_lo=lo + php_sapi_module=static ]) dnl @@ -910,6 +911,7 @@ AC_DEFUN([PHP_SELECT_SAPI],[ install_sapi="install-sapi" ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])]) ]) + AC_MSG_WARN([+++$1: $php_sapi_module]) ]) dnl deprecated From 8af48b2096328f18a78aa7bcf17c041f352e142f Mon Sep 17 00:00:00 2001 From: Bogdan Andone Date: Wed, 25 Nov 2015 13:26:08 +0200 Subject: [PATCH 2/4] Force PHP binaries to link with non PIC objects. --- sapi/cgi/config9.m4 | 2 +- sapi/cli/config.m4 | 2 +- sapi/fpm/config.m4 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sapi/cgi/config9.m4 b/sapi/cgi/config9.m4 index f54442620204..8e28ab2d82a6 100644 --- a/sapi/cgi/config9.m4 +++ b/sapi/cgi/config9.m4 @@ -64,7 +64,7 @@ if test "$PHP_CGI" != "no"; then BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" ;; *) - BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" + BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" ;; esac diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4 index 04db2fecee7a..3e1232292f7c 100644 --- a/sapi/cli/config.m4 +++ b/sapi/cli/config.m4 @@ -48,7 +48,7 @@ if test "$PHP_CLI" != "no"; then BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -Lnetware -lphp7lib -o \$(SAPI_CLI_PATH)" ;; *) - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" + BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" ;; esac diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4 index e6a1a4985734..a6e89bf437a7 100644 --- a/sapi/fpm/config.m4 +++ b/sapi/fpm/config.m4 @@ -718,7 +718,7 @@ if test "$PHP_FPM" != "no"; then BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" ;; *) - BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" + BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" ;; esac From 9487d87d4e0e61a24acdd5b9a4550cda13773c52 Mon Sep 17 00:00:00 2001 From: Bogdan Andone Date: Wed, 25 Nov 2015 13:35:14 +0200 Subject: [PATCH 3/4] some cleanup in acinclude.m4. --- acinclude.m4 | 1 - 1 file changed, 1 deletion(-) diff --git a/acinclude.m4 b/acinclude.m4 index 24fc87a37c56..b9bb2e30c428 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -911,7 +911,6 @@ AC_DEFUN([PHP_SELECT_SAPI],[ install_sapi="install-sapi" ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])]) ]) - AC_MSG_WARN([+++$1: $php_sapi_module]) ]) dnl deprecated From cb30ea2531b461fa3569672f374d71553344f229 Mon Sep 17 00:00:00 2001 From: Bogdan Andone Date: Mon, 7 Dec 2015 16:28:26 +0200 Subject: [PATCH 4/4] Another way to preserve non-PIC objects in case of shared SAPI builds. Cleaner than forcing 'php_sapi_module' as it simple preserves enable_static=yes default value. --- acinclude.m4 | 1 - configure.in | 1 - 2 files changed, 2 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index b9bb2e30c428..ff2fad66f4c6 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -826,7 +826,6 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[ shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting shared_cxx_post= shared_lo=lo - php_sapi_module=static ]) dnl diff --git a/configure.in b/configure.in index 0d62c488b1e2..69642ba9c97e 100644 --- a/configure.in +++ b/configure.in @@ -1042,7 +1042,6 @@ enable_static=yes case $php_sapi_module in shared[)] - enable_static=no case $with_pic in yes) standard_libtool_flag='-prefer-pic'