summaryrefslogtreecommitdiff
path: root/lang/coreclr/Makefile
blob: 766ac84620a6749610b5abf306c7057a34b78b36 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# $NetBSD: Makefile,v 1.4 2017/04/22 21:03:12 adam Exp $

DISTNAME=	coreclr-1.0.0
PKGREVISION=	2
CATEGORIES=	devel
MASTER_SITES=	${MASTER_SITE_GITHUB:=dotnet/}
GITHUB_TAG=	v${PKGVERSION_NOREV}

EXTRACT_USING=	bsdtar

MAINTAINER=	kamil@NetBSD.org
HOMEPAGE=	https://dotnet.github.io/
COMMENT=	The .NET Core runtime and the base library
LICENSE=	mit

DEPENDS+=	${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat

USE_LANGUAGES=	c c++
USE_TOOLS+=	bash pax
# We need to set CMake this way to get defined CMAKE_ARGS
USE_CMAKE=	yes
CMAKE_ARGS+=	-DCORECLR_SET_RPATH:BOOL=OFF

REPLACE_BASH+=	build.sh
REPLACE_BASH+=	src/pal/tools/gen-buildsys-clang.sh
REPLACE_BASH+=	src/pal/tests/palsuite/runpaltests.sh

CORECLR_PREFIX=	${PREFIX}/CoreCLR

.include "../../mk/bsd.prefs.mk"

.if ${MACHINE_ARCH} == "x86_64"
CORECLR_ARCH=	x64
.endif

CORECLR_OBJDIR=		${WRKSRC}/bin/obj/${OPSYS}.${CORECLR_ARCH}.Debug
CORECLR_PRODUCTDIR=	${WRKSRC}/bin/Product/${OPSYS}.${CORECLR_ARCH}.Debug

# Handle subprefix
LDFLAGS+=	${COMPILER_RPATH_FLAG}${CORECLR_PREFIX:Q}
LDFLAGS+=	${COMPILER_RPATH_FLAG}${CORECLR_PREFIX:Q}/Loader/NativeLibs
LDFLAGS+=	${COMPILER_RPATH_FLAG}${CORECLR_PREFIX:Q}/bin

BUILDLINK_PASSTHRU_DIRS+=	${CORECLR_PREFIX:Q}
BUILDLINK_PASSTHRU_RPATHDIRS+=	${CORECLR_PREFIX:Q}

# DOTNET targets only LLVM
PKGSRC_COMPILER=	clang
PKG_CC=			clang
PKG_CXX=		clang++
_WRAP_EXTRA_ARGS.CXX+=	-Wno-unused-function -Wno-self-assign
CWRAPPERS_APPEND.cxx+=	-Wno-unused-function -Wno-self-assign


TEST_ENV+=	LD_LIBRARY_PATH=${WRKSRC}/bin/obj/${OPSYS}.x64.Debug/src/pal/tests/palsuite/exception_handling/pal_sxs/test1

do-configure:
	${RUN} ${ECHO} Skip configure and call CMake via build.sh

do-build:
	${RUN} cd ${WRKSRC} && \
	${SETENV} ${MAKE_ENV} PYTHON=${PYTHONBIN:Q} \
		./build.sh skipmscorlib cmakeargs ${CMAKE_ARGS:Q}

# Currently there is no unix-like install target.
# Put all produced files under subprefix.
do-install:
	${INSTALL_DATA_DIR} ${DESTDIR}${CORECLR_PREFIX:Q}
	cd ${CORECLR_PRODUCTDIR} && ${PAX} -rw . ${DESTDIR}${CORECLR_PREFIX:Q}

do-test:
	${RUN} cd ${WRKSRC} && \
	${SETENV} ${TEST_ENV} src/pal/tests/palsuite/runpaltests.sh \
		${CORECLR_OBJDIR} ${WRKSRC}/paltestout

.include "../../textproc/icu/buildlink3.mk"
.include "../../lang/llvm/buildlink3.mk"
.include "../../devel/lldb/buildlink3.mk"
.include "../../lang/clang/buildlink3.mk"
.include "../../lang/libunwind/buildlink3.mk"
.include "../../lang/python/extension.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/tool.mk"
.include "../../mk/bsd.pkg.mk"