From b868000cf68cec0c9cd45fbf89a83173dea7c5eb Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 13 Oct 2023 02:48:01 +0000 Subject: automatic import of gcc --- cpp | 3 + gcc.spec | 767 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 0 3 files changed, 770 insertions(+) create mode 100644 cpp create mode 100644 gcc.spec create mode 100644 sources diff --git a/cpp b/cpp new file mode 100644 index 0000000..83a3685 --- /dev/null +++ b/cpp @@ -0,0 +1,3 @@ +#!/bin/sh +# Traditionally, /lib/cpp only knew about C. +exec /usr/bin/cpp -xc "$@" diff --git a/gcc.spec b/gcc.spec new file mode 100644 index 0000000..aac72db --- /dev/null +++ b/gcc.spec @@ -0,0 +1,767 @@ +# +# spec file for package gcc +# +# Copyright (c) 2021 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: gcc +%define separate_bi32 0 +%define separate_bi64 0 +%ifarch ppc +%define separate_bi64 1 +%endif +%ifarch x86_64 s390x ppc64 +%define separate_bi32 1 +%endif +# Ada currently fails to build on a few platforms, enable it only +# on those that work +# Note that AdaCore only supports %ix86, x86_64 and ia64 +%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 +%define build_ada 1 +%else +# alpha hppa arm +%define build_ada 0 +%endif +Url: http://gcc.gnu.org/ +%define gcc_version 7 +%define gcc_suffix 7 +Version: 7 +Release: 3.9.1 +Summary: The system GNU C Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Provides: c_compiler + +Requires: cpp +Requires: gcc%{gcc_version} +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: gcc%{gcc_version} +Source: cpp + +%description +The system GNU C Compiler. + + + +%package -n gcc-32bit +Summary: The system GNU C Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-32bit + +%description -n gcc-32bit +The system GNU C Compiler. + + + +%package -n gcc-64bit +Summary: The system GNU C Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-64bit + +%description -n gcc-64bit +The system GNU C Compiler. + + + +%package -n cpp +Summary: The system GNU Preprocessor +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: cpp%{gcc_version} + +%description -n cpp +The system GNU Preprocessor. + + +%package -n gcc-devel +Summary: The system GNU C Compiler Plugin development files +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-devel + +%description -n gcc-devel +The system GNU C Compiler Plugin development files. + + +%package -n gcc-locale +Summary: The system GNU Compiler locale files +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-locale + +%description -n gcc-locale +The system GNU Compiler locale files. + + + +%package -n gcc-info +Summary: The system GNU Compiler documentation +License: GFDL-1.2 +Group: Development/Languages/C and C++ +PreReq: gcc%{gcc_version}-info + +%description -n gcc-info +The system GNU Compiler documentation. + + + +%package -n gcc-c++ +Summary: The system GNU C++ Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Provides: c++_compiler +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-c++ + +%description -n gcc-c++ +The system GNU C++ Compiler. + + +%package -n gcc-c++-32bit +Summary: The system GNU C++ Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-c++-32bit +Requires: gcc-32bit = %{version} +Requires: gcc-c++ = %{version} + +%description -n gcc-c++-32bit +The system GNU C++ Compiler 32 bit support. + + +%package -n gcc-c++-64bit +Summary: The system GNU C++ Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-c++-64bit +Requires: gcc-64bit = %{version} +Requires: gcc-c++ = %{version} + +%description -n gcc-c++-64bit +The system GNU C++ Compiler 64 bit support. + + + +%package -n libstdc++-devel +Summary: The system GNU C++ development files +License: GPL-3.0-with-GCC-exception +Group: System/Libraries +Requires: libstdc++6-devel-gcc%{gcc_version} + +%description -n libstdc++-devel +The system GNU C++ development files. + + +%package -n libstdc++-devel-32bit +Summary: The system GNU C++ 32bit development files +License: GPL-3.0-with-GCC-exception +Group: System/Libraries +Requires: libstdc++-devel +Requires: libstdc++6-devel-gcc%{gcc_version}-32bit + +%description -n libstdc++-devel-32bit +The system GNU C++ 32bit development files. + + +%package -n libstdc++-devel-64bit +Summary: The system GNU C++ 64bit development files +License: GPL-3.0-with-GCC-exception +Group: System/Libraries +Requires: libstdc++-devel +Requires: libstdc++6-devel-gcc%{gcc_version}-64bit + +%description -n libstdc++-devel-64bit +The system GNU C++ 64bit development files. + + + +%package -n gcc-fortran +Summary: The system GNU Fortran Compiler +License: GPL-3.0+ +Group: Development/Languages/Fortran +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-fortran + +%description -n gcc-fortran +The system GNU Fortran Compiler. + + +%package -n gcc-fortran-32bit +Summary: The system GNU Fortran Compiler +License: GPL-3.0+ +Group: Development/Languages/Fortran +Requires: gcc%{gcc_version}-fortran-32bit +Requires: gcc-fortran = %{version} + +%description -n gcc-fortran-32bit +The system GNU Fortran Compiler 32 bit support. + + +%package -n gcc-fortran-64bit +Summary: The system GNU Fortran Compiler +License: GPL-3.0+ +Group: Development/Languages/Fortran +Requires: gcc%{gcc_version}-fortran-64bit +Requires: gcc-fortran = %{version} + +%description -n gcc-fortran-64bit +The system GNU Fortran Compiler 64 bit support. + + + +%package -n gcc-objc +Summary: The system GNU Objective C Compiler +License: GPL-3.0+ +Group: Development/Languages/Other +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-objc +%ifarch ppc64 +Obsoletes: gcc-objc-64bit +%endif + +%description -n gcc-objc +The system GNU Objective C Compiler. + + + +%package -n gcc-objc-32bit +Summary: The system GNU Objective C Compiler +License: GPL-3.0+ +Group: Development/Languages/Other +Requires: gcc%{gcc_version}-objc-32bit +Requires: gcc-objc = %{version} + +%description -n gcc-objc-32bit +The system GNU Objective C Compiler 32 bit support. + + + +%package -n gcc-objc-64bit +Summary: The system GNU Objective C Compiler +License: GPL-3.0+ +Group: Development/Languages/Other +Requires: gcc%{gcc_version}-objc-64bit +Requires: gcc-objc = %{version} + +%description -n gcc-objc-64bit +The system GNU Objective C Compiler 64 bit support. + + + +%package -n gcc-obj-c++ +Summary: The system GNU Objective C++ Compiler +License: GPL-3.0+ +Group: Development/Languages/Other +Requires: gcc%{gcc_version}-obj-c++ +Requires: gcc-objc = %{version} + +%description -n gcc-obj-c++ +The system GNU Objective C++ Compiler. + + + +%package -n gcc-PIE +Summary: A default configuration to build all binaries in PIE mode +License: GPL-3.0+ +Group: Development/Languages/Other +Requires: gcc + +%description -n gcc-PIE +This package contains a configuration file (spec) that changes the +compilers default setting to build all ELF binaries in the Position +Independend Executable (PIE) variant. This enables better address +space randomization (ASLR). + + +%package -n gcc-ada +Summary: The system GNU Ada Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-ada + +%description -n gcc-ada +The system GNU Ada Compiler. + +%package -n gcc-ada-32bit +Summary: The system GNU Ada Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-ada-32bit +Requires: gcc-ada = %{version} + +%description -n gcc-ada-32bit +The system GNU Ada Compiler 32 bit support. + +%package -n gcc-ada-64bit +Summary: The system GNU Ada Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-ada-64bit +Requires: gcc-ada = %{version} + +%description -n gcc-ada-64bit +The system GNU Ada Compiler 64 bit support. + + +%package -n gcc-go +Summary: The system GNU Go Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc = %{version} +Requires: gcc%{gcc_version}-go +Requires(post): update-alternatives +Requires(postun): update-alternatives + +%description -n gcc-go +The system GNU Go Compiler. + +%package -n gcc-go-32bit +Summary: The system GNU Go Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-go-32bit +Requires: gcc-go = %{version} + +%description -n gcc-go-32bit +The system GNU Go Compiler 32bit support. + +%package -n gcc-go-64bit +Summary: The system GNU Go Compiler +License: GPL-3.0+ +Group: Development/Languages/C and C++ +Requires: gcc%{gcc_version}-go-64bit +Requires: gcc-go = %{version} + +%description -n gcc-go-64bit +The system GNU Go Compiler 64bit support. + + +%prep + +%install +mkdir -p $RPM_BUILD_ROOT/lib +mkdir -p $RPM_BUILD_ROOT%{_prefix}/bin +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 +mkdir -p $RPM_BUILD_ROOT%{_infodir} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/doc/packages/gcc-objc/ +mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/doc/packages/gcc-obj-c++/ +# Link all the binaries +for program in \ + gcc gcov gcov-dump gcov-tool \ + g++ \ + cpp \ + gfortran \ + gccgo \ +%if %{build_ada} + gnat gnatbind gnatbl gnatchop gnatclean gnatfind gnatkr \ + gnatlink gnatls gnatmake gnatname gnatprep gnatxref gprmake \ +%endif + gcc-ar gcc-nm gcc-ranlib \ + ; do + ln -sf $program-%{gcc_suffix} $RPM_BUILD_ROOT%{_prefix}/bin/$program +done +# For go and gofmt use alternatives since they are shared with golang +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +ln -sf %{_sysconfdir}/alternatives/go %{buildroot}%{_bindir}/go +ln -sf %{_sysconfdir}/alternatives/gofmt %{buildroot}%{_bindir}/gofmt +# Link section 1 manpages +for man1 in \ + gcc gcov gcov-dump gcov-tool \ + g++ \ + cpp \ + gfortran \ + gccgo \ + ; do + ln -sf $man1-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/$man1.1.gz +done +# Link info pages +for info in cpp gcc gfortran ; do + ln -sf $info-%{gcc_suffix}.info.gz $RPM_BUILD_ROOT%{_infodir}/$info.info.gz +done +# Provide the traditional /lib/cpp that only handles C +cp $RPM_SOURCE_DIR/cpp $RPM_BUILD_ROOT/lib/ +chmod 755 $RPM_BUILD_ROOT/lib/cpp +# Provide extra symlinks +ln -sf g++-%{gcc_suffix} $RPM_BUILD_ROOT%{_prefix}/bin/c++ +ln -sf gcc-%{gcc_suffix} $RPM_BUILD_ROOT%{_prefix}/bin/cc +ln -sf g++-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/c++.1.gz +ln -sf gcc-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/cc.1.gz +# Install the LTO linker plugin so it is auto-loaded by BFD +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/bfd-plugins +ln -s `gcc-%{gcc_suffix} -print-file-name=liblto_plugin.so.0.0.0` $RPM_BUILD_ROOT%{_prefix}/lib/bfd-plugins/liblto_plugin.so.0.0.0 + +dir=`gcc-%{gcc_suffix} -print-prog-name=cc1` +dir=${dir%/cc1} +mkdir -p $RPM_BUILD_ROOT/$dir +cat > $RPM_BUILD_ROOT/$dir/defaults.spec <