1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
10 maintainer = Michael Tremer <michael.tremer@ipfire.org>
11 groups = Development/Tools
12 url = http://www.gnu.org/software/binutils/
14 summary = The GNU Binutils are a collection of binary tools.
17 The GNU Binary Utilities, or binutils, is a collection of programming
18 tools for the manipulation of object code in various object file formats.
21 source_dl = http://ftp.gnu.org/gnu/binutils/
29 pakfire-builder >= 0.9.23-5
36 mkdir -pv %{DIR_SRC}/binutils-build
38 # On aarch64 we might use 64KiB pages
39 sed -i -e '/#define.*ELF_COMMONPAGESIZE/s/0x1000$/0x10000/' bfd/elf*aarch64.c
41 # Suppress the installation of an outdated standards.info file as a newer
42 # one is installed later on in the Autoconf instructions:
43 rm -fv etc/standards.info
44 sed -e '/^INFO/s/standards.info //' -i etc/Makefile.in
46 perl -pi -e 's/i\[3-7\]86/i[34567]86/g' */conf*
47 sed -i -e 's/%''{release}/%{release}/g' bfd/Makefile{.am,.in}
48 sed -i -e '/^libopcodes_la_\(DEPENDENCIES\|LIBADD\)/s,$, ../bfd/libbfd.la,' opcodes/Makefile.{am,in}
50 # Build libbfd.so and libopcodes.so with -Bsymbolic-functions if possible.
51 if gcc %{CFLAGS} -v --help 2>&1 | grep -q -- -Bsymbolic-functions; then
52 sed -i -e 's/^libbfd_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' bfd/Makefile.{am,in}
53 sed -i -e 's/^libopcodes_la_LDFLAGS = /&-Wl,-Bsymbolic-functions /' opcodes/Makefile.{am,in}
58 configure_options += \
59 --build=%{DISTRO_BUILDTARGET} \
60 --host=%{DISTRO_BUILDTARGET} \
61 --target=%{DISTRO_BUILDTARGET} \
66 --with-bugurl="http://bugzilla.ipfire.org/"
69 cd %{DIR_SRC}/binutils-build
70 ../%{thisapp}/configure \
73 make tooldir=/usr %{PARALLELISMFLAGS}
77 cd %{DIR_SRC}/binutils-build
78 make -k check </dev/null || :
80 echo "==== RESULTS ===="
81 cat {gas/testsuite/gas,ld/ld,binutils/binutils}.sum
85 cd %{DIR_SRC}/binutils-build
86 make tooldir=/usr install DESTDIR=%{BUILDROOT}
88 cp -fv %{DIR_APP}/include/libiberty.h %{BUILDROOT}/usr/include
90 # Prevent packages from linking against libbfd and libopcodes,
91 # because they change too often.
92 rm -rfv %{BUILDROOT}%{libdir}/lib{bfd,opcodes}.so
94 # Remove Windows/Novell only man pages.
95 rm -vf %{BUILDROOT}%{mandir}/man1/{dlltool,nlmconv,windres}*
98 # Keep static version of libiberty.
100 %{libdir}/libiberty.a
111 package %{name}-devel
115 binutils = %{thisver}
119 # Don't package libbfd and libopcodes in the -devel package.
126 package %{name}-debuginfo