aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm/APKBUILD
blob: 1b8a2ca81e5425d3450c1de8a6a1dc052d3c9697 (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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
# Contributor: Travis Tilley <ttilley@gmail.com>
# Maintainer: Travis Tilley <ttilley@gmail.com>
pkgname=llvm
pkgver=3.6.1
pkgrel=6
use_svn="false"
pkgdesc="low level virtual machine compiler system"
arch="all"
url="http://llvm.org/"
license="UOI-NCSA"
depends=""
depends_dev="perl"
makedepends="$depends_dev paxmark cmake make flex bison groff musl-dev binutils-dev isl-dev libffi-dev libxml2-dev libxml2-utils zlib-dev ncurses-dev python python-dev py-sphinx chrpath"
[ "${use_svn}" = "true" ] && makedepends="$makedepends subversion"
install=
subpackages="clang clang-doc:clang_doc $pkgname-dev $pkgname-doc $pkgname-libs"
source="
	llvm-0001-fix-shared-build.patch
	llvm-0002-musl-triple.patch
	llvm-0003-musl-hacks.patch
	compiler-rt-0001-musl-no-dlvsym.patch
	compiler-rt-0002-musl-no-sanitizers.patch
	compiler-rt-0003-off_t.patch
	clang-0001-fix-stdint.h.patch
	clang-0002-fix-unwind-header.patch
	clang-0003-add-alpine-linux-distro.patch
	clang-0004-alpine-use-z-relro.patch
	clang-0005-alpine-hash-style-gnu.patch
	clang-0006-musl-alpine-triple.patch
	clang-0007-musl-dynamic-linker-paths.patch
	clang-0008-alpine-PIE-by-default.patch
	clang-0009-pass-host-triple-to-compiler-rt.patch
	clang-0010-alpine-use-z-now.patch
	clang-0011-alpine-SSP-by-default.patch
	"
if [ "${use_svn}" != "true" ]; then
	source="$source
		http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.xz
		http://llvm.org/releases/$pkgver/cfe-$pkgver.src.tar.xz
		http://llvm.org/releases/$pkgver/clang-tools-extra-$pkgver.src.tar.xz
		http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.xz
		http://llvm.org/releases/$pkgver/polly-$pkgver.src.tar.xz"
fi


_builddir="$srcdir"/build
_bootstrap_prefix="$srcdir"/bootstrap


_cmake_flags="\
	-DCMAKE_BUILD_TYPE=Release \
	-DCMAKE_VERBOSE_MAKEFILE=NO \
"

# the binutils include directory setting appears to be necessary in order to
# build the LLVMGold plugin, even if the headers are in /usr/include and easily
# detected.
# auto-detection of both go and ocaml are explicitly disabled here, as they
# currently do not compile.
_cmake_common_flags="\
	${_cmake_flags} \
	-DLLVM_DEFAULT_TARGET_TRIPLE=$CBUILD \
	-DLLVM_HOST_TRIPLE=$CHOST \
	-DLLVM_BINUTILS_INCDIR=/usr/include \
	-DLLVM_ENABLE_ASSERTIONS=NO \
	-DLLVM_ENABLE_LIBCXX=NO \
	-DLLVM_ENABLE_PIC=YES \
	-DLLVM_ENABLE_ZLIB=YES \
	-DLLVM_ENABLE_RTTI=YES \
	-DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND \
	-DOCAMLFIND=OCAMLFIND-NOTFOUND \
	-DCLANG_BUILD_EXAMPLES=NO \
	-DLLVM_BUILD_EXAMPLES=NO \
	-DLLVM_INCLUDE_EXAMPLES=NO \
	-DLIBXML2_INCLUDE_DIR=/usr/include/libxml2 \
"

# attempt to build the bootstrap compiler as quickly as is sane. unfortunately,
# there is no way to turn off ObjC support. we can, however, disable building
# ARCMT (automatic reference counting migration tool), the static analyzer, and
# documentation. also, since we're using the cmake build and not autotools, the
# tests aren't automatically built (targets for testing are emitted, just not
# built as part of the default target).
_cmake_bootstrap_flags="\
	${_cmake_common_flags} \
	-DCMAKE_INSTALL_PREFIX=${_bootstrap_prefix} \
	-DLLVM_TARGETS_TO_BUILD=host \
	-DBUILD_SHARED_LIBS=NO \
	-DCLANG_ENABLE_ARCMT=NO \
	-DCLANG_ENABLE_STATIC_ANALYZER=NO \
	-DCLANG_INCLUDE_DOCS=NO \
	-DCLANG_PLUGIN_SUPPORT=NO \
	-DLLVM_ENABLE_CXX1Y=NO \
	-DLLVM_ENABLE_FFI=NO \
	-DLLVM_ENABLE_SPHINX=NO \
	-DLLVM_ENABLE_TERMINFO=NO \
	-DLLVM_INCLUDE_DOCS=NO \
	-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_BUILD=NO \
	-DLLVM_EXTERNAL_POLLY_BUILD=NO \
"

# setting compiler-rt to compile as if it were an external build allows it to
# use the freshly built clang to compile, rather than the bootstrap compiler.
# NOTE: there appears to be an issue building compiler-rt as an external project
# and using ninja as the build tool, so stick to good old fashioned makefiles.
_cmake_final_flags="\
	${_cmake_common_flags} \
	-DCMAKE_INSTALL_PREFIX=/usr \
	-DLLVM_TARGETS_TO_BUILD=all \
	-DLLVM_BUILD_EXTERNAL_COMPILER_RT=YES \
	-DBUILD_SHARED_LIBS=YES \
	-DCLANG_PLUGIN_SUPPORT=YES \
	-DLINK_POLLY_INTO_TOOLS=YES \
	-DLLVM_BUILD_DOCS=YES \
	-DLLVM_BUILD_TESTS=YES \
	-DLLVM_ENABLE_CXX1Y=YES \
	-DLLVM_ENABLE_FFI=YES \
	-DLLVM_ENABLE_SPHINX=YES \
	-DLLVM_ENABLE_TERMINFO=YES \
	-DLIBCLANG_BUILD_STATIC=YES \
	-DWITH_POLLY=YES \
	-DPOLLY_ENABLE_GPGPU_CODEGEN=NO \
"


_srcdir="$srcdir"/"$pkgname-$pkgver.src"
_srcdir_clang="$_srcdir"/tools/clang
_srcdir_clang_extra="$_srcdir_clang"/tools/extra
_srcdir_polly="$_srcdir"/tools/polly
_srcdir_compiler_rt="$_srcdir"/projects/compiler-rt


prepare() {
	if [[ "${use_svn}" = "true" ]]; then
		pkgsvnver="tags/RELEASE_${pkgver//./}/final/"
		svn_source="http://llvm.org/svn/llvm-project"
		cd "$srcdir"
		svn co "$svn_source/llvm/$pkgsvnver" llvm-$pkgver.src
		svn co "$svn_source/cfe/$pkgsvnver" cfe-$pkgver.src
		svn co "$svn_source/clang-tools-extra/$pkgsvnver" clang-tools-extra-$pkgver.src
		svn co "$svn_source/polly/$pkgsvnver" polly-$pkgver.src
		svn co "$svn_source/compiler-rt/$pkgsvnver" compiler-rt-$pkgver.src
	fi


	msg "Preparing LLVM project sources..."
	mv "$srcdir"/cfe-$pkgver.src \
	  "$_srcdir_clang" || return 1
	mv "$srcdir"/clang-tools-extra-$pkgver.src \
	  "$_srcdir_clang_extra" || return 1
	mv "$srcdir"/polly-$pkgver.src \
	  "$_srcdir_polly" || return 1
	mv "$srcdir"/compiler-rt-$pkgver.src \
	  "$_srcdir_compiler_rt" || return 1


	msg "Patching LLVM core..."
	cd "$_srcdir" || return 1
	update_config_sub || return 1
	sed -i -e '/case "\${UNAME_MACHINE}:\${UNAME_SYSTEM}:\${UNAME_RELEASE}:\${UNAME_VERSION}" in/i \' \
	       -e 'if [ x != "x$CBUILD" ]; then echo "$CBUILD"; exit; fi' \
		./autoconf/config.guess || return 1
	for i in $source; do
		case $i in
		llvm-*.patch)
			msg "Applying $i..."
			patch -s -p1 -N -i "$srcdir"/$i || return 1
			;;
		esac
	done

	msg "Patching clang..."
	cd "$_srcdir_clang" || return 1
	# FIXME: I have never seen these tests pass on any system, be it vanilla clang
	# or patched, musl or glibc, autoconf or cmake. It fails on alpine, gentoo,
	# and ubuntu.
	# TODO: The version of this test in 3.7 works just fine. Re-enable for 3.7
	rm ./test/Driver/lto.c
	for i in $source; do
		case $i in
		clang-*.patch)
			msg "Applying $i..."
			patch -s -p1 -N -i "$srcdir"/$i || return 1
			;;
		esac
	done

	msg "Patching compiler-rt..."
	cd "$_srcdir_compiler_rt" || return 1
	for i in $source; do
		case $i in
		compiler-rt-*.patch)
			msg "Applying $i..."
			patch -s -p1 -N -i "$srcdir"/$i || return 1
			;;
		esac
	done
}

