From c03e5b0bebf8d23195c1430c51eeaf4caf2af08b Mon Sep 17 00:00:00 2001 From: Juan RP Date: Sat, 2 May 2015 11:46:38 +0200 Subject: [PATCH] cross-aarch64-linux-musl: use shared cross musl template. With this I can now build xbps statically for aarch64. --- srcpkgs/cross-aarch64-linux-musl/template | 50 ++++++++--------------- 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template index 05ce44bb0b2..37885ce5a16 100644 --- a/srcpkgs/cross-aarch64-linux-musl/template +++ b/srcpkgs/cross-aarch64-linux-musl/template @@ -11,8 +11,8 @@ _sysroot="/usr/${_triplet}" pkgname=cross-${_triplet} version=0.17 -revision=1 -short_desc="Cross toolchain for ${_triplet} LE Hard Float target (musl)" +revision=2 +short_desc="Cross toolchain for ARM64 LE target (musl)" maintainer="Juan RP " homepage="http://www.voidlinux.eu" license="Public Domain" @@ -21,7 +21,8 @@ distfiles=" http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 http://www.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_version}.tar.xz http://www.musl-libc.org/releases/musl-${_musl_version}.tar.gz" -checksum="22defc65cfa3ef2a3395faaea75d6331c6e62ea5dfacfed3e2ec17b08c882923 +checksum=" + 22defc65cfa3ef2a3395faaea75d6331c6e62ea5dfacfed3e2ec17b08c882923 2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd e4442436e59c74169e98d38d2e2a434c7b73f8eda0aa8f20e454eaf52270fc90 fa928506415b9c555977daaf874c190eaf7fbbd16028cc5c5f33a00a83227813" @@ -57,7 +58,7 @@ _binutils_build() { ../binutils-${_binutils_version}/configure \ --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ --disable-nls --disable-multilib --disable-werror \ - --disable-shared --enable-gold + --disable-shared make configure-host && make ${makejobs} make install @@ -94,7 +95,7 @@ _linux_headers() { [ -f ${wrksrc}/.linux_build_done ] && return 0 cd ${wrksrc} - msg_normal "Building Linux API headers for ARM\n" + msg_normal "Building Linux API headers\n" cd linux-${_linux_version} @@ -110,7 +111,9 @@ _musl_build() { cd ${wrksrc}/musl-${_musl_version} msg_normal "Building cross musl libc\n" - CC="${_triplet}-gcc" CFLAGS="-Os -pipe ${_archflags}" \ + CC="${_triplet}-gcc" LD="${_triplet}-ld" AR="${_triplet}-ar" \ + AS="${_triplet}-as" RANLIB="${_triplet}-ranlib" \ + CFLAGS="-Os -pipe ${_archflags}" \ ./configure --prefix=/usr \ make ${makejobs} @@ -130,19 +133,10 @@ _gcc_build() { ../gcc-${_gcc_version}/configure \ --target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ - --enable-languages=c,c++,lto --enable-lto --disable-libsanitizer \ + --libexecdir=/usr/lib --enable-languages=c,c++,lto \ + --enable-lto --disable-libsanitizer \ --disable-multilib --disable-nls --disable-libquadmath \ - --disable-libmudflap --enable-shared \ - --with-gnu-as --with-gnu-ld --disable-multilib \ - --disable-nls --disable-sjlj-exceptions \ - --enable-threads=posix --enable-long-longx \ - --enable-shared --enable-linker-build-id \ - --enable-gnu-unique-object --enable-lto \ - --disable-libquadmath --disable-libatomic \ - --disable-libssp --disable-libmudflap \ - --disable-libsanitizer --disable-libcilkrts \ - --disable-libitm --disable-libvtv --disable-libstdcxx-pch \ - --enable-libstdcxx-time --with-linker-hash-style=gnu + --disable-libmudflap --enable-shared make ${makejobs} @@ -204,8 +198,8 @@ do_install() { rm -rf ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include-fixed/ \ ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include/stddef.h - # Make ld-musl-armhf.so.1 symlink relative. - #ln -sf libc.so ${DESTDIR}/${_sysroot}/usr/lib/ld-musl-armhf.so.1 + # Make ld-musl.so symlinks relative. + ln -sf libc.so ${DESTDIR}/${_sysroot}/usr/lib/ld-musl-aarch64.so.1 # Remove unnecessary stuff rm -f ${DESTDIR}/usr/lib*/libiberty.a @@ -214,24 +208,14 @@ do_install() { rm -rf ${DESTDIR}/${_sysroot}/usr/{sbin,share,libexec} rm -f ${DESTDIR}/${_sysroot}/libexec rm -f ${DESTDIR}/${_sysroot}/lib/*.py -} - -do_clean() { - # Remove temporary stuff from masterdir - rm -rf ${_sysroot} - rm -f /usr/bin/${_triplet}* - rm -rf /usr/lib/gcc/${_triplet} - rm -rf /usr/libexec/gcc/${_triplet} + rm -f ${DESTDIR}/${_sysroot}/{bin,sbin,lib} } cross-aarch64-linux-musl-libc_package() { short_desc+=" - libc files" noarch=yes - noverifydeps=yes + noshlibprovides=yes pkg_install() { - vmove usr/${_triplet} - mkdir -p ${DESTDIR}/usr/${_triplet}/usr/ - mv ${PKGDESTDIR}/usr/${_triplet}/usr/bin ${DESTDIR}/usr/${_triplet}/usr - + vmove ${_sysroot} } }