1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 groups = Applications/System
13 summary = The Low Level Virtual Machine.
16 LLVM is a compiler infrastructure designed for compile-time, link-time,
17 runtime, and idle-time optimization of programs from arbitrary programming
18 languages. The compiler infrastructure includes mirror sets of programming
19 tools as well as libraries with equivalent functionality.
22 source_dl = http://releases.llvm.org/%{version}/
23 sources = %{thisapp}.src.tar.xz
31 libedit-devel >= 3.1-20190324
37 DIR_APP = %{DIR_SRC}/%{thisapp}.src
39 # Limit parallelization to only 2 jobs at the same time.
40 PARALLELISMFLAGS = -j2
42 # Set suffix for libdir based on the build architecture.
45 if "%{DISTRO_ARCH}" == "x86_64"
46 llvm_libdir_suffix = 64
49 if "%{DISTRO_ARCH}" == "aarch64"
50 llvm_libdir_suffix = 64
54 # Create and switch into build directory.
55 mkdir -pv %{DIR_APP}/build
59 -DLLVM_BUILD_TOOLS=ON \
60 -DLLVM_BUILD_UTILS=ON \
61 -DLLVM_BUILD_TESTS=OFF \
62 -DLLVM_BUILD_EXAMPLES=OFF \
63 -DLLVM_BUILD_BENCHMARKS=OFF \
64 -DCMAKE_BUILD_TYPE=Release \
65 -DCMAKE_INSTALL_RPATH=";" \
66 -DLLVM_BUILD_LLVM_DYLIB=OFF \
67 -DLLVM_LINK_LLVM_DYLIB=OFF \
68 -DBUILD_SHARED_LIBS=ON \
69 -DLLVM_ENABLE_FFI=ON \
70 -DLLVM_ENABLE_RTTI=ON \
71 -DLLVM_ENABLE_LIBCXX=OFF \
72 -DLLVM_TARGETS_TO_BUILD="host;" \
73 -DCMAKE_C_COMPILER=gcc \
74 -DCMAKE_CXX_COMPILER=g++ \
75 -DCMAKE_CXX_FLAGS_RELEASE:STRING="%{CFLAGS}" \
76 -DCMAKE_EXE_LINKER_FLAGS="%{LDFLAGS}" \
78 -DLLVM_PARALLEL_LINK_JOBS=1 \
79 -DLLVM_ENABLE_DUMP=ON \
80 -DLLVM_LIBDIR_SUFFIX=%{llvm_libdir_suffix} \
83 make %{PARALELLISMFLAGS}
89 make check-all %{PARALELLISMFLAGS}
95 make install DESTDIR=%{BUILDROOT}
110 package %{name}-debuginfo