more plans + testing for roaring
This commit is contained in:
@@ -13,35 +13,37 @@ if [[ -z ${ROARING_CFLAGS+x} || -z ${ROARING_LIBS+x} ]]; then
|
||||
ROARING_LIBS=$(pkg-config --libs roaring)
|
||||
else
|
||||
CROARING_SRC="$BUILD/CRoaring"
|
||||
CROARING_BUILD="$BUILD/CRoaring-build"
|
||||
CROARING_BUILD="$BUILD/CRoaring-pic-build"
|
||||
if [[ ! -d $CROARING_SRC/.git ]]; then
|
||||
rm -rf "$CROARING_SRC"
|
||||
git clone --depth 1 https://github.com/RoaringBitmap/CRoaring.git "$CROARING_SRC"
|
||||
fi
|
||||
if [[ ! -f $CROARING_BUILD/src/libroaring.a ]]; then
|
||||
cmake -S "$CROARING_SRC" -B "$CROARING_BUILD" \
|
||||
-DROARING_BUILD_STATIC=ON -DENABLE_ROARING_TESTS=OFF -DCMAKE_BUILD_TYPE=Release
|
||||
-DROARING_BUILD_STATIC=ON -DENABLE_ROARING_TESTS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
cmake --build "$CROARING_BUILD" --parallel
|
||||
fi
|
||||
ROARING_CFLAGS="-I$CROARING_SRC/include"
|
||||
ROARING_LIBS="$CROARING_BUILD/src/libroaring.a"
|
||||
fi
|
||||
fi
|
||||
ZSTD_CFLAGS=${ZSTD_CFLAGS-$(pkg-config --cflags libzstd)}
|
||||
ZSTD_LIBS=${ZSTD_LIBS-$(pkg-config --libs libzstd)}
|
||||
read -r -a ROARING_CFLAGS_A <<<"$ROARING_CFLAGS"
|
||||
read -r -a ROARING_LIBS_A <<<"$ROARING_LIBS"
|
||||
read -r -a ZSTD_CFLAGS_A <<<"$ZSTD_CFLAGS"
|
||||
read -r -a ZSTD_LIBS_A <<<"$ZSTD_LIBS"
|
||||
CFLAGS=(-O2 -std=gnu11 -D_GNU_SOURCE -Wall -Wextra -I"$HERE" -I"$BUILD")
|
||||
|
||||
for tool in mkset setcmp; do
|
||||
cc "${CFLAGS[@]}" -include "$ROOT/scripts/rpmsetcmp/newset_compat.h" \
|
||||
"$ROOT/reimplement/set9.c" "$ROOT/scripts/rpmsetcmp/$tool.c" \
|
||||
-o "$BUILD/$tool-set9"
|
||||
cc "${CFLAGS[@]}" "${ROARING_CFLAGS_A[@]}" "${ZSTD_CFLAGS_A[@]}" \
|
||||
cc "${CFLAGS[@]}" "${ROARING_CFLAGS_A[@]}" \
|
||||
"$HERE/bitmap_set.c" "$ROOT/scripts/rpmsetcmp/$tool.c" \
|
||||
"${ROARING_LIBS_A[@]}" "${ZSTD_LIBS_A[@]}" -o "$BUILD/$tool-bitmap"
|
||||
"${ROARING_LIBS_A[@]}" -o "$BUILD/$tool-bitmap"
|
||||
done
|
||||
|
||||
printf 'Built in %s: mkset-{set9,bitmap} setcmp-{set9,bitmap}\n' "$BUILD"
|
||||
cc "${CFLAGS[@]}" -fPIC -shared -include "$ROOT/scripts/rpmsetcmp/newset_compat.h" \
|
||||
"$ROOT/reimplement/set9.c" -o "$BUILD/libset9.so"
|
||||
cc "${CFLAGS[@]}" -fPIC -shared "${ROARING_CFLAGS_A[@]}" \
|
||||
"$HERE/bitmap_set.c" "${ROARING_LIBS_A[@]}" -o "$BUILD/libbitmap-set.so"
|
||||
|
||||
printf 'Built tools and benchmark libraries in %s\n' "$BUILD"
|
||||
|
||||
Reference in New Issue
Block a user