Changeset View
Changeset View
Standalone View
Standalone View
devel/wasi-libc/Makefile
PORTNAME= wasi-libc | PORTNAME= wasi-libc | ||||
DISTVERSION= g20210923 | PORTVERSION= 17 | ||||
CATEGORIES= devel | CATEGORIES= devel | ||||
MAINTAINER= vishwin@FreeBSD.org | MAINTAINER= vishwin@FreeBSD.org | ||||
COMMENT= C standard library for WebAssembly System Interface | COMMENT= C standard library for WebAssembly System Interface | ||||
WWW= https://github.com/CraneStation/wasi-libc | WWW= https://github.com/WebAssembly/wasi-libc | ||||
LICENSE= APACHE20 MIT LLVM2 | LICENSE= APACHE20 MIT LLVM2 | ||||
LICENSE_COMB= multi | LICENSE_COMB= multi | ||||
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE | LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE | ||||
LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT | LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT | ||||
LICENSE_FILE_LLVM2= ${WRKSRC}/LICENSE-APACHE-LLVM | LICENSE_FILE_LLVM2= ${WRKSRC}/LICENSE-APACHE-LLVM | ||||
LICENSE_NAME_LLVM2= Apache License 2.0 with LLVM Exceptions | LICENSE_NAME_LLVM2= Apache License 2.0 with LLVM Exceptions | ||||
LICENSE_PERMS_LLVM2= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept | LICENSE_PERMS_LLVM2= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept | ||||
BUILD_DEPENDS= clang${LLVM_VERSION}:devel/llvm${LLVM_VERSION} | USES= gmake llvm:min=12 | ||||
USES= gmake | |||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_ACCOUNT= WebAssembly | GH_ACCOUNT= WebAssembly | ||||
GH_TAGNAME= ad5133410f66b93a2381db5b542aad5e0964db96 | GH_TAGNAME= wasi-sdk-${PORTVERSION} | ||||
GH_TUPLE= WebAssembly:WASI:ef8c1a53fe:wasi/tools/wasi-headers/WASI | GH_TUPLE= WebAssembly:WASI:59cbe14:wasi/tools/wasi-headers/WASI | ||||
NO_ARCH= yes | NO_ARCH= yes | ||||
LLVM_VERSION?= 13 | |||||
ALL_TARGET= finish | ALL_TARGET= finish | ||||
# NOTE: matches the https://github.com/CraneStation/wasi-sdk | # NOTE: matches the https://github.com/WebAssembly/wasi-sdk | ||||
WASI_SYSROOT= ${PREFIX}/share/wasi-sysroot | WASI_SYSROOT= ${PREFIX}/share/wasi-sysroot | ||||
# NOTE: our llvm ports don't ship stdarg/stddef clang headers, so they're in FILESDIR | # NOTE: our llvm ports don't ship stdarg/stddef clang headers, so they're in FILESDIR | ||||
# and we install them to the sysroot | # and we install them to the sysroot | ||||
CC= ${LOCALBASE}/bin/clang${LLVM_VERSION} | |||||
MAKE_ENV= INSTALL_DIR=${STAGEDIR}${WASI_SYSROOT} \ | MAKE_ENV= INSTALL_DIR=${STAGEDIR}${WASI_SYSROOT} \ | ||||
WASM_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \ | EXTRA_CFLAGS="-O2 -DNDEBUG -isystem ${FILESDIR}" \ | ||||
WASM_CC=${LOCALBASE}/bin/clang${LLVM_VERSION} \ | AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \ | ||||
WASM_CFLAGS="-O2 -DNDEBUG -isystem ${FILESDIR}" \ | NM=${LOCALBASE}/bin/llvm-nm${LLVM_VERSION} \ | ||||
WASM_NM=${LOCALBASE}/bin/llvm-nm${LLVM_VERSION} | # https://bugzilla.mozilla.org/show_bug.cgi?id=1773200#c4 | ||||
MAKE_ENV+= BULK_MEMORY_SOURCES= | |||||
# NOTE: phony targets cause make install to rebuild everything | |||||
# https://github.com/CraneStation/wasi-libc/issues/156 | |||||
post-patch: | post-patch: | ||||
${REINPLACE_CMD} -e 's|BULK_MEMORY_SOURCES =|BULK_MEMORY_SOURCES ?=|' \ | |||||
${WRKSRC}/Makefile | |||||
# NOTE: phony targets cause make install to rebuild everything | |||||
# https://github.com/WebAssembly/wasi-libc/issues/156 | |||||
${REINPLACE_CMD} -e 's|install: finish|install:|' ${WRKSRC}/Makefile | ${REINPLACE_CMD} -e 's|install: finish|install:|' ${WRKSRC}/Makefile | ||||
post-install: | post-install: | ||||
${INSTALL_DATA} ${FILESDIR}/stdarg.h ${STAGEDIR}${WASI_SYSROOT}/include/ | ${INSTALL_DATA} ${FILESDIR}/stdarg.h ${STAGEDIR}${WASI_SYSROOT}/include/ | ||||
${INSTALL_DATA} ${FILESDIR}/stddef.h ${STAGEDIR}${WASI_SYSROOT}/include/ | ${INSTALL_DATA} ${FILESDIR}/stddef.h ${STAGEDIR}${WASI_SYSROOT}/include/ | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |