summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src/3rdparty.lua
diff options
context:
space:
mode:
author Vas Crabb <cuavas@users.noreply.github.com>2023-12-11 10:48:02 +1100
committer GitHub <noreply@github.com>2023-12-11 10:48:02 +1100
commit05e69b43e9770e16c4bf1c6ca3e585e64c3f6ff9 (patch)
tree00ff2118ddc01455ee55785283a2fcfb9bfaf77e /scripts/src/3rdparty.lua
parent1a4287925e3982e2f782dee6f62b198984b839de (diff)
Added Zstandard support for zip archives and CHDs. (#11827)
* 3rdparty/zstd: Added Zstandard compression library version 1.5.5. * util/unzip.cpp: Added support for Zstandard compression (method 93). * util/chdcodec.cpp: Added support for Zstandard compression. * 3rdparty/flac: Always define NDEBUG to avoid log spam.
Diffstat (limited to 'scripts/src/3rdparty.lua')
-rwxr-xr-xscripts/src/3rdparty.lua63
1 files changed, 58 insertions, 5 deletions
diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua
index b0ebea6d943..64a8e3b7ab6 100755
--- a/scripts/src/3rdparty.lua
+++ b/scripts/src/3rdparty.lua
@@ -168,6 +168,63 @@ end
--------------------------------------------------
+-- zstd library objects
+--------------------------------------------------
+
+if not _OPTIONS["with-system-zstd"] then
+project "zstd"
+ uuid "5edd8713-bc60-456d-9c95-b928a913c84b"
+ kind "StaticLib"
+
+ configuration { "Release" }
+ defines {
+ "NDEBUG",
+ }
+
+ configuration { }
+
+ defines {
+ "XXH_NAMESPACE=ZSTD_",
+ "DEBUGLEVEL=0",
+ "ZSTD_DISABLE_ASM",
+ }
+
+ files {
+ MAME_DIR .. "3rdparty/zstd/lib/common/debug.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/entropy_common.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/error_private.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/fse_decompress.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/pool.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/threading.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/xxhash.c",
+ MAME_DIR .. "3rdparty/zstd/lib/common/zstd_common.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/fse_compress.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/hist.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/huf_compress.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_compress.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_compress_literals.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_compress_sequences.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_compress_superblock.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_double_fast.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_fast.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_lazy.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_ldm.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstdmt_compress.c",
+ MAME_DIR .. "3rdparty/zstd/lib/compress/zstd_opt.c",
+ --MAME_DIR .. "3rdparty/zstd/lib/decompress/huf_decompress_amd64.S", only supports GCC-like assemblers and SysV calling convention
+ MAME_DIR .. "3rdparty/zstd/lib/decompress/huf_decompress.c",
+ MAME_DIR .. "3rdparty/zstd/lib/decompress/zstd_ddict.c",
+ MAME_DIR .. "3rdparty/zstd/lib/decompress/zstd_decompress_block.c",
+ MAME_DIR .. "3rdparty/zstd/lib/decompress/zstd_decompress.c",
+ }
+else
+links {
+ ext_lib("zstd"),
+}
+end
+
+
+--------------------------------------------------
-- SoftFloat library objects
--------------------------------------------------
@@ -671,13 +728,9 @@ end
"HAVE_FSEEKO",
}
- configuration { "Release" }
- defines {
- "NDEBUG",
- }
-
configuration { }
defines {
+ "NDEBUG", -- always enable this to avoid debug log spam on compression
"HAVE_CONFIG_H", -- mostly because PACKAGE_VERSION is a pain to do otherwise
"ENABLE_64_BIT_WORDS=1",
"OGG_FOUND=0",