fix deps
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
<PISI>
|
||||
<Name>programming.build</Name>
|
||||
</PISI>
|
||||
@@ -0,0 +1,114 @@
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||
|
||||
from pisi.actionsapi import autotools
|
||||
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
|
||||
|
||||
#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():
|
||||
if not shelltools.isDirectory("tools/clang"):
|
||||
pisitools.dosed("tools/cfe-3.5.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")
|
||||
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")))
|
||||
|
||||
#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
|
||||
|
||||
autotools.configure(options)
|
||||
|
||||
|
||||
#def check():
|
||||
# autotools.make("check")
|
||||
# autotools.make("-C tools/clang test")
|
||||
|
||||
def build():
|
||||
autotools.make("REQUIRES_RTTI=1")
|
||||
|
||||
def install():
|
||||
if get.buildTYPE() == "emul32":
|
||||
|
||||
autotools.rawInstall("DESTDIR=%s \
|
||||
PROJ_etcdir=/etc/llvm \
|
||||
PROJ_libdir=/usr/lib32/llvm \
|
||||
PROJ_docsdir=/%s/llvm"
|
||||
% (get.installDIR(), get.docDIR()))
|
||||
shelltools.chmod("%s/usr/lib32/llvm/*.a" % get.installDIR(), mode = 0644)
|
||||
pisitools.dosym("llvm/LLVMgold.so", "/usr/lib32/LLVMgold.so")
|
||||
pisitools.remove("/usr/lib32/llvm/*LLVMHello.*")
|
||||
return
|
||||
else:
|
||||
autotools.rawInstall("DESTDIR=%s \
|
||||
PROJ_etcdir=/etc/llvm \
|
||||
PROJ_libdir=%s \
|
||||
PROJ_docsdir=/%s/llvm"
|
||||
% (get.installDIR(), libdir, get.docDIR()))
|
||||
|
||||
|
||||
shelltools.chmod("%s/usr/lib/llvm/*.a" % get.installDIR(), 0644)
|
||||
|
||||
# Install static analyzers which aren't installed by default
|
||||
for exe in ("scan-build", "scan-view"):
|
||||
pisitools.insinto("/usr/lib/clang-analyzer/%s" % exe, "tools/clang/tools/%s/%s" % (exe, exe))
|
||||
pisitools.dosym("/usr/lib/clang-analyzer/%s/%s" % (exe, exe), "/usr/bin/%s" % exe)
|
||||
|
||||
pisitools.dodir("/etc/ld.so.conf.d")
|
||||
shelltools.echo("%s/etc/ld.so.conf.d/51-llvm.conf" % get.installDIR(), "/usr/lib/llvm")
|
||||
|
||||
# Symlink the gold plugin where clang expects it
|
||||
pisitools.dosym("llvm/LLVMgold.so", "/usr/lib/LLVMgold.so")
|
||||
|
||||
# Remove example file
|
||||
pisitools.remove("/usr/lib/llvm/*LLVMHello.*")
|
||||
|
||||
pisitools.remove("/usr/share/doc/llvm/*.tar.gz")
|
||||
pisitools.remove("/usr/share/doc/llvm/ocamldoc/html/*.tar.gz")
|
||||
pisitools.removeDir("/usr/share/doc/llvm/ps")
|
||||
|
||||
# Install vim syntax files for .ll and .td files
|
||||
# llvm.vim additional file add ftdetct vim file to detect .ll and .td as llvm files
|
||||
pisitools.insinto("/usr/share/vim/vimfiles/syntax", "utils/vim/*.vim")
|
||||
|
||||
# Install kate syntax file
|
||||
pisitools.insinto("%s/katepart/syntax" % kde4.appsdir, "utils/kate/*.xml")
|
||||
|
||||
pisitools.dodoc("CREDITS.TXT", "LICENSE.TXT", "README.txt")
|
||||
@@ -0,0 +1,39 @@
|
||||
Index: cmake/modules/Makefile
|
||||
===================================================================
|
||||
--- cmake/modules/Makefile (revision 217483)
|
||||
+++ cmake/modules/Makefile (revision 217484)
|
||||
@@ -33,6 +33,16 @@
|
||||
LLVM_ENABLE_RTTI := 0
|
||||
endif
|
||||
|
||||
+LLVM_LIBS_TO_EXPORT := $(subst -l,,$(shell $(LLVM_CONFIG) --libs $(LINK_COMPONENTS) || echo Error))
|
||||
+
|
||||
+ifeq ($(LLVM_LIBS_TO_EXPORT),Error)
|
||||
+$(error llvm-config --libs failed)
|
||||
+endif
|
||||
+
|
||||
+ifndef LLVM_LIBS_TO_EXPORT
|
||||
+$(error LLVM_LIBS_TO_EXPORT cannot be empty)
|
||||
+endif
|
||||
+
|
||||
OBJMODS := LLVMConfig.cmake LLVMConfigVersion.cmake LLVMExports.cmake
|
||||
|
||||
$(PROJ_OBJ_DIR)/LLVMConfig.cmake: LLVMConfig.cmake.in $(LLVMBuildCMakeFrag)
|
||||
@@ -45,7 +55,7 @@
|
||||
-e 's/@LLVM_VERSION_PATCH@/'"$(LLVM_VERSION_PATCH)"'/' \
|
||||
-e 's/@PACKAGE_VERSION@/'"$(LLVMVersion)"'/' \
|
||||
-e 's/@LLVM_COMMON_DEPENDS@//' \
|
||||
- -e 's/@LLVM_AVAILABLE_LIBS@/'"$(subst -l,,$(LLVMConfigLibs))"'/' \
|
||||
+ -e 's/@LLVM_AVAILABLE_LIBS@/'"$(LLVM_LIBS_TO_EXPORT)"'/' \
|
||||
-e 's/@LLVM_ALL_TARGETS@/'"$(ALL_TARGETS)"'/' \
|
||||
-e 's/@LLVM_TARGETS_TO_BUILD@/'"$(TARGETS_TO_BUILD)"'/' \
|
||||
-e 's/@LLVM_TARGETS_WITH_JIT@/'"$(TARGETS_WITH_JIT)"'/' \
|
||||
@@ -83,7 +93,7 @@
|
||||
$(Echo) 'Generating LLVM CMake target exports file'
|
||||
$(Verb) ( \
|
||||
echo '# LLVM CMake target exports. Do not include directly.' && \
|
||||
- for lib in $(subst -l,,$(LLVMConfigLibs)); do \
|
||||
+ for lib in $(LLVM_LIBS_TO_EXPORT); do \
|
||||
echo 'add_library('"$$lib"' STATIC IMPORTED)' && \
|
||||
echo 'set_property(TARGET '"$$lib"' PROPERTY IMPORTED_LOCATION "'"$(PROJ_libdir)/lib$$lib.a"'")' ; \
|
||||
done && \
|
||||
@@ -0,0 +1,28 @@
|
||||
Index: llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/bugpoint/Makefile
|
||||
+++ llvm-toolchain-snapshot-3.5~svn211313/tools/bugpoint/Makefile
|
||||
@@ -12,6 +12,9 @@ TOOLNAME := bugpoint
|
||||
LINK_COMPONENTS := asmparser instrumentation scalaropts ipo linker bitreader \
|
||||
bitwriter irreader vectorize objcarcopts codegen
|
||||
|
||||
+# Crappy workaround to make sure it links correctly.
|
||||
+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
|
||||
+
|
||||
# Support plugins.
|
||||
NO_DEAD_STRIP := 1
|
||||
|
||||
Index: llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
|
||||
===================================================================
|
||||
--- llvm-toolchain-snapshot-3.5~svn211313.orig/tools/opt/Makefile
|
||||
+++ llvm-toolchain-snapshot-3.5~svn211313/tools/opt/Makefile
|
||||
@@ -10,7 +10,9 @@
|
||||
LEVEL := ../..
|
||||
TOOLNAME := opt
|
||||
LINK_COMPONENTS := bitreader bitwriter asmparser irreader instrumentation scalaropts objcarcopts ipo vectorize all-targets codegen
|
||||
+# Crappy workaround to make sure it links correctly.
|
||||
|
||||
+LLVMLibsOptions := ../../lib/IR/Release*/Pass.o
|
||||
# Support plugins.
|
||||
NO_DEAD_STRIP := 1
|
||||
|
||||
@@ -0,0 +1,202 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>llvm</Name>
|
||||
<Homepage>http://www.llvm.org/</Homepage>
|
||||
<Packager>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<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>
|
||||
|
||||
<BuildDependencies>
|
||||
<Dependency>ocaml</Dependency>
|
||||
<Dependency>libffi-devel</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>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>llvm</Name>
|
||||
<IsA>app:console</IsA>
|
||||
<IsA>library</IsA>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">llvm-libs</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="executable">/usr/bin/llvm-config</Path>
|
||||
<Path fileType="header">/usr/include/llvm*</Path>
|
||||
<Path fileType="library">/usr/lib/llvm</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/etc/ld.so.conf.d</Path>
|
||||
<Path fileType="data">/etc/llvm</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="data">/usr/share/vim</Path>
|
||||
<Path fileType="data">/usr/share/llvm/cmake</Path>
|
||||
<!-- Kate syntax file -->
|
||||
<Path fileType="data">/usr/share/kde4</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-libs</Name>
|
||||
<IsA>library</IsA>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/llvm/libLLVM-3*</Path>
|
||||
<Path fileType="data">/usr/share/licenses/llvm-libs/LICENSE</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-ocaml</Name>
|
||||
<IsA>library</IsA>
|
||||
<PartOf>programming.language.ocaml</PartOf>
|
||||
<Summary>OCaml binding for LLVM</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">llvm</Dependency>
|
||||
<Dependency>ocaml</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib/ocaml</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-clang-analyzer</Name>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>A source code analysis framework</Summary>
|
||||
<Description>The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs.</Description>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">llvm-clang</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/lib/clang-analyzer</Path>
|
||||
<Path fileType="executable">/usr/bin/scan-*</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-clang</Name>
|
||||
<Summary>A C language family front-end for LLVM</Summary>
|
||||
<Description>The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler.</Description>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">llvm</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin/clang*</Path>
|
||||
<Path fileType="executable">/usr/bin/tblgen</Path>
|
||||
<Path fileType="library">/usr/lib/clang</Path>
|
||||
<Path fileType="library">/usr/lib/clang/libclang.so</Path>
|
||||
<Path fileType="man">/usr/share/man/man1/clang.1</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-clang-devel</Name>
|
||||
<Summary>Development headers for llvm-clang</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">llvm-clang</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include/clang</Path>
|
||||
<Path fileType="header">/usr/include/clang-c</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-docs</Name>
|
||||
<PartOf>programming.docs</PartOf>
|
||||
<IsA>data:doc</IsA>
|
||||
<Summary>Documentation for LLVM</Summary>
|
||||
<Files>
|
||||
<Path fileType="doc">/usr/share/doc/llvm/html</Path>
|
||||
<Path fileType="doc">/usr/share/doc/llvm/ocamldoc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-32bit</Name>
|
||||
<PartOf>emul32</PartOf>
|
||||
<Summary>32-bit shared libraries for llvm</Summary>
|
||||
<BuildType>emul32</BuildType>
|
||||
<BuildDependencies>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>libffi-32bit</Dependency>
|
||||
</BuildDependencies>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">llvm</Dependency>
|
||||
<Dependency>zlib-32bit</Dependency>
|
||||
<Dependency>libffi-32bit</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="library">/usr/lib32</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="7">
|
||||
<Date>2014-09-23</Date>
|
||||
<Version>3.5.0</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="6">
|
||||
<Date>2014-05-11</Date>
|
||||
<Version>3.4.1</Version>
|
||||
<Comment>Release bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2014-05-11</Date>
|
||||
<Version>3.4.1</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2013-09-01</Date>
|
||||
<Version>3.3</Version>
|
||||
<Comment>Release bump, already cleaned.</Comment>
|
||||
<Name>marcin bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-07-26</Date>
|
||||
<Version>3.3</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>marcin bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-02-18</Date>
|
||||
<Version>3.2</Version>
|
||||
<Comment>version bump</Comment>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-06-11</Date>
|
||||
<Version>3.1</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>marcin bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>llvm</Name>
|
||||
<Summary xml:lang="tr">Düşük Seviye Sanal Makine (LLVM)</Summary>
|
||||
<Description xml:lang="tr">LLVM projesi, modüler ve tekrar tekrar kullanılabilir derleyici teknolojileri koleksiyonudur. Adının aksine geleneksel sanal makinelerden çok farklıdır; ancak sanal makineleri oluşturmak için faydalı kitaplıklar içerir.</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-ocaml</Name>
|
||||
<Summary xml:lang="tr">LLVM için OCaml bağlayıcısı</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-clang-analyzer</Name>
|
||||
<Summary xml:lang="tr">C ve Objective-C için kod analiz altyapısı</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-clang</Name>
|
||||
<Summary xml:lang="tr">LLVM için C dili ailesi ön ucu</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-clang-devel</Name>
|
||||
<Summary xml:lang="tr">llvm-clang için başlık dosyaları</Summary>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>llvm-docs</Name>
|
||||
<Summary xml:lang="tr">LLVM belgeleri</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user