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