summaryrefslogtreecommitdiff
path: root/lang/wasi-libc/Makefile
blob: 7cbd401c42a471390bbfebab8f4f153d80c891ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# $NetBSD: Makefile,v 1.8 2022/03/15 14:33:22 wiz Exp $

GITHUB_PROJECT=	wasi-libc
GITHUB_TAG=	079adff840032c3455eb1cb34dc9ceaa0b2bfc0c
DISTNAME=	wasi-libc-0.0.0pre20220311
CATEGORIES=	lang
MASTER_SITES=	${MASTER_SITE_GITHUB:=WebAssembly/}

GITHUB_SUBMODULES+=	WebAssembly WASI 3423c9c83c7219095d6e67faaf62598ad370064c wasi/tools/wasi-headers/WASI
EXTRACT_USING=		bsdtar

MAINTAINER=	ryoon@NetBSD.org
HOMEPAGE=	https://github.com/WebAssembly/wasi-libc/
COMMENT=	libc for WebAssembly programs built on top of WASI
LICENSE=	mit AND apache-2.0 # apache-2.0-with-LLVM-exception

# Do not fail tests and compile time error (undefined symbols) in www/firefox.
SSP_SUPPORTED=		no
PKGSRC_USE_STACK_CHECK=	no

.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
.  if ${OPSYS_VERSION} < 099900
# Use GNU find from findutils for -not option.
TOOLS_PLATFORM.find=	# empty
.  endif
.endif

USE_TOOLS+=	gmake

# Do not crush clang-13
BUILDLINK_TRANSFORM+=	rm:-fcommon

MAKE_FLAGS+=	WASM_CC=clang
MAKE_FLAGS+=	WASM_AR=${PREFIX}/bin/llvm-ar
MAKE_FLAGS+=	WASM_NM=${PREFIX}/bin/llvm-nm
MAKE_FLAGS+=	INSTALL_DIR=${DESTDIR}${PREFIX}/wasi
BUILD_TARGET=	finish

# iconv.h from libiconv get pulled in on SunOS (via clang)
# It conflicts with musl libc so must be removed.
pre-configure:
	rm -f ${BUILDLINK_DIR}/include/iconv.h

ABI=			# 32
CFLAGS=			-O2
CXXFLAGS=		-O2
PKGSRC_COMPILER=	clang
CLANGBASE=		${PREFIX}
BUILDLINK_DEPMETHOD.clang=	build
.include "../../lang/clang/buildlink3.mk"
BUILDLINK_DEPMETHOD.llvm=	build
.include "../../lang/llvm/buildlink3.mk"
.if empty(PKG_BUILD_OPTIONS.llvm:Mllvm-target-webassembly)
PKG_FAIL_REASON+=	"llvm-target-webassembly PKG_OPTION must be enabled in lang/llvm"
.endif
.include "../../mk/bsd.pkg.mk"