aboutsummaryrefslogtreecommitdiffstats
path: root/devel/compiler-rt/Makefile
blob: b9aa7756fdacf82bfa232dafb719cbf3eaa0baee (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# Created by: Brooks Davis
# $FreeBSD$

PORTNAME=   compiler-rt
DISTVERSION=    0.r${SVN_REV}
CATEGORIES= devel
MASTER_SITES=   LOCAL/brooks

MAINTAINER= brooks@FreeBSD.org
COMMENT=    Compiler runtime library with Blocks support

BUILD_DEPENDS=  cmake:devel/cmake

CONFIGURE_WRKSRC=   ${WRKDIR}/build
BUILD_WRKSRC=       ${WRKDIR}/build
INSTALL_WRKSRC=     ${WRKDIR}/build

CMAKE_SOURCE_PATH=  ${WRKSRC}

USES=       cmake tar:bzip2
USE_LDCONFIG=   yes
MAKE_ARGS=  VERBOSE=1

LLVM_SVN=   http://llvm.org/svn/llvm-project

# fixuns?fti_test tests fail
# powi?f2_test tests fail to link due to lack of -lm
BROKEN_TESTS?=  fixunsdfti_test \
        fixunssfti_test \
        powidf2_test \
        powisf2_test \
        powixf2_test

PLIST_FILES=    include/Block.h \
        include/Block_private.h \
        lib/libBlocksRuntime.so

.include <bsd.port.pre.mk>

.if ${ARCH} == "i386"
CFLAGS+=    -march=i486
.elif ${ARCH} == "powerpc"
BROKEN=     Does not compile on powerpc
.endif

.if defined(BOOTSTRAP)
SVN_REV!=   svn info ${LLVM_SVN}/ | ${GREP} Revision | cut -d' ' -f2
.else
.include "Makefile.svn_rev"
.endif

.if defined(BOOTSTRAP)
FETCH_DEPENDS+= svn:devel/subversion

do-fetch:
    ${MKDIR} ${WRKDIR}
    svn export -r ${SVN_REV} \
        ${LLVM_SVN}/compiler-rt/trunk ${WRKSRC}
    cd ${WRKDIR}; tar cvfy ${DISTDIR}/${DISTNAME}.tar.bz2 ${DISTNAME}
    echo "SVN_REV=  ${SVN_REV}" > ${MASTERDIR}/Makefile.svn_rev
.if ${USER} == brooks
    scp ${DISTDIR}/${DISTNAME}.tar.bz2 \
        freefall.freebsd.org:public_distfiles/
.endif
.endif

post-extract:
    ${MKDIR} ${CONFIGURE_WRKSRC}

post-patch:
.for test in ${BROKEN_TESTS}
    ${REINPLACE_CMD} -e 's/\(MACRO_ADD_CHECK_TEST( ${test}\)/# \1/' \
        ${WRKSRC}/test/CMakeLists.txt
.endfor

regression-test:
    cd ${BUILD_WRKSRC} && make test

.include <bsd.port.post.mk>