mirror of
https://github.com/termux-pacman/glibc-packages.git
synced 2025-09-29 10:42:39 +00:00
85 lines
2.3 KiB
Bash
85 lines
2.3 KiB
Bash
pkgname=cbt
|
|
pkgver=2.44
|
|
pkgrel=1
|
|
pkgdesc='Cross Binutils for Termux (only for Linux)'
|
|
arch=(x86_64)
|
|
url='https://www.gnu.org/software/binutils/'
|
|
license=('GPL3' 'GPL' 'FDL1.3' 'custom:FSFAP')
|
|
source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
|
|
config.sub.patch
|
|
ldmain.c.patch
|
|
ldmain.h.patch)
|
|
sha256sums=('ce2017e059d63e67ddb9240e9d4ec49c2893605035cd60e92ad53177f4377237'
|
|
'a5c80b256ed836a77c2003b30320eea74fce8ae37ce3e0aa0feaf19a70edb641'
|
|
'd5102f07e44d5a857628cc58a8aeffceed1dacd0db1c9e485fd523f92d726511'
|
|
'5e215879084adbe5bf49bb9846b036a98e4b9c40c73e20d55598892c6fe53fd3')
|
|
optdepends=('glibc-cgct')
|
|
groups=('cgct')
|
|
|
|
prepare() {
|
|
for i in *.patch; do
|
|
patch -Np1 -i ${srcdir}/$i
|
|
done
|
|
}
|
|
|
|
build() {
|
|
unset CFLAGS CXXFLAGS AR LD CC CXX
|
|
CFLAGS="-O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -fstack-clash-protection"
|
|
CXXFLAGS="${CFLAGS} -Wp,-D_GLIBCXX_ASSERTIONS"
|
|
|
|
for target in aarch64-linux-gnu arm-linux-gnueabihf x86_64-linux-gnu i686-linux-gnu; do
|
|
arch_build=${target/-*}
|
|
CGCT_PREFIX="${CGCT_PATH}/${arch_build}"
|
|
mkdir binutils-${arch_build}
|
|
cd binutils-${arch_build}
|
|
|
|
local flags_32bit=""
|
|
if [ "${arch_build}" = "arm" ] || [ "${arch_build}" = "i686" ]; then
|
|
flags_32bit=" -DTARGET_32BIT -Wp,-DTARGET_32BIT"
|
|
fi
|
|
|
|
"$srcdir"/binutils-${pkgver}/configure \
|
|
--host=cgct \
|
|
--build=${CHOST} \
|
|
--target=$target \
|
|
--prefix=$CGCT_PREFIX \
|
|
--disable-multilib \
|
|
--with-gnu-as \
|
|
--with-gnu-ld \
|
|
--disable-nls \
|
|
--enable-ld=default \
|
|
--enable-plugins \
|
|
--enable-deterministic-archives \
|
|
CC=x86_64-linux-gnu-gcc \
|
|
CXX=x86_64-linux-gnu-g++ \
|
|
CFLAGS="${CFLAGS} ${flags_32bit}" \
|
|
CXXFLAGS="${CXXFLAGS} ${flags_32bit}" \
|
|
AR=ar \
|
|
LD=ld
|
|
make
|
|
|
|
cd ..
|
|
done
|
|
}
|
|
|
|
package() {
|
|
for target in aarch64-linux-gnu arm-linux-gnueabihf x86_64-linux-gnu i686-linux-gnu; do
|
|
arch_build=${target/-*}
|
|
CGCT_PREFIX="${CGCT_PATH}/${arch_build}"
|
|
cd binutils-${arch_build}
|
|
|
|
make DESTDIR="$pkgdir" install
|
|
|
|
mv $pkgdir/${CGCT_PREFIX}/$target/bin/* $pkgdir/${CGCT_PREFIX}/bin
|
|
mv $pkgdir/${CGCT_PREFIX}/$target/lib/* $pkgdir/${CGCT_PREFIX}/lib
|
|
rm -fr $pkgdir/${CGCT_PREFIX}/$target
|
|
rm -fr $pkgdir/${CGCT_PREFIX}/share
|
|
rm -fr $pkgdir/${CGCT_PREFIX}/include
|
|
rm -fr $pkgdir/${CGCT_PREFIX}/etc
|
|
|
|
cd ..
|
|
done
|
|
|
|
replace_hard_with_symbolic "$pkgdir"
|
|
}
|