diff options
author | Oleksandr Natalenko | 2022-05-15 15:38:40 +0200 |
---|---|---|
committer | Oleksandr Natalenko | 2022-05-15 15:38:40 +0200 |
commit | 4b44fab5fd5fafe06370e7160d8472964cc9f52b (patch) | |
tree | 4df903fd345750700784a79d2d3b80471e744f66 | |
parent | a2448debc4dacfbca95e38abe4dd74ae800347d5 (diff) | |
download | aur-4b44fab5fd5fafe06370e7160d8472964cc9f52b.tar.gz |
use meson
Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
-rw-r--r-- | .SRCINFO | 13 | ||||
-rw-r--r-- | 01-gcc-12.patch (renamed from 02-gcc-12.patch) | 0 | ||||
-rw-r--r-- | 01-uasm.patch | 11 | ||||
-rw-r--r-- | 03-hardening.patch | 29 | ||||
-rw-r--r-- | PKGBUILD | 27 | ||||
-rw-r--r-- | meson.build | 425 |
6 files changed, 443 insertions, 62 deletions
@@ -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)
-
@@ -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(), +) |