add cross compiler build script and configure script
This commit is contained in:
parent
1f5e3507ba
commit
e97e76da7b
6
.gitignore
vendored
6
.gitignore
vendored
@ -4,3 +4,9 @@
|
||||
*.lst
|
||||
*.map
|
||||
*.bin
|
||||
/.rscons*
|
||||
/x86_64-cross/.rscons*
|
||||
/x86_64-cross/build*/
|
||||
/x86_64-cross/*.xz
|
||||
/x86_64-cross/binutils-*/
|
||||
/x86_64-cross/gcc-*/
|
||||
|
11
x86_64-cross/Rsconscript
Normal file
11
x86_64-cross/Rsconscript
Normal file
@ -0,0 +1,11 @@
|
||||
configure do
|
||||
check_c_compiler "gcc"
|
||||
check_program "make"
|
||||
check_program "bison"
|
||||
check_program "flex"
|
||||
check_program "texi2any"
|
||||
check_program "wget"
|
||||
check_lib "gmp"
|
||||
check_lib "mpc"
|
||||
check_lib "mpfr"
|
||||
end
|
64
x86_64-cross/build.sh
Executable file
64
x86_64-cross/build.sh
Executable file
@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
BINUTILS_VERSION="2.35"
|
||||
BINUTILS_CHECKSUM="1b11659fb49e20e18db460d44485f09442c8c56d5df165de9461eb09c8302f85"
|
||||
GCC_VERSION="10.2.0"
|
||||
GCC_CHECKSUM="b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c"
|
||||
|
||||
if [ ! -e binutils-${BINUTILS_VERSION}.tar.xz ]; then
|
||||
wget -O binutils-${BINUTILS_VERSION}.tar.xz https://ftp.gnu.org/gnu/binutils/binutils-${BINUTILS_VERSION}.tar.xz
|
||||
fi
|
||||
|
||||
if [[ ! `sha256sum binutils-${BINUTILS_VERSION}.tar.xz` =~ $BINUTILS_CHECKSUM ]]; then
|
||||
echo "Invalid binutils-${BINUTILS_VERSION}.tar.xz checksum"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -d binutils-${BINUTILS_VERSION} ]; then
|
||||
tar xJf binutils-${BINUTILS_VERSION}.tar.xz
|
||||
fi
|
||||
|
||||
if [ ! -e gcc-${GCC_VERSION}.tar.xz ]; then
|
||||
wget -O gcc-${GCC_VERSION}.tar.xz https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/gcc-${GCC_VERSION}.tar.xz
|
||||
fi
|
||||
|
||||
if [[ ! `sha256sum gcc-${GCC_VERSION}.tar.xz` =~ $GCC_CHECKSUM ]]; then
|
||||
echo "Invalid gcc-${GCC_VERSION}.tar.xz checksum"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ ! -d gcc-${GCC_VERSION} ]; then
|
||||
tar xJf gcc-${GCC_VERSION}.tar.xz
|
||||
fi
|
||||
|
||||
export PREFIX="$HOME/.local"
|
||||
export TARGET="x86_64-elf"
|
||||
export PATH="$PREFIX/bin:$PATH"
|
||||
|
||||
function build_binutils()
|
||||
{
|
||||
rm -rf build-binutils
|
||||
mkdir -p build-binutils
|
||||
(
|
||||
cd build-binutils
|
||||
../binutils-${BINUTILS_VERSION}/configure --target="$TARGET" --prefix="$PREFIX" --with-sysroot --disable-nls --disable-werror && \
|
||||
make && \
|
||||
make install
|
||||
)
|
||||
}
|
||||
|
||||
function build_gcc()
|
||||
{
|
||||
rm -rf build-gcc
|
||||
mkdir -p build-gcc
|
||||
(
|
||||
cd build-gcc
|
||||
../gcc-${GCC_VERSION}/configure --target="$TARGET" --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ --without-headers && \
|
||||
make all-gcc && \
|
||||
make all-target-libgcc && \
|
||||
make install-gcc && \
|
||||
make install-target-libgcc
|
||||
)
|
||||
}
|
||||
|
||||
build_binutils && build_gcc
|
2
x86_64-cross/configure
vendored
Executable file
2
x86_64-cross/configure
vendored
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
../rscons configure
|
Loading…
x
Reference in New Issue
Block a user