summaryrefslogtreecommitdiffstats
path: root/llvm/Pkgfile
blob: 292721e3f57c70e13fa5f4df4c706257bd1a4e2d (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
# Description: Low Level Virtual Machine (LLVM)
# URL: http://llvm.org/
# Maintainer: NuTyX core team
# Packager: piernov <piernov@piernov.org>
# Depends on:
# Run on:

name=llvm
version=3.1
release=1
source=(http://llvm.org/releases/$version/{llvm,clang,compiler-rt}-$version.src.tar.gz
	fix-libprofile_rt.a-location.patch)

build() {
	cd $name-$version.src
	rm -rf tools/clang projects/compiler-rt
	mv ../clang-$version.src tools/clang
	mv ../compiler-rt-$version.src projects/compiler-rt

	patch -p1 -d tools/clang < ../fix-libprofile_rt.a-location.patch

	for i in `grep -r -l "/usr/bin/env python" *`; do sed "s|/usr/bin/env python|/usr/bin/env python2|g" -i $i; done
	for i in `grep -r -l "/usr/bin/python" *`; do sed "s|/usr/bin/python|/usr/bin/python2|g" -i $i; done
	sed "s|python|python2|g" -i Makefile.rules

	sed -i 's|\$(PROJ_libdir)|/usr/lib/llvm|' bindings/ocaml/Makefile.ocaml
	sed -i -e 's|\$(PROJ_prefix)/etc/llvm|/etc/llvm|' \
		-e 's|\$(PROJ_prefix)/lib|$(PROJ_prefix)/lib/llvm|' \
		-e 's|\$PROJ_prefix)/docs/llvm|$(PROJ_prefix)/share/doc/llvm|' \
		Makefile.config.in

	sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib/llvm:' tools/llvm-config/llvm-config.cpp
	sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib/llvm":' autoconf/configure.ac configure

	sed -i 's:$(RPATH) -Wl,$(\(Tooldir\|LibDir\|ExmplDir\))::g' Makefile.rules

	case `uname -m` in
		x86_64)
			enable_pic="yes";;
		i?86)
			enable_pic="no";;
	esac

	CC=gcc CXX=g++ ./configure --prefix=/usr \
		--sysconfdir=/etc \
		--libdir=/usr/lib/$name \
		--datadir=/usr/share/$name \
		--enable-shared \
		--enable-jit \
		--enable-optimized \
		--enable-targets=host-only \
		--disable-expensive-checks \
		--enable-debug-runtime \
		--disable-assertions \
		--enable-threads \
		--enable-pic=$enable_pic
	make
	make DESTDIR=$PKG KEEP_SYMBOLS=1 PROJ_docsdir=/usr/share/$name PROJ_etcdir=/etc/$name PROJ_libdir=/usr/lib/$name install

	install -d $PKG/etc/ld.so.conf.d
	echo /usr/lib/llvm > $PKG/etc/ld.so.conf.d/llvm.conf
}