Added llvm-2.7 (clang is a subpkg) build template.
--HG-- extra : convert_revision : e2cfab9c10b455a3abd71aa5650fb0d358c61ba9
This commit is contained in:
parent
f4e0eeabfe
commit
2f835d24a3
9 changed files with 170 additions and 0 deletions
1
srcpkgs/clang
Symbolic link
1
srcpkgs/clang
Symbolic link
|
@ -0,0 +1 @@
|
|||
llvm
|
1
srcpkgs/clang-devel
Symbolic link
1
srcpkgs/clang-devel
Symbolic link
|
@ -0,0 +1 @@
|
|||
llvm
|
1
srcpkgs/llvm-docs
Symbolic link
1
srcpkgs/llvm-docs
Symbolic link
|
@ -0,0 +1 @@
|
|||
llvm
|
37
srcpkgs/llvm/clang-devel.template
Normal file
37
srcpkgs/llvm/clang-devel.template
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Template file for 'clang-devel'.
|
||||
#
|
||||
short_desc="LLVM C language family frontend - development files"
|
||||
long_desc="
|
||||
Clang project is a new C, C++, Objective C and Objective C++ front-end for
|
||||
the LLVM compiler. Some of its goals include the following:
|
||||
|
||||
End-User Features:
|
||||
|
||||
* Fast compiles and low memory use
|
||||
* Expressive diagnostics (examples)
|
||||
* GCC compatibility
|
||||
|
||||
Utility and Applications:
|
||||
|
||||
* Modular library based architecture
|
||||
* Support diverse clients (refactoring, static analysis, code
|
||||
generation, etc)
|
||||
* Allow tight integration with IDEs
|
||||
* Use the LLVM 'BSD' License
|
||||
|
||||
Internal Design and Implementation:
|
||||
|
||||
* A real-world, production quality compiler
|
||||
* A simple and hackable code base
|
||||
* A single unified parser for C, Objective C, C++, and Objective C++
|
||||
* Conformance with C/C++/ObjC and their variants
|
||||
|
||||
This package includes development files for the LLVM clang."
|
||||
|
||||
noarch=yes
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/include
|
||||
mv ${SRCPKGDESTDIR}/usr/include/clang* ${DESTDIR}/usr/include
|
||||
}
|
42
srcpkgs/llvm/clang.template
Normal file
42
srcpkgs/llvm/clang.template
Normal file
|
@ -0,0 +1,42 @@
|
|||
# Template file for 'clang'.
|
||||
#
|
||||
short_desc="Low-Level Virtual Machine (LLVM), C language family frontend"
|
||||
long_desc="
|
||||
Clang project is a new C, C++, Objective C and Objective C++ front-end for
|
||||
the LLVM compiler. Some of its goals include the following:
|
||||
|
||||
End-User Features:
|
||||
|
||||
* Fast compiles and low memory use
|
||||
* Expressive diagnostics (examples)
|
||||
* GCC compatibility
|
||||
|
||||
Utility and Applications:
|
||||
|
||||
* Modular library based architecture
|
||||
* Support diverse clients (refactoring, static analysis, code
|
||||
generation, etc)
|
||||
* Allow tight integration with IDEs
|
||||
* Use the LLVM 'BSD' License
|
||||
|
||||
Internal Design and Implementation:
|
||||
|
||||
* A real-world, production quality compiler
|
||||
* A simple and hackable code base
|
||||
* A single unified parser for C, Objective C, C++, and Objective C++
|
||||
* Conformance with C/C++/ObjC and their variants"
|
||||
|
||||
Add_dependency run libgcc
|
||||
Add_dependency run glibc
|
||||
Add_dependency run libffi
|
||||
Add_dependency run libstdc++
|
||||
Add_dependency run llvm
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/{bin,lib} ${DESTDIR}/usr/share/man/man1
|
||||
mv ${SRCPKGDESTDIR}/usr/bin/*clang ${DESTDIR}/usr/bin
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/clang ${DESTDIR}/usr/lib
|
||||
mv ${SRCPKGDESTDIR}/usr/share/man/man1/*clang* \
|
||||
${DESTDIR}/usr/share/man/man1
|
||||
}
|
2
srcpkgs/llvm/depends
Normal file
2
srcpkgs/llvm/depends
Normal file
|
@ -0,0 +1,2 @@
|
|||
abi_depends=">=2.7"
|
||||
api_depends="${abi_depends}"
|
14
srcpkgs/llvm/llvm-docs.template
Normal file
14
srcpkgs/llvm/llvm-docs.template
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Template file for 'llvm-docs'.
|
||||
#
|
||||
short_desc="${sourcepkg} - documentation files"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains the documentation for LLVM."
|
||||
|
||||
noarch=yes
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/share/llvm
|
||||
mv ${SRCPKGDESTDIR}/usr/docs ${DESTDIR}/usr/share/llvm
|
||||
}
|
66
srcpkgs/llvm/template
Normal file
66
srcpkgs/llvm/template
Normal file
|
@ -0,0 +1,66 @@
|
|||
# Template file for 'llvm'
|
||||
pkgname=llvm
|
||||
version=2.7
|
||||
distfiles="
|
||||
http://www.llvm.org/releases/${version}/llvm-${version}.tgz
|
||||
http://www.llvm.org/releases/${version}/clang-${version}.tgz"
|
||||
build_style=gnu_configure
|
||||
configure_args="--disable-expensive-checks --disable-debug-runtime
|
||||
--enable-targets=all --enable-bindings=none --enable-optimize
|
||||
--enable-shared --enable-libffi --enable-llvmc-dynamic
|
||||
PATH='/bin:/usr/bin:$PATH'"
|
||||
short_desc="Low Level Virtual Machine"
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
checksum="
|
||||
99664bdc8503a306038166af33f28eb426d99e297575a59d74a1a0dcbddbbca5
|
||||
fb349471947f155c1cda1c8a4a3bbc7fa437b86f6875d9978f86c915dfed623a"
|
||||
|
||||
long_desc="
|
||||
Low Level Virtual Machine (LLVM) is:
|
||||
|
||||
1. A compilation strategy designed to enable effective program optimization
|
||||
across the entire lifetime of a program. LLVM supports effective
|
||||
optimization at compile time, link-time (particularly interprocedural),
|
||||
run-time and offline (i.e., after software is installed), while remaining
|
||||
transparent to developers and maintaining compatibility with existing
|
||||
build scripts.
|
||||
|
||||
2. A virtual instruction set - LLVM is a low-level object code
|
||||
representation that uses simple RISC-like instructions, but provides
|
||||
rich, language-independent, type information and dataflow (SSA)
|
||||
information about operands. This combination enables sophisticated
|
||||
transformations on object code, while remaining light-weight enough to
|
||||
be attached to the executable. This combination is key to allowing
|
||||
link-time, run-time, and offline transformations.
|
||||
|
||||
3. A compiler infrastructure - LLVM is also a collection of source code that
|
||||
implements the language and compilation strategy. The primary components
|
||||
of the LLVM infrastructure are a GCC-based C & C++ front-end, a
|
||||
link-time optimization framework with a growing set of global and
|
||||
interprocedural analyses and transformations, static back-ends for many
|
||||
popular (and some obscure) architectures, a back-end which emits portable
|
||||
C code, and a Just-In-Time compilers for several architectures.
|
||||
|
||||
4. LLVM does not imply things that you would expect from a high-level
|
||||
virtual machine. It does not require garbage collection or run-time code
|
||||
generation (In fact, LLVM makes a great static compiler!). Note that
|
||||
optional LLVM components can be used to build high-level virtual machines
|
||||
and other systems that need these services."
|
||||
|
||||
subpackages="clang clang-devel llvm-docs"
|
||||
|
||||
# XXX: Investigate bindings support.
|
||||
Add_dependency run libgcc
|
||||
Add_dependency run glibc
|
||||
Add_dependency run libstdc++
|
||||
Add_dependency run libffi
|
||||
Add_dependency build python
|
||||
Add_dependency build libffi-devel
|
||||
|
||||
pre_configure()
|
||||
{
|
||||
# Move clang files into the llvm source.
|
||||
if [ -d ${XBPS_BUILDDIR}/clang-${version} ]; then
|
||||
mv ${XBPS_BUILDDIR}/clang-${version} ${wrksrc}/tools/clang
|
||||
fi
|
||||
}
|
|
@ -621,3 +621,9 @@ libldap-2.4.so libldap libldap-devel
|
|||
libldap_r-2.4.so libldap libldap-devel
|
||||
libevent-1.4.so libevent libevent-devel
|
||||
libSDL_mixer-1.2.so SDL_mixer SDL_mixer-devel
|
||||
libCIndex.so llvm llvm-devel
|
||||
libEnhancedDisassembly.so llvm llvm-devel
|
||||
libLLVM-2.7.so llvm llvm-devel
|
||||
libLLVMHello.so llvm llvm-devel
|
||||
libLTO.so llvm llvm-devel
|
||||
libprofile_rt.so llvm llvm-devel
|
||||
|
|
Loading…
Reference in a new issue