parent
a527dae4bd
commit
1ebbd69c79
|
@ -19,3 +19,6 @@
|
||||||
[submodule "sysa/mescc-tools-patched"]
|
[submodule "sysa/mescc-tools-patched"]
|
||||||
path = sysa/mescc-tools-patched
|
path = sysa/mescc-tools-patched
|
||||||
url = https://github.com/oriansj/mescc-tools
|
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
|
ln -s . tmp/after/lib/linux/x86-mes
|
||||||
mkdir tmp/after/include/{mes,gnu,linux,sys,mach}
|
mkdir tmp/after/include/{mes,gnu,linux,sys,mach}
|
||||||
mkdir tmp/after/include/linux/{x86,x86_64}
|
mkdir tmp/after/include/linux/{x86,x86_64}
|
||||||
# put all the kaems for after in
|
|
||||||
cp after.kaem tmp/
|
cp after.kaem tmp/
|
||||||
cp after.kaem.run tmp/after/kaem.run
|
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/
|
cp mes-files/config.h tmp/after/tcc-mes/include/mes/
|
||||||
mkdir tmp/after/mes/{bin,m2}
|
mkdir tmp/after/mes/{bin,m2}
|
||||||
|
|
||||||
# tcc 0.9.26
|
# tcc
|
||||||
cp tcc.kaem tmp/after/
|
cp tcc.kaem tmp/after/
|
||||||
cp -r tcc-0.9.26p1 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
|
pushd tmp/after/tcc-0.9.26p1
|
||||||
cp ../../../tcc-0.9.26p1-files/config.h .
|
|
||||||
ln -s ../mes/module .
|
ln -s ../mes/module .
|
||||||
ln -s ../mes/mes .
|
ln -s ../mes/mes .
|
||||||
ln -s /after/lib x86-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
|
cd ../tcc-0.9.26p1
|
||||||
|
|
||||||
# boot0
|
# boot0 (ref comments here for all boot*)
|
||||||
|
# compile
|
||||||
mes-tcc \
|
mes-tcc \
|
||||||
-g \
|
-g \
|
||||||
-v \
|
-v \
|
||||||
|
@ -99,7 +100,7 @@ mes-tcc \
|
||||||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
-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_LIBGCC=\"/after/lib/libc.a\" \
|
||||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||||
-D CONFIG_TCCBOOT=1 \
|
-D CONFIG_TCCBOOT=1 \
|
||||||
|
@ -111,9 +112,11 @@ mes-tcc \
|
||||||
-L . \
|
-L . \
|
||||||
-L /after/lib \
|
-L /after/lib \
|
||||||
tcc.c
|
tcc.c
|
||||||
|
# Install
|
||||||
cp boot0-tcc /after/bin/
|
cp boot0-tcc /after/bin/
|
||||||
chmod 755 /after/bin/boot0-tcc
|
chmod 755 /after/bin/boot0-tcc
|
||||||
cd ../tcc-mes
|
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}/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}/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
|
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_CRTPREFIX=\"/after/lib\" \
|
||||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
-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_LIBGCC=\"/after/lib/libc.a\" \
|
||||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||||
-D CONFIG_TCCBOOT=1 \
|
-D CONFIG_TCCBOOT=1 \
|
||||||
|
@ -193,7 +196,7 @@ boot1-tcc \
|
||||||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
-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_LIBGCC=\"/after/lib/libc.a\" \
|
||||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||||
-D CONFIG_TCCBOOT=1 \
|
-D CONFIG_TCCBOOT=1 \
|
||||||
|
@ -240,7 +243,7 @@ boot2-tcc \
|
||||||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
-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_LIBGCC=\"/after/lib/libc.a\" \
|
||||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||||
-D CONFIG_TCCBOOT=1 \
|
-D CONFIG_TCCBOOT=1 \
|
||||||
|
@ -287,7 +290,7 @@ boot3-tcc \
|
||||||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
-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_LIBGCC=\"/after/lib/libc.a\" \
|
||||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||||
-D CONFIG_TCCBOOT=1 \
|
-D CONFIG_TCCBOOT=1 \
|
||||||
|
@ -334,7 +337,7 @@ boot4-tcc \
|
||||||
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
-D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \
|
||||||
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
-D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \
|
||||||
-D CONFIG_TCC_LIBPATHS=\"/after/lib:/after/lib/tcc\" \
|
-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_LIBGCC=\"/after/lib/libc.a\" \
|
||||||
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
-D TCC_LIBTCC1=\"libtcc1.a\" \
|
||||||
-D CONFIG_TCCBOOT=1 \
|
-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 -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 lib/posix/getopt.c
|
||||||
tcc -ar cr ${libdir}/libgetopt.a getopt.o
|
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 ..
|
cd ..
|
||||||
|
|
Loading…
Reference in New Issue