altcross-2stage: use in-tree sources
This commit is contained in:
parent
e8dce540b1
commit
2a92904f17
@ -1,18 +1,27 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
MYDIR="${0%/*}"
|
||||
|
||||
TARGET=aarch64-linux-gnu
|
||||
ARCH=aarch64
|
||||
LINUX_ARCH=arm64
|
||||
QEMU_ARCH=aarch64
|
||||
TARGET='loongarch64-linux-gnu'
|
||||
ARCH=loongarch64
|
||||
LINUX_ARCH=loongarch
|
||||
QEMU_ARCH=loongarch64
|
||||
TARGET_LD_LINUX='/lib64/ld-linux-loongarch-lp64d.so.1'
|
||||
TARGET_LIBDIR=lib64
|
||||
|
||||
unset NIL
|
||||
|
||||
KERNEL_SOURCE="`find /usr/src/kernel/sources -type f -name 'kernel-source-*.tar'`"
|
||||
BINUTILS_SOURCE="`find /usr/src/binutils-source -type f -name 'binutils-*.tar'`"
|
||||
GCC_SOURCE="`find /usr/src/gcc-source -type f -name 'gcc-*.tar'`"
|
||||
GLIBC_SOURCE="`find /usr/src/glibc-source -type f -name 'glibc-*.tar'`"
|
||||
cd "$MYDIR"
|
||||
MYDIR=`pwd`
|
||||
BUILDDIR="`pwd`/build"
|
||||
SRCDIR="`pwd`/src"
|
||||
|
||||
KERNEL_SOURCE="`find $(pwd) -maxdepth 1 -type f -name 'kernel-source-*.tar*'`"
|
||||
BINUTILS_SOURCE="`find $(pwd) -maxdepth 1 -type f -name 'binutils-*.tar*'`"
|
||||
GCC_SOURCE="`find $(pwd) -maxdepth 1 -type f -name 'gcc-*.tar*'`"
|
||||
GLIBC_SOURCE="`find $(pwd) -maxdepth 1 -type f -name 'glibc-*.tar*'`"
|
||||
GCC_PATCHES="`find $(pwd)/patches/gcc -maxdepth 1 -type f -name '*.patch'`"
|
||||
|
||||
getversion() {
|
||||
local fname="${1##*/}"
|
||||
@ -24,8 +33,6 @@ getversion() {
|
||||
GCC_VERSION=`getversion $GCC_SOURCE`
|
||||
GCC_MAJOR_VERSION="${GCC_VERSION%%.*}"
|
||||
|
||||
BUILDDIR="`pwd`/build"
|
||||
SRCDIR="`pwd`/src"
|
||||
INSTALLDIR="`pwd`/inst/altcross-gcc-${GCC_VERSION}"
|
||||
BOOTSTRAP_INSTALLDIR="`pwd`/stage1/altcross-gcc-${GCC_VERSION}"
|
||||
SYSROOT=/$TARGET/libc
|
||||
@ -35,14 +42,17 @@ mkdir -p -m755 "$SRCDIR"
|
||||
cd "$SRCDIR"
|
||||
|
||||
mkdir -p -m755 linux binutils gcc glibc
|
||||
tar -x --strip-components=1 -f "$KERNEL_SOURCE" -C linux
|
||||
tar -x --strip-components=1 -f "$BINUTILS_SOURCE" -C binutils
|
||||
tar -x --strip-components=1 -f "$GCC_SOURCE" -C gcc
|
||||
tar -x --strip-components=1 -f "$GLIBC_SOURCE" -C glibc
|
||||
tar -x -a --strip-components=1 -f "$KERNEL_SOURCE" -C linux
|
||||
tar -x -a --strip-components=1 -f "$BINUTILS_SOURCE" -C binutils
|
||||
tar -x -a --strip-components=1 -f "$GCC_SOURCE" -C gcc
|
||||
tar -x -a --strip-components=1 -f "$GLIBC_SOURCE" -C glibc
|
||||
|
||||
cd "gcc"
|
||||
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'
|
||||
./contrib/download_prerequisites
|
||||
for p in $GCC_PATCHES; do
|
||||
patch -p1 -i $p
|
||||
done
|
||||
|
||||
mkdir -p -m755 "$INSTALLDIR/bin" "$BOOTSTRAP_INSTALLDIR/bin"
|
||||
save_PATH="$PATH"
|
||||
@ -66,6 +76,7 @@ cd "$BUILDDIR/obj_binutils"
|
||||
--with-sysroot="$SYSROOT" \
|
||||
--with-build-sysroot="$SYSROOTDIR" \
|
||||
--disable-multilib \
|
||||
--disable-gdb \
|
||||
${NIL}
|
||||
|
||||
make -j$(nproc)
|
||||
@ -167,10 +178,12 @@ sed -e "s; objcopy ; ../../../../bin/${TARGET}-objcopy ;" -i $BUILDDIR/specs
|
||||
mv $BUILDDIR/specs "$INSTALLDIR/lib/gcc/$TARGET/${GCC_MAJOR_VERSION}/"
|
||||
|
||||
# relocate libgcc_s
|
||||
mv $INSTALLDIR/lib/gcc/$TARGET/lib64/libgcc_s.so* "$INSTALLDIR/lib/gcc/$TARGET/${GCC_MAJOR_VERSION}/"
|
||||
rmdir "$INSTALLDIR/lib/gcc/$TARGET/lib64"
|
||||
|
||||
if [ -d "$INSTALLDIR/lib/gcc/$TARGET/lib64" ]; then
|
||||
mv $INSTALLDIR/lib/gcc/$TARGET/lib64/libgcc_s.so* "$INSTALLDIR/lib/gcc/$TARGET/${GCC_MAJOR_VERSION}/"
|
||||
rmdir "$INSTALLDIR/lib/gcc/$TARGET/lib64"
|
||||
fi
|
||||
|
||||
cd "$MYDIR"
|
||||
$INSTALLDIR/bin/${TARGET}-gcc -o ${BUILDDIR}/hello_c hello.c || exit 2
|
||||
$INSTALLDIR/bin/${TARGET}-g++ -o ${BUILDDIR}/hello_cpp hello.cpp || exit 3
|
||||
$INSTALLDIR/bin/${TARGET}-gcc -o ${BUILDDIR}/bye_asm -static -nostdlib bye-${LINUX_ARCH}.S || exit 11
|
||||
|
Loading…
x
Reference in New Issue
Block a user