Magellan Linux

Annotation of /smage/trunk/core/binutils/binutils-2.39-r2.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15653 - (hide annotations) (download)
Mon Dec 19 07:55:32 2022 UTC (16 months, 3 weeks ago) by niro
File size: 2432 byte(s)
auto added: ver bump to 2.39-r2
1 niro 15653 # $Id$
2    
3     PNAME="binutils"
4     PVER="2.39"
5     PBUILD="r2"
6    
7     PCAT="sys-dev"
8    
9     DESCRIPTION="Tools necessary to build programs."
10     HOMEPAGE="http://www.kernel.org/pub/linux/devel/binutils/"
11    
12     # enabled 1, or disabled 0
13     GOLD_ENABLED=1
14    
15     DEPEND=">= virtual/glibc
16     >= sys-libs/zlib-1.2.13"
17     if [[ ${GOLD_ENABLED} = 1 ]]
18     then
19     # ld.gold needs libstdc++ and libgcc
20     DEPEND="${DEPEND}
21     >= sys-libs/libgcc-12.2.0
22     >= sys-libs/libstdc++-12.2.0"
23     fi
24     SDEPEND=">= virtual/kernel-headers"
25    
26     SRCFILE="${PNAME}-${PVER}.tar.xz"
27     SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"
28    
29     sminclude mtools
30    
31     SRC_URI=(
32     http://www.kernel.org/pub/linux/devel/${PNAME}/${SRCFILE}
33     gnu://${PNAME}/${SRCFILE}
34     mirror://${PNAME}/${SRCFILE}
35     )
36    
37     # unstable
38     #UP2DATE="updatecmd ${HOMEPAGE} | sed -n 's/.*release.binutils-\(.*\).*/\1/;$ p'"
39     # stable only
40     UP2DATE="updatecmd_gnu ${PNAME} xz"
41    
42     # binutils don't like strong CFLAGS
43     export CFLAGS="${CFLAGS//-O?} -O2"
44     export CXXFLAGS="${CFLAGS}"
45    
46     if [[ -z ${CCHOST} ]]
47     then
48     # no crosscompile defined
49     export CCHOST=${CHOST}
50     else
51     # use crosscompile host
52     export CCHOST=${CCHOST}
53     fi
54    
55     msetfeature "static !ccache !distcc"
56    
57     src_prepare()
58     {
59     munpack ${SRCFILE} || die
60     install -d ${SRCDIR}/build || die
61    
62     cd ${SRCDIR}
63     # disable development mode
64     sed -i '/^development=/s/true/false/' bfd/development.sh || die
65     }
66    
67     src_compile()
68     {
69     cd ${SRCDIR}/build
70    
71     local myopts
72     if [[ ${GOLD_ENABLED} = 1 ]]
73     then
74     myopts+=" --enable-gold"
75     myopts+=" --enable-ld=default"
76     fi
77    
78     # enable cet
79     myopts+=" --enable-cet"
80    
81     # disable debuginfod
82     myopts+=" --without-debuginfod"
83    
84     # fortify_source not supported
85     export CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
86     export CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/}
87    
88     ../configure \
89     --host=${CHOST} \
90     --target=${CCHOST} \
91     --prefix=/usr \
92     --mandir=/usr/share/man \
93     --infodir=/usr/share/info \
94     --libdir=/usr/$(mlibdir) \
95     --with-bugurl="http://bugs.magellan-linux.de/" \
96     --enable-shared \
97     --enable-plugins \
98     --enable-threads \
99     --enable-deterministic-archives \
100     --enable-lto \
101     --enable-relro \
102     --disable-werror \
103     --disable-gdb \
104     --with-pic \
105     --enable-64-bit-bfd \
106     --enable-system-zlib \
107     ${myopts} \
108     || die
109    
110     make configure-host || die
111     mmake tooldir=/usr all || die
112     }
113    
114     src_install()
115     {
116     cd ${SRCDIR}/build
117    
118     mmake DESTDIR=${BINDIR} tooldir=/usr install || die
119     minstallfile ../include/libiberty.h /usr/include || die
120    
121     cd ${SRCDIR}
122     minstalldocs ChangeLog* COPYING* MAINTAINERS README* || die
123     }