php8: fix linking on riscv64 platform (again) 21839/head
authorMichael Heimpold <mhei@heimpold.de>
Sat, 3 Jun 2023 15:57:18 +0000 (17:57 +0200)
committerMichael Heimpold <mhei@heimpold.de>
Wed, 16 Aug 2023 19:38:54 +0000 (21:38 +0200)
The initial fix was done in a2e76e497.
Later we could revert it with 5779ae4c5 since a global fix
in gcc was deployed.

But now, PHP itself applied a workaround/fix in 8.2.8,
so that we now require the initial fix again.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
lang/php8/Makefile

index 263c2bdf33b1d6957387d67de08df55f46fedc08..b263692a0b548cb17c04e0ac1d0bb29800168fa6 100644 (file)
@@ -94,7 +94,7 @@ endef
 
 define Package/php8-cli
   $(call Package/php8/Default)
-  DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp
+  DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp +riscv64:libatomic
   TITLE+= (CLI)
 endef
 
@@ -105,7 +105,7 @@ endef
 
 define Package/php8-cgi
   $(call Package/php8/Default)
-  DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp
+  DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp +riscv64:libatomic
   TITLE+= (CGI & FastCGI)
 endef
 
@@ -127,7 +127,7 @@ endef
 
 define Package/php8-fpm
   $(call Package/php8/Default)
-  DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp
+  DEPENDS+= +PACKAGE_php8-mod-intl:libstdcpp +riscv64:libatomic
   TITLE+= (FPM)
 endef
 
@@ -159,6 +159,7 @@ define Package/apache-mod-php8
   CATEGORY:=Network
   DEPENDS+=PACKAGE_apache-mod-php8:apache \
           +PACKAGE_php8-mod-intl:libstdcpp \
+          +riscv64:libatomic \
           +libpcre2 +zlib
   TITLE:=PHP8 module for Apache Web Server
 endef
@@ -197,6 +198,9 @@ endif
 ifeq ($(CONFIG_USE_MUSL),y)
 TARGET_CFLAGS += -D_LARGEFILE64_SOURCE
 endif
+ifneq ($(findstring riscv64,$(CONFIG_ARCH)),)
+TARGET_LDFLAGS += -latomic
+endif
 
 ifneq ($(SDK)$(CONFIG_PACKAGE_php8-mod-bcmath),)
   CONFIGURE_ARGS+= --enable-bcmath=shared
@@ -603,6 +607,8 @@ define BuildModule
   define Package/php8-mod-$(1)
     $(call Package/php8/Default)
 
+    DEPENDS+=+riscv64:libatomic
+
     ifneq ($(3),)
       DEPENDS+=$(3)
     endif