GCC patch and toolchain (not working)
This commit is contained in:
parent
d0a4a06c7b
commit
2de2f1d364
2 changed files with 415 additions and 2 deletions
|
|
@ -13,12 +13,21 @@ PREFIX="$TOOLCHAIN/local"
|
|||
BUILD="$DIR/../builddbg"
|
||||
SYSROOT="$DIR/../sysroot"
|
||||
|
||||
|
||||
BINUTILS_VERSION="2.40"
|
||||
BINUTILS_NAME="binutils-$BINUTILS_VERSION"
|
||||
BINUTILS_PKG="${BINUTILS_NAME}.tar.xz"
|
||||
BINUTILS_BASE_URL="https://ftp.gnu.org/gnu/binutils"
|
||||
|
||||
NEWLIB_VERSION="4.1.0"
|
||||
NEWLIB_NAME="newlib-$NEWLIB_VERSION"
|
||||
NEWLIB_PKG="${NEWLIB_NAME}.tar.gz"
|
||||
NEWLIB_BASE_URL="ftp://sourceware.org/pub/newlib"
|
||||
|
||||
GCC_VERSION="13.1.0"
|
||||
GCC_NAME="gcc-$GCC_VERSION"
|
||||
GCC_PKG="${GCC_NAME}.tar.xz"
|
||||
GCC_BASE_URL="https://ftp.gnu.org/gnu/gcc"
|
||||
|
||||
mkdir -p "$TOOLCHAIN/srcs"
|
||||
pushd "$TOOLCHAIN/srcs"
|
||||
# TODO: Check md5sum
|
||||
|
|
@ -29,6 +38,22 @@ pushd "$TOOLCHAIN/srcs"
|
|||
if [ ! -d "$BINUTILS_NAME" ]; then
|
||||
tar -xJf ${BINUTILS_PKG}
|
||||
fi
|
||||
|
||||
if [ ! -e $NEWLIB_PKG ]; then
|
||||
curl -LO $NEWLIB_BASE_URL/$NEWLIB_PKG
|
||||
fi
|
||||
|
||||
if [ ! -d $NEWLIB_NAME ]; then
|
||||
tar -xzf $NEWLIB_PKG
|
||||
fi
|
||||
|
||||
if [ ! -e "$GCC_PKG" ]; then
|
||||
curl -LO "$GCC_BASE_URL/$GCC_NAME/$GCC_PKG"
|
||||
fi
|
||||
|
||||
if [ ! -d "$GCC_NAME" ]; then
|
||||
tar -xJf $GCC_PKG
|
||||
fi
|
||||
|
||||
|
||||
popd
|
||||
|
|
@ -41,11 +66,49 @@ pushd "$TOOLCHAIN/build"
|
|||
pushd binutils
|
||||
# skip building documentation
|
||||
export ac_cv_prog_MAKEINFO=true
|
||||
"$TOOLCHAIN"/srcs/$BINUTILS_NAME/configure --prefix="$PREFIX" --target="$TARGET" --with-sysroot="$SYSROOT" --enable-shared --disable-nls
|
||||
"$TOOLCHAIN"/srcs/$BINUTILS_NAME/configure \
|
||||
--prefix=$SYSROOT/usr \
|
||||
--exec-prefix=$PREFIX \
|
||||
--target="$TARGET" \
|
||||
--with-sysroot="$SYSROOT" \
|
||||
--enable-shared \
|
||||
--disable-nls
|
||||
|
||||
make MAKEINFO=true -j 8
|
||||
make install MAKEINFO=true -j 8
|
||||
popd
|
||||
fi
|
||||
|
||||
# rm -rf newlib
|
||||
if [ ! -d newlib ]; then
|
||||
mkdir -p newlib
|
||||
pushd newlib
|
||||
$TOOLCHAIN/srcs/$NEWLIB_NAME/configure \
|
||||
--prefix=$SYSROOT/usr \
|
||||
--target=x86_64-elf \
|
||||
--with-sysroot=$SYSROOT
|
||||
make -j 8
|
||||
make -j 8 install
|
||||
popd
|
||||
fi
|
||||
|
||||
rm -rf gcc
|
||||
mkdir -p gcc
|
||||
pushd gcc
|
||||
$TOOLCHAIN/srcs/$GCC_NAME/configure \
|
||||
--prefix=$PREFIX \
|
||||
--target=$TARGET \
|
||||
--with-sysroot=$SYSROOT \
|
||||
--disable-nls \
|
||||
--enable-languages=c,c++
|
||||
|
||||
|
||||
make -j 8 all-gcc
|
||||
make -j 8 all-target-libgcc
|
||||
|
||||
make -j 8 install-gcc install-target-libgcc
|
||||
|
||||
popd
|
||||
|
||||
|
||||
popd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue