forked from Imagelibrary/rtems
* i386-cygwin-gcc.spec.in: Use %_prefix instead of %prefix. Add gnatlib. Add %defattr(-,root,root). Provide virtual packages i386-cygwin-[c++|g++|gnat].
111 lines
2.7 KiB
RPMSpec
111 lines
2.7 KiB
RPMSpec
#
|
|
# 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
|