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
85
86
87
88
89
90
91
|
# $NetBSD: Makefile,v 1.23 2013/12/24 05:57:44 richard Exp $
DISTNAME= clang-3.3
CATEGORIES= lang
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
DISTFILES= llvm-${PKGVERSION_NOREV}.src.tar.gz \
cfe-${PKGVERSION_NOREV}.src.tar.gz
MAINTAINER= adam.hoka@gmail.com
HOMEPAGE= http://llvm.org/
COMMENT= Low Level Virtual Machine compiler infrastructure
LICENSE= modified-bsd
WRKSRC= ${WRKDIR}/llvm-${PKGVERSION_NOREV}.src
USE_LANGUAGES= c c++
USE_TOOLS+= chown gmake groff pod2html pod2man
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-assertions
CONFIGURE_ARGS+= --disable-bindings # disable OCaml
CONFIGURE_ARGS+= --disable-timestamps
CONFIGURE_ARGS+= --enable-optimized
#CONFIGURE_ARGS+= --enable-shared
MAKE_DIRS+= etc/llvm
INSTALLATION_DIRS= bin lib libexec
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm
TEST_TARGET= check unittests
.include "../../mk/bsd.prefs.mk"
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
PLIST_SUBST+= SOEXT="dylib"
.else
PLIST_SUBST+= SOEXT="so"
.endif
.include "../../mk/compiler.mk"
.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
# This should probably be in hacks, but since clang hardcodes gcc paths
# put this here so it can be removed when clang matures.
# cxa_finalize.o is no longer necessary with libc.so >= ILLUMOS_0.5
TEST_ILLUMOS_3849!=\
if /usr/bin/elfdump -v /lib/libc.so |\
${GREP} -q 'ILLUMOS_0.5' ; then \
${ECHO} 1; \
else ${ECHO} 0; \
fi
#doesn't seem to be needed anymore, but may be dependent on
#a recent version of solaris (illumos) ld.
#
#CFLAGS.SunOS+= -mimpure-text
SUBST_CLASSES+= fix-paths
SUBST_STAGE.fix-paths= pre-configure
SUBST_MESSAGE.fix-paths= Fixing absolute gcc paths for SunOS.
SUBST_FILES.fix-paths= tools/clang/lib/Driver/Tools.cpp
. if defined(_GCC_ARCHDIR)
SUBST_SED.fix-paths= -e 's,/usr/gcc/4.5/lib/gcc/,${_GCC_ARCHDIR}/,g'
. else
LIBGCCDIR!= ${CC} -print-libgcc-file-name
ARCHDIR:= ${LIBGCCDIR:H}
SUBST_SED.fix-paths= -e 's,/usr/gcc/4.5/lib/gcc/,${ARCHDIR}/,g'
. endif
SUBST_SED.fix-paths+= -e '/^.*i386.*getVendorName.*$$/{N;d;}'
SUBST_SED.fix-paths+= -e 's,/4.5.2/amd64/,amd64/,g'
SUBST_SED.fix-paths+= -e 's,"as","gas",g'
. if exists(/usr/bin/ld)
SUBST_SED.fix-paths+= -e 's,getToolChain().GetProgramPath("ld"),"/usr/bin/ld",g'
. else
SUBST_SED.fix-paths+= -e 's,getToolChain().GetProgramPath("ld"),"/usr/ccs/bin/ld",g'
. endif
. if ${TEST_ILLUMOS_3849}
SUBST_SED.fix-paths+= -e 's,^.*cxa_finalize.*$$, ; //cxa_finalize.o,g'
. endif
.endif
post-extract:
mv ${WRKDIR}/cfe-${PKGVERSION_NOREV}.src ${WRKSRC}/tools/clang
.if ${OPSYS} == "SunOS"
${ECHO} "int sun_ld_needs_a_symbol=0;" >> ${WRKSRC}/lib/Target/NVPTX/InstPrinter/NVPTXInstPrinter.cpp
.endif
.include "../../lang/python/tool.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
|