From c5ca511bd43f82c6da840d7668961a5b0b1262c4 Mon Sep 17 00:00:00 2001 From: wirx6 Date: Thu, 2 Aug 2018 09:57:52 +0200 Subject: [PATCH] Add universal pkgbuild for cross-binutils (#4132) *multiple packages are generated from _targets array *built tools can be used with clang or gcc in cross-compilation *ccache can be used to speed up building this --- mingw-w64-x86_64-cross-binutils/PKGBUILD | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 mingw-w64-x86_64-cross-binutils/PKGBUILD diff --git a/mingw-w64-x86_64-cross-binutils/PKGBUILD b/mingw-w64-x86_64-cross-binutils/PKGBUILD new file mode 100644 index 0000000000..1778cd4911 --- /dev/null +++ b/mingw-w64-x86_64-cross-binutils/PKGBUILD @@ -0,0 +1,63 @@ +# Maintainer: wirx6 + +_realname=binutils +_targets=(i686-elf + x86_64-elf + arm-none-eabi) + +pkgname=() +for target in ${_targets[@]} +do + pkgname+=(${MINGW_PACKAGE_PREFIX}-${target}-${_realname}) +done + +pkgver=2.31.1 +pkgrel=1 +arch=('any') +url="https://www.gnu.org/software/binutils/" +license=('GPL') +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +options=(staticlibs) +source=("https://mirrors.kernel.org/sources.redhat.com/${_realname}/releases/${_realname}-${pkgver}.tar.bz2") +sha256sums=('SKIP') + +build() { + for target in ${_targets[@]} + do + plain "building ${MINGW_PACKAGE_PREFIX}-${target}-${_realname}" + + cd ${srcdir} + [[ -d build-${MINGW_CHOST}-${target} ]] && rm -rf build-${MINGW_CHOST}-${target} + mkdir -p build-${MINGW_CHOST}-${target} && cd build-${MINGW_CHOST}-${target} + + ../${_realname}-${pkgver}/configure \ + --build="${MINGW_CHOST}" \ + --host="${MINGW_CHOST}" \ + --target="${target}" \ + --prefix="${MINGW_PREFIX}" \ + --with-sysroot="${MINGW_PREFIX}" \ + --disable-nls \ + --disable-rpath \ + --disable-werror \ + --enable-multilib \ + --enable-interwork + + make + done +} + +package_target() { + pkgdesc="GNU Tools for ${1} target - Binutils (mingw-w64)" + groups=("${MINGW_PACKAGE_PREFIX}-${1}-toolchain") + + cd ${srcdir}/build-${MINGW_CHOST}-${1} + make DESTDIR=${pkgdir} install + rm -rf ${pkgdir}${MINGW_PREFIX}/share/info +} + +for target in ${_targets[@]} +do + eval "package_${MINGW_PACKAGE_PREFIX}-${target}-${_realname}() { + package_target ${target} + }" +done