]> git.ipfire.org Git - people/amarx/ipfire-3.x.git/blame - gcc/gcc.nm
strongswan: update to 5.5.0
[people/amarx/ipfire-3.x.git] / gcc / gcc.nm
CommitLineData
166a6c21 1###############################################################################
802ea3af
MT
2# IPFire.org - An Open Source Firewall Solution #
3# Copyright (C) - IPFire Development Team <info@ipfire.org> #
166a6c21
MT
4###############################################################################
5
b57a0ea8
MT
6# Configure build to compile with graphite
7build_graphite = 1
166a6c21 8
802ea3af 9name = gcc
e7f6415c 10version = 5.3.0
00c77389 11release = 1
f0d77f5d 12
802ea3af
MT
13maintainer = Michael Tremer <michael.tremer@ipfire.org>
14groups = Development/Compilers
15url = http://gcc.gnu.org/
16license = GPLv3+ and GPLv2+ with exceptions
17summary = Various compilers (C, C++, Objective-C, Java, ...).
166a6c21 18
802ea3af 19description
166a6c21
MT
20 The gcc package contains the GNU Compiler Collection. \
21 You'll need this package in order to compile C code.
802ea3af
MT
22end
23
24# This is the at least required version of binutils.
513f8ca4 25binutils_version = 2.24
802ea3af 26
de58ea22 27source_dl = http://ftp.gnu.org/gnu/gcc/%{thisapp}/
513f8ca4 28source_dl += ftp://gcc.gnu.org/pub/gcc/infrastructure/
802ea3af
MT
29sources = %{thisapp}.tar.gz
30
802ea3af
MT
31build
32 requires
33 autogen
513f8ca4 34 binutils >= %{binutils_version}
802ea3af
MT
35 dejagnu
36 elfutils-devel
37 expect
7e981e59 38 filesystem >= 002
802ea3af 39 flex
e0e5b1d5 40 glibc-devel >= 2.16
802ea3af
MT
41 gmp-devel
42 libffi-devel
b57a0ea8 43 libmpc-devel >= 0.8.1
802ea3af 44 mpfr-devel
4de56d3e 45 perl
802ea3af
MT
46 texinfo
47 zlib-devel
48 end
49
b57a0ea8
MT
50 # If graphite support is enabled, we require the devel packages for build.
51 if "%{build_graphite}" == "1"
52 requires += isl-devel >= 0.14
802ea3af
MT
53 end
54
56c0b63c
MT
55 # Build libquadmath (only on x86).
56 build_libquadmath = 0
57
513f8ca4
MT
58 # Build liblsan (only on x86_64).
59 build_liblsan = 0
60
00c77389
MT
61 # Build libtasn (only on x86_64).
62 build_libtsan = 0
63
b57a0ea8
MT
64 # Build libubsan
65 build_libubsan = 0
66
513f8ca4
MT
67 # Build libcilkrts (only x86)
68 build_libcilkrts = 0
69
802ea3af
MT
70 # A couple of configure arguments depending on the architecture and
71 # configuration.
72 configure_options =
73
7bc68234
MT
74 make_bootstrap = profiledbootstrap
75
802ea3af
MT
76 if "%{DISTRO_ARCH}" == "x86_64"
77 configure_options = --disable-multilib
56c0b63c
MT
78
79 build_libquadmath = 1
513f8ca4 80 build_liblsan = 1
00c77389 81 build_libtsan = 1
b57a0ea8 82 build_libubsan = 1
513f8ca4 83 build_libcilkrts = 1
802ea3af
MT
84 end
85
86 if "%{DISTRO_ARCH}" == "i686"
87 configure_options = --with-arch=%{DISTRO_ARCH} --with-tune=generic
56c0b63c
MT
88
89 build_libquadmath = 1
b57a0ea8 90 build_libubsan = 1
513f8ca4 91 build_libcilkrts = 1
802ea3af
MT
92 end
93
b57a0ea8
MT
94 if "%{DISTRO_ARCH}" == "aarch64"
95 build_libubsan = 1
66e276de
MT
96 end
97
1a7bf898 98 if "%{DISTRO_ARCH}" == "armv7hl"
dc788393
MT
99 make_bootstrap = bootstrap
100
56c0b63c
MT
101 configure_options += --disable-sjlj-exceptions
102
103 configure_options += \
56c0b63c
MT
104 --with-tune=cortex-a8 \
105 --with-arch=armv7-a \
106 --with-float=hard \
107 --with-fpu=vfpv3-d16 \
108 --with-abi=aapcs-linux
b57a0ea8
MT
109
110 build_libubsan = 1
56c0b63c
MT
111 end
112
b57a0ea8
MT
113 if "%{DISTRO_ARCH}" == "armv5tel"
114 make_bootstrap = bootstrap
115
116 configure_options += --disable-sjlj-exceptions
117 configure_options += --with-float=soft
118
119 build_libubsan = 1
120 end
121
122 if "%{build_graphite}" == "1"
513f8ca4 123 configure_options += \
b57a0ea8 124 --with-isl
802ea3af
MT
125 end
126
127 # CFLAGS for hardening.
00c77389 128 HARD_CFLAGS = -DENABLE_ESP -DEFAULT_PIE_SSP -DEFAULT_RELRO -DEFAULT_BIND_NOW
802ea3af
MT
129
130 prepare_cmds
131 mkdir -v %{DIR_SRC}/gcc-build
132
133 # Remove unneeded features that will save some compile time
134 rm -rf lib{gfortran,java,objc} gcc/{fortran,java,objc,objcp}
135
136 # Apply a sed substitution that will suppress the installation of
137 # libiberty.a. The version of libiberty.a provided by Binutils will be used
138 # instead:
139 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
140
141 # Branding gcc
142 echo "%{DISTRO_NAME} %{version}-%{release}" > gcc/DEV-PHASE
143
144 # Libgomp uses -Werror regardless of --disable-werror, and this will cause a
145 # build failure when -D_FORTIFY_SOURCE=2 causes build time warnings:
146 sed -e "s/-Werror//" -i libgomp/configure
147
148 # The fixincludes script is known to occasionally erroneously attempt to
149 # "fix" the system headers installed so far. As the headers up to this point
150 # are known to not require fixing, issue the following command to prevent
151 # the fixincludes script from running:
152 sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
153
154 sed -i gcc/Makefile.in \
155 -e "s/-fno-exceptions/& -fno-asynchronous-unwind-tables/"
156
157 # we want to be able to control the pie patch logic via something other
4de56d3e 158 # than ALL_CFLAGS and ALL_CXXFLAGS...
802ea3af 159 sed -i gcc/Makefile.in \
00c77389 160 -e '/^ALL_CFLAGS/iHARD_CFLAGS = %{HARD_CFLAGS}' \
4de56d3e 161 -e 's|^ALL_CFLAGS = |ALL_CFLAGS = $(HARD_CFLAGS) |' \
00c77389 162 -e '/^ALL_CXXFLAGS/iHARD_CFLAGS = %{HARD_CFLAGS}' \
4de56d3e 163 -e 's|^ALL_CXXFLAGS = |ALL_CXXFLAGS = $(HARD_CFLAGS) |'
802ea3af 164
4de56d3e
MT
165 # However, genautomata crashes with a "Bus Error" when compiled
166 # with PIC.
802ea3af 167 sed -i gcc/Makefile.in \
4de56d3e 168 -e 's|^build/genautomata$(build_exeext) .*|& -fno-PIC|'
802ea3af 169
56c0b63c
MT
170 # Default to -gdwarf-4 -fno-debug-types-section rather than -gdwarf-2
171 sed -i gcc/common.opt \
172 -e '/UInteger Var(dwarf_version)/s/Init(2)/Init(4)/' \
173 -e '/flag_debug_types_section/s/Init(1)/Init(0)/' \
174 -e '/dwarf_record_gcc_switches/s/Init(0)/Init(1)/' \
175 -e 's/\(may be either 2, 3 or 4; the default version is \)2\./\14./'
176
00c77389 177 #./contrib/gcc_update --touch
802ea3af
MT
178 end
179
b57a0ea8
MT
180 export CC=gcc
181 export CXX=g++
182
802ea3af
MT
183 build
184 cd %{DIR_SRC}/gcc-build
185
186 # Modify CFLAGS
802ea3af
MT
187 CFLAGS="%{CFLAGS}"
188 CFLAGS=$(echo ${CFLAGS} | sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g')
b57a0ea8 189 CFLAGS=$(echo ${CFLAGS} | sed -e 's/-Werror=format-security//g')
802ea3af 190 CFLAGS=$(echo ${CFLAGS} | sed -e 's/-m64//g;s/-m32//g;s/-m31//g')
513f8ca4 191 CFLAGS=$(echo ${CFLAGS} | sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g')
56c0b63c
MT
192 CFLAGS=$(echo ${CFLAGS} | sed -e 's/-march=i.86//g')
193 CFLAGS=$(echo ${CFLAGS} | sed -e 's/ -pipe / /g')
802ea3af
MT
194 CFLAGS=$(echo "${CFLAGS}" | sed -e 's/[[:blank:]]\+/ /g')
195 CXXFLAGS=$(echo ${CFLAGS} | sed -e 's/ -Wall//g')
513f8ca4 196 CXXFLAGS=$(echo ${CXXFLAGS} | sed -e 's/ -fexceptions / /g')
b57a0ea8 197 #CXXFLAGS=$(echo ${CXXFLAGS} | sed -e 's/ -Werror=format-security / -Wformat -Werror=format-security /g')
513f8ca4
MT
198
199 case "${CFLAGS}" in
200 *-fasynchronous-unwind-tables*)
201 sed -i -e "s/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/" \
202 ../%{thisapp}/Makefile.in
203 ;;
204 esac
802ea3af
MT
205
206 CFLAGS="${CFLAGS}" \
207 CXXFLAGS="${CXXFLAGS}" \
208 XCFLAGS="${CFLAGS}" \
209 TCFLAGS="${CFLAGS}" \
210 ../%{thisapp}/configure \
211 --build=%{DISTRO_BUILDTARGET} \
166a6c21 212 --prefix=/usr \
c30b5fa5
MT
213 --libdir=%{libdir} \
214 --libexecdir=%{libdir} \
00c77389 215 --mandir=%{mandir} \
b8b873e7 216 --enable-esp \
166a6c21
MT
217 --enable-shared \
218 --enable-threads=posix \
219 --enable-__cxa_atexit \
220 --enable-clocale=gnu \
f23b0b6e
MT
221 --enable-languages=c,c++,lto \
222 --enable-bootstrap \
223 --enable-checking=release \
166a6c21
MT
224 --disable-werror \
225 --disable-libssp \
f23b0b6e
MT
226 --with-system-zlib \
227 --with-bugurl=http://bugtracker.ipfire.org \
b415c6aa
MT
228 --disable-libunwind-exceptions \
229 --enable-gnu-unique-object \
230 --enable-linker-build-id \
4de56d3e 231 --with-linker-hash-style=gnu \
00c77389
MT
232 --enable-plugin \
233 --enable-initfini-array \
513f8ca4 234 --disable-libgcj \
b57a0ea8 235 --enable-gnu-indirect-function \
802ea3af
MT
236 %{configure_options}
237
513f8ca4
MT
238 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58012
239 # XXX disabled flags: --disable-static
240
802ea3af 241 # GCC does not support a parallel build.
7bc68234 242 make %{make_bootstrap} BOOT_CFLAGS="${CFLAGS}"
4de56d3e
MT
243
244 # Generate man pages.
245 perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
246 for i in %{DIR_APP}/gcc/doc/*.texi; do
247 cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
248 done
249 make -C gcc generated-manpages
250 for i in %{DIR_APP}/gcc/doc/*.texi; do mv -f $i.orig $i; done
802ea3af
MT
251 end
252
253 #test
513f8ca4 254 # cd %{DIR_SRC}/gcc-build && make -k check || true
802ea3af
MT
255 # cd %{DIR_APP} && ./contrib/test_summary
256 #end
257
258 install
259 cd %{DIR_SRC}/gcc-build
260 make install DESTDIR=%{BUILDROOT}
261
56c0b63c 262 # Check if the installation path exists.
c30b5fa5 263 FULLPATH="%{BUILDROOT}%{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}"
56c0b63c
MT
264 [ -d "${FULLPATH}" ] || exit 1
265
7e981e59
MT
266 mkdir -pv %{BUILDROOT}%{prefix}/lib
267 ln -sfv ../bin/cpp %{BUILDROOT}%{prefix}/lib/cpp
802ea3af
MT
268 ln -sfv gcc %{BUILDROOT}/usr/bin/cc
269
0302fa63 270 # Fix libgcc_s symlinks.
c30b5fa5 271 rm -f ${FULLPATH}/libgcc_s.so %{BUILDROOT}%{libdir}/libgcc_s.so
13319128
MT
272 case "%{DISTRO_ARCH}" in
273 arm*)
13319128
MT
274 cat <<EOF >${FULLPATH}/libgcc_s.so
275 /* GNU ld script
276 Use the shared library, but some functions are only in
277 the static library, so try that secondarily. */
278 OUTPUT_FORMAT(elf32-littlearm)
0302fa63 279 GROUP ( %{libdir}/libgcc_s.so.1 libgcc.a )
13319128
MT
280 EOF
281 ;;
282 *)
62f274aa 283 ln -svf ../../../../..%{libdir}/libgcc_s.so.1 ${FULLPATH}/libgcc_s.so
13319128
MT
284 ;;
285 esac
62f274aa 286 chmod 755 %{BUILDROOT}%{libdir}/libgcc_s.so.1
802ea3af
MT
287
288 # Remove some GNU debugger stuff.
c30b5fa5 289 rm -vf %{BUILDROOT}%{libdir}/lib*.py
56c0b63c 290
0f737982
MT
291 # Install missing header file(s) on ARM.
292 case "%{DISTRO_ARCH}" in
293 arm*)
294 cp -vf %{DIR_APP}/gcc/config/vxworks-dummy.h \
295 ${FULLPATH}/plugin/include/config/
296 cp -vf %{DIR_APP}/gcc/config/arm/arm-cores.def \
297 ${FULLPATH}/plugin/include/config/arm/
298 ;;
299 esac
300
56c0b63c 301 # libgomp
c30b5fa5 302 mv -vf %{BUILDROOT}%{libdir}/libgomp.spec ${FULLPATH}/
56c0b63c 303 ln -svf ../../../libgomp.so.1.0.0 ${FULLPATH}/libgomp.so
c30b5fa5 304 chmod 755 %{BUILDROOT}%{libdir}/libgomp.so.1.*
56c0b63c
MT
305
306 # libstdc++
b57a0ea8
MT
307 ln -svf ../../../libstdc++.so.6.0.21 ${FULLPATH}/libstdc++.so
308 mv -vf %{BUILDROOT}%{libdir}/lib{std,sup}c++.a ${FULLPATH}
56c0b63c
MT
309
310 # libquadmath
311 if [ "%{build_libquadmath}" = "1" ]; then
9d2ad5e3 312 ln -svf ../../../libquadmath.so.0.0.0 ${FULLPATH}/libquadmath.so
c30b5fa5 313 chmod 755 %{BUILDROOT}%{libdir}/libquadmath.so.0.*
56c0b63c 314 fi
4de56d3e
MT
315
316 # libitm
317 mv -vf %{BUILDROOT}%{libdir}/libitm.spec ${FULLPATH}/
318 ln -svf ../../../libitm.so.1.0.0 ${FULLPATH}/libitm.so
319 chmod 755 %{BUILDROOT}%{libdir}/libitm.so.1.*
513f8ca4
MT
320
321 # liblsan
322 if [ "%{build_liblsan}" = "1" ]; then
323 ln -svf ../../../liblsan.so.0.0.0 ${FULLPATH}/liblsan.so
324 chmod 755 %{BUILDROOT}%{libdir}/liblsan.so.*
325 fi
326
327 # libtsan
328 if [ "%{build_libtsan}" = "1" ]; then
329 ln -svf ../../../libtsan.so.0.0.0 ${FULLPATH}/libtsan.so
330 chmod 755 %{BUILDROOT}%{libdir}/libtsan.so.*
331 fi
332
333 # libubsan
b57a0ea8
MT
334 if [ "%{build_libubsan}" = "1" ]; then
335 ln -svf ../../../libubsan.so.0.0.0 ${FULLPATH}/libubsan.so
336 chmod 755 %{BUILDROOT}%{libdir}/libubsan.so.*
337 fi
513f8ca4
MT
338
339 # libcilkrts
340 if [ "%{build_libcilkrts}" = "1" ]; then
341 ln -svf ../../../libcilkrts.so.5.0.0 ${FULLPATH}/libcilkrts.so
342 chmod 755 %{BUILDROOT}%{libdir}/libcilkrts.so.5.*
343 fi
802ea3af 344 end
876f9cff
MT
345
346 keep_libraries
c30b5fa5
MT
347 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libgcc.a
348 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libgcc_eh.a
b57a0ea8
MT
349 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libstdc++.a
350 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libsupc++.a
876f9cff 351 end
802ea3af
MT
352end
353
354packages
355 package %{name}
356 groups += Build
357
358 requires
513f8ca4 359 binutils >= %{binutils_version}
7e981e59 360 filesystem >= 002
e0e5b1d5 361 glibc >= 2.16
802ea3af 362 glibc-devel
7112214f 363 gmp-devel
0302fa63
MT
364 cpp = %{thisver}
365 libgcc = %{thisver}
366 libgomp = %{thisver}
802ea3af
MT
367 end
368
9d2ad5e3 369 # We do not ship libgcc-devel anymore.
0302fa63
MT
370 provides += libgcc-devel = %{thisver}
371 obsoletes += libgcc-devel < %{thisver}
802ea3af
MT
372 end
373
802ea3af 374 package %{name}-c++
56c0b63c
MT
375 summary = C++ support for GCC.
376 description
377 This package adds C++ support to the GNU Compiler Collection.
378 It includes support for most of the current C++ specification,
379 including templates and exception handling.
380 end
381
382 requires
0302fa63
MT
383 gcc = %{thisver}
384 libstdc++ = %{thisver}
385 libstdc++-devel = %{thisver}
56c0b63c 386 end
802ea3af
MT
387
388 files
389 /usr/bin/*++
c30b5fa5 390 %{libdir}/gcc/*/*/cc1plus
802ea3af
MT
391 /usr/share/man/man*/*++*
392 end
393 end
394
56c0b63c
MT
395 package cpp
396 summary = The C Preprocessor.
397 description
398 Cpp is the GNU C-Compatible Compiler Preprocessor.
399 Cpp is a macro processor which is used automatically
400 by the C compiler to transform your program before actual
401 compilation. It is called a macro processor because it allows
402 you to define macros, abbreviations for longer
403 constructs.
404
405 The C preprocessor provides four separate functionalities: the
406 inclusion of header files (files of declarations that can be
407 substituted into your program); macro expansion (you can define macros,
408 and the C preprocessor will replace the macros with their definitions
409 throughout the program); conditional compilation (using special
410 preprocessing directives, you can include or exclude parts of the
411 program according to various conditions); and line control (if you use
412 a program to combine or rearrange source files into an intermediate
413 file which is then compiled, you can use line control to inform the
414 compiler about where each source line originated).
415
416 You should install this package if you are a C programmer and you use
417 macros.
418 end
419 group = Development/Languages
420
802ea3af 421 files
7e981e59
MT
422 %{prefix}/lib/cpp
423 %{bindir}/cpp
424 %{mandir}/man1/cpp.1*
c30b5fa5 425 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/cc1
802ea3af 426 end
7e981e59
MT
427
428 provides = /lib/cpp
62f274aa 429 requires = gcc-c++ = %{thisver}
802ea3af
MT
430 end
431
56c0b63c
MT
432 package libgcc
433 summary = GCC shared support library.
434 description
435 This package contains GCC shared support library which is needed
436 e.g. for exception handling support.
437 end
802ea3af
MT
438
439 files
0302fa63 440 %{libdir}/libgcc*.so.*
802ea3af 441 end
513f8ca4
MT
442
443 obsoletes
444 libmudflap
445 libmudflap-devel
446 end
802ea3af
MT
447 end
448
449 package libstdc++
56c0b63c
MT
450 summary = GNU Standard C++ Library.
451 description
452 The libstdc++ package contains a rewritten standard compliant GCC Standard
453 C++ Library.
454 end
455
802ea3af 456 files
c30b5fa5 457 %{libdir}/libstdc++*.so.*
802ea3af
MT
458 end
459 end
460
461 package libstdc++-devel
56c0b63c
MT
462 summary = Header files and libraries for C++ development.
463 description
464 This is the GNU implementation of the standard C++ libraries. This
465 package includes the header files and libraries needed for C++
466 development. This includes rewritten implementation of STL.
467 end
468
469 requires
0302fa63 470 libstdc++ = %{thisver}
56c0b63c
MT
471 end
472
802ea3af 473 files
c30b5fa5
MT
474 %{includedir}/c++
475 %{libdir}/libstdc++*.so
802ea3af
MT
476 end
477 end
478
b57a0ea8
MT
479 package libstdc++-static
480 summary = Static libraries for the GNU standard C++ library
481 description = %{summary}
482
483 requires
484 libstdc++-devel = %{thisver}
485 end
486
487 files
488 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libstdc++.a
489 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libsupc++.a
490 end
491 end
492
802ea3af 493 package libgomp
56c0b63c
MT
494 summary = GCC OpenMP v3.0 shared support library.
495 description
496 This package contains GCC shared support library which is needed
497 for OpenMP v3.0 support.
802ea3af 498 end
802ea3af 499
802ea3af 500 files
c30b5fa5 501 %{libdir}/libgomp*.so.*
802ea3af
MT
502 end
503 end
504
56c0b63c
MT
505 if "%{build_libquadmath}" == "1"
506 package libquadmath
507 summary = GCC __float128 shared support library.
508 description
509 This package contains GCC shared support library which is needed
510 for __float128 math support and for Fortran REAL*16 support.
511 end
512
513 files
c30b5fa5 514 %{libdir}/libquadmath*.so.*
56c0b63c
MT
515 end
516 end
517
518 package libquadmath-devel
519 summary = Development files for GCC __float128 support.
520 description
521 This package contains headers for building Fortran programs using
522 REAL*16 and programs using __float128 math.
523 end
524
525 requires
0302fa63
MT
526 gcc = %{thisver}
527 libquadmath = %{thisver}
56c0b63c
MT
528 end
529
530 files
2a3a31bb 531 %{libdir}/libquadmath.so
c30b5fa5
MT
532 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/include/quadmath.h
533 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/include/quadmath_weak.h
534 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libquadmath.so
56c0b63c 535 end
802ea3af
MT
536 end
537 end
538
4de56d3e
MT
539 package libitm
540 summary = The GNU Transactional Memory library.
541 description
542 This package contains the GNU Transactional Memory library
543 which is a GCC transactional memory support runtime library.
544 end
545
546 files
547 %{libdir}/libitm.so.1*
548 end
549 end
550
551 package libitm-devel
552 summary = The GNU Transactional Memory support.
553 description
554 This package contains headers and support files for the
555 GNU Transactional Memory library.
556 end
557
558 requires
559 gcc = %{thisver}
560 libitm = %{thisver}
561 end
562
563 files
2a3a31bb 564 %{libdir}/libitm.so
4de56d3e
MT
565 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/include/itm.h
566 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/include/itm_weak.h
567 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/libitm.so
568 end
569 end
570
00c77389
MT
571 package libatomic
572 summary = The GNU Atomic library
573 description
574 This package contains the GNU Atomic library which is a
575 GCC support runtime library for atomisc operations not
576 supported by hardware.
577 end
578
579 files
580 %{libdir}/libatomic.so.1*
581 end
582 end
583
584 package libasan
585 summary = The Address Sanitizer runtime library
586 description
587 This package contains the Address Sanitizer library
588 which is used for -fsanitize=address instrumented programs.
589 end
590
591 files
b57a0ea8 592 %{libdir}/libasan.so.2*
00c77389
MT
593 end
594 end
595
596 if "%{build_libtsan}" == "1"
597 package libtsan
598 summary = The Thread Sanitizer runtime library
599 description
600 This package contains the Thread Sanitizer library
601 which is used for -fsanitize=thread instrumented programs.
602 end
603
604 files
605 %{libdir}/libtsan.so.0*
606 end
607 end
608 end
609
b57a0ea8
MT
610 if "%{build_libubsan}" == "1"
611 package libubsan
612 summary = The Undefined Behavior Sanitizer runtime library
613 description
614 This package contains the Undefined Behavior Sanitizer library
615 which is used for -fsanitize=undefined instrumented programs.
616 end
513f8ca4 617
b57a0ea8
MT
618 files
619 %{libdir}/libubsan.so.0*
620 end
513f8ca4
MT
621 end
622 end
623
624 if "%{build_liblsan}" == "1"
625 package liblsan
626 summary = The Leak Sanitizer runtime library
627 description
628 This package contains the Leak Sanitizer library
629 which is used for -fsanitize=leak instrumented programs.
630 end
631
632 files
633 %{libdir}/liblsan.so.0*
634 end
635 end
636 end
637
638 if "%{build_libcilkrts}" == "1"
639 package libcilkrts
640 summary = The Cilk+ runtime library
641 description
642 This package contains the Cilk+ runtime library.
643 end
644
645 files
646 %{libdir}/libcilkrts.so.5*
647 end
648 end
649 end
650
56c0b63c
MT
651 package gcc-plugin-devel
652 summary = Support for compiling GCC plugins.
653 description
654 This package contains header files and other support files
655 for compiling GCC plugins. The GCC plugin ABI is currently
656 not stable, so plugins must be rebuilt any time GCC is updated.
657 end
658
659 requires
0302fa63
MT
660 gcc = %{thisver}
661 gmp-devel >= 4.1.2-8
662 mpfr-devel >= 2.2.1
663 libmpc-devel >= 0.8.1
56c0b63c
MT
664 end
665
802ea3af 666 files
c30b5fa5 667 %{libdir}/gcc/%{DISTRO_BUILDTARGET}/%{version}/plugin
802ea3af
MT
668 end
669 end
1f9bc2f0
MT
670
671 package %{name}-debuginfo
672 template DEBUGINFO
673 end
802ea3af 674end