|
@@ -19,15 +19,25 @@ PHP_CONF_OPT = --mandir=/usr/share/man \
|
|
|
--with-config-file-path=/etc \
|
|
|
--localstatedir=/var \
|
|
|
--disable-rpath
|
|
|
+PHP_CONF_ENV = EXTRA_LIBS="$(PHP_EXTRA_LIBS)"
|
|
|
+
|
|
|
ifeq ($(BR2_ENDIAN),"BIG")
|
|
|
-PHP_CONF_ENV = ac_cv_c_bigendian_php=yes
|
|
|
+PHP_CONF_ENV += ac_cv_c_bigendian_php=yes
|
|
|
else
|
|
|
-PHP_CONF_ENV = ac_cv_c_bigendian_php=no
|
|
|
+PHP_CONF_ENV += ac_cv_c_bigendian_php=no
|
|
|
endif
|
|
|
PHP_CONFIG_SCRIPTS = php-config
|
|
|
|
|
|
PHP_CFLAGS = $(TARGET_CFLAGS)
|
|
|
|
|
|
+# We need to force dl "detection"
|
|
|
+ifeq ($(BR2_PREFER_STATIC_LIB),)
|
|
|
+PHP_CONF_ENV += ac_cv_func_dlopen=yes ac_cv_lib_dl_dlopen=yes
|
|
|
+PHP_EXTRA_LIBS += -ldl
|
|
|
+else
|
|
|
+PHP_CONF_ENV += ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=no
|
|
|
+endif
|
|
|
+
|
|
|
# Workaround for non-IPv6 uClibc toolchain
|
|
|
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
|
|
|
ifneq ($(BR2_INET_IPV6),y)
|
|
@@ -116,7 +126,7 @@ ifeq ($(BR2_PACKAGE_PHP_EXT_INTL),y)
|
|
|
# The intl module is implemented in C++, but PHP fails to use
|
|
|
# g++ as the compiler for the final link. As a workaround,
|
|
|
# tell it to link libstdc++.
|
|
|
- PHP_CONF_ENV += EXTRA_LIBS="-lstdc++"
|
|
|
+ PHP_EXTRA_LIBS + = -lstdc++
|
|
|
endif
|
|
|
|
|
|
ifeq ($(BR2_PACKAGE_PHP_EXT_GMP),y)
|
|
@@ -200,6 +210,15 @@ ifeq ($(BR2_PACKAGE_PHP_EXT_SNMP),y)
|
|
|
PHP_DEPENDENCIES += netsnmp
|
|
|
endif
|
|
|
|
|
|
+define PHP_EXTENSIONS_FIXUP
|
|
|
+ $(SED) "/prefix/ s:/usr:$(STAGING_DIR)/usr:" \
|
|
|
+ $(STAGING_DIR)/usr/bin/phpize
|
|
|
+ $(SED) "/extension_dir/ s:/usr:$(TARGET_DIR)/usr:" \
|
|
|
+ $(STAGING_DIR)/usr/bin/php-config
|
|
|
+endef
|
|
|
+
|
|
|
+PHP_POST_INSTALL_TARGET_HOOKS += PHP_EXTENSIONS_FIXUP
|
|
|
+
|
|
|
define PHP_INSTALL_FIXUP
|
|
|
rm -rf $(TARGET_DIR)/usr/lib/php
|
|
|
rm -f $(TARGET_DIR)/usr/bin/phpize
|