From fdb5b16feedb779bdfa0b23de1ad887731618435 Mon Sep 17 00:00:00 2001 From: Marko Semet Date: Tue, 15 Sep 2020 00:58:51 +0200 Subject: [PATCH] Add base tcc build script --- build-raw.sh | 39 +++++++++++++++++++++++++++++++++++++++ files/.gitignore | 1 + 2 files changed, 40 insertions(+) create mode 100755 build-raw.sh create mode 100644 files/.gitignore diff --git a/build-raw.sh b/build-raw.sh new file mode 100755 index 0000000..ed64725 --- /dev/null +++ b/build-raw.sh @@ -0,0 +1,39 @@ +#! /usr/bin/env bash + +# Configs +if [ -z "$CC" ] +then + CC="gcc" +fi + +# URL +TCC_URL='https://download.savannah.gnu.org/releases/tinycc/tcc-0.9.27.tar.bz2' +TCC_SHA256='de23af78fca90ce32dff2dd45b3432b2334740bb9bb7b05bf60fdbfc396ceb9c' +TCC_FILE='tcc.tar.bz2' + +# Download +cd "$(dirname "$0")" && +mkdir -p 'files/raw' && +cd 'files/raw' && +( +if [ ! -f "$TCC_FILE" ]; then + wget -O "$TCC_FILE" "$TCC_URL" +else + echo Use cache +fi +) && +( TMP="$(sha256sum "$TCC_FILE")" && +if [ "${TMP:0:64}" != "$TCC_SHA256" ] +then + rm -rf "$TCC_FILE" && + echo 'Hash miss matches!' && + exit 1 +fi ) && + +# Build tcc +ls | grep -v "$TCC_FILE" | xargs rm -rf && +tar -xf "$TCC_FILE" && +cd tcc-* && +echo '#define TCC_VERSION "0.9.27"' > config.h && +echo '#undef TCC_IS_NATIVE' >> tcc.h && +"$CC" -static -o ../tcc -DCONFIG_TCCBOOT tcc.c \ No newline at end of file diff --git a/files/.gitignore b/files/.gitignore new file mode 100644 index 0000000..244372d --- /dev/null +++ b/files/.gitignore @@ -0,0 +1 @@ +/raw \ No newline at end of file