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