From bb04e1368eb428118c3de6220026715350969b7d Mon Sep 17 00:00:00 2001 From: Ashish Gupta Date: Mon, 15 May 2017 21:37:19 +0200 Subject: Add makefile for kos32-gcc. Add a shell script called via the makefile which does the actual build. The compiler package (with sdk) is downloaded from the KolibriOS Ftp Site. Script verifies downloaded compiler package by checking sha512 sum on the file. In addition, the SVN Checkout of kolibrios is required for building some other objects required to build netsurf. --- kos32-gcc/Makefile | 4 ++++ kos32-gcc/build.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 kos32-gcc/Makefile create mode 100755 kos32-gcc/build.sh diff --git a/kos32-gcc/Makefile b/kos32-gcc/Makefile new file mode 100644 index 0000000..e023a4b --- /dev/null +++ b/kos32-gcc/Makefile @@ -0,0 +1,4 @@ +install: builder + +builder: + ./build.sh diff --git a/kos32-gcc/build.sh b/kos32-gcc/build.sh new file mode 100755 index 0000000..37fb92c --- /dev/null +++ b/kos32-gcc/build.sh @@ -0,0 +1,64 @@ +#!/bin/bash + +set -x +COMPILER=x86_64-linux-kos32-4.8.5.7z +SDK=sdk-28-10-16.7z + +SVN_URL=svn://kolibrios.org +SDK_URL=http://ftp.kolibrios.org/users/Serge/new/Toolchain/$SDK +COMPILER_URL=http://ftp.kolibrios.org/users/Serge/new/Toolchain/$COMPILER + +INSTALL_PATH=/opt/netsurf/kos32-gcc +CROSS_PATH=$INSTALL_PATH/cross/autobuild/tools/ +ENV_PATH=$INSTALL_PATH/env +OBJ_PATH=$ENV_PATH/obj + +SVN_CHECKOUT=$ENV_PATH/kolibrios + +SHA512_SDK=e37226c1421104f9025c644277080a0adad1cb5db560fe04bbcc6c41797fe87e57d337da314bde4abc4decfbedf3087ffb16b1d71d2587e317933204255ead1a +SHA512_COMPILER=28555b2247848c5d85be6b18e10dc903b9a161179230b65d35f7f3bf40dff3b135972e84f6c25db23fee2a90c7a96b5a755dba9a2eaa9dbc4735e717436db1ce + +# clean +# rm -rf $INSTALL_PATH + +# set up directories +for dir in $INSTALL_PATH $CROSS_PATH $ENV_PATH $OBJ_PATH; do + mkdir -p $dir +done + +# download sdk and friends +svn checkout ${SVN_URL} ${SVN_CHECKOUT} +wget -v ${COMPILER_URL} --directory-prefix=${CROSS_PATH} +wget -v ${SDK_URL} --directory-prefix=${CROSS_PATH} + +# verify checksums +for file in COMPILER SDK; do + VARNAME=SHA512_${file} + [[ $(sha512sum $CROSS_PATH/${!file} | awk '{print $1}') != ${!VARNAME} ]] && exit 1 +done + +# set up toolchain +pushd $PWD + +cd $CROSS_PATH +7z x $COMPILER + +mv $SDK win32/ + +cd win32 +7z x $SDK + +popd + +# fix up environment +PATH=${PATH}:/opt/netsurf/kos32-gcc/cross/autobuild/tools/win32/bin +GCC="kos32-gcc -c -fno-ident -fomit-frame-pointer -U__WIN32__ -I${SVN_CHECKOUT}/contrib/sdk/sources/newlib/libc/include -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U__BSD_VISIBLE" +ASM=fasm + +# build stuff +$GCC ${SVN_CHECKOUT}/programs/fs/unzip60/kolibri/dirent.c -o ${OBJ_PATH}/dirent.o +$GCC ${SVN_CHECKOUT}/programs/develop/libraries/iconv/iconv.c -o ${OBJ_PATH}/iconv.o +$ASM ${SVN_CHECKOUT}/contrib/C_Layer/ASM/loadhttp.asm ${OBJ_PATH}/loadhttp.obj + + + -- cgit v1.2.3