]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/blob - crossmingw32-gcc.spec
- release 2 (rebuild with isl 0.21)
[packages/crossmingw32-gcc.git] / crossmingw32-gcc.spec
1 #
2 # Conditional build:
3 %bcond_with     bootstrap       # bootstrap build (using binary w32api/mingwrt, no gomp)
4 %bcond_without  gomp            # OpenMP libraries
5 #
6 %if %{with bootstrap}
7 %undefine       with_gomp
8 %endif
9 Summary:        Cross MinGW32 GNU binary utility development utilities - gcc
10 Summary(es.UTF-8):      Utilitarios para desarrollo de binarios de la GNU - MinGW32 gcc
11 Summary(fr.UTF-8):      Utilitaires de développement binaire de GNU - MinGW32 gcc
12 Summary(pl.UTF-8):      Skrośne narzędzia programistyczne GNU dla MinGW32 - gcc
13 Summary(pt_BR.UTF-8):   Utilitários para desenvolvimento de binários da GNU - MinGW32 gcc
14 Summary(tr.UTF-8):      GNU geliştirme araçları - MinGW32 gcc
15 Name:           crossmingw32-gcc
16 Version:        6.5.0
17 Release:        2
18 Epoch:          1
19 License:        GPL v3+
20 Group:          Development/Languages
21 Source0:        https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.xz
22 # Source0-md5:  edaeff1cc020b16a0c19a6d5e80dc2fd
23 %define         w32api_ver      5.0.2
24 Source1:        http://downloads.sourceforge.net/mingw/w32api-%{w32api_ver}-mingw32-dev.tar.xz
25 # Source1-md5:  78aa3ed3964f32aec8c0d40521c40eb8
26 %define         mingw32_ver     5.0.2
27 Source2:        http://downloads.sourceforge.net/mingw/mingwrt-%{mingw32_ver}-mingw32-dev.tar.xz
28 # Source2-md5:  ebb43675d02887e045812debfbabe061
29 Source3:        gcc-optimize-la.pl
30 # svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_6_5_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-6-branch > gcc-branch.diff
31 Patch100:       gcc-branch.diff
32 # Patch100-md5: 5ad5a566cbaf57f985192534e5ef1c32
33 Patch0:         %{name}-buildsystem1.patch
34 Patch1:         %{name}-buildsystem2.patch
35 Patch2:         %{name}-lfs.patch
36 Patch3:         gcc-mingw32.patch
37 Patch4:         gcc-build-libvtv.patch
38 URL:            http://gcc.gnu.org/
39 BuildRequires:  autoconf >= 2.64
40 BuildRequires:  automake >= 1:1.11.1
41 BuildRequires:  bison
42 BuildRequires:  crossmingw32-binutils >= 2.23
43 %{?with_gomp:BuildRequires:     crossmingw32-pthreads-w32}
44 %if %{without bootstrap}
45 BuildRequires:  crossmingw32-runtime >= 3.5
46 BuildRequires:  crossmingw32-w32api >= 3.1
47 %endif
48 BuildRequires:  flex >= 2.5.4
49 BuildRequires:  gettext-tools >= 0.14.5
50 BuildRequires:  gmp-devel >= 4.3.2
51 BuildRequires:  isl-devel >= 0.15
52 BuildRequires:  libmpc-devel >= 0.8.1
53 BuildRequires:  libstdc++-devel
54 BuildRequires:  mpfr-devel >= 2.4.2
55 BuildRequires:  perl-tools-pod
56 BuildRequires:  tar >= 1:1.22
57 BuildRequires:  texinfo >= 4.7
58 BuildRequires:  xz
59 BuildRequires:  zlib-devel
60 BuildConflicts: pdksh < 5.2.14-50
61 Requires:       crossmingw32-binutils >= 2.23
62 Requires:       gcc-dirs
63 Requires:       gmp >= 4.3.2
64 Requires:       isl >= 0.15
65 Requires:       libmpc >= 0.8.1
66 Requires:       mpfr >= 2.4.2
67 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68
69 %define         target          i386-mingw32
70 %define         sysprefix       /usr
71 %define         archprefix      %{sysprefix}/%{target}
72 %define         archbindir      %{archprefix}/bin
73 %define         archincludedir  %{archprefix}/include
74 %define         archlibdir      %{archprefix}/lib
75 %define         gccarchdir      %{_libdir}/gcc/%{target}
76 %define         gcclibdir       %{gccarchdir}/%{version}
77 %define         _dlldir         /usr/share/wine/windows/system
78
79 %define         _noautostrip    .*/lib.*\\.a
80
81 %define         _enable_debug_packages 0
82
83 # functions with printf format attribute but with special parser and also
84 # receiving non constant format strings
85 %define         Werror_cflags   %{nil}
86 %define         _ssp_cflags     %{nil}
87 # -fPIC is not valid for target platform
88 %define         filterout_c     -fPIC
89
90 %description
91 crossmingw32 is a complete cross-compiling development system for
92 building stand-alone Microsoft Windows applications under Linux using
93 the MinGW32 build libraries. This includes a binutils, gcc with g++
94 and objc, and libstdc++, all cross targeted to i386-mingw32, along
95 with supporting Win32 libraries in 'coff' format from free sources.
96
97 This package contains cross targeted gcc.
98
99 %description -l de.UTF-8
100 Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
101 anderem Rechner Code für Win32 zu generieren.
102
103 %description -l pl.UTF-8
104 crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
105 pozwalającym budować aplikacje MS Windows pod Linuksem używając
106 bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
107 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
108 z bibliotek w formacie COFF.
109
110 Ten pakiet zawiera gcc generujące skrośnie kod dla Win32.
111
112 %package -n crossmingw32-libgcc-dll
113 Summary:        libgcc DLL library for Windows
114 Summary(pl.UTF-8):      Biblioteka DLL libgcc dla Windows
115 Group:          Applications/Emulators
116 Requires:       wine
117
118 %description -n crossmingw32-libgcc-dll
119 libgcc DLL library for Windows.
120
121 %description -n crossmingw32-libgcc-dll -l pl.UTF-8
122 Biblioteka DLL libgcc dla Windows.
123
124 %package -n crossmingw32-libatomic
125 Summary:        The GNU Atomic library - cross MinGW32 version
126 Summary(pl.UTF-8):      Biblioteka GNU Atomic - wersja skrośna MinGW32
127 License:        GPL v3+ with GCC Runtime Library Exception v3.1
128 Group:          Development/Libraries
129 Requires:       %{name} = %{epoch}:%{version}-%{release}
130
131 %description -n crossmingw32-libatomic
132 This package contains cross MinGW32 version of the GNU Atomic library
133 which is a GCC support library for atomic operations not supported by
134 hardware.
135
136 %description -n crossmingw32-libatomic -l pl.UTF-8
137 Ten pakiet zawiera wersję skrośną MinGW32 biblioteki GNU Atomic,
138 będącej biblioteką GCC, wspierającej operacje atomowe na sprzęcie ich
139 nie obsługującym.
140
141 %package -n crossmingw32-libatomic-static
142 Summary:        The GNU Atomic static library - cross MinGW32 version
143 Summary(pl.UTF-8):      Statyczna biblioteka GNU Atomic - wersja skrośna MinGW32
144 License:        GPL v3+ with GCC Runtime Library Exception v3.1
145 Group:          Development/Libraries
146 Requires:       crossmingw32-libatomic = %{epoch}:%{version}-%{release}
147
148 %description -n crossmingw32-libatomic-static
149 The GNU Atomic static library - cross MinGW32 version.
150
151 %description -n crossmingw32-libatomic-static
152 Statyczna biblioteka GNU Atomic - wersja skrośna MinGW32.
153
154 %package -n crossmingw32-libatomic-dll
155 Summary:        DLL GNU Atomic library for Windows
156 Summary(pl.UTF-8):      Biblioteka DLL GNU Atomic dla Windows
157 License:        GPL v3+ with GCC Runtime Library Exception v3.1
158 Group:          Applications/Emulators
159 Requires:       wine
160
161 %description -n crossmingw32-libatomic-dll
162 DLL GNU Atomic library for Windows.
163
164 %description -n crossmingw32-libatomic-dll -l pl.UTF-8
165 Biblioteka DLL GNU Atomic dla Windows.
166
167 %package -n crossmingw32-libgomp
168 Summary:        GNU OpenMP library - cross MinGW32 version
169 Summary(pl.UTF-8):      Biblioteka GNU OpenMP - wersja skrośna MinGW32
170 License:        GPL v3+ with GCC Runtime Library Exception v3.1
171 Group:          Development/Libraries
172 Requires:       %{name} = %{epoch}:%{version}-%{release}
173
174 %description -n crossmingw32-libgomp
175 This package contains cross MinGW32 version of GNU OpenMP library.
176
177 %description -n crossmingw32-libgomp -l pl.UTF-8
178 Ten pakiet zawiera wersję skrośną MinGW32 biblioteki GNU OpenMP.
179
180 %package -n crossmingw32-libgomp-static
181 Summary:        Static GNU OpenMP library - cross MinGW32 version
182 Summary(pl.UTF-8):      Statyczna biblioteka GNU OpenMP - wersja skrośna MinGW32
183 License:        GPL v3+ with GCC Runtime Library Exception v3.1
184 Group:          Development/Libraries
185 Requires:       crossmingw32-libgomp = %{epoch}:%{version}-%{release}
186
187 %description -n crossmingw32-libgomp-static
188 Static GNU OpenMP library - cross MinGW32 version.
189
190 %description -n crossmingw32-libgomp-static -l pl.UTF-8
191 Statyczna biblioteka GNU OpenMP - wersja skrośna MinGW32.
192
193 %package -n crossmingw32-libgomp-dll
194 Summary:        DLL GNU OpenMP library for Windows
195 Summary(pl.UTF-8):      Biblioteka DLL GNU OpenMP dla Windows
196 License:        GPL v3+ with GCC Runtime Library Exception v3.1
197 Group:          Applications/Emulators
198 Requires:       crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
199 Requires:       crossmingw32-pthreads-w32-dll
200
201 %description -n crossmingw32-libgomp-dll
202 DLL GNU OpenMP library for Windows.
203
204 %description -n crossmingw32-libgomp-dll -l pl.UTF-8
205 Biblioteka DLL GNU OpenMP dla Windows.
206
207 %package -n crossmingw32-libvtv
208 Summary:        The Virtual Table Verification library - cross MinGW32 version
209 Summary(pl.UTF-8):      Biblioteka Virtual Table Verification do weryfikacji tablicy wirtualnej - wersja skrośna MinGW32
210 License:        GPL v3+ with GCC Runtime Library Exception v3.1
211 Group:          Development/Libraries
212 URL:            https://gcc.gnu.org/wiki/vtv
213 Requires:       %{name} = %{epoch}:%{version}-%{release}
214
215 %description -n crossmingw32-libvtv
216 This package contains cross MinGW32 version of the Virtual Table
217 Verification library which is used for -fvtable-verify=...
218 instrumented programs.
219
220 %description -n crossmingw32-libvtv -l pl.UTF-8
221 Ten pakiet zawiera wersję skrośną MinGW32 biblioteki Virtual Table
222 Verification, służącej do weryfikacji tablicy wirtualnej w programach
223 kompilowanych z opcją -fvtable-verify=....
224
225 %package -n crossmingw32-libvtv-static
226 Summary:        The Virtual Table Verification static library - cross MinGW32 version
227 Summary(pl.UTF-8):      Statyczna biblioteka Virtual Table Verification - wersja skrośna MinGW32
228 License:        GPL v3+ with GCC Runtime Library Exception v3.1
229 Group:          Development/Libraries
230 URL:            https://gcc.gnu.org/wiki/vtv
231 Requires:       crossmingw32-libvtv = %{epoch}:%{version}-%{release}
232
233 %description -n crossmingw32-libvtv-static
234 The Virtual Table Verification static library - cross MinGW32 version.
235
236 %description -n crossmingw32-libvtv-static -l pl.UTF-8
237 Statyczna biblioteka Virtual Table Verification - wersja skrośna
238 MinGW32.
239
240 %package -n crossmingw32-libvtv-dll
241 Summary:        DLL Virtual Table Verification libraries for Windows
242 Summary(pl.UTF-8):      Biblioteki DLL Virtual Table Verification dla Windows
243 License:        GPL v3+ with GCC Runtime Library Exception v3.1
244 Group:          Applications/Emulators
245 URL:            https://gcc.gnu.org/wiki/vtv
246 Requires:       crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
247
248 %description -n crossmingw32-libvtv-dll
249 DLL Virtual Table Verification libraries for Windows.
250
251 %description -n crossmingw32-libvtv-dll -l pl.UTF-8
252 Biblioteki DLL Virtual Table Verification dla Windows.
253
254 %package c++
255 Summary:        MinGW32 binary utility development utilities - g++
256 Summary(pl.UTF-8):      Zestaw narzędzi MinGW32 - g++
257 Group:          Development/Languages
258 Requires:       %{name} = %{epoch}:%{version}-%{release}
259
260 %description c++
261 crossmingw32 is a complete cross-compiling development system for
262 building stand-alone Microsoft Windows applications under Linux using
263 the MinGW32 build libraries. This includes a binutils, gcc with g++
264 and objc, and libstdc++, all cross targeted to i386-mingw32, along
265 with supporting Win32 libraries in 'coff' format from free sources.
266
267 This package contains cross targeted g++ and (static) libstdc++.
268
269 %description c++ -l pl.UTF-8
270 crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
271 pozwalającym budować aplikacje MS Windows pod Linuksem używając
272 bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
273 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
274 z bibliotek w formacie COFF.
275
276 Ten pakiet zawiera g++ generujące kod pod Win32 oraz bibliotekę
277 libstdc++.
278
279 %package -n crossmingw32-libstdc++-static
280 Summary:        Static standard C++ library - cross MinGW32 version
281 Summary(pl.UTF-8):      Statyczna biblioteka standardowa C++ - wersja skrośna MinGW32
282 Group:          Development/Libraries
283 Requires:       %{name}-c++ = %{epoch}:%{version}-%{release}
284
285 %description -n crossmingw32-libstdc++-static
286 Static standard C++ library - cross MinGW32 version.
287
288 %description -n crossmingw32-libstdc++-static -l pl.UTF-8
289 Statyczna biblioteka standardowa C++ - wersja skrośna MinGW32.
290
291 %package -n crossmingw32-libstdc++-dll
292 Summary:        libstdc++ DLL library for Windows
293 Summary(pl.UTF-8):      Biblioteka DLL libstdc++ dla Windows
294 Group:          Applications/Emulators
295 Requires:       crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
296 Requires:       wine
297
298 %description -n crossmingw32-libstdc++-dll
299 libstdc++ DLL library for Windows.
300
301 %description -n crossmingw32-libstdc++-dll -l pl.UTF-8
302 Biblioteka DLL libstdc++ dla Windows.
303
304 %package objc
305 Summary:        MinGW32 binary utility development utilities - objc
306 Summary(pl.UTF-8):      Zestaw narzędzi MinGW32 - objc
307 Group:          Development/Languages
308 Requires:       %{name} = %{epoch}:%{version}-%{release}
309
310 %description objc
311 crossmingw32 is a complete cross-compiling development system for
312 building stand-alone Microsoft Windows applications under Linux using
313 the MinGW32 build libraries. This includes a binutils, gcc with g++
314 and objc, and libstdc++, all cross targeted to i386-mingw32, along
315 with supporting Win32 libraries in 'coff' format from free sources.
316
317 This package contains cross targeted objc compiler.
318
319 %description objc -l pl.UTF-8
320 crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
321 pozwalającym budować aplikacje MS Windows pod Linuksem używając
322 bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
323 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
324 z bibliotek w formacie COFF.
325
326 Ten pakiet zawiera kompilator objc generujący kod pod Win32.
327
328 %package objc++
329 Summary:        MinGW32 binary utility development utilities - objc++
330 Summary(pl.UTF-8):      Zestaw narzędzi MinGW32 - objc++
331 Group:          Development/Languages
332 Requires:       %{name}-objc = %{epoch}:%{version}-%{release}
333
334 %description objc++
335 crossmingw32 is a complete cross-compiling development system for
336 building stand-alone Microsoft Windows applications under Linux using
337 the MinGW32 build libraries. This includes a binutils, gcc with g++
338 and objc, and libstdc++, all cross targeted to i386-mingw32, along
339 with supporting Win32 libraries in 'coff' format from free sources.
340
341 This package contains Objective C++ support.
342
343 %description objc++ -l pl.UTF-8
344 crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
345 pozwalającym budować aplikacje MS Windows pod Linuksem używając
346 bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
347 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
348 z bibliotek w formacie COFF.
349
350 Ten pakiet zawiera obsługę języka Objective C++.
351
352 %package -n crossmingw32-libobjc-static
353 Summary:        Static Objective C library - cross MinGW32 version
354 Summary(pl.UTF-8):      Statyczna biblioteka Objective C - wersja skrośna MinGW32
355 Group:          Development/Libraries
356 Requires:       %{name}-objc = %{epoch}:%{version}-%{release}
357
358 %description -n crossmingw32-libobjc-static
359 Static Objective C library - cross MinGW32 version.
360
361 %description -n crossmingw32-libobjc-static -l pl.UTF-8
362 Statyczna biblioteka Objective C - wersja skrośna MinGW32.
363
364 %package -n crossmingw32-libobjc-dll
365 Summary:        libobjc DLL library for Windows
366 Summary(pl.UTF-8):      Biblioteka DLL libobjc dla Windows
367 Group:          Applications/Emulators
368 Requires:       crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
369 Requires:       wine
370
371 %description -n crossmingw32-libobjc-dll
372 libobjc DLL library for Windows.
373
374 %description -n crossmingw32-libobjc-dll -l pl.UTF-8
375 Biblioteka DLL libobjc dla Windows.
376
377 %package fortran
378 Summary:        MinGW32 binary utility development utilities - Fortran
379 Summary(pl.UTF-8):      Zestaw narzędzi MinGW32 - Fortran
380 Group:          Development/Languages
381 Requires:       %{name} = %{epoch}:%{version}-%{release}
382 Requires:       crossmingw32-libquadmath = %{epoch}:%{version}-%{release}
383 Obsoletes:      crossmingw32-gcc-g77
384
385 %description fortran
386 crossmingw32 is a complete cross-compiling development system for
387 building stand-alone Microsoft Windows applications under Linux using
388 the MinGW32 build libraries. This includes a binutils, gcc with g++
389 and objc, and libstdc++, all cross targeted to i386-mingw32, along
390 with supporting Win32 libraries in 'coff' format from free sources.
391
392 This package contains cross targeted Fortran compiler.
393
394 %description fortran -l pl.UTF-8
395 crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
396 pozwalającym budować aplikacje MS Windows pod Linuksem używając
397 bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
398 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
399 z bibliotek w formacie COFF.
400
401 Ten pakiet zawiera kompilator Fortranu generujący kod pod Win32.
402
403 %package -n crossmingw32-libgfortran-static
404 Summary:        Static Fortran library - cross MinGW32 version
405 Summary(pl.UTF-8):      Statyczna biblioteka Fortranu - wersja skrośna MinGW32
406 Group:          Development/Libraries
407 Requires:       %{name}-fortran = %{epoch}:%{version}-%{release}
408
409 %description -n crossmingw32-libgfortran-static
410 Static Fortran library - cross MinGW32 version.
411
412 %description -n crossmingw32-libgfortran-static -l pl.UTF-8
413 Statyczna biblioteka Fortranu - wersja skrośna MinGW32.
414
415 %package -n crossmingw32-libgfortran-dll
416 Summary:        libgfortran DLL library for Windows
417 Summary(pl.UTF-8):      Biblioteka DLL libgfortran dla Windows
418 Group:          Applications/Emulators
419 Requires:       crossmingw32-libquadmath-dll
420
421 %description -n crossmingw32-libgfortran-dll
422 libgfortran DLL library for Windows.
423
424 %description -n crossmingw32-libgfortran-dll -l pl.UTF-8
425 Biblioteka DLL libgfortran dla Windows.
426
427 %package -n crossmingw32-libquadmath
428 Summary:        GCC __float128 support library - cross MinGW32 version
429 Summary(pl.UTF-8):      Biblioteka do obsługi typu __float128 - wersja skrośna MinGW32
430 License:        GPL v2+ with linking exception
431 Group:          Development/Libraries
432 Requires:       %{name} = %{epoch}:%{version}-%{release}
433
434 %description -n crossmingw32-libquadmath
435 This package contains cross MinGW32 version of GCC support library
436 which is needed for __float128 math support and for Fortran REAL*16
437 support.
438
439 %description -n crossmingw32-libquadmath -l pl.UTF-8
440 Ten pakiet zawiera wersję skrośną MinGW32 biblioteki GCC do obsługi
441 operacji matematycznych na zmiennych typu __float128 oraz typu REAL*16
442 w Fortranie.
443
444 %package -n crossmingw32-libquadmath-static
445 Summary:        Static GCC __float128 support library - cross MinGW32 version
446 Summary(pl.UTF-8):      Biblioteka statyczna GCC do obsługi typu __float128 - wersja skrośna MinGW32
447 License:        GPL v2+ with linking exception
448 Group:          Development/Libraries
449 Requires:       crossmingw32-libquadmath = %{epoch}:%{version}-%{release}
450
451 %description -n crossmingw32-libquadmath-static
452 Static GCC __float128 support library - cross MinGW32 version.
453
454 %description -n crossmingw32-libquadmath-static -l pl.UTF-8
455 Biblioteka statyczna GCC do obsługi typu __float128 - wersja skrośna
456 MinGW32.
457
458 %package -n crossmingw32-libquadmath-dll
459 Summary:        DLL GCC __float128 support library for Windows
460 Summary(pl.UTF-8):      Biblioteka DLL GCC do obsługi typu __float128 dla Windows
461 License:        GPL v2+ with linking exception
462 Group:          Applications/Emulators
463 Requires:       wine
464
465 %description -n crossmingw32-libquadmath-dll
466 DLL GCC __float128 support library for Windows.
467
468 %description -n crossmingw32-libquadmath-dll -l pl.UTF-8
469 Biblioteka DLL GCC do obsługi typu __float128 dla Windows.
470
471 %package java
472 Summary:        MinGW32 binary utility development utilities - Java
473 Summary(pl.UTF-8):      Zestaw narzędzi MinGW32 - Java
474 Group:          Development/Languages
475 Requires:       %{name} = %{epoch}:%{version}-%{release}
476
477 %description java
478 crossmingw32 is a complete cross-compiling development system for
479 building stand-alone Microsoft Windows applications under Linux using
480 the MinGW32 build libraries. This includes a binutils, gcc with g++
481 and objc, and libstdc++, all cross targeted to i386-mingw32, along
482 with supporting Win32 libraries in 'coff' format from free sources.
483
484 This package contains cross targeted Java compiler.
485
486 %description java -l pl.UTF-8
487 crossmingw32 jest kompletnym systemem do kompilacji skrośnej,
488 pozwalającym budować aplikacje MS Windows pod Linuksem używając
489 bibliotek MinGW32. System składa się z binutils, gcc z g++ i objc,
490 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32, oraz
491 z bibliotek w formacie COFF.
492
493 Ten pakiet zawiera kompilator Javy generujący kod pod Win32.
494
495 %prep
496 %setup -q -n gcc-%{version}
497 %patch100 -p0
498 %patch0 -p1
499 %patch2 -p1
500 %patch3 -p1
501 %patch4 -p1
502
503 %if %{with bootstrap}
504 # note: "winsup" dirs are special, handled by gcc's configure
505 install -d winsup/{mingw,w32api}
506 tar xf %{SOURCE1} -C winsup/w32api
507 tar xf %{SOURCE2} -C winsup/mingw
508 %endif
509
510 # override snapshot version.
511 echo %{version} > gcc/BASE-VER
512 echo "release" > gcc/DEV-PHASE
513
514 %build
515 cd libvtv
516 %{__aclocal} -I .. -I ../config
517 %{__autoconf}
518 %{__automake}
519 cd ..
520
521 rm -rf builddir && install -d builddir && cd builddir
522 %if %{with bootstrap}
523 install -d %{target}/winsup
524 ln -sf ../../../winsup/mingw/lib %{target}/winsup/mingw
525 ln -sf ../../../winsup/w32api %{target}/winsup/w32api
526 WINSUPDIR=$(cd ..; pwd)/winsup
527 %endif
528
529 # note: libbacktrace requires at least i486 now
530 CC="%{__cc}" \
531 CFLAGS="%{rpmcflags}" \
532 CXXFLAGS="%{rpmcxxflags}" \
533 TEXCONFIG=false \
534 CFLAGS_FOR_TARGET="-O2 -march=i486" \
535 CXXFLAGS_FOR_TARGET="-O2 -march=i486" \
536 ../configure \
537         --prefix=%{sysprefix} \
538         --bindir=%{archbindir} \
539         --libdir=%{_libdir} \
540         --includedir=%{archincludedir} \
541         --libexecdir=%{_libdir} \
542         --infodir=%{_infodir} \
543         --mandir=%{_mandir} \
544         --with-bugurl="http://bugs.pld-linux.org" \
545         --with-build-time-tools=%{archbindir} \
546         %{!?with_bootstrap:--with-headers=%{archincludedir}} \
547         --with-libs=%{!?with_bootstrap:%{archlibdir}}%{?with_bootstrap:${WINSUPDIR}/mingw/lib} \
548         --with-demangler-in-ld \
549         --with-dwarf2 \
550         --with-gnu-as \
551         --with-gnu-ld \
552         --with-long-double-128 \
553         --with-pkgversion="PLD-Linux" \
554         --enable-c99 \
555         --enable-fully-dynamic-string \
556         --disable-isl-version-check \
557         --enable-languages="c,c++,fortran,java,objc,obj-c++" \
558         --disable-libcc1 \
559         --enable-libgomp%{!?with_gomp:=no} \
560         --disable-libssp \
561         --enable-libstdcxx-allocator=new \
562         --enable-linker-build-id \
563         --enable-long-long \
564         --enable-lto \
565         --disable-multilib \
566         --disable-nls \
567         --enable-shared \
568         --disable-sjlj-exceptions \
569         --disable-symvers \
570         --enable-threads \
571         --disable-werror \
572         --disable-win32-registry \
573         --target=%{target}
574
575 cd ..
576 %{__make} -C builddir all-host
577 patch -p1 <%{PATCH1}
578 %{__make} -C builddir
579
580 %install
581 rm -rf $RPM_BUILD_ROOT
582 install -d $RPM_BUILD_ROOT%{_bindir}
583
584 %{__make} -C builddir install \
585         DESTDIR=$RPM_BUILD_ROOT
586
587 %{__mv} $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/{limits,syslimits}.h $RPM_BUILD_ROOT%{gcclibdir}/include
588 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
589 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
590
591 # these must be symlinks: gcclibdir is calculated relatively to real binary path
592 ln -sf %{archbindir}/%{target}-gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
593 ln -sf %{archbindir}/%{target}-g++ $RPM_BUILD_ROOT%{_bindir}/%{target}-g++
594 ln -sf %{archbindir}/%{target}-cpp $RPM_BUILD_ROOT%{_bindir}/%{target}-cpp
595 ln -sf %{archbindir}/%{target}-gcov $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov
596 ln -sf %{archbindir}/%{target}-gcov-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-dump
597 ln -sf %{archbindir}/%{target}-gcov-tool $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov-tool
598 ln -sf %{archbindir}/%{target}-gcj $RPM_BUILD_ROOT%{_bindir}/%{target}-gcj
599 ln -sf %{archbindir}/%{target}-jcf-dump $RPM_BUILD_ROOT%{_bindir}/%{target}-jcf-dump
600 ln -sf %{archbindir}/%{target}-gfortran $RPM_BUILD_ROOT%{_bindir}/%{target}-gfortran
601
602 # DLLs
603 install -d $RPM_BUILD_ROOT%{_dlldir}
604 %{__mv} $RPM_BUILD_ROOT%{archlibdir}/*.dll $RPM_BUILD_ROOT%{_dlldir}
605 if [ ! -f $RPM_BUILD_ROOT%{_dlldir}/libgcc_s_dw2-1.dll ]; then
606         echo "libgcc DLL not installed?"
607         install builddir/i386-mingw32/libgcc/shlib/libgcc_s_dw2-1.dll $RPM_BUILD_ROOT%{_dlldir}
608 fi
609
610 %if 0%{!?debug:1}
611 %{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
612 %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{archlibdir}/lib*.a
613 %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{gcclibdir}/lib*.a
614 %endif
615
616 # avoid -L poisoning in *.la
617 for f in libatomic.la libgfortran.la libobjc.la libquadmath.la %{?with_gomp:libgomp.la} ; do
618         file="$RPM_BUILD_ROOT%{archlibdir}/$f"
619         %{__perl} %{SOURCE3} "$file" %{gcclibdir} >"${file}.fixed"
620         %{__mv} "${file}.fixed" "$file"
621 done
622 for f in libcaf_single.la ; do
623         file="$RPM_BUILD_ROOT%{gcclibdir}/$f"
624         %{__perl} %{SOURCE3} "$file" %{gcclibdir} >"${file}.fixed"
625         %{__mv} "${file}.fixed" "$file"
626 done
627
628 # for pretty-printers see native gcc
629 %{__rm} $RPM_BUILD_ROOT%{archlibdir}/libstdc++.dll.a-gdb.py
630 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx
631 # no plugin development for mingw32 (at least for now)
632 %{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la
633 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/plugin
634 # already in native gcc
635 %{__rm} -r $RPM_BUILD_ROOT%{_infodir}
636 # common FSF man pages
637 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/{fsf-funding,gfdl,gpl}.7
638 # programs not packaged
639 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/%{target}-{aot-compile,gc-analyze,gcj-dbtool,gij,grmic,jv-convert,rebuild-gcj-db}.1
640
641 %clean
642 rm -rf $RPM_BUILD_ROOT
643
644 %files
645 %defattr(644,root,root,755)
646 %attr(755,root,root) %{_bindir}/%{target}-gcc
647 %attr(755,root,root) %{_bindir}/%{target}-cpp
648 %attr(755,root,root) %{_bindir}/%{target}-gcov
649 %attr(755,root,root) %{_bindir}/%{target}-gcov-dump
650 %attr(755,root,root) %{_bindir}/%{target}-gcov-tool
651 %attr(755,root,root) %{archbindir}/%{target}-gcc
652 %attr(755,root,root) %{archbindir}/%{target}-gcc-%{version}
653 %attr(755,root,root) %{archbindir}/%{target}-gcc-ar
654 %attr(755,root,root) %{archbindir}/%{target}-gcc-nm
655 %attr(755,root,root) %{archbindir}/%{target}-gcc-ranlib
656 %attr(755,root,root) %{archbindir}/%{target}-cpp
657 %attr(755,root,root) %{archbindir}/%{target}-gcov
658 %attr(755,root,root) %{archbindir}/%{target}-gcov-dump
659 %attr(755,root,root) %{archbindir}/%{target}-gcov-tool
660 %{archlibdir}/libgcc_s.a
661 %dir %{gccarchdir}
662 %dir %{gcclibdir}
663 %attr(755,root,root) %{gcclibdir}/cc1
664 %attr(755,root,root) %{gcclibdir}/collect2
665 %attr(755,root,root) %{gcclibdir}/lto-wrapper
666 %attr(755,root,root) %{gcclibdir}/lto1
667 %attr(755,root,root) %{gcclibdir}/liblto_plugin.so*
668 %{gcclibdir}/libgcc.a
669 %{gcclibdir}/libgcc_eh.a
670 %{gcclibdir}/libgcov.a
671 %{gcclibdir}/crtbegin.o
672 %{gcclibdir}/crtend.o
673 %{gcclibdir}/crtfastmath.o
674 %dir %{gcclibdir}/include
675 %{gcclibdir}/include/*.h
676 %{_mandir}/man1/%{target}-cpp.1*
677 %{_mandir}/man1/%{target}-gcc.1*
678 %{_mandir}/man1/%{target}-gcov.1*
679 %{_mandir}/man1/%{target}-gcov-dump.1*
680 %{_mandir}/man1/%{target}-gcov-tool.1*
681
682 %files -n crossmingw32-libgcc-dll
683 %defattr(644,root,root,755)
684 %{_dlldir}/libgcc_s_dw2-1.dll
685
686 %files -n crossmingw32-libatomic
687 %defattr(644,root,root,755)
688 %{archlibdir}/libatomic.dll.a
689 %{archlibdir}/libatomic.la
690
691 %files -n crossmingw32-libatomic-static
692 %defattr(644,root,root,755)
693 %{archlibdir}/libatomic.a
694
695 %files -n crossmingw32-libatomic-dll
696 %defattr(644,root,root,755)
697 %{_dlldir}/libatomic-1.dll
698
699 %if %{with gomp}
700 %files -n crossmingw32-libgomp
701 %defattr(644,root,root,755)
702 %{archlibdir}/libgomp.dll.a
703 %{archlibdir}/libgomp.la
704 %{archlibdir}/libgomp.spec
705
706 %files -n crossmingw32-libgomp-static
707 %defattr(644,root,root,755)
708 %{archlibdir}/libgomp.a
709
710 %files -n crossmingw32-libgomp-dll
711 %defattr(644,root,root,755)
712 %{_dlldir}/libgomp-1.dll
713 %endif
714
715 %files -n crossmingw32-libvtv
716 %defattr(644,root,root,755)
717 %{archlibdir}/libvtv.dll.a
718 %{archlibdir}/libvtv.la
719 %{archlibdir}/libvtv_stubs.dll.a
720 %{archlibdir}/libvtv_stubs.la
721
722 %files -n crossmingw32-libvtv-static
723 %defattr(644,root,root,755)
724 %{archlibdir}/libvtv.a
725 %{archlibdir}/libvtv_stubs.a
726
727 %files -n crossmingw32-libvtv-dll
728 %defattr(644,root,root,755)
729 %{_dlldir}/libvtv-0.dll
730 %{_dlldir}/libvtv_stubs-0.dll
731
732 %files c++
733 %defattr(644,root,root,755)
734 %attr(755,root,root) %{_bindir}/%{target}-g++
735 %attr(755,root,root) %{archbindir}/%{target}-c++
736 %attr(755,root,root) %{archbindir}/%{target}-g++
737 %attr(755,root,root) %{gcclibdir}/cc1plus
738 %{archlibdir}/libstdc++.dll.a
739 %{archlibdir}/libstdc++.la
740 %{archlibdir}/libsupc++.la
741 %{archlibdir}/libsupc++.a
742 %{archincludedir}/c++
743 %{_mandir}/man1/%{target}-g++.1*
744
745 %files -n crossmingw32-libstdc++-static
746 %defattr(644,root,root,755)
747 %{archlibdir}/libstdc++.a
748
749 %files -n crossmingw32-libstdc++-dll
750 %defattr(644,root,root,755)
751 %{_dlldir}/libstdc++-6.dll
752
753 %files objc
754 %defattr(644,root,root,755)
755 %doc libobjc/README
756 %attr(755,root,root) %{gcclibdir}/cc1obj
757 %{archlibdir}/libobjc.dll.a
758 %{archlibdir}/libobjc.la
759 %{gcclibdir}/include/objc
760
761 %files objc++
762 %defattr(644,root,root,755)
763 %doc gcc/objcp/ChangeLog
764 %attr(755,root,root) %{gcclibdir}/cc1objplus
765
766 %files -n crossmingw32-libobjc-static
767 %defattr(644,root,root,755)
768 %{archlibdir}/libobjc.a
769
770 %files -n crossmingw32-libobjc-dll
771 %defattr(644,root,root,755)
772 %{_dlldir}/libobjc-4.dll
773
774 %files fortran
775 %defattr(644,root,root,755)
776 %attr(755,root,root) %{_bindir}/%{target}-gfortran
777 %attr(755,root,root) %{archbindir}/%{target}-gfortran
778 %attr(755,root,root) %{gcclibdir}/f951
779 %{archlibdir}/libgfortran.dll.a
780 %{archlibdir}/libgfortran.la
781 %{archlibdir}/libgfortran.spec
782 %{gcclibdir}/finclude
783 %{gcclibdir}/libcaf_single.a
784 %{gcclibdir}/libcaf_single.la
785 %{_mandir}/man1/%{target}-gfortran.1*
786
787 %files -n crossmingw32-libgfortran-static
788 %defattr(644,root,root,755)
789 %{archlibdir}/libgfortran.a
790
791 %files -n crossmingw32-libgfortran-dll
792 %defattr(644,root,root,755)
793 %{_dlldir}/libgfortran-3.dll
794
795 %files -n crossmingw32-libquadmath
796 %defattr(644,root,root,755)
797 %{archlibdir}/libquadmath.dll.a
798 %{archlibdir}/libquadmath.la
799
800 %files -n crossmingw32-libquadmath-static
801 %defattr(644,root,root,755)
802 %{archlibdir}/libquadmath.a
803
804 %files -n crossmingw32-libquadmath-dll
805 %defattr(644,root,root,755)
806 %{_dlldir}/libquadmath-0.dll
807
808 %files java
809 %defattr(644,root,root,755)
810 %attr(755,root,root) %{_bindir}/%{target}-gcj
811 %attr(755,root,root) %{_bindir}/%{target}-jcf-dump
812 %attr(755,root,root) %{archbindir}/%{target}-gcj
813 %attr(755,root,root) %{archbindir}/%{target}-jcf-dump
814 %attr(755,root,root) %{gcclibdir}/jc1
815 %attr(755,root,root) %{gcclibdir}/jvgenmain
816 %{_mandir}/man1/%{target}-gcj.1*
817 %{_mandir}/man1/%{target}-jcf-dump.1*
This page took 0.091164 seconds and 4 git commands to generate.