xz: Work around ASM declaration issue with NVHPC (#49006)

This commit works around an issue described below that xz encounters
during compilation with nvhpc.

https://forums.developer.nvidia.com/t/problem-in-inline-assembly-when-using-multiple-asm-declarations/210952
This commit is contained in:
Matthew L. Curry 2025-02-19 12:38:29 -07:00 committed by GitHub
parent 11ba5ebbcd
commit e76ebf2cf7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,12 @@
diff -Naru xz.pristine/src/liblzma/common/common.h xz.new/src/liblzma/common/common.h
--- xz.pristine/src/liblzma/common/common.h 2025-02-11 21:03:10.322612833 +0000
+++ xz.new/src/liblzma/common/common.h 2025-02-11 21:02:56.135613226 +0000
@@ -93,7 +93,7 @@
LZMA_API(type) intname
# else
# define LZMA_SYMVER_API(extnamever, type, intname) \
- __asm__(".symver " #intname "," extnamever); \
+ __asm__(".symver " #intname "," extnamever "\n"); \
extern LZMA_API(type) intname
# endif
#endif

View File

@ -61,6 +61,12 @@ class Xz(MSBuildPackage, AutotoolsPackage, SourceforgePackage):
# prior to 5.2.3, build system is for MinGW only, not currently supported by Spack
conflicts("platform=windows", when="@:5.2.3")
patch(
"nvhpc.patch",
when="@5.2.10: %nvhpc",
sha256="32228638c462651ec7dedab706d05aa352995f064ace2dee915f31c75cc995c0",
)
build_system(conditional("msbuild", when="platform=windows"), "autotools", default="autotools")
def flag_handler(self, name, flags):