# # spec file for building gcc for cygwin # %define _prefix /opt/cygwin %define gcc_version @GCC_VERS@ %define gcc_rpmvers %{expand: %%(echo %gcc_version | tr - _ )} Vendor: OAR Corporation Distribution: Linux Name: i386-cygwin-gcc Summary: i386-cygwin gcc. Requires: i386-cygwin-binutils Requires: i386-cygwin-libs Group: cygwin Release: @GCC_RPMREL@ License: gcc is GPL/LGPL Autoreqprov: on Packager: corsepiu@faw.uni-ulm.de Version: %gcc_rpmvers Provides: i386-cygwin-c++ Provides: i386-cygwin-g++ Provides: i386-cygwin-gnat Source0: ftp://sourceware.cygnus.com/pub/cygwin/latest/gcc/gcc-%{gcc_version}-src.tar.bz2 NoSource: 0 BuildRoot: @RPM_BUILD_ROOT@ %description Cross gcc for target cygwin %prep # untar the sources inside i386-cygwin-gcc %setup -c -n %{name} -a 0 test -d build || mkdir build %build touch gcc-%{gcc_version}/gcc/ada/treeprs.ads touch gcc-%{gcc_version}/gcc/ada/[es]info.h touch gcc-%{gcc_version}/gcc/ada/nmake.ad[bs] cd build ../gcc-%{gcc_version}/configure --target=i386-cygwin \ --with-gnu-as --with-gnu-ld --verbose \ --disable-nls --disable-win32-registry \ --with-newlib --enable-languages=c,c++,ada \ --prefix=%{_prefix} make all # Building with an external libc -> the nominal way to building gnat works! make -C gcc cross-gnattools make -C gcc ada.all.cross make -C gcc gnatlib # We don't want info files # make info %install cd build # Bug in gcc-2.95.1: It doesn't build this installation directory # If it doesn't find it, gcc doesn't install i386-cygwin/bin/gcc ../gcc-%{gcc_version}/mkinstalldirs \ $RPM_BUILD_ROOT%{_prefix}/i386-cygwin/bin make prefix=$RPM_BUILD_ROOT%{_prefix} install # cd back to build/ cd ../.. # We don't want info files rm -rf $RPM_BUILD_ROOT%{_prefix}/info # libiberty comes from cygwin-libs rm -f $RPM_BUILD_ROOT%{_prefix}/i386-cygwin/lib/libiberty.a %clean # let rpm --clean remove BuildRoot iff using the default BuildRoot test "$RPM_BUILD_ROOT" = "@RPM_BUILD_ROOT@" && \ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_prefix}/bin/i386-cygwin-cpp %{_prefix}/bin/i386-cygwin-gcov %{_prefix}/bin/i386-cygwin-c++ %{_prefix}/bin/i386-cygwin-c++filt %{_prefix}/bin/i386-cygwin-g++ %{_prefix}/bin/i386-cygwin-gcc %{_prefix}/bin/i386-cygwin-gnat* %dir %{_prefix}/man %dir %{_prefix}/man/man1 %doc %{_prefix}/man/man1/i386-cygwin-gcc.1* %doc %{_prefix}/man/man1/i386-cygwin-g++.1* %dir %{_prefix}/include %{_prefix}/include %dir %{_prefix}/bin # %dir %{_prefix}/lib/gcc-lib/i386-cygwin/%{gcc_version}/include %{_prefix}/i386-cygwin %dir %{_prefix}/lib %dir %{_prefix}/lib/gcc-lib %dir %{_prefix}/lib/gcc-lib/i386-cygwin %{_prefix}/lib/gcc-lib/i386-cygwin