cross-aarch64-linux-musl: use shared cross musl template.

With this I can now build xbps statically for aarch64.
This commit is contained in:
Juan RP 2015-05-02 11:46:38 +02:00
parent 1b65f4ea1c
commit c03e5b0beb

View file

@ -11,8 +11,8 @@ _sysroot="/usr/${_triplet}"
pkgname=cross-${_triplet} pkgname=cross-${_triplet}
version=0.17 version=0.17
revision=1 revision=2
short_desc="Cross toolchain for ${_triplet} LE Hard Float target (musl)" short_desc="Cross toolchain for ARM64 LE target (musl)"
maintainer="Juan RP <xtraeme@voidlinux.eu>" maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu" homepage="http://www.voidlinux.eu"
license="Public Domain" license="Public Domain"
@ -21,7 +21,8 @@ distfiles="
http://ftp.gnu.org/pub/gnu/gcc/gcc-${_gcc_version}/gcc-${_gcc_version}.tar.bz2 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.kernel.org/pub/linux/kernel/v3.x/linux-${_linux_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"
checksum="22defc65cfa3ef2a3395faaea75d6331c6e62ea5dfacfed3e2ec17b08c882923 checksum="
22defc65cfa3ef2a3395faaea75d6331c6e62ea5dfacfed3e2ec17b08c882923
2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd 2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd
e4442436e59c74169e98d38d2e2a434c7b73f8eda0aa8f20e454eaf52270fc90 e4442436e59c74169e98d38d2e2a434c7b73f8eda0aa8f20e454eaf52270fc90
fa928506415b9c555977daaf874c190eaf7fbbd16028cc5c5f33a00a83227813" fa928506415b9c555977daaf874c190eaf7fbbd16028cc5c5f33a00a83227813"
@ -57,7 +58,7 @@ _binutils_build() {
../binutils-${_binutils_version}/configure \ ../binutils-${_binutils_version}/configure \
--prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \ --prefix=/usr --target=${_triplet} --with-sysroot=${_sysroot} \
--disable-nls --disable-multilib --disable-werror \ --disable-nls --disable-multilib --disable-werror \
--disable-shared --enable-gold --disable-shared
make configure-host && make ${makejobs} make configure-host && make ${makejobs}
make install make install
@ -94,7 +95,7 @@ _linux_headers() {
[ -f ${wrksrc}/.linux_build_done ] && return 0 [ -f ${wrksrc}/.linux_build_done ] && return 0
cd ${wrksrc} cd ${wrksrc}
msg_normal "Building Linux API headers for ARM\n" msg_normal "Building Linux API headers\n"
cd linux-${_linux_version} cd linux-${_linux_version}
@ -110,7 +111,9 @@ _musl_build() {
cd ${wrksrc}/musl-${_musl_version} cd ${wrksrc}/musl-${_musl_version}
msg_normal "Building cross musl libc\n" 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 \ ./configure --prefix=/usr \
make ${makejobs} make ${makejobs}
@ -130,19 +133,10 @@ _gcc_build() {
../gcc-${_gcc_version}/configure \ ../gcc-${_gcc_version}/configure \
--target=${_triplet} --with-sysroot=${_sysroot} --prefix=/usr \ --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-multilib --disable-nls --disable-libquadmath \
--disable-libmudflap --enable-shared \ --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
make ${makejobs} make ${makejobs}
@ -204,8 +198,8 @@ do_install() {
rm -rf ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include-fixed/ \ rm -rf ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include-fixed/ \
${DESTDIR}/usr/lib/gcc/${_triplet}/*/include/stddef.h ${DESTDIR}/usr/lib/gcc/${_triplet}/*/include/stddef.h
# Make ld-musl-armhf.so.1 symlink relative. # Make ld-musl.so symlinks relative.
#ln -sf libc.so ${DESTDIR}/${_sysroot}/usr/lib/ld-musl-armhf.so.1 ln -sf libc.so ${DESTDIR}/${_sysroot}/usr/lib/ld-musl-aarch64.so.1
# Remove unnecessary stuff # Remove unnecessary stuff
rm -f ${DESTDIR}/usr/lib*/libiberty.a rm -f ${DESTDIR}/usr/lib*/libiberty.a
@ -214,24 +208,14 @@ do_install() {
rm -rf ${DESTDIR}/${_sysroot}/usr/{sbin,share,libexec} rm -rf ${DESTDIR}/${_sysroot}/usr/{sbin,share,libexec}
rm -f ${DESTDIR}/${_sysroot}/libexec rm -f ${DESTDIR}/${_sysroot}/libexec
rm -f ${DESTDIR}/${_sysroot}/lib/*.py rm -f ${DESTDIR}/${_sysroot}/lib/*.py
} rm -f ${DESTDIR}/${_sysroot}/{bin,sbin,lib}
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}
} }
cross-aarch64-linux-musl-libc_package() { cross-aarch64-linux-musl-libc_package() {
short_desc+=" - libc files" short_desc+=" - libc files"
noarch=yes noarch=yes
noverifydeps=yes noshlibprovides=yes
pkg_install() { pkg_install() {
vmove usr/${_triplet} vmove ${_sysroot}
mkdir -p ${DESTDIR}/usr/${_triplet}/usr/
mv ${PKGDESTDIR}/usr/${_triplet}/usr/bin ${DESTDIR}/usr/${_triplet}/usr
} }
} }