]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/blob - crossmingw32-gcc.spec
- final 2.95.3
[packages/crossmingw32-gcc.git] / crossmingw32-gcc.spec
1 Summary:        Mingw32 GNU Binary Utility Development Utilities - gcc
2 Name:           crossmingw32-gcc
3 Version:        2.95.3
4 Release:        6
5 Epoch:          1
6 License:        GPL
7 Group:          Development/Languages
8 Group(de):      Entwicklung/Sprachen
9 Group(pl):      Programowanie/Jêzyki
10 ExclusiveArch:  %{ix86}
11 Source0:        ftp://ftp.gnu.org/pub/gnu/gcc-%{version}.tar.gz
12 Patch0:         gcc-info.patch
13 Patch1:         gcc-pld-linux.patch
14 Patch2:         gcc-libstdc++.patch
15 Patch3:         gcc-bootstrap.patch
16 Patch4:         gcc-cpp-macro-doc.patch
17 Patch5:         gcc-default-arch.patch
18 Patch6:         gcc-libstdc++-out-of-mem.patch
19 Patch7:         gcc-libstdc++-wstring.patch
20 Patch8:         gcc-libstdc++-bastring.patch
21 Patch9:         gcc-manpage.patch
22 Patch10:        gcc-cpp-dos-newlines.patch
23 Patch11:        gcc-gpc.patch
24 Patch12:        gcc-m68k-pic.patch
25 Patch13:        gcc-sparc32-rfi.patch
26 Patch14:        gcc-builtin-apply.patch
27 Patch15:        gcc-ppc-ice.patch
28 Patch16:        gcc-ppc-descriptions.patch
29 Patch17:        gcc-alpha-complex-float.patch
30 Patch18:        gcc-gcj-vs-iconv.patch
31 Patch19:        gcc-libobjc.patch
32 Patch20:        gcc-pointer-arith.patch
33 Patch21:        gcc-crtendS.patch
34 Patch22:        %{name}-libio.patch
35 Patch23:        %{name}-includes.patch
36 Patch24:        %{name}-libiberty.patch
37 BuildRequires:  crossmingw32-platform
38 BuildRequires:  crossmingw32-binutils
39 BuildRequires:  flex
40 BuildRequires:  bison
41 BuildRequires:  autoconf
42 Requires:       crossmingw32-binutils
43 Requires:       crossmingw32-platform
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
46 %define         target          i386-mingw32
47 %define         target_platform i386-pc-mingw32
48 %define         _prefix         /usr
49 %define         arch            %{_prefix}/%{target}
50 %define         gccarch         %{_prefix}/lib/gcc-lib/%{target}
51 %define         gcclib          %{_prefix}/lib/gcc-lib/%{target}/%{version}
52
53 %description
54 crossmingw32 is a complete cross-compiling development system for
55 building stand-alone Microsoft Windows applications under Linux using
56 the Mingw32 build libraries. This includes a binutils, gcc with g++
57 and objc, and libstdc++, all cross targeted to i386-mingw32, along
58 with supporting Win32 libraries in 'coff' format from free sources.
59
60 This package contains cross targeted gcc.
61
62 %package c++
63 Summary:        Mingw32 GNU Binary Utility Development Utilities - g++
64 Group:          Development/Languages
65 Group(de):      Entwicklung/Sprachen
66 Group(pl):      Programowanie/Jêzyki
67 Requires:       %{name} = %{version}
68
69 %description c++
70 crossmingw32 is a complete cross-compiling development system for
71 building stand-alone Microsoft Windows applications under Linux using
72 the Mingw32 build libraries. This includes a binutils, gcc with g++
73 and objc, and libstdc++, all cross targeted to i386-mingw32, along
74 with supporting Win32 libraries in 'coff' format from free sources.
75
76 This package contains cross targeted g++ and (static) libstdc++.
77
78 # does this even work?
79 %package objc
80 Summary:        Mingw32 GNU Binary Utility Development Utilities - objc
81 Group:          Development/Languages
82 Group(de):      Entwicklung/Sprachen
83 Group(pl):      Programowanie/Jêzyki
84 Requires:       %{name} = %{version}
85
86 %description objc
87 crossmingw32 is a complete cross-compiling development system for
88 building stand-alone Microsoft Windows applications under Linux using
89 the Mingw32 build libraries. This includes a binutils, gcc with g++
90 and objc, and libstdc++, all cross targeted to i386-mingw32, along
91 with supporting Win32 libraries in 'coff' format from free sources.
92
93 This package contains cross targeted objc.
94
95 # does this even work?
96 %package g77
97 Summary:        Mingw32 GNU Binary Utility Development Utilities - g77
98 Group:          Development/Languages
99 Group(de):      Entwicklung/Sprachen
100 Group(pl):      Programowanie/Jêzyki
101 Requires:       %{name} = %{version}
102
103 %description g77
104 crossmingw32 is a complete cross-compiling development system for
105 building stand-alone Microsoft Windows applications under Linux using
106 the Mingw32 build libraries. This includes a binutils, gcc with g++
107 and objc, and libstdc++, all cross targeted to i386-mingw32, along
108 with supporting Win32 libraries in 'coff' format from free sources.
109
110 This package contains cross targeted g77.
111
112 # does this even work?
113 %package chill
114 Summary:        Mingw32 GNU Binary Utility Development Utilities - chill
115 Group:          Development/Languages
116 Group(de):      Entwicklung/Sprachen
117 Group(pl):      Programowanie/Jêzyki
118 Requires:       %{name} = %{version}
119
120 %description chill
121 crossmingw32 is a complete cross-compiling development system for
122 building stand-alone Microsoft Windows applications under Linux using
123 the Mingw32 build libraries. This includes a binutils, gcc with g++
124 and objc, and libstdc++, all cross targeted to i386-mingw32, along
125 with supporting Win32 libraries in 'coff' format from free sources.
126
127 This package contains cross targeted chill.
128
129 # does this even work?
130 %package java
131 Summary:        Mingw32 GNU Binary Utility Development Utilities - java
132 Group:          Development/Languages
133 Group(de):      Entwicklung/Sprachen
134 Group(pl):      Programowanie/Jêzyki
135 Requires:       %{name} = %{version}
136
137 %description java
138 crossmingw32 is a complete cross-compiling development system for
139 building stand-alone Microsoft Windows applications under Linux using
140 the Mingw32 build libraries. This includes a binutils, gcc with g++
141 and objc, and libstdc++, all cross targeted to i386-mingw32, along
142 with supporting Win32 libraries in 'coff' format from free sources.
143
144 This package contains cross targeted java.
145
146 %prep
147 %setup -q -n gcc-%{version}
148 %patch0 -p1
149 %patch1 -p1
150 %patch2 -p1
151 %patch3 -p1
152 %patch4 -p0
153 %patch5 -p0
154 %patch6 -p0
155 %patch7 -p0
156 %patch8 -p0
157 %patch9 -p0
158 %patch10 -p0
159 %patch11 -p1
160 %ifarch m68k
161 %patch12 -p0
162 %endif
163 %ifarch sparc sparc32
164 %patch13 -p0
165 %patch14 -p0
166 %endif
167 %ifarch ppc
168 %patch15 -p0
169 %patch16 -p0
170 %endif
171 %ifarch alpha
172 %patch17 -p1
173 %endif
174 %patch18 -p0
175 %patch19 -p0
176 %patch20 -p0
177 %patch21 -p1
178
179 %patch22 -p1
180 %patch23 -p1
181 %patch24 -p1
182
183 %build
184 (cd libiberty ; autoconf)
185 (cd gcc
186 autoconf
187 cd ..
188 rm -rf obj-%{target_platform}
189 install -d obj-%{target_platform}
190 cd obj-%{target_platform}
191
192 %{!?debug:CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s"} \
193 %{?debug:CFLAGS="-g -O0" CXXFLAGS="-g -O0" LDFLAGS=""} \
194 ../configure \
195         --prefix=%{_prefix} \
196         --infodir=%{_infodir} \
197         --mandir=%{_mandir} \
198         --bindir=%{arch}/bin \
199         --with-gnu-as \
200         --with-gnu-ld \
201         --with-gxx-include-dir=%{arch}/include/g++ \
202         --target=%{target}
203
204 # to nie dzia³a bo kto¶ ukrad³ gthr-win32.h i nie wiem co tam wpisaæ
205 #       --enable-threads \
206
207 touch ../gcc/c-gperf.h
208
209 %{__make} \
210         %{!?debug:LDFLAGS_FOR_TARGET="-s"}%{?debug:LDFLAGS_FOR_TARGET=""} \
211         TARGET_LIBGCC2_CFLAGS="-UCROSS_COMPILE"
212
213 # build libobjc.dll for Objective C
214 # to trzeba wywo³ywaæ z katalogu obj-%{target_platform}/%{target}/libobjc
215 # ale trzeba podaæ jeszcze GCC_FOR_TARGET - a mi siê nie chce.
216 # BTW, ten dll jest do czego¶ potrzebny???
217 #
218 #make \
219 #       LDFLAGS="-s" \
220 #       TARGET_LIBGCC2_CFLAGS="-UCROSS_COMPILE" \
221 #       DLLTOOL="%{target}-dlltool --as=%{target}-as" libobjc.dll
222
223 # spec files for msvcrt*.dll configurations
224 cd gcc
225 for n in msvcrt msvcrt20 msvcrt40; do
226         sed "s/crtdll/$n/g" <specs | sed "s/crt1/crt2/g" >specs.$n
227 done
228 )
229
230 %install
231 rm -rf $RPM_BUILD_ROOT
232
233 install -d $RPM_BUILD_ROOT%{_bindir}
234 install -d $RPM_BUILD_ROOT%{_datadir}
235 (cd obj-%{target_platform}
236
237 %{__make} install \
238         prefix=$RPM_BUILD_ROOT%{_prefix} \
239         bindir=$RPM_BUILD_ROOT%{arch}/bin \
240         mandir=$RPM_BUILD_ROOT%{_mandir} \
241         infodir=$RPM_BUILD_ROOT%{_infodir} \
242         gxx_include_dir=$RPM_BUILD_ROOT%{arch}/include/g++
243
244 cd gcc
245 install specs.msvcrt specs.msvcrt20 specs.msvcrt40 $RPM_BUILD_ROOT%{gcclib}
246 )
247
248 mv -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-* $RPM_BUILD_ROOT%{_bindir}
249
250 # c++filt is provided by binutils
251 rm -f $RPM_BUILD_ROOT%{_bindir}/i386-mingw32-c++filt
252
253 # what is this there for???
254 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
255
256 # the same... make hardlink
257 ln -f $RPM_BUILD_ROOT%{arch}/bin/gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
258
259 %clean
260 rm -rf $RPM_BUILD_ROOT
261
262 %files
263 %defattr(644,root,root,755)
264 %attr(755,root,root) %{_bindir}/%{target}-gcc
265 %attr(755,root,root) %{_bindir}/%{target}-*protoize
266 %dir %{arch}/bin
267 %attr(755,root,root) %{arch}/bin/cpp
268 %attr(755,root,root) %{arch}/bin/gcc
269 %attr(755,root,root) %{arch}/bin/gcov
270 %{arch}/include/_G_config.h
271 %{arch}/lib/libiberty.a
272 %dir %{gccarch}
273 %dir %{gcclib}
274 %attr(755,root,root) %{gcclib}/cc1
275 %attr(755,root,root) %{gcclib}/cpp0
276 %{gcclib}/SYSCALLS.c.X
277 %{gcclib}/libgcc.a
278 %{gcclib}/specs*
279 %dir %{gcclib}/include
280 %{gcclib}/include/float.h
281 %{gcclib}/include/iso646.h
282 %{gcclib}/include/limits.h
283 %{gcclib}/include/proto.h
284 %{gcclib}/include/stdarg.h
285 %{gcclib}/include/stdbool.h
286 %{gcclib}/include/stddef.h
287 %{gcclib}/include/syslimits.h
288 %{gcclib}/include/varargs.h
289 %{gcclib}/include/va-*.h
290 %{_mandir}/man1/%{target}-gcc.1*
291
292 %files c++
293 %defattr(644,root,root,755)
294 %attr(755,root,root) %{_bindir}/%{target}-[cg]++
295 %{arch}/include/g++
296 %{arch}/lib/libstdc++.a
297 %attr(755,root,root) %{gcclib}/cc1plus
298 %{gcclib}/libstdc++*
299 %{gcclib}/include/new.h
300 %{gcclib}/include/exception
301 %{gcclib}/include/new
302 %{gcclib}/include/typeinfo
303 %{_mandir}/man1/%{target}-g++.1*
304
305 %files objc
306 %defattr(644,root,root,755)
307 %attr(755,root,root) %{gcclib}/cc1obj
308 %{gcclib}/libobjc.a
309 %{gcclib}/include/objc
310
311 %files g77
312 %defattr(644,root,root,755)
313 %attr(755,root,root) %{_bindir}/%{target}-g77
314 %attr(755,root,root) %{gcclib}/f771
315 %{_mandir}/man1/%{target}-g77.1*
316
317 %files chill
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_bindir}/%{target}-chill
320 %attr(755,root,root) %{gcclib}/cc1chill
321 %{gcclib}/chillrt0.o
322 %{gcclib}/libchill.a
323
324 %files java
325 %defattr(644,root,root,755)
326 %attr(755,root,root) %{_bindir}/%{target}-gcj
327 %attr(755,root,root) %{arch}/bin/gcjh
328 %attr(755,root,root) %{arch}/bin/jcf-dump
329 %attr(755,root,root) %{arch}/bin/jv-scan
330 %attr(755,root,root) %{gcclib}/jc1
331 %attr(755,root,root) %{gcclib}/jvgenmain
This page took 0.061865 seconds and 3 git commands to generate.