File mingw64-gcc.spec of Package mingw64-cross-gcc
%define __strip %{_mingw64_strip}
%define __objdump %{_mingw64_objdump}
%define _use_internal_dependency_generator 0
%define __find_requires %{_mingw64_findrequires}
%define __find_provides %{_mingw64_findprovides}
%define __os_install_post %{_mingw64_debug_install_post} \
%{_mingw64_install_post}
%define include_ada 0
%define include_java 0
Name: mingw64-gcc
Version: 4.7.2
Release: 0
Summary: MinGW Windows compiler (GCC) for C
License: GPLv2+
Group: Development/Languages
URL: http://www.mingw.org/
Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.bz2
Source50: ecj.jar
Source100: %{name}-rpmlintrc
Patch0: gcc-4.7.0-libjava.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
#!BuildIgnore: post-build-checks
BuildRequires: texinfo
BuildRequires: mingw64-filesystem >= 39-3
BuildRequires: mingw64-cross-binutils
BuildRequires: mingw64-cross-pkg-config
BuildRequires: mingw64-runtime
BuildRequires: mingw64-headers
BuildRequires: mingw64-gmp-devel
BuildRequires: mingw64-mpfr-devel
BuildRequires: mingw64-mpc-devel
BuildRequires: mingw64-zlib-devel
BuildRequires: mingw64-cross-gcc >= %{version}
BuildRequires: mingw64-cross-gcc-c++ >= %{version}
BuildRequires: zip, unzip
BuildRequires: mingw64-cross-gcc-fortran >= %{version}
BuildRequires: mingw64-cross-gcc-objc >= %{version}
%if %{include_java}
BuildRequires: mingw64-cross-gcc-java >= %{version}
%endif
%if %{include_ada}
BuildRequires: mingw64-cross-gcc-ada >= %{version}
BuildRequires: gcc-ada
%endif
BuildRequires: gmp-devel mpfr-devel mpc-devel
Requires: mingw64-binutils
Requires: mingw64-runtime
Requires: mingw64-headers
Requires: mingw64-cpp
%description
MinGW Windows compiler (GCC) for C
%package -n mingw64-libgcc
Summary: MinGW Windows compiler for C shared libraries
Group: Development/Languages
%description -n mingw64-libgcc
MinGW Windows compiler for C shared libraries
%package -n mingw64-libssp
Summary: MinGW Windows compiler for C shared libraries
Group: Development/Languages
%description -n mingw64-libssp
MinGW Windows compiler for C shared libraries
%package -n mingw64-cpp
Summary: MinGW Windows C Preprocessor
Group: Development/Languages
%description -n mingw64-cpp
MinGW Windows C Preprocessor
%package c++
Summary: MinGW Windows compiler for C++
Group: Development/Languages
%description c++
MinGW Windows compiler for C++
%package -n mingw64-libstdc++
Summary: MinGW Windows compiler for C++ shared libraries
Group: Development/Languages
%description -n mingw64-libstdc++
MinGW Windows compiler for C++ shared libraries
%if %{include_java}
%package java
Summary: MinGW Windows compiler for Java
Group: Development/Languages
%description java
MinGW Windows compiler for Java
%package -n mingw64-libgcj
Summary: MinGW Windows compiler for Java shared libraries
Group: Development/Languages
%description -n mingw64-libgcj
MinGW Windows compiler for Java shared libraries
%endif
%package fortran
Summary: MinGW Windows compiler for Fortran
Group: Development/Languages
%description fortran
MinGW Windows compiler for Fortran
%package -n mingw64-libgfortran
Summary: MinGW Windows compiler for Fortran shared libraries
Group: Development/Languages
%description -n mingw64-libgfortran
MinGW Windows compiler for Fortran shared libraries
%package objc
Summary: MinGW Windows compiler for Objective-C and Objective-C++
Group: Development/Languages
%description objc
MinGW Windows compiler for Objective-C and Objective-C++
%package -n mingw64-libobjc
Summary: MinGW Windows compiler for Objective-C and Objective-C++ shared libraries
Group: Development/Languages
%description -n mingw64-libobjc
MinGW Windows compiler for Objective-C and Objective-C++ shared libraries
%{_mingw64_debug_package}
%prep
%setup -q -c
pushd gcc-%{version}
%patch0 -p0
popd
%build
cd gcc-%{version}
mkdir -p build
cd build
languages="c,c++,fortran,objc,obj-c++"
%if %{include_ada}
languages+=",ada"
ada_options=-enable-libada
%else
ada_options=
%endif
%if %{include_java}
languages+=",java"
java_options='--enable-libgcj --enable-java-gc-boehm --disable-libgcj-debug --enable-interpreter'
mkdir -p %{_mingw64_target}/libjava
echo | %{_mingw64_cc} -o %{_mingw64_target}/libjava/crtmt.o -x c -c -
%else
java_options=
%endif
CC_FOR_TARGET=%{_mingw64_cc} \
CXX_FOR_TARGET=%{_mingw64_cxx} \
GFORTRAN_FOR_TARGET=%{_mingw64_target}-gfortran \
GCJ_FOR_TARGET=%{_mingw64_gcj} \
CFLAGS_FOR_TARGET="-DGC_NOT_DLL %{_mingw64_cflags}" \
CFLAGS_FOR_BUILD="-I-%{_mingw64_includedir}" \
CPPFLAGS_FOR_BUILD="-I-%{_mingw64_includedir}" \
CXXFLAGS_FOR_BUILD="-I-%{_mingw64_includedir}" \
CXXFLAGS_FOR_TARGET="-DGC_NOT_DLL %{_mingw64_cflags}" \
CPPFLAGS_FOR_TARGET="-DGC_NOT_DLL %{_mingw64_cflags}" \
../configure \
--prefix=%{_mingw64_prefix} \
--disable-werror \
--disable-werror-always \
--disable-bootstrap \
--host=%{_mingw64_host} \
--with-gnu-as --with-gnu-ld --verbose \
--without-newlib \
--disable-multilib \
--enable-plugin \
--with-system-zlib \
--disable-plugin \
--disable-nls --without-included-gettext \
--disable-win32-registry \
--enable-version-specific-runtime-libs \
--with-build-sysroot=%{_mingw64_sysroot} \
--with-sysroot=%{_mingw64_prefix} \
--enable-languages="$languages" $optargs \
--without-x \
${java_options} \
${ada_options} \
--disable-gmp \
--enable-hash-synchronization \
--enable-fully-dynamic-strings
make %{?_smp_mflags} all || make all
%install
cd gcc-%{version}
cd build
make DESTDIR=$RPM_BUILD_ROOT install
%if %{include_java}
cp %{SOURCE50} $RPM_BUILD_ROOT%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/
echo | %{_mingw64_cc} -o crtmt.o -x c -c -
%{_mingw64_env} ; %{_mingw64_gcj} %{SOURCE50} --main=org.eclipse.jdt.internal.compiler.batch.GCCMain \
-o $RPM_BUILD_ROOT%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/ecj1.exe
(cd $RPM_BUILD_ROOT%{_mingw64_datadir}/java/; for i in libgcj libgcj-tools; \
do ln -s $i-%{version}.jar $i.jar; done )
%endif
rm -f $RPM_BUILD_ROOT%{_mingw64_infodir}/dir
find $RPM_BUILD_ROOT -name \*.py -exec rm {} +
mv $RPM_BUILD_ROOT%{_mingw64_libdir}/gcc/%{_mingw64_target}/lib/libgcc_s.a \
$RPM_BUILD_ROOT%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/
mv $RPM_BUILD_ROOT%{_mingw64_libdir}/gcc/%{_mingw64_target}/*.dll \
$RPM_BUILD_ROOT%{_mingw64_bindir}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%{_mingw64_bindir}/gcc*.exe
%{_mingw64_bindir}/gcov.exe
%exclude %{_mingw64_bindir}/%{_mingw64_target}-gcc*.exe
%exclude %{_mingw64_libdir}/libiberty.a
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/crtfastmath.o
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libcaf_single.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcc.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcc_eh.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcc_s.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcov.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libssp.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libssp.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libssp_nonshared.a
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include-fixed
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/ssp
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include-fixed/README
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include-fixed/*.h
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/*.h
%if %{include_java}
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/jni*.h
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/jawt*.h
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/ffi*.h
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/jvmpi.h
%endif
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/ssp/*.h
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/install-tools
%dir %{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/install-tools
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/install-tools/*
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/install-tools/*
%{_mingw64_mandir}/man1/gcc.1*
%{_mingw64_mandir}/man1/gcov.1*
%{_mingw64_mandir}/man7/fsf-funding.7.gz
%{_mingw64_mandir}/man7/gfdl.7.gz
%{_mingw64_mandir}/man7/gpl.7.gz
%{_mingw64_infodir}/gcc*.info*
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/collect2.exe
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/liblto_plugin-0.dll
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/liblto_plugin.dll.a
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/lto1.exe
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/lto-wrapper.exe
%files -n mingw64-libgcc
%defattr(-,root,root)
%{_mingw64_bindir}/libgcc_s_sjlj-1.dll
%files -n mingw64-libssp
%defattr(-,root,root)
%{_mingw64_bindir}/libssp-0.dll
%files -n mingw64-cpp
%defattr(-,root,root)
#/lib/%{_mingw64_target}-cpp
%{_mingw64_bindir}/cpp.exe
%{_mingw64_mandir}/man1/cpp.1*
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}
%dir %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/cc1.exe
%{_mingw64_infodir}/cpp*.info*
%files c++
%defattr(-,root,root)
%{_mingw64_bindir}/g++.exe
%{_mingw64_bindir}/c++.exe
%exclude %{_mingw64_bindir}/%{_mingw64_target}-g++.exe
%exclude %{_mingw64_bindir}/%{_mingw64_target}-c++.exe
%{_mingw64_mandir}/man1/g++.1*
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/
%if %{include_java}
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/java/
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/javax/
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/gcj/
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/gnu/
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/org/
%exclude %{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/sun/
%endif
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libstdc++.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libstdc++.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libsupc++.a
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/cc1plus.exe
%files -n mingw64-libstdc++
%defattr(-,root,root)
%{_mingw64_bindir}/libstdc++-6.dll
%if %{include_java}
%files java
%defattr(-,root,root)
%{_mingw64_bindir}/aot-compile
%{_mingw64_bindir}/rebuild-gcj-db
%{_mingw64_bindir}/gappletviewer.exe
%{_mingw64_bindir}/gc-analyze.exe
%{_mingw64_bindir}/gcj.exe
%exclude %{_mingw64_bindir}/%{_mingw64_target}-gcj.exe
%{_mingw64_bindir}/gcj-dbtool.exe
%{_mingw64_bindir}/gcjh.exe
%{_mingw64_bindir}/gij.exe
%{_mingw64_bindir}/gjar.exe
%{_mingw64_bindir}/gjarsigner.exe
%{_mingw64_bindir}/gjavah.exe
%{_mingw64_bindir}/gkeytool.exe
%{_mingw64_bindir}/gnative2ascii.exe
%{_mingw64_bindir}/gorbd.exe
%{_mingw64_bindir}/grmic.exe
%{_mingw64_bindir}/grmid.exe
%{_mingw64_bindir}/grmiregistry.exe
%{_mingw64_bindir}/gserialver.exe
%{_mingw64_bindir}/gtnameserv.exe
%{_mingw64_bindir}/jcf-dump.exe
%{_mingw64_bindir}/jv-convert.exe
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/jc1.exe
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/jvgenmain.exe
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/ecj.jar
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/ecj1.exe
%{_mingw64_libdir}/libffi.a
%{_mingw64_libdir}/libffi.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/java/
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/javax/
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/gcj/
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/gnu/
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/org/
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/c++/sun/
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/jni*.h
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/jawt*.h
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/ffi*.h
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/jvmpi.h
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/gcj/libgcj-config.h
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcj-tools.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcj-noncore.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcj.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgcj.spec
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgij.dll.a
%{_mingw64_libdir}/gcj-%{version}-13/libjvm.dll.a
%{_mingw64_libdir}/gcj-%{version}-13/classmap.db
%{_mingw64_libdir}/pkgconfig/libgcj-4.7.pc
%{_mingw64_libdir}/security/classpath.security
%{_mingw64_libdir}/*properties
%{_mingw64_datadir}/java/libgcj*.jar
%{_mingw64_mandir}/man1/gappletviewer.1*
%{_mingw64_mandir}/man1/gcjh.1*
%{_mingw64_mandir}/man1/gjar.1*
%{_mingw64_mandir}/man1/gjarsigner.1*
%{_mingw64_mandir}/man1/gjavah.1*
%{_mingw64_mandir}/man1/gjdoc.1*
%{_mingw64_mandir}/man1/gkeytool.1*
%{_mingw64_mandir}/man1/gnative2ascii.1*
%{_mingw64_mandir}/man1/gorbd.1.gz
%{_mingw64_mandir}/man1/grmid.1.gz
%{_mingw64_mandir}/man1/grmiregistry.1.gz
%{_mingw64_mandir}/man1/gserialver.1.gz
%{_mingw64_mandir}/man1/gtnameserv.1.gz
%{_mingw64_mandir}/man1/gc-analyze.1*
%{_mingw64_mandir}/man1/gcj-dbtool.1*
%{_mingw64_mandir}/man1/gcj.1*
%{_mingw64_mandir}/man1/gij.1*
%{_mingw64_mandir}/man1/grmic.1*
%{_mingw64_mandir}/man1/jcf-dump.1*
%{_mingw64_mandir}/man1/jv-convert.1*
%{_mingw64_mandir}/man1/aot-compile.1*
%{_mingw64_mandir}/man1/rebuild-gcj-db.1*
%{_mingw64_mandir}/man3/ffi.3*
%{_mingw64_mandir}/man3/ffi_call.3*
%{_mingw64_mandir}/man3/ffi_prep_cif.3*
%{_mingw64_infodir}/gcj.info*
%{_mingw64_infodir}/cp-tools.info*
%files -n mingw64-libgcj
%defattr(-,root,root)
%{_mingw64_bindir}/libgcj-13.dll
%{_mingw64_bindir}/libgcj-noncore-13.dll
%{_mingw64_bindir}/libgcj-tools-13.dll
%{_mingw64_bindir}/libgij-13.dll
%{_mingw64_bindir}/libjvm.dll
%{_mingw64_bindir}/libffi-4.dll
%endif
%files fortran
%defattr(-,root,root)
%{_mingw64_bindir}/gfortran.exe
%exclude %{_mingw64_bindir}/%{_mingw64_target}-gfortran.exe
%{_mingw64_mandir}/man1/gfortran.1*
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgfortran.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgfortran.dll.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgfortranbegin.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libgfortran.spec
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libquadmath.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libquadmath.dll.a
%{_mingw64_infodir}/libquadmath.info.gz
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/f951.exe
%{_mingw64_infodir}/gfortran.info*
%files -n mingw64-libgfortran
%defattr(-,root,root)
%{_mingw64_bindir}/libgfortran-3.dll
%{_mingw64_bindir}/libquadmath-0.dll
%files objc
%defattr(-,root,root)
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/include/objc
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libobjc.a
%{_mingw64_libdir}/gcc/%{_mingw64_target}/%{version}/libobjc.dll.a
%{_mingw64_libexecdir}/gcc/%{_mingw64_target}/%{version}/cc1obj*.exe
%files -n mingw64-libobjc
%defattr(-,root,root)
%{_mingw64_bindir}/libobjc-4.dll
%changelog