llvm-3.7.0
This commit is contained in:
@@ -9,65 +9,61 @@ from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import pkgconfig
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import kde4
|
||||
from pisi.actionsapi import cmaketools
|
||||
|
||||
#WorkDir = "%s-%s.src" % (get.srcNAME(), get.srcVERSION())
|
||||
libdir = "/usr/lib32/llvm" if get.buildTYPE() == "emul32" else "/usr/lib/llvm"
|
||||
lib = "lib32" if get.buildTYPE() == "emul32" else "lib"
|
||||
|
||||
def setup():
|
||||
def setup():
|
||||
if not shelltools.isDirectory("tools/clang"):
|
||||
pisitools.dosed("tools/cfe-3.5.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"')
|
||||
#pisitools.dosed("tools/cfe-3.7.0.src/lib/Driver/ToolChains.cpp", '"ld"', '"ld.gold"')
|
||||
shelltools.move("tools/cfe-%s.src" % get.srcVERSION(), "tools/clang")
|
||||
shelltools.move("tools/clang-tools-extra-*", "tools/clang/extra")
|
||||
shelltools.move("tools/lldb-*", "tools/lldb")
|
||||
if not shelltools.isDirectory("projects/compiler-rt"):
|
||||
shelltools.move("projects/compiler-rt-3.5*", "projects/compiler-rt")
|
||||
|
||||
pisitools.dosed("utils/llvm-build/llvm-build", "python", "python2.7")
|
||||
pisitools.dosed("bindings/ocaml/Makefile.ocaml", '\$\(PROJ_libdir\)', libdir)
|
||||
pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/etc/llvm", "/etc/llvm")
|
||||
pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/lib", "$(PROJ_prefix)/%s/llvm" % lib)
|
||||
pisitools.dosed("Makefile.config.in", "\$\(PROJ_prefix\)/docs/llvm", "$(PROJ_prefix)/share/doc/llvm")
|
||||
pisitools.dosed("tools/llvm-config/llvm-config.cpp", '(ActiveLibDir\s=\sActivePrefix\s\+\s\"\/lib)(.*)', r'\1/llvm\2')
|
||||
pisitools.dosed("autoconf/configure.ac", '\LLVM_LIBDIR="\$\{prefix\}/lib"', 'LLVM_LIBDIR="${prefix}/%s/llvm"' % lib)
|
||||
|
||||
pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ExmplDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)")
|
||||
pisitools.dosed("Makefile.rules", "\$\(RPATH\)\s-Wl,\$\(ToolDir\)\s\$\(DynamicFlag\)", "$(DynamicFlag)")
|
||||
|
||||
shelltools.export("CPPFLAGS","%s %s" % (get.CXXFLAGS(),pkgconfig.getLibraryCFLAGS("libffi")))
|
||||
|
||||
shelltools.move("projects/compiler-rt-3.7*", "projects/compiler-rt")
|
||||
|
||||
#pic_option = "enable" if get.ARCH() == "x86_64" else "disable"
|
||||
shelltools.export("CC", "gcc")
|
||||
shelltools.export("CXX", "g++")
|
||||
|
||||
options = "--libdir=%s \
|
||||
--datadir=/usr/share/llvm \
|
||||
--sysconfdir=/etc \
|
||||
--enable-shared \
|
||||
--enable-libffi \
|
||||
--enable-targets=all \
|
||||
--disable-expensive-checks \
|
||||
--disable-debug-runtime \
|
||||
--disable-assertions \
|
||||
--disable-assertions \
|
||||
--with-python=/usr/bin/python2.7 \
|
||||
--with-binutils-include=/usr/include \
|
||||
" % libdir
|
||||
shelltools.system("patch -d tools/clang/extra -Np1 < clang-tools-extra-3.7.0-install-clang-query.patch")
|
||||
|
||||
shelltools.system("patch -d tools/lldb -Np1 < lldb-3.7.0-avoid-linking-to-libLLVM.patch")
|
||||
|
||||
autotools.configure(options)
|
||||
|
||||
|
||||
#def check():
|
||||
# autotools.make("check")
|
||||
# autotools.make("-C tools/clang test")
|
||||
shelltools.makedirs("build")
|
||||
|
||||
shelltools.cd("build")
|
||||
|
||||
cmaketools.configure("-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||
-DLLVM_DYLIB_EXPORT_ALL=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DLLVM_ENABLE_RTTI=ON \
|
||||
-DLLVM_ENABLE_FFI=ON \
|
||||
-DLLVM_BUILD_DOCS=OFF \
|
||||
-DLLVM_ENABLE_SPHINX=OFF \
|
||||
-DLLVM_ENABLE_DOXYGEN=OFF \
|
||||
-DFFI_INCLUDE_DIR=/usr/lib/libffi-3.2.1/include \
|
||||
-DLLVM_BINUTILS_INCDIR=/usr/include", sourceDir="..")
|
||||
def build():
|
||||
autotools.make("REQUIRES_RTTI=1")
|
||||
shelltools.makedirs("build")
|
||||
|
||||
shelltools.cd("build")
|
||||
|
||||
cmaketools.make()
|
||||
|
||||
def install():
|
||||
shelltools.makedirs("build")
|
||||
|
||||
shelltools.cd("build")
|
||||
|
||||
if get.buildTYPE() == "emul32":
|
||||
|
||||
autotools.rawInstall("DESTDIR=%s \
|
||||
|
||||
#cmaketools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
cmaketools.rawInstall("DESTDIR=%s \
|
||||
PROJ_etcdir=/etc/llvm \
|
||||
PROJ_libdir=/usr/lib32/llvm \
|
||||
PROJ_docsdir=/%s/llvm"
|
||||
@@ -77,7 +73,7 @@ def install():
|
||||
pisitools.remove("/usr/lib32/llvm/*LLVMHello.*")
|
||||
return
|
||||
else:
|
||||
autotools.rawInstall("DESTDIR=%s \
|
||||
cmaketools.rawInstall("DESTDIR=%s \
|
||||
PROJ_etcdir=/etc/llvm \
|
||||
PROJ_libdir=%s \
|
||||
PROJ_docsdir=/%s/llvm"
|
||||
|
||||
@@ -11,25 +11,36 @@
|
||||
<License>NCSA</License>
|
||||
<Summary>The Low Level Virtual Machine</Summary>
|
||||
<Description>The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them.</Description>
|
||||
<Archive sha1sum="58d817ac2ff573386941e7735d30702fe71267d5" type="tarxz">http://llvm.org/releases/3.5.0/llvm-3.5.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="834cee2ed8dc6638a486d8d886b6dce3db675ffa" type="tarxz" target="llvm-3.5.0.src/tools">http://llvm.org/releases/3.5.0/cfe-3.5.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="74a84493e3313c180490a4affbb92d61ee4f0d21" type="tarxz" target="llvm-3.5.0.src/tools">http://llvm.org/releases/3.5.0/clang-tools-extra-3.5.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="61f3e78088ce4a0787835036f2d3c61ede11e928" type="tarxz" target="llvm-3.5.0.src/projects">http://llvm.org/releases/3.5.0/compiler-rt-3.5.0.src.tar.xz</Archive>
|
||||
|
||||
<Archive sha1sum="0355c2fe01a8d17c3315069e6f2ef80c281e7dad" type="tarxz">http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="4ff8100565528b13d99a73f807e9b426c3b3bed9" type="tarxz" target="llvm-3.7.0.src/tools">http://llvm.org/releases/3.7.0/cfe-3.7.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="99a8c8e04936d37b711664539a1a2271a9663825" type="tarxz" target="llvm-3.7.0.src/tools">http://llvm.org/releases/3.7.0/clang-tools-extra-3.7.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="7b162eee856eca95e190210600277f5171425684" type="tarxz" target="llvm-3.7.0.src/tools">http://llvm.org/releases/3.7.0/lldb-3.7.0.src.tar.xz</Archive>
|
||||
<Archive sha1sum="b61362b409bb7909a6d11097b5f69fded061073c" type="tarxz" target="llvm-3.7.0.src/projects">http://llvm.org/releases/3.7.0/compiler-rt-3.7.0.src.tar.xz</Archive>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="clang-tools-extra-3.7.0-install-clang-query.patch">clang-tools-extra-3.7.0-install-clang-query.patch</AdditionalFile>
|
||||
<AdditionalFile target="lldb-3.7.0-avoid-linking-to-libLLVM.patch">lldb-3.7.0-avoid-linking-to-libLLVM.patch</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<BuildDependencies>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
<Dependency>libxml2-devel</Dependency>
|
||||
<Dependency>python-devel</Dependency>
|
||||
<Dependency>ncurses-devel</Dependency>
|
||||
<Dependency>ocaml</Dependency>
|
||||
<Dependency>libffi-devel</Dependency>
|
||||
<Dependency>groff</Dependency>
|
||||
<Dependency>swig</Dependency>
|
||||
<Dependency>cmake</Dependency>
|
||||
<Dependency>python-sphinx</Dependency>
|
||||
<Dependency>python-MarkupSafe</Dependency>
|
||||
<Dependency>libedit-devel</Dependency>
|
||||
<!-- Use new plugin-api.h header file from binutils to enable LLVM gold plugin -->
|
||||
<Dependency>binutils</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch>llvm-3.5.0-fix-cmake-llvm-exports.patch</Patch>
|
||||
<Patch>llvm-3.5.0-force-link-pass.o.patch</Patch>
|
||||
<Patch level="1">llvm-3.7.0-link-tools-against-libLLVM.patch</Patch>
|
||||
<Patch level="2">llvm-3.7.0-export-more-symbols.patch</Patch>
|
||||
<!--Patch>clang-tools-extra-3.7.0-install-clang-query.patch</Patch>
|
||||
<Patch level="2">lldb-3.7.0-avoid-linking-to-libLLVM.patch</Patch-->
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -168,6 +179,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="8">
|
||||
<Date>2015-10-18</Date>
|
||||
<Version>3.7.0</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="7">
|
||||
<Date>2014-09-23</Date>
|
||||
<Version>3.5.0</Version>
|
||||
|
||||
Reference in New Issue
Block a user