llvm: New package

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
Stefan Schantl 2019-07-04 14:23:12 +02:00 committed by Michael Tremer
parent 300f804f2f
commit 53f29fdabe
1 changed files with 113 additions and 0 deletions

113
llvm/llvm.nm Normal file
View File

@ -0,0 +1,113 @@
###############################################################################
# IPFire.org - An Open Source Firewall Solution #
# Copyright (C) - IPFire Development Team <info@ipfire.org> #
###############################################################################
name = llvm
version = 8.0.0
release = 1
groups = Applications/System
url = http://llvm.org
license = NCSA
summary = The Low Level Virtual Machine.
description
LLVM is a compiler infrastructure designed for compile-time, link-time,
runtime, and idle-time optimization of programs from arbitrary programming
languages. The compiler infrastructure includes mirror sets of programming
tools as well as libraries with equivalent functionality.
end
source_dl = http://releases.llvm.org/%{version}/
sources = %{thisapp}.src.tar.xz
build
requires
binutils >= 2.32
cmake >= 3.14.5
gcc
gcc-c++
libedit-devel >= 3.1-20190324
libffi-devel
libxml2-devel
zlib-devel
end
DIR_APP = %{DIR_SRC}/%{thisapp}.src
# Limit parallelization to only 2 jobs at the same time.
PARALLELISMFLAGS = -j2
# Set suffix for libdir based on the build architecture.
llvm_libdir_suffix =
if "%{DISTRO_ARCH}" == "x86_64"
llvm_libdir_suffix = 64
end
if "%{DISTRO_ARCH}" == "aarch64"
llvm_libdir_suffix = 64
end
build
# Create and switch into build directory.
mkdir -pv %{DIR_APP}/build
cd %{DIR_APP}/build
%{cmake} .. \
-DLLVM_BUILD_TOOLS=ON \
-DLLVM_BUILD_UTILS=ON \
-DLLVM_BUILD_TESTS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_BUILD_BENCHMARKS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_RPATH=";" \
-DLLVM_BUILD_LLVM_DYLIB=OFF \
-DLLVM_LINK_LLVM_DYLIB=OFF \
-DBUILD_SHARED_LIBS=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_LIBCXX=OFF \
-DLLVM_TARGETS_TO_BUILD="host;" \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++ \
-DCMAKE_CXX_FLAGS_RELEASE:STRING="%{CFLAGS}" \
-DCMAKE_EXE_LINKER_FLAGS="%{LDFLAGS}" \
-DENABLE_PIC=1 \
-DLLVM_PARALLEL_LINK_JOBS=1 \
-DLLVM_ENABLE_DUMP=ON \
-DLLVM_LIBDIR_SUFFIX=%{llvm_libdir_suffix} \
-Wno-dev
make %{PARALELLISMFLAGS}
end
test
cd %{DIR_APP}/build
make check-all %{PARALELLISMFLAGS}
end
install
cd %{DIR_APP}/build
make install DESTDIR=%{BUILDROOT}
end
end
packages
package llvm
package llvm-libs
template LIBS
end
package llvm-devel
template DEVEL
end
package %{name}-debuginfo
template DEBUGINFO
end
end