722 lines
25 KiB
RPMSpec
722 lines
25 KiB
RPMSpec
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
|
|
|
|
# Steps:
|
|
# 1. Build mingw-gcc with bootstrap=1, enable_libgomp=0
|
|
# 2. Build mingw-crt
|
|
# 3. Build mingw-gcc with bootstrap=0, enable_libgomp=0
|
|
# 4. Build mingw-winpthreads
|
|
# 5. Build mingw-gcc with bootstrap=0, enable_libgomp=1
|
|
|
|
# Set this to one when mingw-crt isn't built yet
|
|
%global bootstrap 0
|
|
%global only_libssp 0
|
|
# Set this one to zero when mingw-winpthreads isn't built yet
|
|
%global enable_libgomp 0
|
|
|
|
%if 0%{?rhel} > 8
|
|
%global build_isl 0
|
|
%else
|
|
%global build_isl 1
|
|
%endif
|
|
|
|
%global isl_version 0.16.1
|
|
|
|
# Run the testsuite
|
|
%global enable_tests 0
|
|
|
|
%global DATE 20211019
|
|
%global GITREV 0990a48aaf68b56a3737fdb290328df1da9095cc
|
|
%global gcc_version 11.2.1
|
|
%global gcc_major 11
|
|
|
|
Name: mingw-gcc
|
|
Version: %{gcc_version}
|
|
Release: 9
|
|
Summary: MinGW Windows cross-compiler (GCC) for C
|
|
|
|
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions
|
|
URL: http://gcc.gnu.org
|
|
|
|
# The source for this package was pulled from upstream's vcs. Use the
|
|
# following commands to generate the tarball:
|
|
# git clone --depth 1 git://gcc.gnu.org/git/gcc.git gcc-dir.tmp
|
|
# git --git-dir=gcc-dir.tmp/.git fetch --depth 1 origin %%{gitrev}
|
|
# git --git-dir=gcc-dir.tmp/.git archive --prefix=%%{name}-%%{version}-%%{DATE}/ %%{gitrev} | xz -9e > %%{name}-%%{version}-%%{DATE}.tar.xz
|
|
# rm -rf gcc-dir.tmp
|
|
%global srcdir gcc-%{version}-%{DATE}
|
|
Source0: %{srcdir}.tar.xz
|
|
Patch0: mingw-gcc-config.patch
|
|
# See https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/8fd2fb03-9b8a-07e1-e162-0bb48bcc3984%40gmail.com/#msg37200751
|
|
Patch1: 0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch
|
|
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: make
|
|
BuildRequires: texinfo
|
|
BuildRequires: mingw32-filesystem >= 95
|
|
BuildRequires: mingw64-filesystem >= 95
|
|
BuildRequires: mingw32-binutils
|
|
BuildRequires: mingw64-binutils
|
|
BuildRequires: mingw32-headers
|
|
BuildRequires: mingw64-headers
|
|
BuildRequires: gmp-devel
|
|
BuildRequires: mpfr-devel
|
|
BuildRequires: libmpc-devel
|
|
BuildRequires: libgomp
|
|
BuildRequires: flex
|
|
BuildRequires: zlib-devel
|
|
%if %{build_isl}
|
|
BuildRequires: isl >= %{isl_version}
|
|
BuildRequires: isl-devel >= %{isl_version}
|
|
%endif
|
|
%if 0%{bootstrap} == 0
|
|
BuildRequires: mingw32-crt
|
|
BuildRequires: mingw64-crt
|
|
%if 0%{only_libssp}
|
|
BuildRequires: mingw32-winpthreads-static
|
|
BuildRequires: mingw64-winpthreads-static
|
|
%endif
|
|
%if 0%{enable_libgomp}
|
|
BuildRequires: mingw32-winpthreads
|
|
BuildRequires: mingw64-winpthreads
|
|
%endif
|
|
%if 0%{enable_tests}
|
|
BuildRequires: wine
|
|
BuildRequires: autogen
|
|
BuildRequires: dejagnu
|
|
BuildRequires: sharutils
|
|
%endif
|
|
%endif
|
|
Provides: bundled(libiberty)
|
|
|
|
%description
|
|
MinGW Windows cross-compiler (GCC) for C.
|
|
|
|
###############################################################################
|
|
# Mingw32
|
|
###############################################################################
|
|
%package -n mingw32-gcc
|
|
Summary: MinGW Windows cross-compiler (GCC) for C for the win32 target
|
|
Requires: mingw32-binutils
|
|
Requires: mingw32-headers
|
|
Requires: mingw32-cpp
|
|
%if 0%{bootstrap} == 0
|
|
Requires: mingw32-crt
|
|
%endif
|
|
|
|
%description -n mingw32-gcc
|
|
MinGW Windows cross-compiler (GCC) for C for the win32 target.
|
|
|
|
|
|
%package -n mingw32-cpp
|
|
Summary: MinGW Windows cross-C Preprocessor for the win32 target
|
|
# NB: Explicit mingw32-filesystem dependency is REQUIRED here.
|
|
Requires: mingw32-filesystem >= 95
|
|
|
|
%description -n mingw32-cpp
|
|
MinGW Windows cross-C Preprocessor for the win32 target.
|
|
|
|
|
|
%package -n mingw32-gcc-c++
|
|
Summary: MinGW Windows cross-compiler for C++ for the win32 target
|
|
Requires: mingw32-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw32-gcc-c++
|
|
MinGW Windows cross-compiler for C++ for the win32 target.
|
|
|
|
|
|
%package -n mingw32-gcc-objc
|
|
Summary: MinGW Windows cross-compiler support for Objective C for the win32 target
|
|
Requires: mingw32-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw32-gcc-objc
|
|
MinGW Windows cross-compiler support for Objective C for the win32 target.
|
|
|
|
|
|
%package -n mingw32-gcc-objc++
|
|
Summary: MinGW Windows cross-compiler support for Objective C++ for the win32 target
|
|
Requires: mingw32-gcc-c++ = %{version}-%{release}
|
|
Requires: mingw32-gcc-objc = %{version}-%{release}
|
|
|
|
%description -n mingw32-gcc-objc++
|
|
MinGW Windows cross-compiler support for Objective C++ for the win32 target.
|
|
|
|
|
|
%package -n mingw32-gcc-gfortran
|
|
Summary: MinGW Windows cross-compiler for FORTRAN for the win32 target
|
|
Requires: mingw32-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw32-gcc-gfortran
|
|
MinGW Windows cross-compiler for FORTRAN for the win32 target.
|
|
|
|
|
|
%if 0%{enable_libgomp}
|
|
%package -n mingw32-libgomp
|
|
Summary: GCC OpenMP v3.0 shared support library for the win32 target
|
|
Requires: mingw32-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw32-libgomp
|
|
This package contains GCC shared support library which is
|
|
needed for OpenMP v3.0 support for the win32 target.
|
|
%endif
|
|
|
|
###############################################################################
|
|
# Mingw64
|
|
###############################################################################
|
|
%package -n mingw64-gcc
|
|
Summary: MinGW Windows cross-compiler (GCC) for C for the win64 target
|
|
Requires: mingw64-binutils
|
|
Requires: mingw64-headers
|
|
Requires: mingw64-cpp
|
|
%if 0%{bootstrap} == 0
|
|
Requires: mingw64-crt
|
|
%endif
|
|
|
|
%description -n mingw64-gcc
|
|
MinGW Windows cross-compiler (GCC) for C for the win64 target.
|
|
|
|
|
|
%package -n mingw64-cpp
|
|
Summary: MinGW Windows cross-C Preprocessor for the win64 target.
|
|
# NB: Explicit mingw64-filesystem dependency is REQUIRED here.
|
|
Requires: mingw64-filesystem >= 95
|
|
|
|
%description -n mingw64-cpp
|
|
MinGW Windows cross-C Preprocessor for the win64 target
|
|
|
|
|
|
%package -n mingw64-gcc-c++
|
|
Summary: MinGW Windows cross-compiler for C++ for the win64 target
|
|
Requires: mingw64-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw64-gcc-c++
|
|
MinGW Windows cross-compiler for C++ for the win64 target.
|
|
|
|
|
|
%package -n mingw64-gcc-objc
|
|
Summary: MinGW Windows cross-compiler support for Objective C for the win64 target
|
|
Requires: mingw64-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw64-gcc-objc
|
|
MinGW Windows cross-compiler support for Objective C for the win64 target.
|
|
|
|
|
|
%package -n mingw64-gcc-objc++
|
|
Summary: MinGW Windows cross-compiler support for Objective C++ for the win64 target
|
|
Requires: mingw64-gcc-c++ = %{version}-%{release}
|
|
Requires: mingw64-gcc-objc = %{version}-%{release}
|
|
|
|
%description -n mingw64-gcc-objc++
|
|
MinGW Windows cross-compiler support for Objective C++ for the win64 target.
|
|
|
|
|
|
%package -n mingw64-gcc-gfortran
|
|
Summary: MinGW Windows cross-compiler for FORTRAN for the win64 target
|
|
Requires: mingw64-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw64-gcc-gfortran
|
|
MinGW Windows cross-compiler for FORTRAN for the win64 target.
|
|
|
|
|
|
%if 0%{enable_libgomp}
|
|
%package -n mingw64-libgomp
|
|
Summary: GCC OpenMP v3.0 shared support library for the win64 target
|
|
Requires: mingw64-gcc = %{version}-%{release}
|
|
|
|
%description -n mingw64-libgomp
|
|
This package contains GCC shared support library which is
|
|
needed for OpenMP v3.0 support for the win32 target.
|
|
%endif
|
|
|
|
|
|
%prep
|
|
%autosetup -p1 -n %{srcdir}
|
|
echo 'openEuler MinGW %{version}-%{release}' > gcc/DEV-PHASE
|
|
|
|
%build
|
|
# Default configure arguments
|
|
configure_args="\
|
|
--prefix=%{_prefix} \
|
|
--bindir=%{_bindir} \
|
|
--includedir=%{_includedir} \
|
|
--mandir=%{_mandir} \
|
|
--infodir=%{_infodir} \
|
|
--datadir=%{_datadir} \
|
|
--build=%_build --host=%_host \
|
|
--with-gnu-as --with-gnu-ld --verbose \
|
|
--without-newlib \
|
|
--disable-multilib \
|
|
--disable-plugin \
|
|
--with-system-zlib \
|
|
--disable-nls --without-included-gettext \
|
|
--disable-win32-registry \
|
|
--enable-languages="c,c++,objc,obj-c++,fortran" \
|
|
--with-bugurl=http://bugzilla.redhat.com/bugzilla \
|
|
--enable-threads=posix"
|
|
|
|
%if %{build_isl}
|
|
configure_args="$configure_args --with-isl"
|
|
%else
|
|
configure_args="$configure_args --without-isl"
|
|
%endif
|
|
|
|
# When bootstrapping, disable LTO support as it causes errors while building any binary
|
|
# $ i686-w64-mingw32-gcc -o conftest conftest.c >&5
|
|
# i686-w64-mingw32-gcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found
|
|
%if 0%{bootstrap}
|
|
configure_args="$configure_args --disable-lto"
|
|
%endif
|
|
|
|
%if 0%{only_libssp}
|
|
configure_args="$configure_args --disable-libitm --disable-libgomp --disable-libgo --disable-libobjc --disable-libatomic --disable-libstdcxx --disable-libgfortran"
|
|
%endif
|
|
|
|
%if 0%{enable_libgomp}
|
|
configure_args="$configure_args --enable-libgomp"
|
|
%endif
|
|
|
|
# The %%configure macro can't be used for out of source builds
|
|
# without overriding other variables and causes unwanted side
|
|
# effects so make sure the right compiler flags are used
|
|
export CC="%{__cc} ${RPM_OPT_FLAGS}"
|
|
|
|
# Win32
|
|
mkdir build_win32
|
|
pushd build_win32
|
|
../configure $configure_args --target=%{mingw32_target} --with-sysroot=%{mingw32_sysroot} --with-gxx-include-dir=%{mingw32_includedir}/c++ --disable-sjlj-exceptions --with-dwarf2
|
|
popd
|
|
|
|
# Win64
|
|
mkdir build_win64
|
|
pushd build_win64
|
|
../configure $configure_args --target=%{mingw64_target} --with-sysroot=%{mingw64_sysroot} --with-gxx-include-dir=%{mingw64_includedir}/c++
|
|
popd
|
|
|
|
# If we're bootstrapping, only build the GCC core
|
|
%if 0%{bootstrap}
|
|
%mingw_make_build all-gcc
|
|
%else
|
|
%mingw_make_build all
|
|
%endif
|
|
|
|
|
|
%if 0%{enable_tests}
|
|
%check
|
|
# Win32
|
|
# Create a seperate wine prefix
|
|
export WINEPREFIX=/tmp/.wine_gcc_testsuite
|
|
rm -rf $WINEPREFIX
|
|
mkdir $WINEPREFIX
|
|
|
|
# The command below will fail, but that's intentional
|
|
# We only have to call a wine binary which triggers
|
|
# the generation and population of a wine prefix
|
|
winecfg || :
|
|
|
|
# Copy the GCC DLL's inside the wine prefix
|
|
SYSTEM32_DIR=$WINEPREFIX/drive_c/windows/syswow64
|
|
if [ ! -d $SYSTEM32_DIR ] ; then
|
|
SYSTEM32_DIR=$WINEPREFIX/drive_c/windows/system32
|
|
fi
|
|
cp build_win32/i686-w64-mingw32/libquadmath/.libs/libquadmath-0.dll $SYSTEM32_DIR
|
|
cp build_win32/i686-w64-mingw32/libgfortran/.libs/libgfortran-5.dll $SYSTEM32_DIR
|
|
cp build_win32/i686-w64-mingw32/libobjc/.libs/libobjc-4.dll $SYSTEM32_DIR
|
|
cp build_win32/i686-w64-mingw32/libssp/.libs/libssp-0.dll $SYSTEM32_DIR
|
|
cp build_win32/i686-w64-mingw32/libstdc++-v3/src/.libs/libstdc++-6.dll $SYSTEM32_DIR
|
|
cp build_win32/i686-w64-mingw32/libgcc/shlib/libgcc_s_dw2-1.dll $SYSTEM32_DIR
|
|
%if 0%{enable_libgomp}
|
|
cp %{mingw32_bindir}/libwinpthread-1.dll $SYSTEM32_DIR
|
|
cp build_win32/i686-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM32_DIR
|
|
%endif
|
|
|
|
SYSTEM64_DIR=$WINEPREFIX/drive_c/windows/system32
|
|
cp build_win64/x86_64-w64-mingw32/libquadmath/.libs/libquadmath-0.dll $SYSTEM64_DIR
|
|
cp build_win64/x86_64-w64-mingw32/libgfortran/.libs/libgfortran-5.dll $SYSTEM64_DIR
|
|
cp build_win64/x86_64-w64-mingw32/libobjc/.libs/libobjc-4.dll $SYSTEM64_DIR
|
|
cp build_win64/x86_64-w64-mingw32/libssp/.libs/libssp-0.dll $SYSTEM64_DIR
|
|
cp build_win64/x86_64-w64-mingw32/libstdc++-v3/src/.libs/libstdc++-6.dll $SYSTEM64_DIR
|
|
cp build_win64/x86_64-w64-mingw32/libgcc/shlib/libgcc_s_seh-1.dll $SYSTEM64_DIR
|
|
%if 0%{enable_libgomp}
|
|
cp %{mingw64_bindir}/libwinpthread-1.dll $SYSTEM64_DIR
|
|
cp build_win64/x86_64-w64-mingw32/libgomp/.libs/libgomp-1.dll $SYSTEM64_DIR
|
|
%endif
|
|
|
|
# According to Kai Tietz (of the mingw-w64 project) it's recommended
|
|
# to set the environment variable GCOV_PREFIX_STRIP
|
|
export GCOV_PREFIX_STRIP=1000
|
|
|
|
# Run the testsuite
|
|
# Code taken from the native openEuler GCC package to collect testsuite results
|
|
pushd build_win32
|
|
make -k check %{?_smp_mflags} || :
|
|
echo ====================TESTING WIN32=========================
|
|
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
|
|
echo ====================TESTING WIN32 END=====================
|
|
mkdir testlogs-%{mingw32_target}-%{version}-%{release}
|
|
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
|
|
ln $i testlogs-%{mingw32_target}-%{version}-%{release}/ || :
|
|
done
|
|
tar cf - testlogs-%{mingw32_target}-%{version}-%{release} | bzip2 -9c \
|
|
| uuencode testlogs-%{mingw32_target}.tar.bz2 || :
|
|
rm -rf testlogs-%{mingw32_target}-%{version}-%{release}
|
|
popd
|
|
|
|
pushd build_win64
|
|
make -k check %{?_smp_mflags} || :
|
|
echo ====================TESTING WIN64=========================
|
|
( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
|
|
echo ====================TESTING WIN64 END=====================
|
|
mkdir testlogs-%{mingw64_target}-%{version}-%{release}
|
|
for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats.*/tests/'`; do
|
|
ln $i testlogs-%{mingw64_target}-%{version}-%{release}/ || :
|
|
done
|
|
tar cf - testlogs-%{mingw64_target}-%{version}-%{release} | bzip2 -9c \
|
|
| uuencode testlogs-%{mingw64_target}.tar.bz2 || :
|
|
rm -rf testlogs-%{mingw64_target}-%{version}-%{release}
|
|
popd
|
|
|
|
%endif
|
|
|
|
|
|
%install
|
|
%if 0%{bootstrap}
|
|
%mingw_make DESTDIR=%{buildroot} install-gcc
|
|
%else
|
|
%mingw_make_install DESTDIR=%{buildroot}
|
|
%endif
|
|
|
|
# These files conflict with existing installed files.
|
|
rm -rf %{buildroot}%{_infodir}
|
|
rm -f %{buildroot}%{_libdir}/libiberty*
|
|
rm -f %{buildroot}%{_mandir}/man7/*
|
|
rm -rf %{buildroot}%{_datadir}/gcc-%{version}/python
|
|
|
|
%if 0%{bootstrap} == 0
|
|
# Move the DLL's manually to the correct location
|
|
mkdir -p %{buildroot}%{mingw32_bindir}
|
|
mv %{buildroot}%{_prefix}/%{mingw32_target}/lib/libgcc_s_dw2-1.dll \
|
|
%if 0%{only_libssp} == 0
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libatomic-1.dll \
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libstdc++-6.dll \
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libobjc-4.dll \
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libgfortran-5.dll \
|
|
%endif
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libssp-0.dll \
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libquadmath-0.dll \
|
|
%if 0%{enable_libgomp}
|
|
%{buildroot}%{_prefix}/%{mingw32_target}/lib/libgomp-1.dll \
|
|
%endif
|
|
%{buildroot}%{mingw32_bindir}
|
|
|
|
mkdir -p %{buildroot}%{mingw64_bindir}
|
|
mv %{buildroot}%{_prefix}/%{mingw64_target}/lib/libgcc_s_seh-1.dll \
|
|
%if 0%{only_libssp} == 0
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libatomic-1.dll \
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libstdc++-6.dll \
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libobjc-4.dll \
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libgfortran-5.dll \
|
|
%endif
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libssp-0.dll \
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libquadmath-0.dll \
|
|
%if 0%{enable_libgomp}
|
|
%{buildroot}%{_prefix}/%{mingw64_target}/lib/libgomp-1.dll \
|
|
%endif
|
|
%{buildroot}%{mingw64_bindir}
|
|
|
|
# Various import libraries are placed in the wrong folder
|
|
mkdir -p %{buildroot}%{mingw32_libdir}
|
|
mkdir -p %{buildroot}%{mingw64_libdir}
|
|
mv %{buildroot}%{_prefix}/%{mingw32_target}/lib/* %{buildroot}%{mingw32_libdir}
|
|
mv %{buildroot}%{_prefix}/%{mingw64_target}/lib/* %{buildroot}%{mingw64_libdir}
|
|
|
|
# Don't want the *.la files.
|
|
find %{buildroot} -name '*.la' -delete
|
|
|
|
%endif
|
|
|
|
# For some reason there are wrapper libraries created named $target-$target-gcc-$tool
|
|
# Drop those files for now as this looks like a bug in GCC
|
|
rm -f %{buildroot}%{_bindir}/%{mingw32_target}-%{mingw32_target}-*
|
|
rm -f %{buildroot}%{_bindir}/%{mingw64_target}-%{mingw64_target}-*
|
|
|
|
%if 0%{bootstrap} == 0
|
|
# HACK symlink libssp dll over import lib, otherwise linking with -lssp failes for mysterious reasons
|
|
# Needed to build gdb and everything which adds -D_FORTIFY_SOURCES=... and -fstack-protector
|
|
ln -sf %{mingw32_bindir}/libssp-0.dll %{buildroot}%{mingw32_libdir}/libssp.dll.a
|
|
ln -sf %{mingw64_bindir}/libssp-0.dll %{buildroot}%{mingw64_libdir}/libssp.dll.a
|
|
%endif
|
|
|
|
|
|
%files -n mingw32-gcc
|
|
%{_bindir}/%{mingw32_target}-gcc
|
|
%{_bindir}/%{mingw32_target}-gcc-%{version}
|
|
%{_bindir}/%{mingw32_target}-gcc-ar
|
|
%{_bindir}/%{mingw32_target}-gcc-nm
|
|
%{_bindir}/%{mingw32_target}-gcc-ranlib
|
|
%{_bindir}/%{mingw32_target}-gcov
|
|
%{_bindir}/%{mingw32_target}-gcov-dump
|
|
%{_bindir}/%{mingw32_target}-gcov-tool
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}/%{version}
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include-fixed
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}/%{version}/install-tools
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include-fixed/README
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include-fixed/*.h
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include/*.h
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/install-tools/*
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/collect2
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/lto-wrapper
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/install-tools
|
|
%{_mandir}/man1/%{mingw32_target}-gcc.1*
|
|
%{_mandir}/man1/%{mingw32_target}-gcov.1*
|
|
%{_mandir}/man1/%{mingw32_target}-gcov-dump.1*
|
|
%{_mandir}/man1/%{mingw32_target}-gcov-tool.1*
|
|
|
|
# Non-bootstrap files
|
|
%if 0%{bootstrap} == 0
|
|
%{_bindir}/%{mingw32_target}-lto-dump
|
|
%if 0%{only_libssp} == 0
|
|
%{mingw32_bindir}/libatomic-1.dll
|
|
%{mingw32_libdir}/libatomic.a
|
|
%{mingw32_libdir}/libatomic.dll.a
|
|
%{mingw32_libdir}/libstdc++fs.a
|
|
%endif
|
|
%{mingw32_bindir}/libgcc_s_dw2-1.dll
|
|
%{mingw32_bindir}/libssp-0.dll
|
|
%{mingw32_libdir}/libgcc_s.a
|
|
%{mingw32_libdir}/libssp.a
|
|
%{mingw32_libdir}/libssp.dll.a
|
|
%{mingw32_libdir}/libssp_nonshared.a
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/crtbegin.o
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/crtend.o
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/crtfastmath.o
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/libgcc.a
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/libgcc_eh.a
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/libgcov.a
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include/ssp
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include/ssp/*.h
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/g++-mapper-server
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/lto1
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/liblto_plugin.so*
|
|
%{_mandir}/man1/%{mingw32_target}-lto-dump.1*
|
|
%endif
|
|
|
|
%files -n mingw64-gcc
|
|
%{_bindir}/%{mingw64_target}-gcc
|
|
%{_bindir}/%{mingw64_target}-gcc-%{version}
|
|
%{_bindir}/%{mingw64_target}-gcc-ar
|
|
%{_bindir}/%{mingw64_target}-gcc-nm
|
|
%{_bindir}/%{mingw64_target}-gcc-ranlib
|
|
%{_bindir}/%{mingw64_target}-gcov
|
|
%{_bindir}/%{mingw64_target}-gcov-dump
|
|
%{_bindir}/%{mingw64_target}-gcov-tool
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}/%{version}
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include-fixed
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}/%{version}/install-tools
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include-fixed/README
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include-fixed/*.h
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include/*.h
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/install-tools/*
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/collect2
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/lto-wrapper
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/install-tools
|
|
%{_mandir}/man1/%{mingw64_target}-gcc.1*
|
|
%{_mandir}/man1/%{mingw64_target}-gcov.1*
|
|
%{_mandir}/man1/%{mingw64_target}-gcov-dump.1*
|
|
%{_mandir}/man1/%{mingw64_target}-gcov-tool.1*
|
|
|
|
# Non-bootstrap files
|
|
%if 0%{bootstrap} == 0
|
|
%{_bindir}/%{mingw64_target}-lto-dump
|
|
%if 0%{only_libssp} == 0
|
|
%{mingw64_bindir}/libatomic-1.dll
|
|
%{mingw64_libdir}/libatomic.a
|
|
%{mingw64_libdir}/libatomic.dll.a
|
|
%{mingw64_libdir}/libstdc++fs.a
|
|
%endif
|
|
%{mingw64_bindir}/libgcc_s_seh-1.dll
|
|
%{mingw64_bindir}/libssp-0.dll
|
|
%{mingw64_libdir}/libgcc_s.a
|
|
%{mingw64_libdir}/libssp.a
|
|
%{mingw64_libdir}/libssp.dll.a
|
|
%{mingw64_libdir}/libssp_nonshared.a
|
|
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/crtbegin.o
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/crtend.o
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/crtfastmath.o
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/libgcc.a
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/libgcc_eh.a
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/libgcov.a
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include/ssp
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include/ssp/*.h
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/g++-mapper-server
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/lto1
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/liblto_plugin.so*
|
|
%{_mandir}/man1/%{mingw64_target}-lto-dump.1*
|
|
%endif
|
|
|
|
%files -n mingw32-cpp
|
|
%{_bindir}/%{mingw32_target}-cpp
|
|
%{_mandir}/man1/%{mingw32_target}-cpp.1*
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}
|
|
%dir %{_prefix}/lib/gcc/%{mingw32_target}/%{version}
|
|
%dir %{_libexecdir}/gcc/%{mingw32_target}/%{version}
|
|
%dir %{_libexecdir}/gcc/%{mingw32_target}
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1
|
|
|
|
%files -n mingw64-cpp
|
|
%{_bindir}/%{mingw64_target}-cpp
|
|
%{_mandir}/man1/%{mingw64_target}-cpp.1*
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}
|
|
%dir %{_prefix}/lib/gcc/%{mingw64_target}/%{version}
|
|
%dir %{_libexecdir}/gcc/%{mingw64_target}/%{version}
|
|
%dir %{_libexecdir}/gcc/%{mingw64_target}
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1
|
|
|
|
%files -n mingw32-gcc-c++
|
|
%{_bindir}/%{mingw32_target}-g++
|
|
%{_bindir}/%{mingw32_target}-c++
|
|
%{_mandir}/man1/%{mingw32_target}-g++.1*
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1plus
|
|
|
|
# Non-bootstrap files
|
|
%if 0%{bootstrap} == 0
|
|
%if 0%{only_libssp} == 0
|
|
%{mingw32_includedir}/c++/
|
|
%{mingw32_bindir}/libstdc++-6.dll
|
|
%{mingw32_libdir}/libstdc++.a
|
|
%{mingw32_libdir}/libstdc++.dll.a
|
|
%{mingw32_libdir}/libstdc++.dll.a-gdb.py
|
|
%{mingw32_libdir}/libsupc++.a
|
|
%endif
|
|
%endif
|
|
|
|
%files -n mingw64-gcc-c++
|
|
%{_bindir}/%{mingw64_target}-g++
|
|
%{_bindir}/%{mingw64_target}-c++
|
|
%{_mandir}/man1/%{mingw64_target}-g++.1*
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1plus
|
|
|
|
# Non-bootstrap files
|
|
%if 0%{bootstrap} == 0
|
|
%if 0%{only_libssp} == 0
|
|
%{mingw64_includedir}/c++/
|
|
%{mingw64_bindir}/libstdc++-6.dll
|
|
%{mingw64_libdir}/libstdc++.a
|
|
%{mingw64_libdir}/libstdc++.dll.a
|
|
%{mingw64_libdir}/libstdc++.dll.a-gdb.py
|
|
%{mingw64_libdir}/libsupc++.a
|
|
%endif
|
|
%endif
|
|
|
|
%files -n mingw32-gcc-objc
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1obj
|
|
%if 0%{bootstrap} == 0
|
|
%if 0%{only_libssp} == 0
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/include/objc/
|
|
%{mingw32_bindir}/libobjc-4.dll
|
|
%{mingw32_libdir}/libobjc.a
|
|
%{mingw32_libdir}/libobjc.dll.a
|
|
%endif
|
|
%endif
|
|
|
|
%files -n mingw64-gcc-objc
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1obj
|
|
%if 0%{bootstrap} == 0
|
|
%if 0%{only_libssp} == 0
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/include/objc/
|
|
%{mingw64_bindir}/libobjc-4.dll
|
|
%{mingw64_libdir}/libobjc.a
|
|
%{mingw64_libdir}/libobjc.dll.a
|
|
%endif
|
|
%endif
|
|
|
|
%files -n mingw32-gcc-objc++
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/cc1objplus
|
|
|
|
%files -n mingw64-gcc-objc++
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/cc1objplus
|
|
|
|
%files -n mingw32-gcc-gfortran
|
|
%{_bindir}/%{mingw32_target}-gfortran
|
|
%{_mandir}/man1/%{mingw32_target}-gfortran.1*
|
|
%{_libexecdir}/gcc/%{mingw32_target}/%{version}/f951
|
|
%if 0%{bootstrap} == 0
|
|
%if 0%{only_libssp} == 0
|
|
%{mingw32_bindir}/libgfortran-5.dll
|
|
%{mingw32_libdir}/libgfortran.a
|
|
%{mingw32_libdir}/libgfortran.dll.a
|
|
%{mingw32_libdir}/libgfortran.spec
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/libcaf_single.a
|
|
%endif
|
|
%{mingw32_bindir}/libquadmath-0.dll
|
|
%{mingw32_libdir}/libquadmath.a
|
|
%{mingw32_libdir}/libquadmath.dll.a
|
|
%{_prefix}/lib/gcc/%{mingw32_target}/%{version}/finclude
|
|
%endif
|
|
|
|
%files -n mingw64-gcc-gfortran
|
|
%{_bindir}/%{mingw64_target}-gfortran
|
|
%{_mandir}/man1/%{mingw64_target}-gfortran.1*
|
|
%{_libexecdir}/gcc/%{mingw64_target}/%{version}/f951
|
|
%if 0%{bootstrap} == 0
|
|
%if 0%{only_libssp} == 0
|
|
%{mingw64_bindir}/libgfortran-5.dll
|
|
%{mingw64_libdir}/libgfortran.a
|
|
%{mingw64_libdir}/libgfortran.dll.a
|
|
%{mingw64_libdir}/libgfortran.spec
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/libcaf_single.a
|
|
%endif
|
|
%{mingw64_bindir}/libquadmath-0.dll
|
|
%{mingw64_libdir}/libquadmath.a
|
|
%{mingw64_libdir}/libquadmath.dll.a
|
|
%{_prefix}/lib/gcc/%{mingw64_target}/%{version}/finclude
|
|
%endif
|
|
|
|
%if 0%{enable_libgomp}
|
|
%files -n mingw32-libgomp
|
|
%{mingw32_bindir}/libgomp-1.dll
|
|
%{mingw32_libdir}/libgomp.a
|
|
%{mingw32_libdir}/libgomp.dll.a
|
|
%{mingw32_libdir}/libgomp.spec
|
|
|
|
%files -n mingw64-libgomp
|
|
%{mingw64_bindir}/libgomp-1.dll
|
|
%{mingw64_libdir}/libgomp.a
|
|
%{mingw64_libdir}/libgomp.dll.a
|
|
%{mingw64_libdir}/libgomp.spec
|
|
%endif
|
|
|
|
|
|
%changelog
|
|
* Wed Sep 25 2024 yangfeng<yangfeng@kylinsec.com.cn> - 11.2.1-9
|
|
- set bootstrap=0, only_libssp=0, enable_libgomp=0
|
|
|
|
* Tue Sep 24 2024 yangfeng<yangfeng@kylinsec.com.cn> - 11.2.1-8
|
|
- set bootstrap=0, only_libssp=1, enable_libgomp=0
|
|
|
|
* Tue Sep 24 2024 yangfeng<yangfeng@kylinsec.com.cn> - 11.2.1-7
|
|
- set bootstrap=1, only_libssp=0, enable_libgomp=0
|
|
|
|
* Tue Feb 27 2024 yinhongchang<yinhongchang@kylinsec.com.cn> - 11.2.1-6
|
|
- compile all modules of mingw-gcc
|
|
|
|
* Fri Feb 23 2024 yinhongchang<yinhongchang@kylinsec.com.cn> - 11.2.1-5
|
|
- set only_libssp to 1 for compile libssp
|
|
|
|
* Mon Feb 5 2024 yinhongchang<yinhongchang@kylinsec.com.cn> - 11.2.1-4
|
|
- update version to 11.2.1
|
|
|
|
* Thu Oct 22 2020 Zhiyi Weng <zhiyi@iscas.ac.cn> - 9.2.1-8
|
|
- set bootstrap to 0
|
|
|
|
* Thu Oct 22 2020 Zhiyi Weng <zhiyi@iscas.ac.cn> - 9.2.1-7
|
|
- Update to 9.2.1
|
|
|
|
* Fri Apr 3 2020 lingsheng <lingsheng@huawei.com> - 8.3.0-4
|
|
- Remove bugurl
|
|
|
|
* Sat Feb 29 2020 Ling Yang <lingyang2@huawei.com> - 8.3.0-3
|
|
- Package Init
|
|
|