Hi, > On 4 Jul 2019, at 13:23, Stefan Schantl wrote: > > Signed-off-by: Stefan Schantl > --- > llvm/llvm.nm | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 113 insertions(+) > create mode 100644 llvm/llvm.nm > > diff --git a/llvm/llvm.nm b/llvm/llvm.nm > new file mode 100644 > index 000000000..7e89256d3 > --- /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 You forgot the >= sign here which I had to add in order to build this. > + 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 \ Do we not want debug info here? > + -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 \ What is this for? Why can we not do this in parallel? > + -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 > -- > 2.21.0 >