Latest mingw64 packages.
[fedora-mingw.git] / mingw64-gcc / mingw64-gcc.spec
1 %define __os_install_post /usr/lib/rpm/brp-compress %{nil}
2
3 %define upstream_version 4.4-20090206
4
5 Name:           mingw64-gcc
6 Version:        4.4.0
7 Release:        0.20090206.6%{?dist}
8 Summary:        MinGW Windows cross-compiler (GCC) for C
9
10 License:        GPLv2+
11 Group:          Development/Languages
12 URL:            http://www.mingw.org/
13 Source0:        ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/%{upstream_version}/gcc-core-%{upstream_version}.tar.bz2
14 Source1:        ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/snapshots/%{upstream_version}/gcc-g++-%{upstream_version}.tar.bz2
15 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
16
17 BuildRequires:  texinfo
18 BuildRequires:  mingw64-filesystem >= 6
19 BuildRequires:  mingw64-binutils
20 BuildRequires:  mingw64-headers
21 BuildRequires:  mingw64-runtime
22 BuildRequires:  gmp-devel
23 %if 0%{?fedora} >= 9
24 BuildRequires:  mpfr-devel
25 %endif
26 BuildRequires:  libgomp
27
28 # NB: Explicit mingw64-filesystem dependency is REQUIRED here.
29 Requires:       mingw64-filesystem >= 6
30 Requires:       mingw64-binutils
31 Requires:       mingw64-headers
32 Requires:       mingw64-runtime
33 Requires:       mingw64-cpp
34
35 # Once this full GCC is installed, it obsoletes the bootstrap GCC.
36 Obsoletes:      mingw64-gcc-bootstrap <= %{version}-%{release}
37 Provides:       mingw64-gcc-bootstrap = %{version}-%{release}
38
39
40 %description
41 MinGW Windows cross-compiler (GCC) for C
42
43
44 %package -n mingw64-cpp
45 Summary: MinGW Windows cross-C Preprocessor.
46 Group: Development/Languages
47 Obsoletes:      mingw64-cpp-bootstrap <= %{version}-%{release}
48 Provides:       mingw64-cpp-bootstrap = %{version}-%{release}
49
50
51 %description -n mingw64-cpp
52 MinGW Windows cross-C Preprocessor
53
54
55 %package c++
56 Summary: MinGW Windows cross-compiler for C++
57 Group: Development/Languages
58
59 %description c++
60 MinGW Windows cross-compiler for C++
61
62
63 %prep
64 %setup -q -c
65 %setup -q -D -T -a1
66
67
68 %build
69 cd gcc-%{upstream_version}
70
71 mkdir -p build
72 cd build
73
74 languages="c,c++"
75
76 CC="%{__cc} ${RPM_OPT_FLAGS}" \
77 MINGW64_CFLAGS="%{_mingw64_cflags} -L%{_mingw64_libdir}" \
78 ../configure \
79   --prefix=%{_prefix} \
80   --bindir=%{_bindir} \
81   --includedir=%{_includedir} \
82   --libdir=%{_libdir} \
83   --mandir=%{_mandir} \
84   --infodir=%{_infodir} \
85   --datadir=%{_datadir} \
86   --build=%_build --host=%_host \
87   --target=%{_mingw64_target} \
88   --with-gnu-as --with-gnu-ld --verbose \
89   --without-newlib \
90   --disable-multilib \
91   --with-system-zlib \
92   --disable-nls --without-included-gettext \
93   --disable-win32-registry \
94   --enable-version-specific-runtime-libs \
95   --with-sysroot=%{_mingw64_sysroot} \
96   --enable-languages="$languages" $optargs
97
98 make %{?_smp_mflags} all
99
100
101 %install
102 rm -rf $RPM_BUILD_ROOT
103
104 cd gcc-%{upstream_version}
105 cd build
106 make DESTDIR=$RPM_BUILD_ROOT install
107
108 # These files conflict with existing installed files.
109 rm -rf $RPM_BUILD_ROOT%{_infodir}
110 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty*
111 rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
112
113 mkdir -p $RPM_BUILD_ROOT/lib
114 ln -sf ..%{_prefix}/bin/x86_64-pc-mingw32-cpp \
115   $RPM_BUILD_ROOT/lib/x86_64-pc-mingw32-cpp
116
117 %clean
118 rm -rf $RPM_BUILD_ROOT
119
120
121 %files
122 %defattr(-,root,root)
123 %{_bindir}/x86_64-pc-mingw32-gcc
124 %{_bindir}/x86_64-pc-mingw32-gcc-%{version}
125 %{_bindir}/x86_64-pc-mingw32-gccbug
126 %{_bindir}/x86_64-pc-mingw32-gcov
127 %{_prefix}/x86_64-pc-mingw32/lib/libiberty.a
128 %dir %{_libdir}/gcc/x86_64-pc-mingw32
129 %dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}
130 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/crtbegin.o
131 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/crtend.o
132 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/crtfastmath.o
133 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libgcc.a
134 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libgcov.a
135 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp.a
136 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp.la
137 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp_nonshared.a
138 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libssp_nonshared.la
139 %dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include
140 %dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed
141 %dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/ssp
142 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed/README
143 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include-fixed/*.h
144 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/*.h
145 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/ssp/*.h
146 %dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools
147 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools/*
148 %dir %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools
149 %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/install-tools/*
150 %{_mandir}/man1/x86_64-pc-mingw32-gcc.1*
151 %{_mandir}/man1/x86_64-pc-mingw32-gcov.1*
152
153
154 %files -n mingw64-cpp
155 %defattr(-,root,root)
156 /lib/x86_64-pc-mingw32-cpp
157 %{_bindir}/x86_64-pc-mingw32-cpp
158 %{_mandir}/man1/x86_64-pc-mingw32-cpp.1*
159 %dir %{_libdir}/gcc/x86_64-pc-mingw32
160 %dir %{_libdir}/gcc/x86_64-pc-mingw32/%{version}
161 %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/cc1
162
163
164 %files c++
165 %defattr(-,root,root)
166 %{_bindir}/x86_64-pc-mingw32-g++
167 %{_bindir}/x86_64-pc-mingw32-c++
168 %{_mandir}/man1/x86_64-pc-mingw32-g++.1*
169 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/include/c++/
170 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libstdc++.a
171 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libstdc++.la
172 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libsupc++.a
173 %{_libdir}/gcc/x86_64-pc-mingw32/%{version}/libsupc++.la
174 %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/cc1plus
175 %{_libexecdir}/gcc/x86_64-pc-mingw32/%{version}/collect2
176
177
178 %changelog
179 * Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 4.4.0-0.20090206.6
180 - Started mingw64 development.
181
182 * Mon Nov 24 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-12
183 - Rebuild against latest filesystem package.
184
185 * Fri Nov 21 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-11
186 - Remove obsoletes for a long dead package.
187
188 * Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-10
189 - Rebuild against mingw32-filesystem 37
190
191 * Wed Nov 19 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-9
192 - Rebuild against mingw32-filesystem 36
193
194 * Thu Oct 30 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-8
195 - Don't BR mpfr-devel for RHEL/EPEL-5 (Levente Farkas).
196
197 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-7
198 - Rename mingw -> mingw32.
199
200 * Thu Sep  4 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-6
201 - Use RPM macros from mingw-filesystem.
202
203 * Mon Jul  7 2008 Richard W.M. Jones <rjones@redhat.com> - 4.3.2-3
204 - Initial RPM release, largely based on earlier work from several sources.