summaryrefslogtreecommitdiff
path: root/devel/lldb/Makefile
blob: 0842474f845fa2b9e1c7280d161ab58e59458798 (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# $NetBSD: Makefile,v 1.4 2016/11/14 20:15:33 ryoon Exp $

DISTNAME=	lldb-3.9.0.src
PKGNAME=	${DISTNAME:S/.src//}
CATEGORIES=	lang devel
MASTER_SITES=	http://llvm.org/releases/${PKGVERSION_NOREV}/
#MASTER_SITES=	http://llvm.org/pre-releases/3.8.0/rc1/
EXTRACT_SUFX=	.tar.xz

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	http://lldb.org/
COMMENT=	Next generation, high-performance debugger
LICENSE=	modified-bsd

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

CONFIGURE_DIRS=		${WRKDIR}/build
CMAKE_ARG_PATH=		${WRKSRC}

USE_LANGUAGES=		c c++
USE_CMAKE=		yes
GCC_REQD+=		4.8
PY_PATCHPLIST=		yes

PYTHON_VERSIONS_INCOMPATIBLE=	34 35 # compilation failure in 3.8.1 (3.8.0 worked)

CMAKE_ARGS+=	-DLLVM_CONFIG=${LLVM_CONFIG_PATH}
CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
CMAKE_ARGS+=	-DCMAKE_C_COMPILER=gcc
CMAKE_ARGS+=	-DCMAKE_CXX_COMPILER=g++
CMAKE_ARGS+=	-DHAVE_CXX_ATOMICS64_WITHOUT_LIB=ON

CHECK_PORTABILITY_SKIP=	utils/buildit/build_llvm

REPLACE_PERL+=		packages/Python/lldbsuite/test/attic/dotest.pl
REPLACE_PERL+=		scripts/build-llvm.pl
REPLACE_PERL+=		scripts/checkpoint-llvm.pl
REPLACE_PERL+=		scripts/disasm-gdb-remote.pl
REPLACE_PERL+=		scripts/generate-vers.pl
REPLACE_PERL+=		scripts/sed-sources

REPLACE_PYTHON+=	examples/darwin/heap_find/heap.py
REPLACE_PYTHON+=	examples/python/cmdtemplate.py
REPLACE_PYTHON+=	examples/python/crashlog.py
REPLACE_PYTHON+=	examples/python/delta.py
REPLACE_PYTHON+=	examples/python/disasm-stress-test.py
REPLACE_PYTHON+=	examples/python/disasm.py
REPLACE_PYTHON+=	examples/python/gdbremote.py
REPLACE_PYTHON+=	examples/python/globals.py
REPLACE_PYTHON+=	examples/python/lldb_module_utils.py
REPLACE_PYTHON+=	examples/python/lldbtk.py
REPLACE_PYTHON+=	examples/python/mach_o.py
REPLACE_PYTHON+=	examples/python/memory.py
REPLACE_PYTHON+=	examples/python/operating_system.py
REPLACE_PYTHON+=	examples/python/performance.py
REPLACE_PYTHON+=	examples/python/process_events.py
REPLACE_PYTHON+=	examples/python/sbvalue.py
REPLACE_PYTHON+=	examples/python/sources.py
REPLACE_PYTHON+=	examples/python/stacks.py
REPLACE_PYTHON+=	examples/python/symbolication.py
REPLACE_PYTHON+=	examples/python/types.py
REPLACE_PYTHON+=	examples/python/x86_64_linux_target_definition.py
REPLACE_PYTHON+=	examples/python/x86_64_qemu_target_definition.py
REPLACE_PYTHON+=	examples/python/x86_64_target_definition.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/attic/tester.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/bench.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/curses_results.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/dosep.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/functionalities/plugins/python_os_plugin/operating_system.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/functionalities/plugins/python_os_plugin/operating_system2.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/redo.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/test_runner/test/inferior.py
REPLACE_PYTHON+=	packages/Python/lldbsuite/test/test_runner/test/process_control_tests.py
REPLACE_PYTHON+=	scripts/Python/remote-build.py
REPLACE_PYTHON+=	scripts/buildbot.py
REPLACE_PYTHON+=	scripts/shush
REPLACE_PYTHON+=	scripts/verify_api.py
REPLACE_PYTHON+=	scripts/prepare_bindings.py
REPLACE_PYTHON+=	test/dotest.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/FSM.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/astat.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/bd_client.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/bd_serv.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/cgishell.cgi
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/chess.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/chess2.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/chess3.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/df.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/fix_cvs_files.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/ftp.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/hive.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/monitor.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/passmass.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/python.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/rippy.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/script.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/ssh_tunnel.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/sshls.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/topip.py
REPLACE_PYTHON+=	third_party/Python/module/pexpect-2.4/examples/uptime.py
REPLACE_PYTHON+=	third_party/Python/module/progress/progress.py
REPLACE_PYTHON+=	utils/git-svn/convert.py
REPLACE_PYTHON+=	utils/lui/lui.py
REPLACE_PYTHON+=	utils/lui/sandbox.py
REPLACE_PYTHON+=	utils/misc/grep-svn-log.py
REPLACE_PYTHON+=	utils/sync-source/syncsource.py
REPLACE_PYTHON+=	utils/test/disasm.py
REPLACE_PYTHON+=	utils/test/lldb-disasm.py
REPLACE_PYTHON+=	utils/test/llvm-mc-shell.py
REPLACE_PYTHON+=	utils/test/ras.py
REPLACE_PYTHON+=	utils/test/run-dis.py
REPLACE_PYTHON+=	utils/test/run-until-faulted.py

TEST_TARGET=		check-lldb
TEST_ENV+=		LD_LIBRARY_PATH=${WRKDIR}/build/lib

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

.if ${OPSYS} == "NetBSD"
.  if exists(/usr/include/panel.h)
CMAKE_ARGS+=	-DLLDB_DISABLE_CURSES:BOOL=FALSE
.  else
CMAKE_ARGS+=	-DLLDB_DISABLE_CURSES:BOOL=TRUE
.  endif
.endif

post-extract:
	${RUN} mkdir -p ${WRKDIR}/build

.include "../../mk/readline.buildlink3.mk"
.include "../../mk/curses.buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
DEPENDS+=	llvm-${PKGVERSION_NOREV}{,nb*}:../../lang/llvm
.include "../../lang/llvm/buildlink3.mk"
DEPENDS+=	clang-${PKGVERSION_NOREV}{,nb*}:../../lang/clang
.include "../../lang/clang/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/python/tool.mk"
.include "../../lang/python/extension.mk"
.include "../../devel/swig/buildlink3.mk"
.include "../../devel/libatomic_ops/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"