0
0
mirror of https://github.com/termux-pacman/glibc-packages.git synced 2025-09-29 10:42:39 +00:00
Files
glibc-packages/cgct/cbt/PKGBUILD
2025-03-03 18:19:20 +03:00

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"
}