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