diff --git a/devel/wasi-compiler-rt/Makefile b/devel/wasi-compiler-rt/Makefile index f389dbb446ab..89fa972ac97e 100644 --- a/devel/wasi-compiler-rt/Makefile +++ b/devel/wasi-compiler-rt/Makefile @@ -1,63 +1,65 @@ PORTNAME= compiler-rt DISTVERSION?= 0 PORTREVISION?= 0 CATEGORIES= devel lang MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \ https://${PRE_}releases.llvm.org/${LLVM_RELEASE}/${RCDIR}/ PKGNAMEPREFIX= wasi- PKGNAMESUFFIX= ${LLVM_VERSION} DISTNAME= llvm-project-${DISTVERSION}.src DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX} MAINTAINER= vishwin@FreeBSD.org COMMENT= Clang builtins library for WebAssembly System Interface WWW= https://llvm.org/ LICENSE= LLVM2 LICENSE_NAME= Apache License 2.0 with LLVM Exceptions LICENSE_FILE= ${WRKSRC}/llvm/LICENSE.TXT LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept +BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc + +USES= cmake tar:xz + .if ${DISTVERSION} == 0 IGNORE= is a meta-port; there is nothing to build PKGNAMESUFFIX= -master +.else +USES+= llvm:${LLVM_SUFFIX} .endif -BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc - -USES= cmake llvm:${LLVM_SUFFIX} tar:xz - LLVM_RELEASE= ${DISTVERSION:C/rc.*//} LLVM_SUFFIX= ${LLVM_RELEASE:C/\.[0-9]\.[0-9]$//} DISTINFO_FILE= ${PORTSDIR}/${LLVM_PORT}/distinfo NO_ARCH= yes CC= ${LOCALBASE}/bin/clang${LLVM_VERSION} CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION} WASI_SYSROOT= ${LOCALBASE}/share/wasi-sysroot TRIPLE= wasm32-wasi WITHOUT_CPU_CFLAGS= yes # try to sync with https://github.com/WebAssembly/wasi-sdk # Makefile and wasi-sdk.cmake CMAKE_SOURCE_PATH= ${WRKSRC}/compiler-rt/lib/builtins CMAKE_ARGS= -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \ -DCMAKE_RANLIB=${LOCALBASE}/bin/llvm-ranlib${LLVM_VERSION} \ -DCMAKE_C_COMPILER_TARGET=${TRIPLE} \ -DCMAKE_CXX_COMPILER_TARGET=${TRIPLE} \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \ -DCMAKE_SYSROOT=${WASI_SYSROOT} \ -DCMAKE_C_COMPILER_WORKS=ON \ -DCOMPILER_RT_BAREMETAL_BUILD=ON \ -DCOMPILER_RT_INCLUDE_TESTS=OFF \ -DCOMPILER_RT_HAS_FPIC_FLAG=ON \ -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ -DCOMPILER_RT_OS_DIR=wasi CMAKE_ARGS+= -DLLVM_CMAKE_DIR=${LLVM_PREFIX} CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX}/lib/clang/${LLVM_VERSION} PLIST_FILES= ${LLVM_PREFIX}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a .include diff --git a/devel/wasi-libcxx/Makefile b/devel/wasi-libcxx/Makefile index c32a1afe9edc..c87c5f29c884 100644 --- a/devel/wasi-libcxx/Makefile +++ b/devel/wasi-libcxx/Makefile @@ -1,89 +1,91 @@ PORTNAME= libcxx DISTVERSION?= 0 PORTREVISION?= 0 CATEGORIES= devel lang MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \ https://${PRE_}releases.llvm.org/${LLVM_RELEASE}/${RCDIR}/ PKGNAMEPREFIX= wasi- PKGNAMESUFFIX= ${LLVM_VERSION} DISTNAME= llvm-project-${DISTVERSION}.src DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX} MAINTAINER= vishwin@FreeBSD.org COMMENT= C++ standard library for WebAssembly System Interface WWW= https://llvm.org/ LICENSE= LLVM2 LICENSE_NAME= Apache License 2.0 with LLVM Exceptions LICENSE_FILE= ${WRKSRC}/llvm/LICENSE.TXT LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept +BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc + +USES= cmake tar:xz + .if ${DISTVERSION} == 0 IGNORE= is a meta port; there is nothing to build PKGNAMESUFFIX= -master +.else +BUILD_DEPENDS+= wasi-compiler-rt${LLVM_VERSION}>0:devel/wasi-compiler-rt${LLVM_VERSION} +USES+= llvm:${LLVM_SUFFIX} .endif -BUILD_DEPENDS= ${WASI_SYSROOT}/include/stdarg.h:devel/wasi-libc \ - wasi-compiler-rt${LLVM_VERSION}>0:devel/wasi-compiler-rt${LLVM_VERSION} - -USES= cmake llvm:${LLVM_SUFFIX} tar:xz - LLVM_RELEASE= ${DISTVERSION:C/rc.*//} LLVM_SUFFIX= ${LLVM_RELEASE:C/\.[0-9]\.[0-9]$//} DISTINFO_FILE= ${PORTSDIR}/${LLVM_PORT}/distinfo SSP_UNSAFE= yes NO_ARCH= yes PLIST= ${.CURDIR}/pkg-plist CONFIGURE_ENV+= CC="${CC}" CFLAGS="${CFLAGS}" \ CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" CC= ${LOCALBASE}/bin/clang${LLVM_VERSION} CXX= ${LOCALBASE}/bin/clang++${LLVM_VERSION} WASI_SYSROOT= ${LOCALBASE}/share/wasi-sysroot TRIPLE= wasm32-wasi WITHOUT_CPU_CFLAGS= yes # try to sync with https://github.com/WebAssembly/wasi-sdk # Makefile and wasi-sdk.cmake CMAKE_INSTALL_PREFIX= ${PREFIX}/share/wasi-sysroot CMAKE_SOURCE_PATH= ${WRKSRC}/runtimes CMAKE_ARGS= -DCMAKE_AR=${LOCALBASE}/bin/llvm-ar${LLVM_VERSION} \ -DCMAKE_RANLIB=${LOCALBASE}/bin/llvm-ranlib${LLVM_VERSION} \ -DCMAKE_C_COMPILER_TARGET=${TRIPLE} \ -DCMAKE_CXX_COMPILER_TARGET=${TRIPLE} \ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \ -DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY \ -DCMAKE_C_COMPILER_WORKS=ON \ -DCMAKE_CXX_COMPILER_WORKS=ON \ -DCMAKE_STAGING_PREFIX=${CMAKE_INSTALL_PREFIX} \ -DLLVM_CONFIG_PATH=${LOCALBASE}/bin/${LLVM_CONFIG} \ -DCXX_SUPPORTS_CXX11=ON \ -DLIBCXX_ENABLE_THREADS:BOOL=OFF \ -DLIBCXX_HAS_PTHREAD_API:BOOL=OFF \ -DLIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ -DLIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ -DLIBCXX_HAS_WIN32_THREAD_API:BOOL=OFF \ -DLLVM_COMPILER_CHECKED=ON \ -DLIBCXX_ENABLE_SHARED:BOOL=OFF \ -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL=OFF \ -DLIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \ -DLIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \ -DLIBCXX_CXX_ABI=libcxxabi \ -DLIBCXX_HAS_MUSL_LIBC:BOOL=ON \ -DLIBCXX_ABI_VERSION=2 \ -DLIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \ -DLIBCXXABI_ENABLE_SHARED:BOOL=OFF \ -DLIBCXXABI_SILENT_TERMINATE:BOOL=ON \ -DLIBCXXABI_ENABLE_THREADS:BOOL=OFF \ -DLIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \ -DLIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ -DLIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ -DLIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \ -DLIBCXXABI_USE_LLVM_UNWINDER:BOOL=OFF \ -DUNIX:BOOL=ON \ -DCMAKE_SYSROOT=${WASI_SYSROOT} \ -DLIBCXX_LIBDIR_SUFFIX=/${TRIPLE} \ -DLIBCXXABI_LIBDIR_SUFFIX=/${TRIPLE} \ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" .include