7zip: Fix build with clang

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2024-12-19 22:00:06 -08:00
parent 3f800ed93d
commit e1a8da10f0
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 32 additions and 18 deletions

View File

@ -17,19 +17,28 @@ UPSTREAM_CHECK_URI = "https://github.com/ip7z/7zip/releases/latest"
S = "${WORKDIR}/git"
# Support Yocto cross compiling
CXXFLAGS:append:toolchain-clang = " -Wno-error=cast-qual -Wno-error=sign-conversion \
-Wno-error=disabled-macro-expansion \
-Wno-error=shorten-64-to-32 \
-Wno-error=cast-function-type-strict"
EXTRA_OEMAKE += " \
CXXFLAGS_EXTRA='${CXXFLAGS}' \
CFLAGS_BASE2='${CFLAGS}' \
LDFLAGS_STATIC_3='${LDFLAGS}' \
"
# Support clang
MAKEFILE ?= "../../cmpl_gcc.mak"
MAKEFILE:class-target:toolchain-clang = "../../cmpl_clang.mak"
do_compile() {
oe_runmake -C CPP/7zip/Bundles/Alone2 -f ../../cmpl_gcc.mak
oe_runmake -C CPP/7zip/Bundles/Format7zF -f ../../cmpl_gcc.mak
oe_runmake -C CPP/7zip/UI/Console -f ../../cmpl_gcc.mak
oe_runmake -C CPP/7zip/Bundles/SFXCon -f ../../cmpl_gcc.mak
oe_runmake -C CPP/7zip/Bundles/Alone -f ../../cmpl_gcc.mak
oe_runmake -C CPP/7zip/Bundles/Alone7z -f ../../cmpl_gcc.mak
oe_runmake -C CPP/7zip/Bundles/Alone2 -f ${MAKEFILE}
oe_runmake -C CPP/7zip/Bundles/Format7zF -f ${MAKEFILE}
oe_runmake -C CPP/7zip/UI/Console -f ${MAKEFILE}
oe_runmake -C CPP/7zip/Bundles/SFXCon -f ${MAKEFILE}
oe_runmake -C CPP/7zip/Bundles/Alone -f ${MAKEFILE}
oe_runmake -C CPP/7zip/Bundles/Alone7z -f ${MAKEFILE}
}
FILES:${PN} += "${libdir}/*"
@ -37,15 +46,18 @@ FILES:${PN} += "${libdir}/*"
FILES_SOLIBSDEV = ""
INSANE_SKIP:${PN} += "dev-so"
INSTALLDIR ?= "g"
INSTALLDIR:class-target:toolchain-clang = "c"
do_install() {
install -d ${D}${bindir}
install -m 0755 ${S}/CPP/7zip/Bundles/Alone/b/g/7za ${D}${bindir}
install -m 0755 ${S}/CPP/7zip/Bundles/Alone7z/b/g/7zr ${D}${bindir}
install -m 0755 ${S}/CPP/7zip/UI/Console/b/g/7z ${D}${bindir}/7z.real
install -m 0755 ${S}/CPP/7zip/Bundles/Alone/b/${INSTALLDIR}/7za ${D}${bindir}
install -m 0755 ${S}/CPP/7zip/Bundles/Alone7z/b/${INSTALLDIR}/7zr ${D}${bindir}
install -m 0755 ${S}/CPP/7zip/UI/Console/b/${INSTALLDIR}/7z ${D}${bindir}/7z.real
install -m 0755 ${UNPACKDIR}/7z_wrapper.sh ${D}${bindir}/7z
install -d ${D}${libdir}
install -m 0755 ${S}/CPP/7zip/Bundles/Format7zF/b/g/7z.so ${D}${libdir}/lib7z.so
install -m 0755 ${S}/CPP/7zip/Bundles/Format7zF/b/${INSTALLDIR}/7z.so ${D}${libdir}/lib7z.so
ln -rsn ${D}${libdir}/lib7z.so ${D}${bindir}/7z.so
}

View File

@ -21,8 +21,6 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
CPP/7zip/var_gcc.mak | 2 --
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/CPP/7zip/7zip_gcc.mak b/CPP/7zip/7zip_gcc.mak
index bcb06a0..297f0a8 100644
--- a/CPP/7zip/7zip_gcc.mak
+++ b/CPP/7zip/7zip_gcc.mak
@@ -45,7 +45,7 @@ CFLAGS_DEBUG = -g
@ -30,12 +28,10 @@ index bcb06a0..297f0a8 100644
CFLAGS_DEBUG = -DNDEBUG
ifneq ($(CC), $(CROSS_COMPILE)clang)
-LFLAGS_STRIP = -s
+LFLAGS_STRIP =
+LFLAGS_STRIP =
endif
endif
diff --git a/CPP/7zip/var_gcc.mak b/CPP/7zip/var_gcc.mak
index 664491c..6d0f485 100644
--- a/CPP/7zip/var_gcc.mak
+++ b/CPP/7zip/var_gcc.mak
@@ -6,7 +6,5 @@ IS_ARM64=
@ -46,6 +42,12 @@ index 664491c..6d0f485 100644
-CXX=$(CROSS_COMPILE)g++
# -march=armv8-a+crc+crypto
--
2.34.1
--- a/CPP/7zip/var_clang.mak
+++ b/CPP/7zip/var_clang.mak
@@ -6,6 +6,4 @@ IS_ARM64=
CROSS_COMPILE=
MY_ARCH=
USE_ASM=
-CC=$(CROSS_COMPILE)clang
-CXX=$(CROSS_COMPILE)clang++
USE_CLANG=1