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
92
93
94
95
|
# $NetBSD: Makefile,v 1.6 2015/04/25 20:20:32 tnn Exp $
DISTNAME= llvm-${PKGVERSION_NOREV}.src
PKGNAME= libLLVM34-3.4.2
PKGREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://llvm.org/
COMMENT= Low Level Virtual Machine compiler infrastructure (previous version)
LICENSE= modified-bsd
WRKSRC= ${WRKDIR}/llvm-${PKGVERSION_NOREV}.src
DESCR_SRC= ${.CURDIR}/../../lang/libLLVM/DESCR
USE_LANGUAGES= c c++
USE_TOOLS+= gmake
PYTHON_FOR_BUILD_ONLY= yes
GCC_REQD+= 4.7 4.8
GNU_CONFIGURE= yes
OVERRIDE_DIRDEPTH= 3
CONFIGURE_ARGS+= --disable-assertions
CONFIGURE_ARGS+= --disable-bindings
CONFIGURE_ARGS+= --disable-timestamps
CONFIGURE_ARGS+= --enable-optimized
CONFIGURE_ARGS+= --enable-shared
MAKE_ENV+= ENABLE_PIC=1
MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}/Release/lib
CHECK_PORTABILITY_SKIP= utils/buildit/build_llvm \
utils/lit/utils/check-sdist \
utils/lit/utils/check-coverage
TEST_TARGET= check unittests
BUILD_TARGET= libs-only
INSTALL_TARGET= install-libs
SUBST_CLASSES+= fix-pfx
SUBST_STAGE.fix-pfx= pre-configure
SUBST_MESSAGE.fix-pfx= Adjusting installation directories to avoid conflict with clang
SUBST_FILES.fix-pfx= Makefile.config.in
SUBST_FILES.fix-pfx+= cmake/modules/Makefile
SUBST_SED.fix-pfx= -e 's,(PROJ_prefix)/bin$$,(PROJ_prefix)/libexec/libLLVM34,g'
SUBST_SED.fix-pfx+= -e 's,(PROJ_prefix)/lib$$,(PROJ_prefix)/lib/libLLVM34,g'
SUBST_SED.fix-pfx+= -e 's,(PROJ_prefix)/include$$,(PROJ_prefix)/include/libLLVM34,g'
SUBST_SED.fix-pfx+= -e 's,(PROJ_prefix)/share/llvm/cmake$$,(PROJ_prefix)/share/libLLVM34/cmake,g'
SUBST_CLASSES+= fix-cnf
SUBST_STAGE.fix-cnf= pre-configure
SUBST_MESSAGE.fix-cnf= Fixing llvm-config paths
SUBST_FILES.fix-cnf= tools/llvm-config/llvm-config.cpp
SUBST_SED.fix-cnf= -e 's|ActivePrefix + "/include"|"${PREFIX}/include/libLLVM34"|g'
SUBST_SED.fix-cnf+= -e 's|ActivePrefix + "/lib"|"${PREFIX}/lib/libLLVM34"|g'
SUBST_SED.fix-cnf+= -e 's|"-L" << ActiveLibDir|"${COMPILER_RPATH_FLAG}" << ActiveLibDir << " " << &|g'
LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/libLLVM34
INSTALLATION_DIRS+= lib/libLLVM34
.include "../../mk/compiler.mk"
.if !empty(PKGSRC_COMPILER:Mclang)
# fixes unittest compilation
_WRAP_EXTRA_ARGS.CXX+= -Wno-error=absolute-value
CWRAPPERS_APPEND.cxx+= -Wno-error=absolute-value
.endif
.include "../../mk/bsd.prefs.mk"
.if ${_OPSYS_SHLIB_TYPE} == "dylib"
PLIST_SUBST+= SOEXT="dylib"
.else
PLIST_SUBST+= SOEXT="so"
.endif
# XXX temporary band-aid for wrapper reordering bug until we have a proper fix
#
# Wrappers incorrectly reorder:
#
# -Wl,--whole-archive -lmystaticlib -Wl,--no-whole-archive
#
# to
#
# -Wl,--whole-archive -Wl,--no-whole-archive -lmystaticlib
#
# Which nullies the effect of --whole-archive.
# Kludge around this by removing --no-whole-archive from the command line.
# It happens to be safe in this particular case, as far as I can tell.
BUILDLINK_TRANSFORM+= rm:-Wl,--no-whole-archive
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/tool.mk"
.include "../../mk/bsd.pkg.mk"
|