gcc: re-enable support for musl and organize subpkgs (somewhat).
This commit is contained in:
parent
f0a9044c28
commit
20c7496ea0
2 changed files with 46 additions and 25 deletions
srcpkgs/gcc
1
srcpkgs/gcc/files/gcc-4.9.2-musl.diff
Symbolic link
1
srcpkgs/gcc/files/gcc-4.9.2-musl.diff
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../cross-arm-linux-musleabi/files/gcc-4.9.2-musl.diff
|
|
@ -17,15 +17,24 @@ if [ "$CHROOT_READY" ]; then
|
||||||
hostmakedepends="perl flex"
|
hostmakedepends="perl flex"
|
||||||
fi
|
fi
|
||||||
makedepends="zlib-devel libmpc-devel>=1.0.1_2 cloog-devel>=0.18"
|
makedepends="zlib-devel libmpc-devel>=1.0.1_2 cloog-devel>=0.18"
|
||||||
depends="binutils glibc-devel libgcc-${version}_${revision}"
|
depends="binutils libgcc-${version}_${revision}"
|
||||||
# mudflap is gone in 4.9
|
# mudflap is gone in 4.9
|
||||||
replaces="libmudflap>=0 libmudflap-devel>=0 chroot-gcc>=0"
|
replaces="libmudflap>=0 libmudflap-devel>=0 chroot-gcc>=0"
|
||||||
|
|
||||||
|
subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel"
|
||||||
|
subpackages+=" libitm libitm-devel libssp libssp-devel gcc-c++"
|
||||||
|
|
||||||
if [ "$CHROOT_READY" -a -z "$CROSS_BUILD" ]; then
|
if [ "$CHROOT_READY" -a -z "$CROSS_BUILD" ]; then
|
||||||
# Required by gcj
|
# Required by gcj
|
||||||
hostmakedepends+=" zip unzip"
|
hostmakedepends+=" zip unzip"
|
||||||
|
subpackages+=" gcc-gcj gcc-go gcc-fortran gcc-objc gcc-objc++"
|
||||||
|
subpackages+=" libgcj-devel libgcj libgo-devel libgo"
|
||||||
|
subpackages+=" libgfortran-devel libgfortran"
|
||||||
|
subpackages+=" libobjc-devel libobjc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
subpackages+=" libstdc++-devel libstdc++"
|
||||||
|
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
i686) _triplet="i686-pc-linux-gnu";;
|
i686) _triplet="i686-pc-linux-gnu";;
|
||||||
i686-musl) _triplet="i686-pc-linux-musl";;
|
i686-musl) _triplet="i686-pc-linux-musl";;
|
||||||
|
@ -36,14 +45,28 @@ case "$XBPS_TARGET_MACHINE" in
|
||||||
armv7l) _triplet="arm-linux-gnueabihf7";;
|
armv7l) _triplet="arm-linux-gnueabihf7";;
|
||||||
arm*-musl) _triplet="arm-linux-musleabi";;
|
arm*-musl) _triplet="arm-linux-musleabi";;
|
||||||
esac
|
esac
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
*-musl) depends+=" musl";;
|
||||||
|
*) subpackages+=" libsanitizer libsanitizer-devel"; depends+=" glibc-devel";;
|
||||||
|
esac
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
i686*|x86_64*)
|
||||||
|
subpackages+=" libquadmath libquadmath-devel"
|
||||||
|
subpackages+=" libcilkrts libcilkrts-devel"
|
||||||
|
subpackages+=" libvtv libvtv-devel"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
pre_configure() {
|
pre_configure() {
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
*-musl) patch -Np1 -i ${FILESDIR}/gcc-${version}-musl.diff;;
|
||||||
|
esac
|
||||||
|
|
||||||
# As specified in the LFS book, disable installing libiberty.
|
# As specified in the LFS book, disable installing libiberty.
|
||||||
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
|
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
|
||||||
# Do not run fixincludes
|
# Do not run fixincludes
|
||||||
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
|
sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
|
||||||
}
|
}
|
||||||
|
|
||||||
do_configure() {
|
do_configure() {
|
||||||
local _langs _args
|
local _langs _args
|
||||||
|
|
||||||
|
@ -77,6 +100,9 @@ do_configure() {
|
||||||
_args+=" --with-cloog=${XBPS_MASTERDIR}/usr"
|
_args+=" --with-cloog=${XBPS_MASTERDIR}/usr"
|
||||||
_langs="c,c++,lto"
|
_langs="c,c++,lto"
|
||||||
fi
|
fi
|
||||||
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
*-musl) _args+=" --disable-libsanitizer";;
|
||||||
|
esac
|
||||||
|
|
||||||
CONFIG_SHELL=/bin/bash \
|
CONFIG_SHELL=/bin/bash \
|
||||||
./configure --prefix=/usr --mandir=/usr/share/man \
|
./configure --prefix=/usr --mandir=/usr/share/man \
|
||||||
|
@ -99,18 +125,17 @@ pre_install() {
|
||||||
if [ "$CROSS_BUILD" ]; then
|
if [ "$CROSS_BUILD" ]; then
|
||||||
# XXX otherwise links to host libpthread
|
# XXX otherwise links to host libpthread
|
||||||
for f in $(find ${wrksrc}/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
|
for f in $(find ${wrksrc}/${XBPS_CROSS_TRIPLET} -type f -name libtool); do
|
||||||
sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" \
|
sed -e "s,add_dir=\"-L\$libdir\",add_dir=\"-L${XBPS_CROSS_BASE}\$libdir\",g" -i $f
|
||||||
-i ${wrksrc}/${XBPS_CROSS_TRIPLET}/libsanitizer/libtool
|
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
do_install() {
|
do_install() {
|
||||||
if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
x86_64*)
|
||||||
vmkdir usr/lib
|
vmkdir usr/lib
|
||||||
cd ${DESTDIR}/usr
|
ln -sfr ${DESTDIR}/usr/lib ${DESTDIR}/usr/lib64
|
||||||
ln -sf lib lib64
|
;;
|
||||||
fi
|
esac
|
||||||
cd ${wrksrc}
|
|
||||||
make DESTDIR=${DESTDIR} install
|
make DESTDIR=${DESTDIR} install
|
||||||
|
|
||||||
# Make version a symlink of major version to make all versions
|
# Make version a symlink of major version to make all versions
|
||||||
|
@ -153,14 +178,12 @@ do_install() {
|
||||||
vinstall ${FILESDIR}/${f}.1 644 usr/share/man/man1 ${f}.1
|
vinstall ${FILESDIR}/${f}.1 644 usr/share/man/man1 ${f}.1
|
||||||
done
|
done
|
||||||
|
|
||||||
if ! [ "$XBPS_TARGET_MACHINE" = "i686" -o "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
rm -f ${DESTDIR}/usr/share/info/libquadmath.info
|
i686*|x86_64*) ;;
|
||||||
fi
|
*) rm -f ${DESTDIR}/usr/share/info/libquadmath.info;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# Disabled packages in bootstrap/cross builds.
|
|
||||||
if [ "$CHROOT_READY" -a -z "$CROSS_BUILD" ]; then
|
|
||||||
|
|
||||||
gcc-gcj_package() {
|
gcc-gcj_package() {
|
||||||
lib32disabled=yes
|
lib32disabled=yes
|
||||||
depends="gcc>=${_majorver} libgcj-devel>=${_majorver} eclipse-ecj"
|
depends="gcc>=${_majorver} libgcj-devel>=${_majorver} eclipse-ecj"
|
||||||
|
@ -308,11 +331,6 @@ libobjc_package() {
|
||||||
vinstall ${wrksrc}/COPYING.RUNTIME 644 usr/share/licenses/$pkgname RUNTIME.LIBRARY.EXCEPTION
|
vinstall ${wrksrc}/COPYING.RUNTIME 644 usr/share/licenses/$pkgname RUNTIME.LIBRARY.EXCEPTION
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fi # !CHROOT_READY || !CROSS_BUILD
|
|
||||||
|
|
||||||
if [ "$XBPS_TARGET_MACHINE" = "i686" -o "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
|
|
||||||
|
|
||||||
libquadmath-devel_package() {
|
libquadmath-devel_package() {
|
||||||
depends="libquadmath>=${_majorver}"
|
depends="libquadmath>=${_majorver}"
|
||||||
short_desc+=" - quadmath library - development files"
|
short_desc+=" - quadmath library - development files"
|
||||||
|
@ -361,9 +379,6 @@ libvtv_package() {
|
||||||
vmove usr/lib/libvtv.so.*
|
vmove usr/lib/libvtv.so.*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fi # !x86
|
|
||||||
|
|
||||||
libatomic-devel_package() {
|
libatomic-devel_package() {
|
||||||
depends="libatomic>=${_majorver}"
|
depends="libatomic>=${_majorver}"
|
||||||
short_desc+=" - Atomics library - development files"
|
short_desc+=" - Atomics library - development files"
|
||||||
|
@ -467,8 +482,13 @@ libstdc++_package() {
|
||||||
short_desc+=" - Standard C++ Library"
|
short_desc+=" - Standard C++ Library"
|
||||||
pkg_install() {
|
pkg_install() {
|
||||||
vmove "usr/lib/libstdc++.so*"
|
vmove "usr/lib/libstdc++.so*"
|
||||||
vmove usr/share/locale/fr/LC_MESSAGES/libstdc++.mo
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
vmove usr/share/locale/de/LC_MESSAGES/libstdc++.mo
|
*-musl);;
|
||||||
|
*)
|
||||||
|
vmove usr/share/locale/fr/LC_MESSAGES/libstdc++.mo
|
||||||
|
vmove usr/share/locale/de/LC_MESSAGES/libstdc++.mo
|
||||||
|
;;
|
||||||
|
esac
|
||||||
vinstall ${wrksrc}/COPYING.RUNTIME 644 usr/share/licenses/$pkgname RUNTIME.LIBRARY.EXCEPTION
|
vinstall ${wrksrc}/COPYING.RUNTIME 644 usr/share/licenses/$pkgname RUNTIME.LIBRARY.EXCEPTION
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue