From 0fce60c9dc08c9ed40ef01c074325237b0d05e8d Mon Sep 17 00:00:00 2001 From: Chenxi Mao Date: Fri, 18 Nov 2022 12:40:52 +0800 Subject: [PATCH] Support program-suffix configuration Add "--program-suffix" in configuration stage via binsuffix defination. For example, if binsuffix is set to "-12" the binary will be compiled as below format: gcc-12 cpp-12 ... The binsuffix is set to %{nil} to make sure the files name are same with previous release. Signed-off-by: Chenxi Mao --- gcc-12.spec | 72 +++++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/gcc-12.spec b/gcc-12.spec index 72ef825..665e4b9 100644 --- a/gcc-12.spec +++ b/gcc-12.spec @@ -13,6 +13,7 @@ %global scl_prefix gcc-toolset-12- %global _prefix /opt/openEuler/gcc-toolset-12/root/usr %global gcc_ver %{nil} +%define binsuffix %{nil} %define __provides_exclude ^lib.*$ %endif @@ -84,7 +85,7 @@ Summary: Various compilers (C, C++, Objective-C, ...) Name: %{?scl_prefix}gcc%{gcc_ver} Version: 12.2.1 -Release: 10 +Release: 11 # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have # GCC Runtime Exception. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -696,6 +697,9 @@ CONFIGURE_OPTS="\ %endif %ifnarch sparc sparcv9 ppc --build=%{gcc_target_platform} \ +%endif +%if 0%{?scl:1} + --program-suffix=%{binsuffix} %endif " @@ -847,13 +851,13 @@ FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} # fix some things -ln -sf gcc %{buildroot}%{_prefix}/bin/cc +ln -sf gcc%{binsuffix} %{buildroot}%{_prefix}/bin/cc rm -f %{buildroot}%{_prefix}/lib/cpp -ln -sf ../bin/cpp %{buildroot}/%{_prefix}/lib/cpp -ln -sf gfortran %{buildroot}%{_prefix}/bin/f95 +ln -sf ../bin/cpp%{binsuffix} %{buildroot}/%{_prefix}/lib/cpp +ln -sf gfortran%{binsuffix} %{buildroot}%{_prefix}/bin/f95 rm -f %{buildroot}%{_infodir}/dir gzip -9 %{buildroot}%{_infodir}/*.info* -ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc +ln -sf gcc%{binsuffix} %{buildroot}%{_prefix}/bin/gnatgcc mkdir -p %{buildroot}%{_fmoddir} %if %{build_go} @@ -1584,12 +1588,12 @@ cd obj-%{gcc_target_platform} %post go %{_sbindir}/update-alternatives --install \ - %{_prefix}/bin/go go %{_prefix}/bin/go.gcc 92 \ + %{_prefix}/bin/go go %{_prefix}/bin/go%{binsuffix}.gcc 92 \ --slave %{_prefix}/bin/gofmt gofmt %{_prefix}/bin/gofmt.gcc %preun go if [ $1 = 0 ]; then - %{_sbindir}/update-alternatives --remove go %{_prefix}/bin/go.gcc + %{_sbindir}/update-alternatives --remove go %{_prefix}/bin/go%{binsuffix}.gcc fi # Because glibc Prereq's libgcc and /sbin/ldconfig @@ -1651,30 +1655,29 @@ end %{_prefix}/bin/cc %{_prefix}/bin/c89 %{_prefix}/bin/c99 -%{_prefix}/bin/gcc -%{_prefix}/bin/gcov -%{_prefix}/bin/gcov-tool -%{_prefix}/bin/gcov-dump -%{_prefix}/bin/gcc-ar -%{_prefix}/bin/gcc-nm -%{_prefix}/bin/gcc-ranlib -%{_prefix}/bin/lto-dump +%{_prefix}/bin/gcc%{binsuffix} +%{_prefix}/bin/gcov%{binsuffix} +%{_prefix}/bin/gcov-tool%{binsuffix} +%{_prefix}/bin/gcov-dump%{binsuffix} +%{_prefix}/bin/gcc-ar%{binsuffix} +%{_prefix}/bin/gcc-nm%{binsuffix} +%{_prefix}/bin/gcc-ranlib%{binsuffix} +%{_prefix}/bin/lto-dump%{binsuffix} %ifarch ppc -%{_prefix}/bin/%{_target_platform}-gcc +%{_prefix}/bin/%{_target_platform}-gcc%{binsuffix} %endif %ifarch sparc64 sparcv9 -%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc +%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc%{binsuffix} %endif %ifarch ppc64 ppc64p7 -%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc +%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc%{binsuffix} %endif -%{_prefix}/bin/%{gcc_target_platform}-gcc -%{_prefix}/bin/%{gcc_target_platform}-gcc-%{gcc_major} -%{_mandir}/man1/gcc.1* -%{_mandir}/man1/gcov.1* -%{_mandir}/man1/gcov-tool.1* -%{_mandir}/man1/gcov-dump.1* -%{_mandir}/man1/lto-dump.1* +%{_prefix}/bin/%{gcc_target_platform}-gcc* +%{_mandir}/man1/gcc%{binsuffix}.1* +%{_mandir}/man1/gcov%{binsuffix}.1* +%{_mandir}/man1/gcov-tool%{binsuffix}.1* +%{_mandir}/man1/gcov-dump%{binsuffix}.1* +%{_mandir}/man1/lto-dump%{binsuffix}.1* %{_infodir}/gcc* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} @@ -1975,8 +1978,8 @@ end %files -n %{?scl_prefix}cpp%{gcc_ver} %{_prefix}/lib/cpp -%{_prefix}/bin/cpp -%{_mandir}/man1/cpp.1* +%{_prefix}/bin/cpp%{binsuffix} +%{_mandir}/man1/cpp%{binsuffix}.1* %{_infodir}/cpp* %dir %{_prefix}/libexec/gcc %dir %{_prefix}/libexec/gcc/%{gcc_target_platform} @@ -1990,10 +1993,10 @@ end %license gcc/COPYING* COPYING.RUNTIME %files c++ -%{_prefix}/bin/%{gcc_target_platform}-*++ -%{_prefix}/bin/g++ -%{_prefix}/bin/c++ -%{_mandir}/man1/g++.1* +%{_prefix}/bin/%{gcc_target_platform}-*++%{binsuffix} +%{_prefix}/bin/g++%{binsuffix} +%{_prefix}/bin/c++%{binsuffix} +%{_mandir}/man1/g++%{binsuffix}.1* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} @@ -2126,9 +2129,9 @@ end %endif %files gfortran -%{_prefix}/bin/gfortran +%{_prefix}/bin/gfortran%{binsuffix} %{_prefix}/bin/f95 -%{_mandir}/man1/gfortran.1* +%{_mandir}/man1/gfortran%{binsuffix}.1* %{_infodir}/gfortran* %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} @@ -2655,6 +2658,9 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Fri Nov 18 2022 Chenxi Mao 12.2.1-11 +- Support --program-suffix configuration + * Thu Nov 17 2022 Chenxi Mao 12.2.1-10 - Customized package name