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