add cross compiler build script and configure script

This commit is contained in:
josh committed 2020-10-06 20:06:19 -04:00
1 parent 1f5e3507ba
commit e97e76da7b
5 files changed
+104

No files matched your search

+6
View File
@@ -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-*/
Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env ruby
script = File.join(File.dirname(__FILE__), ".rscons-2.1.0-967afecbb5d879b13cd42f3785ed037b.rb")
unless File.exists?(script)
if File.read(__FILE__, mode: "rb") =~ /^#==>(.*)/
require "zlib"
require "base64"
encoded_compressed = $1
unescaped_compressed = Base64.decode64(encoded_compressed)
inflated = Zlib::Inflate.inflate(unescaped_compressed)
File.open(script, "wb") do |fh|
fh.write(inflated)
end
else
raise "Could not decompress."
end
end
load script
if __FILE__ == $0
Rscons::Cli.run(ARGV)
end
#==>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 truncated
+11
View 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
View 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
Vendored Executable
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
../rscons configure