blob: 37fb92ced4f24f5405961797327f9249ac6dc9d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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
|