From: Slava Barinov Date: Thu, 9 Sep 2021 14:59:38 +0000 (+0300) Subject: [packaging] Create clang-gcc-replace package X-Git-Tag: accepted/tizen/base/toolchain/20240529.013406~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9a9360bcc70b9e0bcff46691ebc5d20d5e835f98;p=platform%2Fupstream%2Fllvm.git [packaging] Create clang-gcc-replace package The package provides symlinks %_bindir/gcc and %_bindir/g++ for clang and clang++ respectively. Can be used for compiler enforcement in environments which do not allow compiler change. Change-Id: I49660b9a705162cebe569a8b3df0714f472d86ad Signed-off-by: Slava Barinov --- diff --git a/packaging/llvm.spec b/packaging/llvm.spec index 77420e055437..a782ed4c5a86 100644 --- a/packaging/llvm.spec +++ b/packaging/llvm.spec @@ -106,6 +106,15 @@ Provides: libclang.so.%{version} %description -n clang A new front-end for the C family of languages is in development. +%package -n clang-gcc-replace +Summary: Clang %{version} symlinks as gcc/g++ +License: NCSA +Requires: clang = %{version}-%{release} +Conflicts: gcc + +%description -n clang-gcc-replace +Symlinks to replace gcc and g++ for compilation + %package -n clang-devel Summary: Clang %{version} Development Library Requires: clang = %{version}-%{release} @@ -213,6 +222,10 @@ cd build %make_install ln -sf %{install_prefix}/bin/clang++ %{buildroot}%{install_prefix}/bin/clang++-%{llvm_version} +# Compiler replacement hack +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} # copy lldb for sdk mkdir -p %{buildroot}%{sdk_bin_dir} @@ -371,6 +384,12 @@ echo Cleaning %{buildroot} %{install_prefix}/libexec/c++-analyzer %{install_prefix}/libexec/ccc-analyzer +%files -n clang-gcc-replace +%manifest %{name}.manifest +%defattr(-,root,root,-) +%{_bindir}/gcc +%{_bindir}/g++ + %files -n clang-devel %manifest %{name}.manifest %defattr(-,root,root,-)