From 06828db3ea848aa5088b5743019581979dbe6f9d Mon Sep 17 00:00:00 2001 From: "peng.li24" <734991033@qq.com> Date: Mon, 14 Sep 2026 12:58:02 +0800 Subject: [PATCH] =?UTF-8?q?header-only=EF=BC=9A=E4=B8=8D=E5=86=8D=E6=94=B6?= =?UTF-8?q?=E9=9B=86=20blockmalloc=20/=20slotsboxmalloc=20=E7=9A=84=20.so?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这两库改为单头文件模式(kvspace-c 已把实现体编进自己的 TU), 故 release 只带它们的头、不再带 .so: - release.yml:linux / macos 两个 job 去掉对应的 lib 收集行 - ci/deps.sh:依赖包无 lib/ 时跳过(只装头) 头仍保留在 include/blockmalloc、include/slotsboxmalloc(消费者编译需要)。 Co-Authored-By: Claude Code --- .github/workflows/release.yml | 3 +-- ci/deps.sh | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bae39d32..caf837e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: done # 库(递归扫):本仓两个产物 + 依赖顶层库 + 后端库(dispatch 的 dlopen 目录) find bin layout/target/release -maxdepth 1 \( -name 'lib*.so*' -o -name 'lib*.dylib' \) -exec cp -P {} "$d/lib/" \; - find /usr/lib -maxdepth 1 \( -name 'libblockmalloc.so*' -o -name 'libslotsboxmalloc.so*' \) -exec cp -P {} "$d/lib/" \; + # blockmalloc / slotsboxmalloc 是 header-only(只发头、无 lib),故不收集它们的 .so find /usr/lib/kvspace -maxdepth 1 -name '*.so*' -exec cp -P {} "$d/lib/kvspace/" \; # 可执行:本仓 CLI + 依赖带来的 CLI cp bin/kvlang bin/kvlanglayout "$d/bin/" @@ -113,7 +113,6 @@ jobs: done # 库(递归扫):本仓产物 + 依赖顶层 dylib + 后端 dylib(dispatch 的 dlopen 目录) find bin layout/target/release -maxdepth 1 -name '*.dylib' -exec cp -P {} "$d/lib/" \; - find /usr/local/lib -maxdepth 1 \( -name 'libblockmalloc*.dylib' -o -name 'libslotsboxmalloc*.dylib' \) -exec cp -P {} "$d/lib/" \; find /usr/local/lib/kvspace -maxdepth 1 -name '*.dylib' -exec cp -P {} "$d/lib/kvspace/" \; cp /tmp/kvspace-durable/target/release/libkvspace_durable.dylib "$d/lib/kvspace/" # 可执行:本仓 CLI + 依赖带来的 CLI diff --git a/ci/deps.sh b/ci/deps.sh index 97c5942a..1ec3e237 100755 --- a/ci/deps.sh +++ b/ci/deps.sh @@ -12,7 +12,8 @@ for repo in $(jq -r 'keys[]' "$ROOT/deps.json"); do if [ "$repo" = "kvspace-c" ] || [ "$repo" = "kvspace-durable" ]; then sudo mkdir -p /usr/lib/kvspace sudo cp "$tmp/lib/"*.so* /usr/lib/kvspace/ - else + elif [ -d "$tmp/lib" ]; then + # blockmalloc / slotsboxmalloc 是 header-only:只有头、无 lib sudo cp "$tmp/lib/"*.so* /usr/lib/ fi # 可选可执行(kvspace 的 CLI)→ /usr/bin