[packaging] build llvm for riscv64
authorŁukasz Stelmach <l.stelmach@samsung.com>
Mon, 19 Sep 2022 21:26:51 +0000 (23:26 +0200)
committerSlava Barinov <v.barinov@samsung.com>
Mon, 15 Jan 2024 12:59:03 +0000 (15:59 +0300)
Don't build LLDB. It doesn't support RISC-V yet.

Change-Id: I069101727569d9bddda1205bc5775912d30a632c
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
packaging/llvm.spec

index b9e961f81e4d8464370761492f68b5382946ee28..ba43ddfc99c731f90d6a34fb1bd3a0c04a2e0093 100644 (file)
@@ -36,7 +36,7 @@ Requires: libllvm = %{version}-%{release}
 %define sdk_install_prefix /home/owner/share/tmp/sdk_tools/lldb
 %define sdk_bin_dir %{sdk_install_prefix}/bin
 
-%ifarch x86_64 aarch64
+%ifarch x86_64 aarch64 riscv64
 %define library_dir %{install_prefix}/lib64
 %define sdk_lib_dir %{sdk_install_prefix}/lib64
 %define system_lib_dir /usr/lib64
@@ -63,6 +63,9 @@ Requires: libllvm = %{version}-%{release}
 %ifarch aarch64
 %define ARCH aarch64
 %endif
+%ifarch riscv64
+%define ARCH riscv64
+%endif
 %define host_arch %{ARCH}-tizen-linux-gnu%{?ABI}
 
 %description
@@ -123,6 +126,7 @@ Requires: clang = %{version}-%{release}
 This package contains the clang (C language) frontend for LLVM.
 (development files)
 
+%ifnarch riscv64
 %package -n lldb
 Summary: LLDB
 License: NCSA
@@ -139,6 +143,7 @@ Requires: lldb = %{version}-%{release}
 
 %description -n lldb-devel
 The package contains header files for the LLDB debugger.
+%endif
 
 %package -n compiler-rt
 Summary: Compiler runtime libraries
@@ -177,14 +182,18 @@ cmake \
     -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
     -DCMAKE_BUILD_TYPE=Release \
     -DLLVM_ENABLE_ASSERTIONS=No \
-    -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;BPF' \
+    -DLLVM_TARGETS_TO_BUILD='X86;ARM;AArch64;BPF;RISCV' \
     -DLLVM_BUILD_LLVM_DYLIB=1 \
     -DLLDB_DISABLE_LIBEDIT=1 \
     -DLLDB_DISABLE_PYTHON=1 \
     -DLLVM_TARGET_ARCH=%{ARCH} \
     -DLLVM_HOST_TRIPLE=%{host_arch} \
     -DLLDB_DISABLE_CURSES=1 \
+%ifarch riscv64
+    -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt" \
+%else
     -DLLVM_ENABLE_PROJECTS="clang;lldb;clang-tools-extra;compiler-rt" \
+%endif
     -DLLVM_BUILD_EXAMPLES=OFF \
     -DLLVM_INCLUDE_EXAMPLES=OFF \
     -DLLVM_BUILD_TESTS=OFF \
@@ -199,7 +208,7 @@ cmake \
 %ifarch armv7l armv7hl
     -DCMAKE_ASM_FLAGS="-mfpu=neon" \
 %endif
-%ifarch x86_64 aarch64
+%ifarch x86_64 aarch64 riscv64
     -DLLVM_LIBDIR_SUFFIX=64 \
 %endif
 %ifarch %ix86
@@ -229,6 +238,8 @@ ln -sf %{install_prefix}/bin/clang-%{llvm_version} %{buildroot}%{_bindir}/gcc
 ln -sf %{install_prefix}/bin/clang++-%{llvm_version} %{buildroot}%{_bindir}/g++
 
 mkdir -p %{buildroot}%{bindir}
+
+%ifnarch riscv64
 # copy lldb for sdk
 mkdir -p %{buildroot}%{sdk_bin_dir}
 mkdir -p %{buildroot}%{sdk_lib_dir}
@@ -240,6 +251,7 @@ mv %{buildroot}%{install_prefix}/bin/lldb-server %{buildroot}%{sdk_bin_dir}
 ln -sf %{sdk_bin_dir}/lldb %{buildroot}%{install_prefix}/bin/
 
 cp -P %{buildroot}%{library_dir}/liblldb.so* %{buildroot}%{sdk_lib_dir}/
+%endif
 
 rm -rf %{buildroot}/usr/lib/debug/*
 rm -rf %{buildroot}/usr/lib/libear/*
@@ -248,8 +260,10 @@ rm -rf %{buildroot}/usr/lib/libscanbuild/*
 %post -n clang -p /sbin/ldconfig
 %postun -n clang -p /sbin/ldconfig
 
+%ifnarch riscv64
 %post -n lldb
 echo "plugin load /usr/share/dotnet.tizen/netcoreapp/SOS/libsosplugin.so" > /root/.lldbinit
+%endif
 
 %clean
 echo Cleaning %{buildroot}
@@ -332,8 +346,10 @@ echo Cleaning %{buildroot}
 %{install_prefix}/bin/diagtool
 %{install_prefix}/bin/dsymutil
 %{install_prefix}/bin/hmaptool
+%ifnarch riscv64
 %{install_prefix}/bin/lldb-instr
 %{install_prefix}/bin/lldb-vscode
+%endif
 %{install_prefix}/bin/llvm-addr2line
 %{install_prefix}/bin/llvm-cfi-verify
 %{install_prefix}/bin/llvm-cxxmap
@@ -424,6 +440,7 @@ echo Cleaning %{buildroot}
 %{install_prefix}/include/clang-c/*
 %{install_prefix}/include/clang-tidy/*
 
+%ifnarch riscv64
 %files -n lldb
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
@@ -438,6 +455,7 @@ echo Cleaning %{buildroot}
 %defattr(-,root,root,-)
 %{install_prefix}/include/lldb/*
 %{library_dir}/liblldb*.so*
+%endif
 
 %files -n compiler-rt
 %manifest %{name}.manifest