summaryrefslogtreecommitdiffstats
path: root/contrib/cygwin
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2004-11-05 18:34:50 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2004-11-05 18:34:50 +0000
commit598feb56b96c1345fe14e9835a93b6f911be0c28 (patch)
treeca3fec469114889232b55374c169caef3fd96ffa /contrib/cygwin
parent2004-11-05 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-598feb56b96c1345fe14e9835a93b6f911be0c28.tar.bz2
2004-11-05 Ralf Corsepius <ralf_corsepius@rtems.org>
* i686-pc-cygwin-binutils.spec.in, i686-pc-cygwin-gcc.spec.in, i686-pc-cygwin-libs.spec.in, i686-pc-cygwin-mingw.spec.in, i686-pc-cygwin-w32api.spec.in: New. * i386-cygwin-binutils.spec.in, i386-cygwin-gcc.spec.in, i386-cygwin-libs.spec.in, i386-cygwin-mingw.spec.in, i386-cygwin-w32api.spec.in: Remove. * setup.def: Update to current cygwin. * Makefile.am, configure.ac: Reflect changes above.
Diffstat (limited to 'contrib/cygwin')
-rw-r--r--contrib/cygwin/.cvsignore10
-rw-r--r--contrib/cygwin/ChangeLog11
-rw-r--r--contrib/cygwin/Makefile.am4
-rw-r--r--contrib/cygwin/configure.ac10
-rw-r--r--contrib/cygwin/i386-cygwin-binutils.spec.in88
-rw-r--r--contrib/cygwin/i386-cygwin-gcc.spec.in110
-rw-r--r--contrib/cygwin/i386-cygwin-libs.spec.in49
-rw-r--r--contrib/cygwin/i386-cygwin-mingw.spec.in47
-rw-r--r--contrib/cygwin/i386-cygwin-w32api.spec.in47
-rw-r--r--contrib/cygwin/i686-pc-cygwin-binutils.spec.in68
-rw-r--r--contrib/cygwin/i686-pc-cygwin-gcc.spec.in126
-rw-r--r--contrib/cygwin/i686-pc-cygwin-libs.spec.in78
-rw-r--r--contrib/cygwin/i686-pc-cygwin-mingw.spec.in79
-rw-r--r--contrib/cygwin/i686-pc-cygwin-w32api.spec.in78
-rw-r--r--contrib/cygwin/setup.def20
15 files changed, 462 insertions, 363 deletions
diff --git a/contrib/cygwin/.cvsignore b/contrib/cygwin/.cvsignore
index 2b1cb7ad40..41fd4ef8f3 100644
--- a/contrib/cygwin/.cvsignore
+++ b/contrib/cygwin/.cvsignore
@@ -5,8 +5,8 @@ config.*
configure
Makefile
Makefile.in
-i386-cygwin-binutils.spec
-i386-cygwin-gcc.spec
-i386-cygwin-libs.spec
-i386-cygwin-mingw.spec
-i386-cygwin-w32api.spec
+i686-pc-cygwin-binutils.spec
+i686-pc-cygwin-gcc.spec
+i686-pc-cygwin-libs.spec
+i686-pc-cygwin-mingw.spec
+i686-pc-cygwin-w32api.spec
diff --git a/contrib/cygwin/ChangeLog b/contrib/cygwin/ChangeLog
index b0881f4747..a237fc11f0 100644
--- a/contrib/cygwin/ChangeLog
+++ b/contrib/cygwin/ChangeLog
@@ -1,3 +1,14 @@
+2004-11-05 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * i686-pc-cygwin-binutils.spec.in, i686-pc-cygwin-gcc.spec.in,
+ i686-pc-cygwin-libs.spec.in, i686-pc-cygwin-mingw.spec.in,
+ i686-pc-cygwin-w32api.spec.in: New.
+ * i386-cygwin-binutils.spec.in, i386-cygwin-gcc.spec.in,
+ i386-cygwin-libs.spec.in, i386-cygwin-mingw.spec.in,
+ i386-cygwin-w32api.spec.in: Remove.
+ * setup.def: Update to current cygwin.
+ * Makefile.am, configure.ac: Reflect changes above.
+
2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
* configure.ac: Require automake > 1.9.
diff --git a/contrib/cygwin/Makefile.am b/contrib/cygwin/Makefile.am
index b2e76e57e8..6eda75f2bc 100644
--- a/contrib/cygwin/Makefile.am
+++ b/contrib/cygwin/Makefile.am
@@ -2,8 +2,8 @@
## $Id$
##
-RPM_SPECS_DATA = i386-cygwin-binutils.spec i386-cygwin-libs.spec \
- i386-cygwin-mingw.spec i386-cygwin-w32api.spec i386-cygwin-gcc.spec
+RPM_SPECS_DATA = i686-pc-cygwin-binutils.spec i686-pc-cygwin-libs.spec \
+ i686-pc-cygwin-mingw.spec i686-pc-cygwin-w32api.spec i686-pc-cygwin-gcc.spec
CONFIGURE_DEPENDENCIES = setup.cache
setup.cache: setup.def
diff --git a/contrib/cygwin/configure.ac b/contrib/cygwin/configure.ac
index 404bc2b174..935f64bfe5 100644
--- a/contrib/cygwin/configure.ac
+++ b/contrib/cygwin/configure.ac
@@ -71,10 +71,10 @@ RPM_BUILD_ROOT="$rpm_build_root/%{name}-root"
AC_SUBST(RPM_BUILD_ROOT)
AC_CONFIG_FILES([Makefile
-i386-cygwin-binutils.spec
-i386-cygwin-libs.spec
-i386-cygwin-w32api.spec
-i386-cygwin-gcc.spec
-i386-cygwin-mingw.spec
+i686-pc-cygwin-binutils.spec
+i686-pc-cygwin-libs.spec
+i686-pc-cygwin-w32api.spec
+i686-pc-cygwin-gcc.spec
+i686-pc-cygwin-mingw.spec
])
AC_OUTPUT
diff --git a/contrib/cygwin/i386-cygwin-binutils.spec.in b/contrib/cygwin/i386-cygwin-binutils.spec.in
deleted file mode 100644
index 3ea1d2dec5..0000000000
--- a/contrib/cygwin/i386-cygwin-binutils.spec.in
+++ /dev/null
@@ -1,88 +0,0 @@
-#
-# spec file for binutils package targetting cygwin
-#
-
-%define binutils_version @BINUTILS_VERS@
-%define binutils_rpmvers @BINUTILS_RPMVERS@
-
-Vendor: OAR Corporation
-Distribution: Linux
-Name: i386-cygwin-binutils
-Summary: binutils for target i386-cygwin
-Group: cygwin
-Release: @BINUTILS_RPMREL@
-Summary: binutils for i386-cygwin
-License: GPL/LGPL
-Autoreqprov: off
-Packager: corsepiu@faw.uni-ulm.de
-Prefix: /opt/cygwin
-BuildRoot: @RPM_BUILD_ROOT@
-
-Version: %binutils_rpmvers
-Source0: ftp://sourceware.cygnus.com/pub/cygwin/latest/binutils/binutils-%{binutils_version}-src.tar.bz2
-NoSource: 0
-%description
-
-Cross binutils for target cygwin
-
-%prep
-# untar the sources inside i386-cygwin-binutils
-%setup -c -n i386-cygwin-binutils -a 0
-
-%build
- test -d build || mkdir build
- cd build
- ../binutils-%{binutils_version}/configure --target=i386-cygwin \
- --disable-nls --disable-win32-registry \
- --verbose --prefix=%{prefix}
-
- make all
-
-%install
- cd build
- make prefix=$RPM_BUILD_ROOT%{prefix} install
-
-# A bug in binutils: binutils does not install share/locale
-# however it uses it
- ../binutils-%{binutils_version}/mkinstalldirs \
- $RPM_BUILD_ROOT%{prefix}/share/locale
-
-# We don't want info files
- rm -rf $RPM_BUILD_ROOT%{prefix}/info
-
-# c++filt now comes from gcc
- rm -f $RPM_BUILD_ROOT%{prefix}/bin/i386-cygwin-c++filt
-
- rm -f $RPM_BUILD_ROOT%{prefix}/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
-
-%dir %{prefix}/man
-%dir %{prefix}/man/man1
-%doc %{prefix}/man/man1/i386-cygwin-*.1*
-
-# %dir %{prefix}/include
-# %{prefix}/include/*.h
-
-# %dir %{prefix}/lib
-# %{prefix}/lib/libbfd*
-# %{prefix}/lib/libiberty*
-# %{prefix}/lib/libopcodes*
-
-%dir %{prefix}/share
-%dir %{prefix}/share/locale
-
-%dir %{prefix}/bin
-%{prefix}/bin/*
-
-%dir %{prefix}/i386-cygwin
-%dir %{prefix}/i386-cygwin/bin
-%{prefix}/i386-cygwin/bin/*
-
-%dir %{prefix}/i386-cygwin/lib
-%{prefix}/i386-cygwin/lib/ldscripts
diff --git a/contrib/cygwin/i386-cygwin-gcc.spec.in b/contrib/cygwin/i386-cygwin-gcc.spec.in
deleted file mode 100644
index d77add2995..0000000000
--- a/contrib/cygwin/i386-cygwin-gcc.spec.in
+++ /dev/null
@@ -1,110 +0,0 @@
-#
-# 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
diff --git a/contrib/cygwin/i386-cygwin-libs.spec.in b/contrib/cygwin/i386-cygwin-libs.spec.in
deleted file mode 100644
index 6e9d3ec456..0000000000
--- a/contrib/cygwin/i386-cygwin-libs.spec.in
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# spec file for package i386-cygwin-libs
-#
-
-%define cygwin_version @CYGWIN_VERS@
-%define cygwin_rpmvers @CYGWIN_RPMVERS@
-
-Vendor: Ralf Corsepius
-Distribution: Linux
-Name: i386-cygwin-libs
-Release: @CYGWIN_RPMREL@
-Copyright: Red Hat Inc.
-Group: cygwin
-Provides: i386-cygwin-libs
-
-Autoreqprov: off
-Packager: corsepiu@faw.uni-ulm.de
-Prefix: /opt/cygwin
-BuildRoot: @RPM_BUILD_ROOT@
-
-Version: %cygwin_rpmvers
-Summary: cygwin
-
-Source0: ftp://sourceware.cygnus.com/pub/cygwin/latest/cygwin/cygwin-%{cygwin_version}.tar.bz2
-NoSource: 0
-
-%description
-Cygwin libs
-
-%prep
-%setup -c
-
-%build
- rm -rf usr/bin
- rm -rf usr/info
- mv usr i386-cygwin
-
-%install
- mkdir -p $RPM_BUILD_ROOT%{prefix}
- cp -a i386-cygwin $RPM_BUILD_ROOT%{prefix}
-
-%clean
-# let rpm --clean remove BuildRoot iff using the default BuildRoot
- test "$RPM_BUILD_ROOT" = "@RPM_BUILD_ROOT@" && \
- rm -rf $RPM_BUILD_ROOT
-
-
-%files
-%{prefix}/i386-cygwin
diff --git a/contrib/cygwin/i386-cygwin-mingw.spec.in b/contrib/cygwin/i386-cygwin-mingw.spec.in
deleted file mode 100644
index 6d6459a49a..0000000000
--- a/contrib/cygwin/i386-cygwin-mingw.spec.in
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# spec file for package i386-cygwin-mingw
-#
-
-%define mingw_version @MINGW_VERS@
-%define mingw_rpmvers @MINGW_RPMVERS@
-
-Vendor: Ralf Corsepius
-Distribution: Linux
-Name: i386-cygwin-mingw
-Release: @MINGW_RPMREL@
-Copyright: Red Hat Inc.
-Group: cygwin
-Provides: i386-cygwin-mingw
-
-Autoreqprov: off
-Packager: corsepiu@faw.uni-ulm.de
-Prefix: /opt/cygwin
-BuildRoot: @RPM_BUILD_ROOT@
-
-Version: %mingw_rpmvers
-Summary: Cygwin's mingw libs
-
-Source0: ftp://sourceware.cygnus.com/pub/cygwin/latest/mingw/mingw-runtime-%{mingw_version}.tar.bz2
-NoSource: 0
-
-%description
-Cygwin's mingw libs
-
-%prep
-%setup -c
-
-%build
- rm -r usr/bin
- mv usr i386-cygwin
-
-%install
- mkdir -p $RPM_BUILD_ROOT%{prefix}
- cp -a i386-cygwin $RPM_BUILD_ROOT%{prefix}
-
-%clean
-# let rpm --clean remove BuildRoot iff using the default BuildRoot
- test "$RPM_BUILD_ROOT" = "@RPM_BUILD_ROOT@" && \
- rm -rf $RPM_BUILD_ROOT
-
-%files
-%{prefix}/i386-cygwin
diff --git a/contrib/cygwin/i386-cygwin-w32api.spec.in b/contrib/cygwin/i386-cygwin-w32api.spec.in
deleted file mode 100644
index 927f122ea5..0000000000
--- a/contrib/cygwin/i386-cygwin-w32api.spec.in
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# spec file for package i386-cygwin-w32api
-#
-
-%define w32api_version @W32API_VERS@
-%define w32api_rpmvers @W32API_RPMVERS@
-
-Vendor: Ralf Corsepius
-Distribution: Linux
-Name: i386-cygwin-w32api
-Release: @W32API_RPMREL@
-Copyright: Red Hat Inc.
-Group: cygwin
-Provides: i386-cygwin-w32api
-
-Autoreqprov: off
-Packager: corsepiu@faw.uni-ulm.de
-Prefix: /opt/cygwin
-BuildRoot: @RPM_BUILD_ROOT@
-
-Version: %w32api_rpmvers
-Summary: Cygwin's w32api libs
-Source0: ftp://sourceware.cygnus.com/pub/cygwin/latest/w32api/w32api-%{w32api_version}.tar.bz2
-
-NoSource: 0
-
-%description
-Cygwin's w32api libs
-
-%prep
-%setup -c
-
-%build
- rm -rf usr/bin
- mv usr i386-cygwin
-
-%install
- mkdir -p $RPM_BUILD_ROOT%{prefix}
- cp -a i386-cygwin $RPM_BUILD_ROOT%{prefix}
-
-%clean
-# let rpm --clean remove BuildRoot iff using the default BuildRoot
- test "$RPM_BUILD_ROOT" = "@RPM_BUILD_ROOT@" && \
- rm -rf $RPM_BUILD_ROOT
-
-%files
-%{prefix}/i386-cygwin
diff --git a/contrib/cygwin/i686-pc-cygwin-binutils.spec.in b/contrib/cygwin/i686-pc-cygwin-binutils.spec.in
new file mode 100644
index 0000000000..18213c73c4
--- /dev/null
+++ b/contrib/cygwin/i686-pc-cygwin-binutils.spec.in
@@ -0,0 +1,68 @@
+#
+# spec file for binutils package targetting cygwin
+#
+
+%define binutils_version @BINUTILS_VERS@
+%define binutils_rpmvers %{expand: %(echo @BINUTILS_VERS@ | tr - _)}
+
+Distribution: Linux
+Name: i686-pc-cygwin-binutils
+Summary: binutils for target i686-pc-cygwin
+Group: Cygwin
+Release: @BINUTILS_RPMREL@
+Summary: binutils for i686-pc-cygwin
+License: GPL/LGPL
+Prefix: %{_prefix}
+BuildRoot: @RPM_BUILD_ROOT@
+BuildRequires: bison
+
+Version: %binutils_rpmvers
+Source0: ftp://cygwin.com/pub/cygwin/release/binutils/binutils-%{binutils_version}-src.tar.bz2
+NoSource: 0
+%description
+
+Cross binutils for target cygwin
+
+%prep
+# untar the sources inside i686-pc-cygwin-binutils
+%setup -q -c -n i686-pc-cygwin-binutils -a 0
+
+%build
+ test -d build || mkdir build
+ cd build
+ ../binutils-%{binutils_version}/configure --target=i686-pc-cygwin \
+ --disable-nls --without-included-gettext \
+ --disable-win32-registry \
+ --verbose \
+ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+ --bindir=%{_bindir} --libdir=%{_libdir} --includedir=%{_includedir}
+
+ make all
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ cd build
+ make DESTDIR=${RPM_BUILD_ROOT} install
+
+# BUG: The info files don't get canonicalized
+ rm -rf $RPM_BUILD_ROOT%{_infodir}
+
+ rm -f $RPM_BUILD_ROOT%{prefix}/lib/libiberty.a
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%doc %{_mandir}/man1/i686-pc-cygwin-*.1*
+
+%{_bindir}/*
+
+%dir %{_prefix}/i686-pc-cygwin
+%dir %{_prefix}/i686-pc-cygwin/bin
+%{_prefix}/i686-pc-cygwin/bin/*
+
+%dir %{_prefix}/i686-pc-cygwin/lib
+%{_prefix}/i686-pc-cygwin/lib/ldscripts
diff --git a/contrib/cygwin/i686-pc-cygwin-gcc.spec.in b/contrib/cygwin/i686-pc-cygwin-gcc.spec.in
new file mode 100644
index 0000000000..82eb6e4076
--- /dev/null
+++ b/contrib/cygwin/i686-pc-cygwin-gcc.spec.in
@@ -0,0 +1,126 @@
+#
+# spec file for building gcc for cygwin
+#
+
+%define gcc_pkgvers @GCC_VERS@
+%define gcc_version %{expand:%%(echo "@GCC_VERS@" | sed -e 's,-.*,,')}
+%define gcc_rpmvers %{expand:%%(echo "@GCC_VERS@" | tr - _ )}
+
+# RH's brp-strip* scripts are not able to handle foreign binaries
+# Switch of all stripping
+%define __os_install_post /usr/lib/rpm/redhat/brp-compress
+
+Distribution: Linux
+Name: i686-pc-cygwin-gcc
+Summary: i686-pc-cygwin gcc.
+
+Group: Cygwin
+Release: @GCC_RPMREL@
+License: GPL
+Version: %gcc_rpmvers
+
+Source0: ftp://cygwin.com/pub/cygwin/release/gcc/gcc-core/gcc-core-%{gcc_pkgvers}-src.tar.bz2
+Source1: ftp://cygwin.com/pub/cygwin/release/gcc/gcc-g++/gcc-g++-%{gcc_pkgvers}-src.tar.bz2
+Source2: ftp://cygwin.com/pub/cygwin/release/gcc/gcc-ada/gcc-ada-%{gcc_pkgvers}-src.tar.bz2
+NoSource: 0
+NoSource: 1
+NoSource: 2
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: i686-pc-cygwin-binutils
+BuildRequires: i686-pc-cygwin-libs
+BuildRequires: i686-pc-cygwin-w32api-libs
+BuildRequires: zlib-devel
+
+Requires: i686-pc-cygwin-binutils
+Requires: i686-pc-cygwin-libs
+Requires: i686-pc-cygwin-w32api-libs
+
+Provides: i686-pc-cygwin-c++
+
+%description
+Cross gcc for target cygwin
+
+%prep
+# untar the sources inside i686-pc-cygwin-gcc
+%setup -c -n %{name} -a 0 -a 1 -a 2
+# Cygwin's packaging sucks ;)
+ tar xjvf gcc-core-%{gcc_version}.tar.bz2
+ tar xjvf gcc-g++-%{gcc_version}.tar.bz2
+ tar xjvf gcc-ada-%{gcc_version}.tar.bz2
+ pushd gcc-%{gcc_version} > /dev/null
+ patch -p1 -f < ../gcc-%{gcc_pkgvers}.patch || true
+ popd > /dev/null
+ 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]
+
+ pushd build > /dev/null
+
+ ../gcc-%{gcc_version}/configure --target=i686-pc-cygwin \
+ --with-gnu-as --with-gnu-ld --verbose \
+ --with-system-zlib \
+ --disable-nls --without-included-gettext \
+ --disable-win32-registry \
+ --enable-version-specific-runtime-libs \
+ --enable-languages=c,c++ \
+ --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
+ --bindir=%{_bindir} --libdir=%{_libdir} --includedir=%{_includedir} \
+ --datadir=%{_datadir}
+
+# This would require write access to %{_prefix}/i686-pc-cygwin
+# --with-headers=%{_prefix}/i686-pc-cygwin/sys-root/usr/include \
+# --with-libs=%{_prefix}/i686-pc-cygwin/sys-root/usr/lib
+
+# Doesn't work with gcc-3.3.1-1
+# --with-sysroot=%{_prefix}/i686-pc-cygwin/sys-root
+
+ 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
+ popd > /dev/null
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+
+ pushd build > /dev/null
+ make DESTDIR=$RPM_BUILD_ROOT install
+ # cd back to build/
+ popd > /dev/null
+
+ # We don't want info files
+ rm -rf $RPM_BUILD_ROOT%{_infodir}
+
+ # libiberty comes from cygwin-libs
+ rm -f $RPM_BUILD_ROOT%{_prefix}/i686-pc-cygwin/lib/libiberty.a
+ rm -f $RPM_BUILD_ROOT%{_prefix}/lib/libiberty.a
+
+ # GCC ships broken *.la's
+ find $RPM_BUILD_ROOT%{_prefix} -name '*.la' -exec rm -f {} \;
+
+ # Not required for cygwin
+ rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/i686-pc-cygwin/*/install-tools
+
+ # These conflict with the native gcc's man pages
+ rm -rf $RPM_BUILD_ROOT%{_mandir}/man7
+ rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cpp.*
+ rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gcov.*
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/*
+%{_prefix}/lib/gcc-lib
+%{_mandir}/man1/i686-pc-cygwin*.1*
+
+# Conflicts with native gcc
+# %{_datadir}/locale/*/LC_MESSAGES/*.mo
diff --git a/contrib/cygwin/i686-pc-cygwin-libs.spec.in b/contrib/cygwin/i686-pc-cygwin-libs.spec.in
new file mode 100644
index 0000000000..eb36a4a67e
--- /dev/null
+++ b/contrib/cygwin/i686-pc-cygwin-libs.spec.in
@@ -0,0 +1,78 @@
+#
+# spec file for package i686-pc-cygwin-libs
+#
+
+%define cygwin_version @CYGWIN_VERS@
+%define cygwin_rpmvers %{expand: %(echo @CYGWIN_VERS@ | tr - _)}
+
+%define __os_install_post %{nil}
+
+Distribution: Linux
+Name: i686-pc-cygwin
+Release: @CYGWIN_RPMREL@
+License: Red Hat Inc.
+Group: Development/Tools/Cygwin
+
+Prefix: %{_prefix}
+BuildRoot: @RPM_BUILD_ROOT@
+BuildArch: noarch
+
+Version: %cygwin_rpmvers
+Summary: Cygwin Libraries
+
+Source0: ftp://cygwin.com/pub/cygwin/release/cygwin/cygwin-%{cygwin_version}.tar.bz2
+NoSource: 0
+
+%description
+Cygwin libraries.
+
+%prep
+%setup -c
+
+%build
+ rm -rf i686-pc-cygwin
+
+ # Setup sys-root (Usable for gcc >= 3.4)
+ mkdir -p i686-pc-cygwin/sys-root
+ cp -a usr i686-pc-cygwin/sys-root
+
+ # Setup sys-lib and sys-include (Required by gcc < 3.4)
+ mkdir -p i686-pc-cygwin/lib
+ cp -a i686-pc-cygwin/sys-root/usr/lib/* i686-pc-cygwin/lib
+ mkdir -p i686-pc-cygwin/include
+ cp -a i686-pc-cygwin/sys-root/usr/include/* i686-pc-cygwin/include
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}
+ cp -a i686-pc-cygwin $RPM_BUILD_ROOT%{_prefix}
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%package libs
+Group: Development/Tools/Cygwin
+Summary: i686-pc-cygwin target files for gcc < 3.4
+AutoReqProv: No
+
+%description libs
+Cygwin target files or gcc < 3.4
+
+%files libs
+%defattr(-,root,root,-)
+%dir %{_prefix}/i686-pc-cygwin
+%{_prefix}/i686-pc-cygwin/include
+%{_prefix}/i686-pc-cygwin/lib
+
+%package sys-root
+Group: Development/Tools/Cygwin
+Summary: i686-pc-cygwin target files for gcc >= 3.4
+AutoReqProv: No
+
+%description sys-root
+Cygwin target files for gcc >= 3.4
+
+%files sys-root
+%defattr(-,root,root,-)
+%dir %{_prefix}/i686-pc-cygwin
+%{_prefix}/i686-pc-cygwin/sys-root
diff --git a/contrib/cygwin/i686-pc-cygwin-mingw.spec.in b/contrib/cygwin/i686-pc-cygwin-mingw.spec.in
new file mode 100644
index 0000000000..d11f78f4b7
--- /dev/null
+++ b/contrib/cygwin/i686-pc-cygwin-mingw.spec.in
@@ -0,0 +1,79 @@
+#
+# spec file for package i686-pc-cygwin-mingw
+#
+
+%define mingw_version @MINGW_VERS@
+%define mingw_rpmvers @MINGW_RPMVERS@
+
+%define __os_install_post %{nil}
+
+Vendor: Ralf Corsepius
+Distribution: Linux
+Name: i686-pc-cygwin-mingw
+Release: @MINGW_RPMREL@
+Copyright: Red Hat Inc.
+Group: Development/Tools/Cygwin
+
+Packager: ralf@links2linux.de
+Prefix: %{_prefix}
+BuildRoot: @RPM_BUILD_ROOT@
+
+Version: %mingw_rpmvers
+Summary: Cygwin's mingw libs
+
+Source0: ftp://cygwin.com/pub/cygwin/release/mingw/mingw-runtime-%{mingw_version}.tar.bz2
+NoSource: 0
+
+%description
+Cygwin mingw-runtime
+
+%prep
+%setup -c
+
+%build
+ rm -rf i686-pc-cygwin
+
+ # Setup sys-root (Usable for gcc >= 3.4)
+ mkdir -p i686-pc-cygwin/sys-root
+ cp -a usr i686-pc-cygwin/sys-root
+
+ # Setup sys-lib and sys-include (Required by gcc < 3.4)
+ mkdir -p i686-pc-cygwin/lib
+ cp -a i686-pc-cygwin/sys-root/usr/lib/* i686-pc-cygwin/lib
+ mkdir -p i686-pc-cygwin/include
+ cp -a i686-pc-cygwin/sys-root/usr/include/* i686-pc-cygwin/include
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}
+ cp -a i686-pc-cygwin $RPM_BUILD_ROOT%{_prefix}
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%package libs
+Group: Development/Tools/Cygwin
+Summary: i686-pc-cygwin mingw target files for gcc < 3.4
+AutoReqProv: No
+
+%description libs
+Cygwin mingw target files or gcc < 3.4
+
+%files libs
+%defattr(-,root,root,-)
+%dir %{_prefix}/i686-pc-cygwin
+%{_prefix}/i686-pc-cygwin/include
+%{_prefix}/i686-pc-cygwin/lib
+
+%package sys-root
+Group: Development/Tools/Cygwin
+Summary: i686-pc-cygwin mingw target files for gcc >= 3.4
+AutoReqProv: No
+
+%description sys-root
+Cygwin mingw target files for gcc >= 3.4
+
+%files sys-root
+%defattr(-,root,root,-)
+%dir %{_prefix}/i686-pc-cygwin
+%{_prefix}/i686-pc-cygwin/sys-root
diff --git a/contrib/cygwin/i686-pc-cygwin-w32api.spec.in b/contrib/cygwin/i686-pc-cygwin-w32api.spec.in
new file mode 100644
index 0000000000..22cbc645c8
--- /dev/null
+++ b/contrib/cygwin/i686-pc-cygwin-w32api.spec.in
@@ -0,0 +1,78 @@
+#
+# spec file for package i686-pc-cygwin-w32api
+#
+
+%define w32api_version @W32API_VERS@
+%define w32api_rpmvers %{expand: %(echo @W32API_VERS@ | tr - _)}
+
+%define __os_install_post %{nil}
+
+Distribution: Linux
+Name: i686-pc-cygwin-w32api
+Release: @W32API_RPMREL@
+License: Red Hat Inc.
+Group: Cygwin
+Provides: i686-pc-cygwin-w32api
+
+Autoreqprov: off
+Prefix: %{_prefix}
+BuildRoot: @RPM_BUILD_ROOT@
+BuildArch: noarch
+
+Version: %w32api_rpmvers
+Summary: Cygwin's w32api libs
+Source0: ftp://cygwin.com/pub/cygwin/release/w32api/w32api-%{w32api_version}.tar.bz2
+
+NoSource: 0
+
+%description
+Cygwin's w32api libs
+
+%prep
+%setup -c
+
+%build
+ rm -rf i686-pc-cygwin
+ mkdir -p i686-pc-cygwin/sys-root
+ cp -a usr i686-pc-cygwin/sys-root
+
+ # Setup lib and include (Required by gcc < 3.4)
+ mkdir -p i686-pc-cygwin/lib
+ cp -a i686-pc-cygwin/sys-root/usr/lib/* i686-pc-cygwin/lib
+ mkdir -p i686-pc-cygwin/include
+ cp -a i686-pc-cygwin/sys-root/usr/include/* i686-pc-cygwin/include
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}
+ cp -a i686-pc-cygwin $RPM_BUILD_ROOT%{_prefix}
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
+%package libs
+Group: Development/Tools/Cygwin
+Summary: i686-pc-cygwin w32api libs for gcc < 3.4
+AutoReqProv: No
+
+%description libs
+Cygwin w32api libs or gcc < 3.4
+
+%files libs
+%defattr(-,root,root,-)
+%dir %{_prefix}/i686-pc-cygwin
+%{_prefix}/i686-pc-cygwin/include
+%{_prefix}/i686-pc-cygwin/lib
+
+%package sys-root
+Group: Development/Tools/Cygwin
+Summary: i686-pc-cygwin w32api libs for gcc >= 3.4
+AutoReqProv: No
+
+%description sys-root
+Cygwin w32api libs for gcc >= 3.4
+
+%files sys-root
+%defattr(-,root,root,-)
+%dir %{_prefix}/i686-pc-cygwin
+%{_prefix}/i686-pc-cygwin/sys-root
diff --git a/contrib/cygwin/setup.def b/contrib/cygwin/setup.def
index e0558da96a..6c3f32a9fb 100644
--- a/contrib/cygwin/setup.def
+++ b/contrib/cygwin/setup.def
@@ -3,14 +3,14 @@
#
# $Id$
#
-binutils_version=20021117-1
-binutils_rpm_release=1
-mingw_version=2.3-1
-mingw_rpm_release=1
-w32api_version=2.1-1
-w32api_rpm_release=1
-cygwin_version=1.3.18-1
-cygwin_rpm_release=1
-gcc_version=3.2-3
-gcc_rpm_release=2
+binutils_version=20040725-2
+binutils_rpm_release=0
+mingw_version=3.5-1
+mingw_rpm_release=0
+w32api_version=3.1-1
+w32api_rpm_release=0
+cygwin_version=1.5.11-1
+cygwin_rpm_release=0
+gcc_version=3.3.3-3
+gcc_rpm_release=0
rpm_build_root=/var/tmp