build() {
	# cmake is funky. it uses several flag related settings in addition to picking
	# up what's in the CFLAGS/CXXFLAGS env variables. to make using any abuild-set
	# flags sane, we pass them in as options to cmake and unset the environment
	# variables. we also back up the original flags so that we can tweak them
	# without losing the original setting (see below re: -fno-devirtualize).
	orig_cflags="${CFLAGS}"
	orig_cxxflags="${CXXFLAGS}"
	unset CFLAGS
	unset CXXFLAGS

	# just in case those were set to blank strings, we _really_ want to make sure
	# we're not building what will effectively be a -O0 build here...
	test -z "${orig_cflags}" && orig_cflags="-O3"
	test -z "${orig_cxxflags}" && orig_cxxflags="-O3"

	# -fno-devirtualize is added here because, to quote the fedora spec file,
	# "gcc has scary template-related bugs". the flag is removed post-bootstrap.
	# -DNDEBUG is required to disable assertions
	cflags="${orig_cflags} -DNDEBUG"
	cxxflags="${orig_cxxflags} -DNDEBUG -fno-devirtualize"

	# The cmake logic appears to use the result of config.guess in a few places
	# even though we override the various triple settings manually. export CBUILD
	# to the tweaked config.guess just to be safe.
	export CBUILD

	# cmake doesn't call out to pkg-config to determine the include path for FFI,
	# and since alpine installs the headers to a versioned directory cmake can't
	# auto-detect it by guessing either.
	ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')"


	mkdir -p "$_builddir"
	cd "$_builddir"

	msg "Compiling bootstrap compiler"
	cmake -G "Unix Makefiles" -Wno-dev ${_cmake_bootstrap_flags} \
		-DCMAKE_C_FLAGS_RELEASE="${cflags}" \
		-DCMAKE_CXX_FLAGS_RELEASE="${cxxflags}" \
		-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
		-DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
		-DFFI_INCLUDE_DIR="$ffi_include_dir" \
		"${_srcdir}" || return 1

	# work around parallel build issue:
	make llvm-tblgen && make clang-tblgen || return 1
	make || return 1

	paxmark m bin/llvm-rtdyld
	paxmark m bin/lli
	paxmark m bin/lli-child-target

	make install || return 1

	cflags="${orig_cflags} -DNDEBUG"
	cxxflags="${orig_cxxflags} -DNDEBUG"
	CC="${_bootstrap_prefix}/bin/clang"
	CXX="${_bootstrap_prefix}/bin/clang++"

	cd ..
	rm -rf "$_builddir"
	mkdir -p "$_builddir"
	cd "$_builddir"

	msg "Compiling final compiler"
	cmake -G "Unix Makefiles" -Wno-dev ${_cmake_final_flags} \
		-DCMAKE_C_COMPILER="${CC}" \
		-DCMAKE_CXX_COMPILER="${CXX}" \
		-DCMAKE_C_FLAGS_RELEASE="${cflags}" \
		-DCMAKE_CXX_FLAGS_RELEASE="${cxxflags}" \
		-DCMAKE_EXE_LINKER_FLAGS="${LDFLAGS}" \
		-DCMAKE_SHARED_LINKER_FLAGS="${LDFLAGS}" \
		-DFFI_INCLUDE_DIR="$ffi_include_dir" \
		"${_srcdir}" || return 1

	make llvm-tblgen && make clang-tblgen || return 1
	make || return 1

	paxmark m bin/llvm-rtdyld
	paxmark m bin/lli
	paxmark m bin/lli-child-target

	paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
	paxmark m unittests/Support/SupportTests

	make check-llvm 				|| return 1
	make check-clang 				|| return 1
	make check-compiler-rt 				|| return 1
	make check-polly 				|| return 1

	# 27 failures, all related to clang-tidy.
	# clang-format/clang-modernize and friends pass their test suites
	# make check-clang-tools || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install

	rm "$pkgdir"/usr/lib/LLVMHello.so

	file "$pkgdir"/usr/lib/*.so | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
	file "$pkgdir"/usr/bin/* | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
}

clang() {
	pkgdesc="A C language family front-end for LLVM"

	mkdir -p "$subpkgdir"/usr/bin \
		"$subpkgdir"/usr/lib "$subpkgdir"/usr/share/clang "$subpkgdir"/usr/include
	mv "$pkgdir"/usr/bin/*clang* \
		"$subpkgdir"/usr/bin/ || return 1
	mv "$pkgdir"/usr/lib/clang \
		"$pkgdir"/usr/lib/libclang* \
		"$pkgdir"/usr/lib/libmodernize* \
		"$subpkgdir"/usr/lib/ || return 1
	mv "$pkgdir"/usr/include/clang "$pkgdir"/usr/include/clang-c \
		"$subpkgdir"/usr/include/ || return 1

	cp -r "$_srcdir"/tools/clang/tools/scan-build "$subpkgdir"/usr/share/clang/scan-build
	cp -r "$_srcdir"/tools/clang/tools/scan-view "$subpkgdir"/usr/share/clang/scan-view

	ln -s /usr/share/clang/scan-build/scan-build "$subpkgdir"/usr/bin/scan-build
	ln -s /usr/share/clang/scan-view/scan-view "$subpkgdir"/usr/bin/scan-view
}

clang_doc() {
	pkgdesc="clang documentation"
	mkdir -p "$subpkgdir"/usr/share/doc/ || return 1
	mv "$pkgdir"/usr/share/doc/clang "$subpkgdir"/usr/share/doc/ || return 1
}

libs() {
	pkgdesc="LLVM shared libraries"
	mkdir -p "$subpkgdir"/usr/lib/
	mv "$pkgdir"/usr/lib/*.so "$subpkgdir"/usr/lib/
}

md5sums="0947294a8c83c8d7f857dfc16204c4eb  llvm-0001-fix-shared-build.patch
dacc40624cf09fa98de27016bebb1432  llvm-0002-musl-triple.patch
056178d87918d531f531b1b765a59e7c  llvm-0003-musl-hacks.patch
346081b2f0825ca7f491155c4b3ca0ea  compiler-rt-0001-musl-no-dlvsym.patch
eb3797555357896a92f74bf1bacfbdc2  compiler-rt-0002-musl-no-sanitizers.patch
8bc11d4a60af51a7fc10643bd0970d3a  compiler-rt-0003-off_t.patch
eab0123372fa909817ed21cfcffdbe16  clang-0001-fix-stdint.h.patch
069f5cd7a6d0b01eade62bb72aac9e8b  clang-0002-fix-unwind-header.patch
93ffbede80bc857c8ae6bed5ff016a52  clang-0003-add-alpine-linux-distro.patch
231fad6dc619ef6a54567c14082bf7af  clang-0004-alpine-use-z-relro.patch
2967fea7ed0624d99808bc091be1bab4  clang-0005-alpine-hash-style-gnu.patch
1ae0e80cfd31a42b299a65ba67e244ef  clang-0006-musl-alpine-triple.patch
f69714b175a5a888f77d68e2ebf76167  clang-0007-musl-dynamic-linker-paths.patch
6bc4b7047042f9afec452a97c35c2cd5  clang-0008-alpine-PIE-by-default.patch
0ae0c5939c27750c52b39158fbc7a7a9  clang-0009-pass-host-triple-to-compiler-rt.patch
26831612243302f3ef964f355bf8c409  clang-0010-alpine-use-z-now.patch
308db990bb9c1c28152fdf18dddcb6eb  clang-0011-alpine-SSP-by-default.patch
ebf9e97be405ae126e134d3a357cd58a  llvm-3.6.1.src.tar.xz
9ff6811757735051f8651833b22ae014  cfe-3.6.1.src.tar.xz
1ad810536f0f7fefd4541a907aff83b3  clang-tools-extra-3.6.1.src.tar.xz
6f204b1feb324b1672ac907b32d927c0  compiler-rt-3.6.1.src.tar.xz
be80b9c2b6d5071c71bb47d79402b9da  polly-3.6.1.src.tar.xz"
sha256sums="4f75c2a76cf4c439d65c8e67511cd91c895edf8ccf003a5f94ffa07c29456296  llvm-0001-fix-shared-build.patch
98d92c6cb305faff141b1b5a7cfa18656bd80aa478e7a45984f27e60a80bfdd9  llvm-0002-musl-triple.patch
c6892c843b38c9a852367e5d76ffc29c21bdfd522adbc4c4e3e3c890a513c0db  llvm-0003-musl-hacks.patch
94f5626b4729afb39ad00a6cac4f8d44e3ee6f3d87362268bcd2c0ec637edc22  compiler-rt-0001-musl-no-dlvsym.patch
7dd2d22c61892eb651809649606fb3722520a5d12f8d88c2e96be977d0f8b71a  compiler-rt-0002-musl-no-sanitizers.patch
45bcfa7d1c757e32183c5cd95703f150ec3d1ed966a9cfa68b13b648e5310e78  compiler-rt-0003-off_t.patch
516a1dbba85731a557840ee3ebc9cc82a2e5ce625cf5b37f5392bd089ef40bdc  clang-0001-fix-stdint.h.patch
3be240b78d2371728280ffb15191573c969b304ed784883b79c662ff73c2bc43  clang-0002-fix-unwind-header.patch
78449c4f7c9fdfaccef3b68039c69e7e041fb34862d39c803d7e6fac17f659aa  clang-0003-add-alpine-linux-distro.patch
501ab6e3fb99c9ffb82329475051a633797bf824c0dea437843266f190c062a0  clang-0004-alpine-use-z-relro.patch
1c4dbd1d474bf08de5979d6f4399aeba29de9ba8950aa0688d081d82e552d7d3  clang-0005-alpine-hash-style-gnu.patch
b62205ddb4b76470ba433c69ecb20d1be41963d1f826b8a6937cc024d8159268  clang-0006-musl-alpine-triple.patch
44667890d5fa1816ca6cb33e63b49c5e9cfcb8265cdae513b2d0bd0916726766  clang-0007-musl-dynamic-linker-paths.patch
39c275490e3360d50fe339406992616fad0fa9127204c9b93578ee2403ae850c  clang-0008-alpine-PIE-by-default.patch
ec0c2014d455040499f599dc3d690fb92e54baf6058605be5f25c2c845629cfe  clang-0009-pass-host-triple-to-compiler-rt.patch
a34aca360fa52231b6c8663ee8b1103492f1c2600a08cc670616ce97d14e0ba9  clang-0010-alpine-use-z-now.patch
e8056b8fbf7dc0abc0c966c43642ffd72878453b04fa94c18bc7d92ee3e405f4  clang-0011-alpine-SSP-by-default.patch
2f00c615913aa0b56607ee1548936e60ad2aa89e6d56f23fb032a4463366fc7a  llvm-3.6.1.src.tar.xz
74f92d0c93b86678b015e87655f59474b2f657769680efdeb3c0524ffbd2dad7  cfe-3.6.1.src.tar.xz
f4ee70d870d550a9147ac6a548ce7daf7d9e6897348bf411f43c572966fb92b6  clang-tools-extra-3.6.1.src.tar.xz
fcbf610c77be6047f11ca10c4725610417beba832565115a9e2fcfe2897b649f  compiler-rt-3.6.1.src.tar.xz
d085f97bcbb4e47b51ed60ba9a55b3fee394193e7e48ab5c5b0035e6fc80a7eb  polly-3.6.1.src.tar.xz"
sha512sums="b3c0e0f74680e9b2d02f1c923a191ef5eb913be84105e4d63aae6a88b1dac758467cecad3430496a7945cebdc73ec5ee1f643dc5dc7b336fee920e3c8b6d54d2  llvm-0001-fix-shared-build.patch
49203df74402b2e080fafb99a4df54d1822dbd3e4e018c44f2b41c95fcfa01b14c8c505405fd1c8909eac5effd36c60decdc771b4db9a16faf5f980af75c7551  llvm-0002-musl-triple.patch
df8959d43af48054bc35e4125f98e5dab1e1b5beaf7b67e95791caf144efec06764bd31a9eb5efc2179932591de8b862ebf89592d131e47070c89f19412979b7  llvm-0003-musl-hacks.patch
f1e6d17f4cc618b6a1edba64bda652f210d3c839bd8d2d4eff81af0895176062dab1e8fa963d0fe2403311863aee083d257bdb57ad9b44e23a958286a0d2e12b  compiler-rt-0001-musl-no-dlvsym.patch
45f64cd5863238b7f7ad2f4a3733455e17eb3ab3121ba3404404f312beb91bb4d109c7c3278f77fc78730086e70cfe6532e159efef30e34af0132ca44a965220  compiler-rt-0002-musl-no-sanitizers.patch
effed16bed6160c1629c72960424afed87f8c1c1290bf4eccd43da5a1fcb5b350242c01fcc1cc7355b420f5ac80231ea7a33ca71cafad884ea4c756cbdfbdd59  compiler-rt-0003-off_t.patch
6ad0a3409eb9c9bd43115c696f2894b683e4659b16b7ce29c7d88c35b3f585c10870c9df224a63fa14ff78810ee829b88a60dbf426f5b36084dfce7541a0cc00  clang-0001-fix-stdint.h.patch
0e3c9fbc70a12986e0531c9c642f9fff97d9d7617fd33ee69ac81d283ee14e86b6de435f1b51478a9c304f787c1b21ebc804d39a57a1ebeedce7308362d93614  clang-0002-fix-unwind-header.patch
0b8108c96948a1704275a93f3b872572fe2c61a0cd3e7f4caf63c0ca262cc079e2424b70f41d20f4a9aebe30333e39e3c594b4240fd41f7bd9a6682e751a23d9  clang-0003-add-alpine-linux-distro.patch
ac72ea29d6f889f2b54915b97d56bc388e849da2f524b872241053fa6bb9dde4eb6b1333813070e3671115121da34c22ff1e87aa19ce82a393166143b30c7de4  clang-0004-alpine-use-z-relro.patch
0594cc85b6cf0be66e747eb7ba6af5aff401d65b4072f3da4a3e531795965f72df5a3850c7abbbe4e1fde3dc6ad583ecfc4a77429531bae02143b5ca36bed37e  clang-0005-alpine-hash-style-gnu.patch
0c87ff437bebc9dda188a710a6c32a6e7288692ff862556bb53f5e61b0ef6aa6bba74b9a9302808df6bfe1afaa41489203f45779c627c09e46ebffd1627eff3f  clang-0006-musl-alpine-triple.patch
d23c9fb922312229d333091122ca65d94a4595af651657d8cca5a57c5804642897947702567c213027b02c98204cac9b92fee4a3e9e514bd7c539902e84462f4  clang-0007-musl-dynamic-linker-paths.patch
2a217800aefbce07017b793a8c91e174dac20546343de47749b4b07b4905db9a55411ef45e482b8df93cb4dbbdf25415202c3257be36ae095a6f2de11935f80b  clang-0008-alpine-PIE-by-default.patch
7628c1b12febb27d0a9ecb846205edec61044fbb963ba5e588863652bccbb05d1436febf8840ff4b47dfb326689bb142464be59a18b17bd5d30aa03bb7e76a9f  clang-0009-pass-host-triple-to-compiler-rt.patch
1bec07a11885b4e1b692a1df1ca2de8075016619b4086d9114553386e4de5956fbc7da5e234075f08eb635df8c01ebf51c9e2fc33aa483f02050eddbe66e38d2  clang-0010-alpine-use-z-now.patch
23940138bf5208719ce38660d9f1a1fcf498a249243951c7e02c947780444228494a1f68380dc609093a3358273fd3d520f0b61ffe198bfccbec1de6aabd7670  clang-0011-alpine-SSP-by-default.patch
fa07d0fe6c527d86c0b91b1b62597f949d777e3609e4e8ca2ea5e07931e1ebc7a363273cc705cf4a13b45e7ab00716b76de26688d077c1b51341d9dd2972de3f  llvm-3.6.1.src.tar.xz
a96944bccfd9341be7adafdcc40367d458e85e7e74b0d2f3a7ea18edf1454d04a232c2d0003d6449c52f81d1e235b434acc1bb63eb5f7d16f8f4a43b70826743  cfe-3.6.1.src.tar.xz
3273f8c1fa1683de231d0c0b9371d4b7537381e939fe38996e70a8005a1e6185da459ace2f260fad41df4840b459448ed1498c2fd576dd560005117a54e2ccb9  clang-tools-extra-3.6.1.src.tar.xz
121c048fe60bccccd4a188a18613c94e1e1d9abd8fbae6405d23418f0c9b3562fff72fe77aea9bc0f8632ec9ad89503b9c67fcab5bf378001f90ad7492a1845a  compiler-rt-3.6.1.src.tar.xz
22438e111d3fd928c7bd6fd030b90726c7733ab3683bd59dbfb34184fc3f3d670bc788a92692eb1c20337542236f3c52576d5f4f28f5d4798d37744dbcca1315  polly-3.6.1.src.tar.xz"