diff --git a/sysa/mes.kaem b/sysa/mes.kaem index 2fb7f2a..535a4ad 100755 --- a/sysa/mes.kaem +++ b/sysa/mes.kaem @@ -2,15 +2,17 @@ set -ex -# All of the stuff for mescc +# Variables +prefix=${prefix} MES_ARENA=20000000 MES_MAX_ARENA=20000000 MES_STACK=6000000 -MES_PREFIX=/after -GUILE_LOAD_PATH=/after/nyacc/module:/after/mes/mes/module -MES=/after/bin/mes -bindir=/after/bin -libdir=/after/mes/lib +MES_PREFIX=${prefix} +GUILE_LOAD_PATH=${prefix}/nyacc/module:${prefix}/mes/mes/module +bindir=${prefix}/bin +MES=${bindir}/mes +libdir=${prefix}/mes/lib +incdir=${prefix}/include chmod 755 bin/mescc.scm @@ -200,92 +202,92 @@ ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- -c -D HAVE_CONFIG_H=1 -I ${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 src/vector.c # Link everything into new mes executable -${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- -L ${libdir} -nostdlib -o /after/bin/mes-new -L . crt1.o builtins.o cc.o core.o display.o eval-apply.o gc.o hash.o lib.o math.o mes.o module.o posix.o reader.o stack.o string.o struct.o symbol.o vector.o -lc -lmescc +${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- -L ${libdir} -nostdlib -o ${bindir}/mes-new -L . crt1.o builtins.o cc.o core.o display.o eval-apply.o gc.o hash.o lib.o math.o mes.o module.o posix.o reader.o stack.o string.o struct.o symbol.o vector.o -lc -lmescc # Now we finally have the final mes+libraries which we will subsequently use to compile tcc -cp /after/bin/mes-new /after/bin/mes +cp ${bindir}/mes-new ${bindir}/mes # Install libraries -cp ${libdir}/x86-mes/libc.a /after/lib/ -cp ${libdir}/x86-mes/libc+tcc.a /after/lib/ -cp ${libdir}/x86-mes/libmescc.a /after/lib/ -cp ${libdir}/x86-mes/libc.s /after/lib/ -cp ${libdir}/x86-mes/libc+tcc.s /after/lib/ -cp ${libdir}/x86-mes/libmescc.s /after/lib/ -cp ${libdir}/x86-mes/x86.M1 /after/lib/ -cp crt1.o /after/lib/ -cp crt1.s /after/lib/ -cp ${libdir}/linux/x86-mes/elf32-footer-single-main.hex2 /after/lib/linux/ -cp ${libdir}/linux/x86-mes/elf32-header.hex2 /after/lib/linux/ +cp ${libdir}/x86-mes/libc.a ${prefix}/lib/ +cp ${libdir}/x86-mes/libc+tcc.a ${prefix}/lib/ +cp ${libdir}/x86-mes/libmescc.a ${prefix}/lib/ +cp ${libdir}/x86-mes/libc.s ${prefix}/lib/ +cp ${libdir}/x86-mes/libc+tcc.s ${prefix}/lib/ +cp ${libdir}/x86-mes/libmescc.s ${prefix}/lib/ +cp ${libdir}/x86-mes/x86.M1 ${prefix}/lib/ +cp crt1.o ${prefix}/lib/ +cp crt1.s ${prefix}/lib/ +cp ${libdir}/linux/x86-mes/elf32-footer-single-main.hex2 ${prefix}/lib/linux/ +cp ${libdir}/linux/x86-mes/elf32-header.hex2 ${prefix}/lib/linux/ # Install header files -cp include/alloca.h /after/include/alloca.h -cp include/argz.h /after/include/argz.h -cp include/ar.h /after/include/ar.h -cp include/assert.h /after/include/assert.h -cp include/ctype.h /after/include/ctype.h -cp include/dirent.h /after/include/dirent.h -cp include/dirstream.h /after/include/dirstream.h -cp include/dlfcn.h /after/include/dlfcn.h -cp include/endian.h /after/include/endian.h -cp include/errno.h /after/include/errno.h -cp include/fcntl.h /after/include/fcntl.h -cp include/features.h /after/include/features.h -cp include/float.h /after/include/float.h -cp include/getopt.h /after/include/getopt.h -cp include/grp.h /after/include/grp.h -cp include/inttypes.h /after/include/inttypes.h -cp include/libgen.h /after/include/libgen.h -cp include/limits.h /after/include/limits.h -cp include/locale.h /after/include/locale.h -cp include/math.h /after/include/math.h -cp include/memory.h /after/include/memory.h -cp include/pwd.h /after/include/pwd.h -cp include/setjmp.h /after/include/setjmp.h -cp include/signal.h /after/include/signal.h -cp include/stdarg.h /after/include/stdarg.h -cp include/stdbool.h /after/include/stdbool.h -cp include/stddef.h /after/include/stddef.h -cp include/stdint.h /after/include/stdint.h -cp include/stdio.h /after/include/stdio.h -cp include/stdlib.h /after/include/stdlib.h -cp include/stdnoreturn.h /after/include/stdnoreturn.h -cp include/string.h /after/include/string.h -cp include/strings.h /after/include/strings.h -cp include/termio.h /after/include/termio.h -cp include/time.h /after/include/time.h -cp include/unistd.h /after/include/unistd.h +cp include/alloca.h ${incdir}/alloca.h +cp include/argz.h ${incdir}/argz.h +cp include/ar.h ${incdir}/ar.h +cp include/assert.h ${incdir}/assert.h +cp include/ctype.h ${incdir}/ctype.h +cp include/dirent.h ${incdir}/dirent.h +cp include/dirstream.h ${incdir}/dirstream.h +cp include/dlfcn.h ${incdir}/dlfcn.h +cp include/endian.h ${incdir}/endian.h +cp include/errno.h ${incdir}/errno.h +cp include/fcntl.h ${incdir}/fcntl.h +cp include/features.h ${incdir}/features.h +cp include/float.h ${incdir}/float.h +cp include/getopt.h ${incdir}/getopt.h +cp include/grp.h ${incdir}/grp.h +cp include/inttypes.h ${incdir}/inttypes.h +cp include/libgen.h ${incdir}/libgen.h +cp include/limits.h ${incdir}/limits.h +cp include/locale.h ${incdir}/locale.h +cp include/math.h ${incdir}/math.h +cp include/memory.h ${incdir}/memory.h +cp include/pwd.h ${incdir}/pwd.h +cp include/setjmp.h ${incdir}/setjmp.h +cp include/signal.h ${incdir}/signal.h +cp include/stdarg.h ${incdir}/stdarg.h +cp include/stdbool.h ${incdir}/stdbool.h +cp include/stddef.h ${incdir}/stddef.h +cp include/stdint.h ${incdir}/stdint.h +cp include/stdio.h ${incdir}/stdio.h +cp include/stdlib.h ${incdir}/stdlib.h +cp include/stdnoreturn.h ${incdir}/stdnoreturn.h +cp include/string.h ${incdir}/string.h +cp include/strings.h ${incdir}/strings.h +cp include/termio.h ${incdir}/termio.h +cp include/time.h ${incdir}/time.h +cp include/unistd.h ${incdir}/unistd.h -cp include/linux/syscall.h /after/include/linux/syscall.h -cp include/linux/x86/syscall.h /after/include/linux/x86/syscall.h +cp include/linux/syscall.h ${incdir}/linux/syscall.h +cp include/linux/x86/syscall.h ${incdir}/linux/x86/syscall.h -cp include/mes/builtins.h /after/include/mes/builtins.h -cp include/mes/cc.h /after/include/mes/cc.h -cp include/mes/constants.h /after/include/mes/constants.h -cp include/mes/lib.h /after/include/mes/lib.h -cp include/mes/lib-mini.h /after/include/mes/lib-mini.h -cp include/mes/mes.h /after/include/mes/mes.h -cp include/mes/symbols.h /after/include/mes/symbols.h +cp include/mes/builtins.h ${incdir}/mes/builtins.h +cp include/mes/cc.h ${incdir}/mes/cc.h +cp include/mes/constants.h ${incdir}/mes/constants.h +cp include/mes/lib.h ${incdir}/mes/lib.h +cp include/mes/lib-mini.h ${incdir}/mes/lib-mini.h +cp include/mes/mes.h ${incdir}/mes/mes.h +cp include/mes/symbols.h ${incdir}/mes/symbols.h -cp include/sys/cdefs.h /after/include/sys/cdefs.h -cp include/sys/dir.h /after/include/sys/dir.h -cp include/sys/file.h /after/include/sys/file.h -cp include/sys/ioctl.h /after/include/sys/ioctl.h -cp include/sys/mman.h /after/include/sys/mman.h -cp include/sys/param.h /after/include/sys/param.h -cp include/sys/resource.h /after/include/sys/resource.h -cp include/sys/select.h /after/include/sys/select.h -cp include/sys/stat.h /after/include/sys/stat.h -cp include/sys/timeb.h /after/include/sys/timeb.h -cp include/sys/time.h /after/include/sys/time.h -cp include/sys/times.h /after/include/sys/times.h -cp include/sys/types.h /after/include/sys/types.h -cp include/sys/ucontext.h /after/include/sys/ucontext.h -cp include/sys/user.h /after/include/sys/user.h -cp include/sys/wait.h /after/include/sys/wait.h +cp include/sys/cdefs.h ${incdir}/sys/cdefs.h +cp include/sys/dir.h ${incdir}/sys/dir.h +cp include/sys/file.h ${incdir}/sys/file.h +cp include/sys/ioctl.h ${incdir}/sys/ioctl.h +cp include/sys/mman.h ${incdir}/sys/mman.h +cp include/sys/param.h ${incdir}/sys/param.h +cp include/sys/resource.h ${incdir}/sys/resource.h +cp include/sys/select.h ${incdir}/sys/select.h +cp include/sys/stat.h ${incdir}/sys/stat.h +cp include/sys/timeb.h ${incdir}/sys/timeb.h +cp include/sys/time.h ${incdir}/sys/time.h +cp include/sys/times.h ${incdir}/sys/times.h +cp include/sys/types.h ${incdir}/sys/types.h +cp include/sys/ucontext.h ${incdir}/sys/ucontext.h +cp include/sys/user.h ${incdir}/sys/user.h +cp include/sys/wait.h ${incdir}/sys/wait.h # Test mes -libdir=/after/lib +libdir=${prefix}/lib ${MES} -c "(display 'Hello,Mes!) (newline)" cd .. diff --git a/sysa/tcc.kaem b/sysa/tcc.kaem index 0e1dca4..927606c 100755 --- a/sysa/tcc.kaem +++ b/sysa/tcc.kaem @@ -3,34 +3,35 @@ set -ex # Vars -bindir=/after/bin -libdir=/after/lib -GUILE_LOAD_PATH=/after/nyacc/module:/after/mes/mes/module -MES_PREFIX=/after/mes +bindir=${bindir} +libdir=${libdir} +prefix=${prefix} +GUILE_LOAD_PATH=${prefix}/nyacc/module:${prefix}/mes/mes/module +MES_PREFIX=${prefix}/mes MES_STACK=15000000 MES_ARENA=30000000 MES_MAX_ARENA=30000000 MES_LIB=${MES_PREFIX}/lib MES_SOURCE=${MES_PREFIX} -MES=/after/bin/mes +MES=${bindir}/mes # Initial tcc cd tcc-0.9.26 -${MES} --no-auto-compile -e main /after/bin/mescc.scm -- \ +${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- \ -S \ -o tcc.s \ - -I /after/mes/lib \ - -I /after/mes/include \ + -I ${prefix}/mes/lib \ + -I ${prefix}/mes/include \ -D BOOTSTRAP=1 \ -I . \ -D TCC_TARGET_I386=1 \ -D inline= \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ -D CONFIG_SYSROOT=\"/\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -D CONFIG_TCC_ELFINTERP=\"/mes/loader\" \ - -D CONFIG_TCC_SYSINCLUDEPATHS=\"/after/mes/include:/after/include\" \ - -D TCC_LIBGCC=\"/after/lib/libc.a\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/mes/include:${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D CONFIG_TCC_LIBTCC1_MES=0 \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -39,13 +40,13 @@ ${MES} --no-auto-compile -e main /after/bin/mescc.scm -- \ -D TCC_VERSION=\"0.9.26\" \ -D ONE_SOURCE=1 \ tcc.c -${MES} --no-auto-compile -e main /after/bin/mescc.scm -- \ +${MES} --no-auto-compile -e main ${bindir}/mescc.scm -- \ -o mes-tcc \ - -L /after/lib \ + -L ${libdir} \ tcc.s \ -l c+tcc -cp mes-tcc /after/bin/ -chmod 755 /after/bin/mes-tcc +cp mes-tcc ${bindir}/ +chmod 755 ${bindir}/mes-tcc # test mes-tcc mes-tcc -version @@ -95,14 +96,14 @@ mes-tcc \ -D HAVE_LONG_LONG_STUB=1 \ -D HAVE_SETJMP=1 \ -I . \ - -I /after/include \ + -I ${prefix}/include \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D TCC_LIBTCC1=\"libtcc1.a\" \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -111,11 +112,11 @@ mes-tcc \ -D TCC_VERSION=\"0.9.26\" \ -D ONE_SOURCE=1 \ -L . \ - -L /after/lib \ + -L ${libdir} \ tcc.c # Install -cp boot0-tcc /after/bin/ -chmod 755 /after/bin/boot0-tcc +cp boot0-tcc ${bindir}/ +chmod 755 ${bindir}/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 @@ -144,14 +145,14 @@ boot0-tcc \ -D HAVE_LONG_LONG=1 \ -D HAVE_SETJMP=1 \ -I . \ - -I /after/include \ + -I ${prefix}/include \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D TCC_LIBTCC1=\"libtcc1.a\" \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -161,8 +162,8 @@ boot0-tcc \ -D ONE_SOURCE=1 \ -L . \ tcc.c -cp boot1-tcc /after/bin -chmod 755 /after/bin/boot1-tcc +cp boot1-tcc ${bindir} +chmod 755 ${bindir}/boot1-tcc cd ../tcc-mes boot1-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot1-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c @@ -191,14 +192,14 @@ boot1-tcc \ -D HAVE_LONG_LONG=1 \ -D HAVE_SETJMP=1 \ -I . \ - -I /after/include \ + -I ${prefix}/include \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D TCC_LIBTCC1=\"libtcc1.a\" \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -208,8 +209,8 @@ boot1-tcc \ -D ONE_SOURCE=1 \ -L . \ tcc.c -cp boot2-tcc /after/bin -chmod 755 /after/bin/boot2-tcc +cp boot2-tcc ${bindir} +chmod 755 ${bindir}/boot2-tcc cd ../tcc-mes boot2-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot2-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c @@ -238,14 +239,14 @@ boot2-tcc \ -D HAVE_LONG_LONG=1 \ -D HAVE_SETJMP=1 \ -I . \ - -I /after/include \ + -I ${prefix}/include \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D TCC_LIBTCC1=\"libtcc1.a\" \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -255,8 +256,8 @@ boot2-tcc \ -D ONE_SOURCE=1 \ -L . \ tcc.c -cp boot3-tcc /after/bin -chmod 755 /after/bin/boot3-tcc +cp boot3-tcc ${bindir} +chmod 755 ${bindir}/boot3-tcc cd ../tcc-mes boot3-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot3-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c @@ -285,14 +286,14 @@ boot3-tcc \ -D HAVE_LONG_LONG=1 \ -D HAVE_SETJMP=1 \ -I . \ - -I /after/include \ + -I ${prefix}/include \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D TCC_LIBTCC1=\"libtcc1.a\" \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -302,8 +303,8 @@ boot3-tcc \ -D ONE_SOURCE=1 \ -L . \ tcc.c -cp boot4-tcc /after/bin -chmod 755 /after/bin/boot4-tcc +cp boot4-tcc ${bindir} +chmod 755 ${bindir}/boot4-tcc cd ../tcc-mes boot4-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot4-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c @@ -332,14 +333,14 @@ boot4-tcc \ -D HAVE_LONG_LONG=1 \ -D HAVE_SETJMP=1 \ -I . \ - -I /after/include \ + -I ${prefix}/include \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D TCC_LIBTCC1=\"libtcc1.a\" \ -D CONFIG_TCCBOOT=1 \ -D CONFIG_TCC_STATIC=1 \ @@ -349,8 +350,8 @@ boot4-tcc \ -D ONE_SOURCE=1 \ -L . \ tcc.c -cp boot5-tcc /after/bin -chmod 755 /after/bin/boot5-tcc +cp boot5-tcc ${bindir} +chmod 755 ${bindir}/boot5-tcc cd ../tcc-mes boot5-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crt1.o lib/linux/x86-mes-gcc/crt1.c boot5-tcc -c -D HAVE_CONFIG_H=1 -I include -I include/linux/x86 -o ${libdir}/crtn.o lib/linux/x86-mes-gcc/crtn.c @@ -367,8 +368,8 @@ cp ${libdir}/libc+gnu.a ${libdir}/libc.a boot5-tcc -version # We have our final tcc 0.9.26! -cp /after/bin/boot5-tcc /after/bin/tcc -chmod 755 /after/bin/tcc +cp ${bindir}/boot5-tcc ${bindir}/tcc +chmod 755 ${bindir}/tcc # Also recompile getopt, we don't need to do this during the boot* stages # because nothing is linked against it @@ -384,12 +385,12 @@ tcc \ -static \ -o tcc \ -D TCC_TARGET_I386=1 \ - -D CONFIG_TCCDIR=\"/after/lib/tcc\" \ - -D CONFIG_TCC_CRTPREFIX=\"/after/lib\" \ + -D CONFIG_TCCDIR=\"${libdir}/tcc\" \ + -D CONFIG_TCC_CRTPREFIX=\"${libdir}\" \ -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_LIBPATHS=\"${libdir}:${libdir}/tcc\" \ + -D CONFIG_TCC_SYSINCLUDEPATHS=\"${prefix}/include\" \ + -D TCC_LIBGCC=\"${libdir}/libc.a\" \ -D CONFIG_TCC_STATIC=1 \ -D CONFIG_USE_LIBGCC=1 \ -D TCC_VERSION=\"0.9.27\" \ @@ -397,8 +398,8 @@ tcc \ tcc.c # Install the binary -cp tcc /after/bin/tcc -chmod 755 /after/bin/tcc +cp tcc ${bindir}/tcc +chmod 755 ${bindir}/tcc # Test tcc -version