aboutsummaryrefslogtreecommitdiffstats
path: root/lang/ldc/Makefile
blob: 2f825ada264946f667d6d8bb13df781e5acc49b6 (plain) (blame)
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
# $FreeBSD$

PORTNAME=   ldc
PORTVERSION=    1.12.0
DISTVERSIONPREFIX=  v
CATEGORIES= lang

MAINTAINER= acm@FreeBSD.org
COMMENT=    The LLVM-based D compiler

LICENSE=    BSD3CLAUSE

BUILD_DEPENDS=  llvm60>0:devel/llvm60
RUN_DEPENDS=    llvm60>0:devel/llvm60
LIB_DEPENDS=    libconfig.so:devel/libconfig

BROKEN_aarch64=     fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
BROKEN_armv6=       fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
BROKEN_armv7=       fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
BROKEN_powerpc64=   fails to compile: cc1plus: error: unrecognized command line option "-std=c++11"

USES=       cmake
USE_GITHUB=     yes
GH_ACCOUNT=     ldc-developers
GH_PROJECT=     ldc
GH_TUPLE=       ldc-developers:ldc:911589c:tree/ltsmaster \
        ldc-developers:druntime:694089c:druntimelts/ltsmaster/runtime/druntime \
        ldc-developers:phobos:1d758b2:phoboslts/ltsmaster/runtime/phobos \
        ldc-developers:druntime:b96540e:druntime/runtime/druntime \
        ldc-developers:phobos:1c8a152:phobos/runtime/phobos

CMAKE_ARGS+=    -DD_COMPILER:STRING="${WRKSRC}/ltsmaster/bin/ldmd2" \
        -DBUILD_SHARED_LIBS:STRING="BOTH"

CC=     clang60
CXX=        clang++60

BOOTVER=    0.17.6
LLVM_CONFIG=    llvm-config60
LDCVER=     ${PORTVERSION}

.include <bsd.port.pre.mk>

.if ${ARCH} == "amd64"
CFLAGS+=    -fPIC
.endif

post-patch:
    ${REINPLACE_CMD} -e 's|$${llvm_config_names}|${LLVM_CONFIG}|g' \
        ${WRKSRC}/ltsmaster/cmake/Modules/FindLLVM.cmake \
        ${WRKSRC}/cmake/Modules/FindLLVM.cmake

pre-configure:
    @cd ${WRKSRC}/ltsmaster && \
        ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} .
    @cd ${WRKSRC}/ltsmaster && \
        ${SETENV} ${MAKE_ENV} ${MAKE}

.include <bsd.port.post.mk>