cross-arm-linux-musleabi: update for gcc-9.2.0 + go/objc(++)

This commit is contained in:
q66 2019-09-08 02:44:26 +02:00 committed by Michael Aldridge
parent d5e513cb78
commit 229c43dc5a
3 changed files with 35 additions and 10 deletions

View file

@ -0,0 +1 @@
../../gcc/files/gccgo-musl.patch

View file

@ -1 +0,0 @@
../../gcc/patches/non-nullness.patch

View file

@ -1,9 +1,10 @@
# Template build file for 'cross-arm-linux-musleabi' # Template build file for 'cross-arm-linux-musleabi'
# #
_binutils_version=2.32 _binutils_version=2.32
_gcc_version=9.1.0 _gcc_version=9.2.0
_musl_version=1.1.23 _musl_version=1.1.23
_linux_version=4.19 _linux_version=4.19
_libucontext_version=0.9.0
_triplet=arm-linux-musleabi _triplet=arm-linux-musleabi
_fpuflags="--with-arch=armv5te --without-fp --with-float=soft" _fpuflags="--with-arch=armv5te --without-fp --with-float=soft"
@ -11,8 +12,8 @@ _archflags="-march=armv5te -msoft-float -mfloat-abi=soft"
_sysroot="/usr/${_triplet}" _sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet} pkgname=cross-${_triplet}
version=0.31 version=0.32
revision=3 revision=1
short_desc="Cross toolchain for ARMv5 TE target (musl)" short_desc="Cross toolchain for ARMv5 TE target (musl)"
maintainer="Orphaned <orphan@voidlinux.org>" maintainer="Orphaned <orphan@voidlinux.org>"
homepage="https://www.voidlinux.org/" homepage="https://www.voidlinux.org/"
@ -21,11 +22,13 @@ distfiles="
${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz ${GNU_SITE}/binutils/binutils-${_binutils_version}.tar.xz
${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz ${GNU_SITE}/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.xz
http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz
${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz" ${KERNEL_SITE}/kernel/v4.x/linux-${_linux_version}.tar.xz
https://distfiles.adelielinux.org/source/libucontext/libucontext-${_libucontext_version}.tar.xz"
checksum="0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04 checksum="0ab6c55dd86a92ed561972ba15b9b70a8b9f75557f896446c82e8b36e473ee04
79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0 ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206
8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa 8a0feb41cef26c97dde382c014e68b9bb335c094bbc1356f6edaaf6b79bd14aa
0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1" 0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1
0d53a415a307ef175153bbe60a572c940a922cb736ce13530b666e7ec2795d68"
lib32disabled=yes lib32disabled=yes
nocross=yes nocross=yes
@ -33,7 +36,7 @@ nopie=yes
nodebug=yes nodebug=yes
create_wrksrc=yes create_wrksrc=yes
hostmakedepends="flex perl python3" hostmakedepends="gcc-objc gcc-go flex perl python3"
makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel" makedepends="zlib-devel gmp-devel mpfr-devel libmpc-devel isl15-devel"
nostrip_files="libcaf_single.a libgcc.a libgcov.a libgcc_eh.a nostrip_files="libcaf_single.a libgcc.a libgcov.a libgcc_eh.a
libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a" libgnarl_pic.a libgnarl.a libgnat_pic.a libgnat.a"
@ -84,10 +87,10 @@ _gcc_bootstrap() {
cd ${wrksrc}/gcc-${_gcc_version} cd ${wrksrc}/gcc-${_gcc_version}
_apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch _apply_patch -p0 ${FILESDIR}/fix-cxxflags-passing.patch
_apply_patch -p0 ${FILESDIR}/non-nullness.patch
_apply_patch -p0 ${FILESDIR}/musl-ada.patch _apply_patch -p0 ${FILESDIR}/musl-ada.patch
_apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch _apply_patch -p1 ${FILESDIR}/libgnarl-musl.patch
_apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch _apply_patch -p0 ${FILESDIR}/invalid_tls_model.patch
_apply_patch -p0 ${FILESDIR}/gccgo-musl.patch
msg_normal "Building cross gcc bootstrap\n" msg_normal "Building cross gcc bootstrap\n"
@ -155,6 +158,22 @@ _musl_build() {
touch ${wrksrc}/.musl_build_done touch ${wrksrc}/.musl_build_done
} }
_libucontext_build() {
[ -f ${wrksrc}/.libucontext_build_done ] && return 0
cd ${wrksrc}/libucontext-${_libucontext_version}
msg_normal "Building cross libucontext\n"
# it's ok if we're static only here
CC="${_triplet}-gcc" AR="${_triplet}-ar" AS="${_triplet}-as" \
CFLAGS="-Os -pipe ${_archflags}" \
make ARCH=arm libucontext.a
cp libucontext.a ${_sysroot}/usr/lib
touch ${wrksrc}/.libucontext_build_done
}
_gcc_build() { _gcc_build() {
local _args local _args
@ -169,7 +188,7 @@ _gcc_build() {
_args="--prefix=/usr" _args="--prefix=/usr"
_args+=" --target=${_triplet}" _args+=" --target=${_triplet}"
_args+=" --with-sysroot=${_sysroot}" _args+=" --with-sysroot=${_sysroot}"
_args+=" --enable-languages=c,ada,c++,fortran,lto" _args+=" --enable-languages=c,ada,c++,objc,obj-c++,go,fortran,lto"
_args+=" --enable-libada" _args+=" --enable-libada"
_args+=" --enable-lto" _args+=" --enable-lto"
_args+=" --enable-default-pie" _args+=" --enable-default-pie"
@ -211,6 +230,7 @@ do_build() {
_gcc_bootstrap _gcc_bootstrap
_linux_headers _linux_headers
_musl_build _musl_build
_libucontext_build
_gcc_build _gcc_build
} }
@ -261,6 +281,11 @@ do_install() {
ln -svf libgnat-${_majorver}.so libgnat.so ln -svf libgnat-${_majorver}.so libgnat.so
rm -vf ${DESTDIR}/${_adalib}/libgna{rl,t}.so rm -vf ${DESTDIR}/${_adalib}/libgna{rl,t}.so
# We need to build libatomic in target gcc as gccgo needs it to
# build... but it's not needed at runtime, so remove it from the
# destdir so it doesn't conflict with the libatomic package
rm -f ${DESTDIR}/${_sysroot}/usr/lib/libatomic.*
# Remove unnecessary stuff # Remove unnecessary stuff
rm -f ${DESTDIR}/usr/lib*/libiberty.a rm -f ${DESTDIR}/usr/lib*/libiberty.a
rm -rf ${DESTDIR}/usr/share rm -rf ${DESTDIR}/usr/share