From: Stefan Schantl Date: Thu, 4 Jul 2019 12:23:12 +0000 (+0200) Subject: llvm: New package X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53f29fdabecf854d37174d21fefa2fc909b95f86;p=ipfire-3.x.git llvm: New package Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer --- diff --git a/llvm/llvm.nm b/llvm/llvm.nm new file mode 100644 index 000000000..fc7d5cfee --- /dev/null +++ b/llvm/llvm.nm @@ -0,0 +1,113 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team # +############################################################################### + +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