include ../build/Makefile-vars all: deps wasm VERSION = 20210910-3.1 TARBALL = ${UPSTREAM}/libedit-${VERSION}.tar.gz URL = https://www.thrysoee.dk/editline/libedit-${VERSION}.tar.gz include ../build/Makefile-rules # See https://www.thrysoee.dk/editline/ TERMCAP_NATIVE = ${PACKAGES}/termcap/dist/native ################## # NATIVE ################## ${DIST_NATIVE}/.built: ${BUILD_NATIVE}/.build cd ../termcap && make native cd ${BUILD_NATIVE} && \ CFLAGS="-I${TERMCAP_NATIVE}/include -L${TERMCAP_NATIVE}/lib" \ CC="zig cc -Oz ${ZIG_NATIVE_CFLAGS_GNU} " \ AR="zig ar" \ ./configure --prefix=${DIST_NATIVE} cd ${BUILD_NATIVE} && make -j8 cd ${BUILD_NATIVE} && make install touch ${DIST_NATIVE}/.built ################## # WASM ################## ${BUILD_WASM}/.patched: ${BUILD_WASM}/.build cp -rv src/* ${BUILD_WASM}/src/ cd ${BUILD_WASM}/src/ && patch -p0 < readline.patch touch ${BUILD_WASM}/.patched # For use of -D__STDC_ISO_10646__=201103L, see https://patchwork.ozlabs.org/project/buildroot/patch/[email protected]/ # We also modify examples/Makefile so we don't have to mess with getting them to build. CFLAGS_WASM = -Oz -I$(shell cowasm-package-path @cowasm/termcap)/include -D__STDC_ISO_10646__=201103L -D__wasilibc_unmodified_upstream_signal LDFLAGS_WASM = -L$(shell cowasm-package-path @cowasm/termcap)/lib -ltermcap ${DIST_WASM}/.built: node_modules ${BUILD_WASM}/.patched cd ../build && make zig cd ${BUILD_WASM} \ && CONFIG_SITE=${SRC}/config.site \ CFLAGS="${CFLAGS_WASM}" \ LDFLAGS="${LDFLAGS_WASM}" \ RANLIB="zig ranlib" \ AR="zig ar" \ CC="cowasm-cc -Oz" \ ./configure \ --host=none \ --prefix="${DIST_WASM}" \ && echo '#include "extra_config.h"' >> config.h \ && echo "all:" > examples/Makefile \ && echo "install:" >> examples/Makefile \ && make -j8 \ && make install # readline compat headers that I copied from FreeBSD! cp -rv ${SRC}/readline ${DIST_WASM}/include touch ${DIST_WASM}/.built # Build test program ${BUILD_WASM}/examples/tc1: node_modules ${DIST_WASM}/.built cd ../build && make zig ${BIN}/cowasm-cc -v -fvisibility-main -L${DIST_WASM}/lib -ledit \ ${LDFLAGS_WASM} ${CFLAGS_WASM} \ -I${BUILD_WASM}/ -I${BUILD_WASM}/src \ ${BUILD_WASM}/examples/tc1.c -o ${BUILD_WASM}/examples/tc1 run-tc1: ${BUILD_WASM}/examples/tc1 ${BIN}/cowasm ${BUILD_WASM}/examples/tc1 test: ${BUILD_WASM}/examples/tc1 # This is a pretty dumb test, since not interactive, but at least it shows # that the program builds and runs at all... echo 'ls' | cowasm ${BUILD_WASM}/examples/tc1 |grep "Makefile"