Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/python-wasm
Path: blob/main/core/bzip2/Makefile
1393 views
# We only make the wasm version, since we don't need native for our purposes.
all:  wasm

include ../build/Makefile-vars

# See https://github.com/libarchive/bzip2/tags
VERSION=1.0.8
TARBALL = ${UPSTREAM}/bzip2-${VERSION}.tar.gz
URL = https://github.com/libarchive/bzip2/archive/refs/tags/bzip2-${VERSION}.tar.gz

include ../build/Makefile-rules

##################
# NATIVE
##################

${DIST_NATIVE}/.built: ${BUILD_NATIVE}/.build
	cd ${BUILD_NATIVE} && \
		make AR="zig ar" \
		CC="zig cc ${ZIG_NATIVE_CFLAGS}" \
		RANLIB="zig ranlib" \
		PREFIX=${DIST_NATIVE} \
		install -j8
	touch ${DIST_NATIVE}/.built

##################
# WASM
##################

${DIST_WASM}/.built: ${BUILD_WASM}/.build
	cd ../build && make zig
	cp ${SRC}/extra_config.h ${BUILD_WASM}
	cd ${BUILD_WASM} \
		&&  echo '#include "extra_config.h"' >> bzlib.h \
		&&	make -j8 \
			AR="zig ar" \
			CC="cowasm-cc" \
			CFLAGS="-Oz -fvisibility-main" \
			RANLIB="zig ranlib" \
			PREFIX="${DIST_WASM}" \
			install \
		&&  cp extra_config.h ${DIST_WASM}/include/
	touch ${DIST_WASM}/.built

test: ${DIST_WASM}/.built
	# compress and decompress a file using the bzip2 and bunzip2 WASM executables.
	echo "coWasm" > ${BUILD_WASM}/testfile.txt
	${BIN}/cowasm ${DIST_WASM}/bin/bzip2 ${BUILD_WASM}/testfile.txt
	${BIN}/cowasm ${DIST_WASM}/bin/bunzip2 ${BUILD_WASM}/testfile.txt.bz2
	cat  ${BUILD_WASM}/testfile.txt |grep coWasm
	rm ${BUILD_WASM}/testfile.txt