parent
a527dae4bd
commit
1ebbd69c79
|
@ -19,3 +19,6 @@
|
|||
[submodule "sysa/mescc-tools-patched"]
|
||||
path = sysa/mescc-tools-patched
|
||||
url = https://github.com/oriansj/mescc-tools
|
||||
[submodule "sysa/tcc-0.9.27"]
|
||||
path = sysa/tcc-0.9.27
|
||||
url = git://repo.or.cz/tinycc.git
|
||||
|
|
|
@ -36,7 +36,6 @@ ln -s . tmp/after/lib/x86-mes
|
|||
ln -s . tmp/after/lib/linux/x86-mes
|
||||
mkdir tmp/after/include/{mes,gnu,linux,sys,mach}
|
||||
mkdir tmp/after/include/linux/{x86,x86_64}
|
||||
# put all the kaems for after in
|
||||
cp after.kaem tmp/
|
||||
cp after.kaem.run tmp/after/kaem.run
|
||||
|
||||
|
@ -61,11 +60,13 @@ cp mes-files/config.h tmp/after/mes/include/mes/
|
|||
cp mes-files/config.h tmp/after/tcc-mes/include/mes/
|
||||
mkdir tmp/after/mes/{bin,m2}
|
||||
|
||||
# tcc 0.9.26
|
||||
# tcc
|
||||
cp tcc.kaem tmp/after/
|
||||
cp -r tcc-0.9.26p1 tmp/after/
|
||||
cp -r tcc-0.9.27 tmp/after/
|
||||
touch tmp/after/tcc-0.9.27/config.h
|
||||
touch tmp/after/tcc-0.9.26p1/config.h
|
||||
pushd tmp/after/tcc-0.9.26p1
|
||||
cp ../../../tcc-0.9.26p1-files/config.h .
|
||||
ln -s ../mes/module .
|
||||
ln -s ../mes/mes .
|
||||
ln -s /after/lib x86-mes
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Subproject commit d348a9a51d32cece842b7885d27a411436d7887b
|
|
@ -83,7 +83,8 @@ mes-tcc -ar cr ${libdir}/libgetopt.a getopt.o
|
|||
|
||||
cd ../tcc-0.9.26p1
|
||||
|
||||
# boot0
|
||||
# boot0 (ref comments here for all boot*)
|
||||
# compile
|
||||
mes-tcc \
|
||||
-g \
|
||||
-v \
|
||||
|
@ -99,7 +100,7 @@ mes-tcc \
|
|||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/lib/include\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||
-D CONFIG_TCCBOOT=1 \
|
||||
|
@ -111,9 +112,11 @@ mes-tcc \
|
|||
-L . \
|
||||
-L /after/lib \
|
||||
tcc.c
|
||||
# Install
|
||||
cp boot0-tcc /after/bin/
|
||||
chmod 755 /after/bin/boot0-tcc
|
||||
cd ../tcc-mes
|
||||
# Recompile libc: crt{1,n,i}, libtcc.a, libc.a
|
||||
boot0-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c
|
||||
boot0-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c
|
||||
boot0-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c
|
||||
|
@ -146,7 +149,7 @@ boot0-tcc \
|
|||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/lib/include\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||
-D CONFIG_TCCBOOT=1 \
|
||||
|
@ -193,7 +196,7 @@ boot1-tcc \
|
|||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/lib/include\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||
-D CONFIG_TCCBOOT=1 \
|
||||
|
@ -240,7 +243,7 @@ boot2-tcc \
|
|||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/lib/include\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||
-D CONFIG_TCCBOOT=1 \
|
||||
|
@ -287,7 +290,7 @@ boot3-tcc \
|
|||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/lib/include\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||
-D CONFIG_TCCBOOT=1 \
|
||||
|
@ -334,7 +337,7 @@ boot4-tcc \
|
|||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/lib/include\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||
-D CONFIG_TCCBOOT=1 \
|
||||
|
@ -371,4 +374,51 @@ chmod 755 /after/bin/tcc
|
|||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 lib/posix/getopt.c
|
||||
tcc -ar cr ${libdir}/libgetopt.a getopt.o
|
||||
|
||||
# Now compile tcc 0.9.27
|
||||
cd ../tcc-0.9.27
|
||||
|
||||
# Compile the binary
|
||||
tcc \
|
||||
-v \
|
||||
-static \
|
||||
-o tcc \
|
||||
-D TCC_TARGET_I386=1 \
|
||||
-D CONFIG_TCCDIR=\"/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
||||
-D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/include\" \
|
||||
-D TCC_LIBGCC=\"/after/lib/libc.a\" \
|
||||
-D CONFIG_TCC_STATIC=1 \
|
||||
-D CONFIG_USE_LIBGCC=1 \
|
||||
-D TCC_VERSION=\"0.9.27\" \
|
||||
-D ONE_SOURCE=1 \
|
||||
tcc.c
|
||||
|
||||
# Install the binary
|
||||
cp tcc /after/bin/tcc
|
||||
chmod 755 /after/bin/tcc
|
||||
|
||||
# Test
|
||||
tcc -version
|
||||
|
||||
# Recompile libc
|
||||
cd ../tcc-mes
|
||||
# crt{1,n,i}.o
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crti.o lib/linux/x86-mes-gcc/crti.c
|
||||
# libtcc1.a
|
||||
tcc -c -D HAVE_CONFIG_H=1 -D HAVE_FLOAT=1 -D HAVE_LONG_LONG=1 -I include -I include/linux/x86 lib/libtcc1.c
|
||||
tcc -ar cr ${libdir}/tcc/libtcc1.a libtcc1.o
|
||||
# libc.a
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-1.o unified-libc-1.c
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-2.o unified-libc-2.c
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o unified-libc-3.o unified-libc-3.c
|
||||
tcc -ar cr ${libdir}/libc+gnu.a unified-libc-1.o unified-libc-2.o unified-libc-3.o
|
||||
cp ${libdir}/libc+gnu.a ${libdir}/libc.a
|
||||
# libgetopt.a
|
||||
tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 lib/posix/getopt.c
|
||||
tcc -ar cr ${libdir}/libgetopt.a getopt.o
|
||||
|
||||
cd ..
|
||||
|
|
Loading…
Reference in New Issue