summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleksandr Natalenko2022-05-15 15:38:40 +0200
committerOleksandr Natalenko2022-05-15 15:38:40 +0200
commit4b44fab5fd5fafe06370e7160d8472964cc9f52b (patch)
tree4df903fd345750700784a79d2d3b80471e744f66
parenta2448debc4dacfbca95e38abe4dd74ae800347d5 (diff)
downloadaur-4b44fab5fd5fafe06370e7160d8472964cc9f52b.tar.gz
use meson
Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
-rw-r--r--.SRCINFO13
-rw-r--r--01-gcc-12.patch (renamed from 02-gcc-12.patch)0
-rw-r--r--01-uasm.patch11
-rw-r--r--03-hardening.patch29
-rw-r--r--PKGBUILD27
-rw-r--r--meson.build425
6 files changed, 443 insertions, 62 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3d8589efd8ab..52586a70ee44 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,19 @@
pkgbase = 7-zip
pkgdesc = File archiver with a high compression ratio
pkgver = 21.07
- pkgrel = 4
+ pkgrel = 5
url = https://www.7-zip.org
arch = x86_64
license = LGPL
+ license = BSD
+ license = custom:unRAR
makedepends = uasm
+ makedepends = meson
source = https://7-zip.org/a/7z2107-src.7z
- source = 01-uasm.patch
- source = 02-gcc-12.patch
- source = 03-hardening.patch
+ source = 01-gcc-12.patch
+ source = meson.build
sha256sums = d1074d56f415aab99d99e597a7b66dc455dba6349ae8a4c89df76475b6a1284c
- sha256sums = 76cabefa3bdf9fa2b6a7af1fc549534684b17f6785a32b0e1bc1f459d401eb74
sha256sums = e4d34366e091b8404dd04f02bcad46518d2930ec0b4a420e1316db020234b085
- sha256sums = 4be9968d05ab7163e7ded473202abcf465229d96b133c702091fc1b91dee0c06
+ sha256sums = abeeaafafa81f77b7ddec675fe97d2e9dfa4efd6ad0b92323cb7ddfcb5655d70
pkgname = 7-zip
diff --git a/02-gcc-12.patch b/01-gcc-12.patch
index 18f76e4a689d..18f76e4a689d 100644
--- a/02-gcc-12.patch
+++ b/01-gcc-12.patch
diff --git a/01-uasm.patch b/01-uasm.patch
deleted file mode 100644
index 709c8b547b3f..000000000000
--- a/01-uasm.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CPP/7zip/7zip_gcc.mak 2021-12-25 15:00:00.000000000 +0100
-+++ b/CPP/7zip/7zip_gcc.mak 2022-05-12 21:06:28.101951648 +0200
-@@ -7,7 +7,7 @@
-
- MY_ARCH_2 = $(MY_ARCH)
-
--MY_ASM = asmc
-+MY_ASM = uasm
- ifdef USE_JWASM
- MY_ASM = jwasm
- endif
diff --git a/03-hardening.patch b/03-hardening.patch
deleted file mode 100644
index 593d461a8d48..000000000000
--- a/03-hardening.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/CPP/7zip/7zip_gcc.mak 2021-12-25 15:00:00.000000000 +0100
-+++ b/CPP/7zip/7zip_gcc.mak 2022-05-12 21:14:52.909954342 +0200
-@@ -126,7 +126,7 @@
-
-
-
--CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) $(CC_SHARED) -o $@
-+CFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CFLAGS_BASE2) $(CFLAGS_BASE) -fstack-protector-strong -D_FORTIFY_SOURCE=2 $(CC_SHARED) -o $@
-
-
- ifdef IS_MINGW
-@@ -154,7 +154,7 @@
- #-Wno-invalid-offsetof
- #-Wno-reorder
-
--CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(CXXFLAGS_EXTRA) $(CC_SHARED) -o $@ $(CXX_WARN_FLAGS)
-+CXXFLAGS = $(MY_ARCH_2) $(LOCAL_FLAGS) $(CXXFLAGS_BASE2) $(CFLAGS_BASE) $(CXXFLAGS_EXTRA) -fstack-protector-strong -D_FORTIFY_SOURCE=2 $(CC_SHARED) -o $@ $(CXX_WARN_FLAGS)
-
- STATIC_TARGET=
- ifdef COMPL_STATIC
-@@ -167,7 +167,7 @@
- $(O):
- $(MY_MKDIR) $(O)
-
--LFLAGS_ALL = -s $(MY_ARCH_2) $(LDFLAGS) $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
-+LFLAGS_ALL = -s $(MY_ARCH_2) $(LDFLAGS) -z relro -z now -z noexecstack $(LD_arch) $(OBJS) $(MY_LIBS) $(LIB2)
- $(PROGPATH): $(OBJS)
- $(CXX) -o $(PROGPATH) $(LFLAGS_ALL)
-
diff --git a/PKGBUILD b/PKGBUILD
index 21176ce447c9..aa3239f00767 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,35 +2,30 @@
pkgname=7-zip
pkgver=21.07
-pkgrel=4
+pkgrel=5
pkgdesc="File archiver with a high compression ratio"
url="https://www.7-zip.org"
-license=(LGPL)
+license=('LGPL' 'BSD' 'custom:unRAR')
arch=(x86_64)
-makedepends=(uasm)
+makedepends=(uasm meson)
source=(https://7-zip.org/a/7z2107-src.7z
- 01-uasm.patch
- 02-gcc-12.patch
- 03-hardening.patch)
+ 01-gcc-12.patch
+ meson.build)
sha256sums=('d1074d56f415aab99d99e597a7b66dc455dba6349ae8a4c89df76475b6a1284c'
- '76cabefa3bdf9fa2b6a7af1fc549534684b17f6785a32b0e1bc1f459d401eb74'
'e4d34366e091b8404dd04f02bcad46518d2930ec0b4a420e1316db020234b085'
- '4be9968d05ab7163e7ded473202abcf465229d96b133c702091fc1b91dee0c06')
+ 'abeeaafafa81f77b7ddec675fe97d2e9dfa4efd6ad0b92323cb7ddfcb5655d70')
prepare() {
- patch -Np1 -i 01-uasm.patch
- patch -Np1 -i 02-gcc-12.patch
- patch -Np1 -i 03-hardening.patch
+ patch -Np1 -i 01-gcc-12.patch
}
build() {
- cd CPP/7zip/Bundles/Alone2
- make -f ../../cmpl_gcc_x64.mak
+ arch-meson . build
+
+ meson compile -C build
}
package() {
- install -Dt "${pkgdir}"/usr/bin -m0755 CPP/7zip/Bundles/Alone2/b/g_x64/7zz
- install -Dt "${pkgdir}"/usr/share/licenses/${pkgname} -m0644 DOC/{copying,License,unRarLicense}.txt
- install -Dt "${pkgdir}"/usr/share/doc/${pkgname} -m0644 DOC/{7zC,7zFormat,lzma,Methods,readme,src-history}.txt
+ meson install -C build --destdir "${pkgdir}"
}
diff --git a/meson.build b/meson.build
new file mode 100644
index 000000000000..0849772f9bf2
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,425 @@
+project(
+ '7-zip',
+ [
+ 'c',
+ 'cpp',
+ ],
+ version: '21.07',
+ default_options: [
+ 'warning_level=2',
+ 'werror=true',
+ ],
+ license: 'LGPL',
+)
+
+uasm = find_program('uasm', required: true)
+
+uasm_src = [
+ 'Asm/x86/7zCrcOpt.asm',
+ 'Asm/x86/AesOpt.asm',
+ 'Asm/x86/LzFindOpt.asm',
+ 'Asm/x86/LzmaDecOpt.asm',
+ 'Asm/x86/Sha1Opt.asm',
+ 'Asm/x86/Sha256Opt.asm',
+ 'Asm/x86/XzCrc64Opt.asm',
+]
+
+uasm_gen = generator(uasm,
+ output: '@BASENAME@.o',
+ arguments: [
+ '-q',
+ '-elf64',
+ '-DABI_LINUX',
+ '-Fo@OUTPUT@',
+ '@INPUT@'
+ ],
+)
+
+uasm_files = uasm_gen.process(uasm_src)
+
+c_files = [
+ 'C/7zBuf2.c',
+ 'C/7zCrc.c',
+ 'C/7zStream.c',
+ 'C/Aes.c',
+ 'C/Alloc.c',
+ 'C/Bcj2.c',
+ 'C/Bcj2Enc.c',
+ 'C/Blake2s.c',
+ 'C/Bra.c',
+ 'C/Bra86.c',
+ 'C/BraIA64.c',
+ 'C/BwtSort.c',
+ 'C/CpuArch.c',
+ 'C/Delta.c',
+ 'C/HuffEnc.c',
+ 'C/LzFind.c',
+ 'C/LzFindMt.c',
+ 'C/Lzma2Dec.c',
+ 'C/Lzma2DecMt.c',
+ 'C/Lzma2Enc.c',
+ 'C/LzmaDec.c',
+ 'C/LzmaEnc.c',
+ 'C/MtCoder.c',
+ 'C/MtDec.c',
+ 'C/Ppmd7.c',
+ 'C/Ppmd7Dec.c',
+ 'C/Ppmd7Enc.c',
+ 'C/Ppmd7aDec.c',
+ 'C/Ppmd8.c',
+ 'C/Ppmd8Dec.c',
+ 'C/Ppmd8Enc.c',
+ 'C/Sha1.c',
+ 'C/Sha256.c',
+ 'C/Sort.c',
+ 'C/Threads.c',
+ 'C/Xz.c',
+ 'C/XzCrc64.c',
+ 'C/XzDec.c',
+ 'C/XzEnc.c',
+ 'C/XzIn.c',
+]
+
+cpp_files = [
+ 'CPP/7zip/Archive/7z/7zCompressionMode.cpp',
+ 'CPP/7zip/Archive/7z/7zDecode.cpp',
+ 'CPP/7zip/Archive/7z/7zEncode.cpp',
+ 'CPP/7zip/Archive/7z/7zExtract.cpp',
+ 'CPP/7zip/Archive/7z/7zFolderInStream.cpp',
+ 'CPP/7zip/Archive/7z/7zHandler.cpp',
+ 'CPP/7zip/Archive/7z/7zHandlerOut.cpp',
+ 'CPP/7zip/Archive/7z/7zHeader.cpp',
+ 'CPP/7zip/Archive/7z/7zIn.cpp',
+ 'CPP/7zip/Archive/7z/7zOut.cpp',
+ 'CPP/7zip/Archive/7z/7zProperties.cpp',
+ 'CPP/7zip/Archive/7z/7zRegister.cpp',
+ 'CPP/7zip/Archive/7z/7zSpecStream.cpp',
+ 'CPP/7zip/Archive/7z/7zUpdate.cpp',
+ 'CPP/7zip/Archive/ApmHandler.cpp',
+ 'CPP/7zip/Archive/ArHandler.cpp',
+ 'CPP/7zip/Archive/ArjHandler.cpp',
+ 'CPP/7zip/Archive/Base64Handler.cpp',
+ 'CPP/7zip/Archive/Bz2Handler.cpp',
+ 'CPP/7zip/Archive/Cab/CabBlockInStream.cpp',
+ 'CPP/7zip/Archive/Cab/CabHandler.cpp',
+ 'CPP/7zip/Archive/Cab/CabHeader.cpp',
+ 'CPP/7zip/Archive/Cab/CabIn.cpp',
+ 'CPP/7zip/Archive/Cab/CabRegister.cpp',
+ 'CPP/7zip/Archive/Chm/ChmHandler.cpp',
+ 'CPP/7zip/Archive/Chm/ChmIn.cpp',
+ 'CPP/7zip/Archive/ComHandler.cpp',
+ 'CPP/7zip/Archive/Common/CoderMixer2.cpp',
+ 'CPP/7zip/Archive/Common/DummyOutStream.cpp',
+ 'CPP/7zip/Archive/Common/FindSignature.cpp',
+ 'CPP/7zip/Archive/Common/HandlerOut.cpp',
+ 'CPP/7zip/Archive/Common/InStreamWithCRC.cpp',
+ 'CPP/7zip/Archive/Common/ItemNameUtils.cpp',
+ 'CPP/7zip/Archive/Common/MultiStream.cpp',
+ 'CPP/7zip/Archive/Common/OutStreamWithCRC.cpp',
+ 'CPP/7zip/Archive/Common/OutStreamWithSha1.cpp',
+ 'CPP/7zip/Archive/Common/ParseProperties.cpp',
+ 'CPP/7zip/Archive/CpioHandler.cpp',
+ 'CPP/7zip/Archive/CramfsHandler.cpp',
+ 'CPP/7zip/Archive/DeflateProps.cpp',
+ 'CPP/7zip/Archive/DmgHandler.cpp',
+ 'CPP/7zip/Archive/ElfHandler.cpp',
+ 'CPP/7zip/Archive/ExtHandler.cpp',
+ 'CPP/7zip/Archive/FatHandler.cpp',
+ 'CPP/7zip/Archive/FlvHandler.cpp',
+ 'CPP/7zip/Archive/GptHandler.cpp',
+ 'CPP/7zip/Archive/GzHandler.cpp',
+ 'CPP/7zip/Archive/HandlerCont.cpp',
+ 'CPP/7zip/Archive/HfsHandler.cpp',
+ 'CPP/7zip/Archive/IhexHandler.cpp',
+ 'CPP/7zip/Archive/Iso/IsoHandler.cpp',
+ 'CPP/7zip/Archive/Iso/IsoHeader.cpp',
+ 'CPP/7zip/Archive/Iso/IsoIn.cpp',
+ 'CPP/7zip/Archive/Iso/IsoRegister.cpp',
+ 'CPP/7zip/Archive/LzhHandler.cpp',
+ 'CPP/7zip/Archive/LzmaHandler.cpp',
+ 'CPP/7zip/Archive/MachoHandler.cpp',
+ 'CPP/7zip/Archive/MbrHandler.cpp',
+ 'CPP/7zip/Archive/MslzHandler.cpp',
+ 'CPP/7zip/Archive/MubHandler.cpp',
+ 'CPP/7zip/Archive/Nsis/NsisDecode.cpp',
+ 'CPP/7zip/Archive/Nsis/NsisHandler.cpp',
+ 'CPP/7zip/Archive/Nsis/NsisIn.cpp',
+ 'CPP/7zip/Archive/Nsis/NsisRegister.cpp',
+ 'CPP/7zip/Archive/NtfsHandler.cpp',
+ 'CPP/7zip/Archive/PeHandler.cpp',
+ 'CPP/7zip/Archive/PpmdHandler.cpp',
+ 'CPP/7zip/Archive/QcowHandler.cpp',
+ 'CPP/7zip/Archive/Rar/Rar5Handler.cpp',
+ 'CPP/7zip/Archive/Rar/RarHandler.cpp',
+ 'CPP/7zip/Archive/RpmHandler.cpp',
+ 'CPP/7zip/Archive/SplitHandler.cpp',
+ 'CPP/7zip/Archive/SquashfsHandler.cpp',
+ 'CPP/7zip/Archive/SwfHandler.cpp',
+ 'CPP/7zip/Archive/Tar/TarHandler.cpp',
+ 'CPP/7zip/Archive/Tar/TarHandlerOut.cpp',
+ 'CPP/7zip/Archive/Tar/TarHeader.cpp',
+ 'CPP/7zip/Archive/Tar/TarIn.cpp',
+ 'CPP/7zip/Archive/Tar/TarOut.cpp',
+ 'CPP/7zip/Archive/Tar/TarRegister.cpp',
+ 'CPP/7zip/Archive/Tar/TarUpdate.cpp',
+ 'CPP/7zip/Archive/Udf/UdfHandler.cpp',
+ 'CPP/7zip/Archive/Udf/UdfIn.cpp',
+ 'CPP/7zip/Archive/UefiHandler.cpp',
+ 'CPP/7zip/Archive/VdiHandler.cpp',
+ 'CPP/7zip/Archive/VhdHandler.cpp',
+ 'CPP/7zip/Archive/VhdxHandler.cpp',
+ 'CPP/7zip/Archive/VmdkHandler.cpp',
+ 'CPP/7zip/Archive/Wim/WimHandler.cpp',
+ 'CPP/7zip/Archive/Wim/WimHandlerOut.cpp',
+ 'CPP/7zip/Archive/Wim/WimIn.cpp',
+ 'CPP/7zip/Archive/Wim/WimRegister.cpp',
+ 'CPP/7zip/Archive/XarHandler.cpp',
+ 'CPP/7zip/Archive/XzHandler.cpp',
+ 'CPP/7zip/Archive/ZHandler.cpp',
+ 'CPP/7zip/Archive/Zip/ZipAddCommon.cpp',
+ 'CPP/7zip/Archive/Zip/ZipHandler.cpp',
+ 'CPP/7zip/Archive/Zip/ZipHandlerOut.cpp',
+ 'CPP/7zip/Archive/Zip/ZipIn.cpp',
+ 'CPP/7zip/Archive/Zip/ZipItem.cpp',
+ 'CPP/7zip/Archive/Zip/ZipOut.cpp',
+ 'CPP/7zip/Archive/Zip/ZipRegister.cpp',
+ 'CPP/7zip/Archive/Zip/ZipUpdate.cpp',
+ 'CPP/7zip/Common/CWrappers.cpp',
+ 'CPP/7zip/Common/CreateCoder.cpp',
+ 'CPP/7zip/Common/FilePathAutoRename.cpp',
+ 'CPP/7zip/Common/FileStreams.cpp',
+ 'CPP/7zip/Common/FilterCoder.cpp',
+ 'CPP/7zip/Common/InBuffer.cpp',
+ 'CPP/7zip/Common/InOutTempBuffer.cpp',
+ 'CPP/7zip/Common/LimitedStreams.cpp',
+ 'CPP/7zip/Common/LockedStream.cpp',
+ 'CPP/7zip/Common/MemBlocks.cpp',
+ 'CPP/7zip/Common/MethodId.cpp',
+ 'CPP/7zip/Common/MethodProps.cpp',
+ 'CPP/7zip/Common/OffsetStream.cpp',
+ 'CPP/7zip/Common/OutBuffer.cpp',
+ 'CPP/7zip/Common/OutMemStream.cpp',
+ 'CPP/7zip/Common/ProgressMt.cpp',
+ 'CPP/7zip/Common/ProgressUtils.cpp',
+ 'CPP/7zip/Common/PropId.cpp',
+ 'CPP/7zip/Common/StreamBinder.cpp',
+ 'CPP/7zip/Common/StreamObjects.cpp',
+ 'CPP/7zip/Common/StreamUtils.cpp',
+ 'CPP/7zip/Common/UniqBlocks.cpp',
+ 'CPP/7zip/Common/VirtThread.cpp',
+ 'CPP/7zip/Compress/BZip2Crc.cpp',
+ 'CPP/7zip/Compress/BZip2Decoder.cpp',
+ 'CPP/7zip/Compress/BZip2Encoder.cpp',
+ 'CPP/7zip/Compress/BZip2Register.cpp',
+ 'CPP/7zip/Compress/Bcj2Coder.cpp',
+ 'CPP/7zip/Compress/Bcj2Register.cpp',
+ 'CPP/7zip/Compress/BcjCoder.cpp',
+ 'CPP/7zip/Compress/BcjRegister.cpp',
+ 'CPP/7zip/Compress/BitlDecoder.cpp',
+ 'CPP/7zip/Compress/BranchMisc.cpp',
+ 'CPP/7zip/Compress/BranchRegister.cpp',
+ 'CPP/7zip/Compress/ByteSwap.cpp',
+ 'CPP/7zip/Compress/CopyCoder.cpp',
+ 'CPP/7zip/Compress/CopyRegister.cpp',
+ 'CPP/7zip/Compress/Deflate64Register.cpp',
+ 'CPP/7zip/Compress/DeflateDecoder.cpp',
+ 'CPP/7zip/Compress/DeflateEncoder.cpp',
+ 'CPP/7zip/Compress/DeflateRegister.cpp',
+ 'CPP/7zip/Compress/DeltaFilter.cpp',
+ 'CPP/7zip/Compress/ImplodeDecoder.cpp',
+ 'CPP/7zip/Compress/LzOutWindow.cpp',
+ 'CPP/7zip/Compress/LzfseDecoder.cpp',
+ 'CPP/7zip/Compress/LzhDecoder.cpp',
+ 'CPP/7zip/Compress/Lzma2Decoder.cpp',
+ 'CPP/7zip/Compress/Lzma2Encoder.cpp',
+ 'CPP/7zip/Compress/Lzma2Register.cpp',
+ 'CPP/7zip/Compress/LzmaDecoder.cpp',
+ 'CPP/7zip/Compress/LzmaEncoder.cpp',
+ 'CPP/7zip/Compress/LzmaRegister.cpp',
+ 'CPP/7zip/Compress/LzmsDecoder.cpp',
+ 'CPP/7zip/Compress/LzxDecoder.cpp',
+ 'CPP/7zip/Compress/PpmdDecoder.cpp',
+ 'CPP/7zip/Compress/PpmdEncoder.cpp',
+ 'CPP/7zip/Compress/PpmdRegister.cpp',
+ 'CPP/7zip/Compress/PpmdZip.cpp',
+ 'CPP/7zip/Compress/QuantumDecoder.cpp',
+ 'CPP/7zip/Compress/Rar1Decoder.cpp',
+ 'CPP/7zip/Compress/Rar2Decoder.cpp',
+ 'CPP/7zip/Compress/Rar3Decoder.cpp',
+ 'CPP/7zip/Compress/Rar3Vm.cpp',
+ 'CPP/7zip/Compress/Rar5Decoder.cpp',
+ 'CPP/7zip/Compress/RarCodecsRegister.cpp',
+ 'CPP/7zip/Compress/ShrinkDecoder.cpp',
+ 'CPP/7zip/Compress/XpressDecoder.cpp',
+ 'CPP/7zip/Compress/XzDecoder.cpp',
+ 'CPP/7zip/Compress/XzEncoder.cpp',
+ 'CPP/7zip/Compress/ZDecoder.cpp',
+ 'CPP/7zip/Compress/ZlibDecoder.cpp',
+ 'CPP/7zip/Compress/ZlibEncoder.cpp',
+ 'CPP/7zip/Crypto/7zAes.cpp',
+ 'CPP/7zip/Crypto/7zAesRegister.cpp',
+ 'CPP/7zip/Crypto/HmacSha1.cpp',
+ 'CPP/7zip/Crypto/HmacSha256.cpp',
+ 'CPP/7zip/Crypto/MyAes.cpp',
+ 'CPP/7zip/Crypto/MyAesReg.cpp',
+ 'CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp',
+ 'CPP/7zip/Crypto/RandGen.cpp',
+ 'CPP/7zip/Crypto/Rar20Crypto.cpp',
+ 'CPP/7zip/Crypto/Rar5Aes.cpp',
+ 'CPP/7zip/Crypto/RarAes.cpp',
+ 'CPP/7zip/Crypto/WzAes.cpp',
+ 'CPP/7zip/Crypto/ZipCrypto.cpp',
+ 'CPP/7zip/Crypto/ZipStrong.cpp',
+ 'CPP/7zip/UI/Common/ArchiveCommandLine.cpp',
+ 'CPP/7zip/UI/Common/ArchiveExtractCallback.cpp',
+ 'CPP/7zip/UI/Common/ArchiveOpenCallback.cpp',
+ 'CPP/7zip/UI/Common/Bench.cpp',
+ 'CPP/7zip/UI/Common/DefaultName.cpp',
+ 'CPP/7zip/UI/Common/EnumDirItems.cpp',
+ 'CPP/7zip/UI/Common/Extract.cpp',
+ 'CPP/7zip/UI/Common/ExtractingFilePath.cpp',
+ 'CPP/7zip/UI/Common/HashCalc.cpp',
+ 'CPP/7zip/UI/Common/LoadCodecs.cpp',
+ 'CPP/7zip/UI/Common/OpenArchive.cpp',
+ 'CPP/7zip/UI/Common/PropIDUtils.cpp',
+ 'CPP/7zip/UI/Common/SetProperties.cpp',
+ 'CPP/7zip/UI/Common/SortUtils.cpp',
+ 'CPP/7zip/UI/Common/TempFiles.cpp',
+ 'CPP/7zip/UI/Common/Update.cpp',
+ 'CPP/7zip/UI/Common/UpdateAction.cpp',
+ 'CPP/7zip/UI/Common/UpdateCallback.cpp',
+ 'CPP/7zip/UI/Common/UpdatePair.cpp',
+ 'CPP/7zip/UI/Common/UpdateProduce.cpp',
+ 'CPP/7zip/UI/Console/BenchCon.cpp',
+ 'CPP/7zip/UI/Console/ConsoleClose.cpp',
+ 'CPP/7zip/UI/Console/ExtractCallbackConsole.cpp',
+ 'CPP/7zip/UI/Console/HashCon.cpp',
+ 'CPP/7zip/UI/Console/List.cpp',
+ 'CPP/7zip/UI/Console/Main.cpp',
+ 'CPP/7zip/UI/Console/MainAr.cpp',
+ 'CPP/7zip/UI/Console/OpenCallbackConsole.cpp',
+ 'CPP/7zip/UI/Console/PercentPrinter.cpp',
+ 'CPP/7zip/UI/Console/UpdateCallbackConsole.cpp',
+ 'CPP/7zip/UI/Console/UserInputUtils.cpp',
+ 'CPP/Common/CRC.cpp',
+ 'CPP/Common/CommandLineParser.cpp',
+ 'CPP/Common/CrcReg.cpp',
+ 'CPP/Common/DynLimBuf.cpp',
+ 'CPP/Common/IntToString.cpp',
+ 'CPP/Common/ListFileUtils.cpp',
+ 'CPP/Common/LzFindPrepare.cpp',
+ 'CPP/Common/MyMap.cpp',
+ 'CPP/Common/MyString.cpp',
+ 'CPP/Common/MyVector.cpp',
+ 'CPP/Common/MyWindows.cpp',
+ 'CPP/Common/MyXml.cpp',
+ 'CPP/Common/NewHandler.cpp',
+ 'CPP/Common/Sha1Prepare.cpp',
+ 'CPP/Common/Sha1Reg.cpp',
+ 'CPP/Common/Sha256Prepare.cpp',
+ 'CPP/Common/Sha256Reg.cpp',
+ 'CPP/Common/StdInStream.cpp',
+ 'CPP/Common/StdOutStream.cpp',
+ 'CPP/Common/StringConvert.cpp',
+ 'CPP/Common/StringToInt.cpp',
+ 'CPP/Common/UTFConvert.cpp',
+ 'CPP/Common/Wildcard.cpp',
+ 'CPP/Common/XzCrc64Init.cpp',
+ 'CPP/Common/XzCrc64Reg.cpp',
+ 'CPP/Windows/ErrorMsg.cpp',
+ 'CPP/Windows/FileDir.cpp',
+ 'CPP/Windows/FileFind.cpp',
+ 'CPP/Windows/FileIO.cpp',
+ 'CPP/Windows/FileLink.cpp',
+ 'CPP/Windows/FileName.cpp',
+ 'CPP/Windows/PropVariant.cpp',
+ 'CPP/Windows/PropVariantConv.cpp',
+ 'CPP/Windows/PropVariantUtils.cpp',
+ 'CPP/Windows/Synchronization.cpp',
+ 'CPP/Windows/System.cpp',
+ 'CPP/Windows/SystemInfo.cpp',
+ 'CPP/Windows/TimeUtils.cpp',
+]
+
+cpp = meson.get_compiler('cpp')
+m_dep = cpp.find_library('m', required: true)
+dl_dep = cpp.find_library('dl', required: true)
+
+project_dependencies = [
+ m_dep,
+ dl_dep,
+]
+
+add_project_arguments(
+ [
+ '-D_LZMA_DEC_OPT',
+ '-DPROG_VARIANT_Z',
+ '-D_7ZIP_ASM',
+ '-D_FORTIFY_SOURCE=2',
+ '-Waddress',
+ '-Waddress-of-packed-member',
+ '-Waggressive-loop-optimizations',
+ '-Wattributes',
+ '-Wbool-compare',
+ '-Wbool-operation',
+ '-Wcast-align',
+ '-Wcast-align=strict',
+ '-Wcomment',
+ '-Wconversion',
+ '-Wdangling-else',
+ '-Wdiv-by-zero',
+ '-Wduplicated-branches',
+ '-Wduplicated-cond',
+ '-Wformat-contains-nul',
+ '-Wimplicit-fallthrough=5',
+ '-Winit-self',
+ '-Wint-in-bool-context',
+ '-Wint-to-pointer-cast',
+ '-Wunused',
+ '-Wunused-macros',
+ ],
+ language: [
+ 'c',
+ 'cpp',
+ ],
+)
+
+add_project_arguments(
+ [
+ '-Wno-non-virtual-dtor',
+ ],
+ language: [
+ 'cpp',
+ ],
+)
+
+project_target = executable('7zz',
+ [
+ uasm_files,
+ c_files,
+ cpp_files,
+ ],
+ dependencies: project_dependencies,
+ install: true,
+ link_args : '-Wl,-z,noexecstack',
+)
+
+install_data(
+ [
+ 'DOC/License.txt',
+ 'DOC/unRarLicense.txt',
+ ],
+ install_dir: '/usr/share/licenses/' + meson.project_name(),
+)
+
+install_data(
+ [
+ 'DOC/7zC.txt',
+ 'DOC/7zFormat.txt',
+ 'DOC/lzma.txt',
+ 'DOC/Methods.txt',
+ 'DOC/readme.txt',
+ 'DOC/src-history.txt',
+ ],
+ install_dir: '/usr/share/doc/' + meson.project_name(),
+)