Mercurial > projects > ldc
diff lphobos/build.sh @ 52:0c77619e803b trunk
[svn r56] Initial support for TypeInfo.
Enums not work.
Several other bugfixes.
author | lindquist |
---|---|
date | Tue, 23 Oct 2007 05:55:12 +0200 |
parents | 4648206ca213 |
children | 0ccfae271c45 |
line wrap: on
line diff
--- a/lphobos/build.sh Mon Oct 22 17:25:44 2007 +0200 +++ b/lphobos/build.sh Tue Oct 23 05:55:12 2007 +0200 @@ -1,32 +1,37 @@ #!/bin/bash -if [ "$1" = "gdb" ]; then -dc_cmd="gdb --args llvmdc" -else -dc_cmd="llvmdc" -fi +echo "removing old objects" +rm -f obj/*.bc +rm -f ../lib/*.bc -# build runtime -$dc_cmd internal/contract.d \ - internal/arrays.d \ +echo "compiling contract runtime" +llvmdc internal/contract.d -c -of../lib/llvmdcore.bc -noruntime || exit 1 + +echo "compiling common runtime" +rebuild internal/arrays.d \ internal/mem.d \ internal/moduleinit.d \ - -c -noruntime -odobj || exit 1 + -c -oqobj -dc=llvmdc-posix || exit 1 +echo "compiling module init backend" llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1 -llvm-link -f -o=../lib/llvmdcore.bc obj/contract.bc obj/arrays.bc obj/mem.bc obj/moduleinit.bc obj/moduleinit_backend.bc || exit 1 +llvm-link -f -o=../lib/llvmdcore.bc `ls obj/internal.*.bc` ../lib/llvmdcore.bc obj/moduleinit_backend.bc || exit 1 -$dc_cmd internal/objectimpl.d -c -odobj || exit 1 -llvm-link -f -o=obj/all.bc obj/contract.bc obj/arrays.bc obj/mem.bc obj/moduleinit.bc obj/objectimpl.bc obj/moduleinit_backend.bc || exit 1 +echo "compiling object implementation" +llvmdc internal/objectimpl.d -c -odobj || exit 1 +llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 -opt -f -std-compile-opts -o=../lib/llvmdcore.bc obj/all.bc || exit 1 +echo "compiling typeinfos" +rebuild typeinfos.d -c -oqobj -dc=llvmdc-posix || exit 1 +llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo.*.bc` ../lib/llvmdcore.bc || exit 1 + +echo "optimizing" +opt -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 # build phobos -$dc_cmd std/stdio.d -c -odobj || exit 1 -llvm-link -f -o=../lib/lphobos.bc obj/stdio.bc || exit 1 +echo "compiling phobos" +rebuild phobos.d -c -oqobj -dc=llvmdc-posix || exit 1 +llvm-link -f -o=../lib/lphobos.bc `ls phobos_obj/*.bc` || exit 1 +opt -f -std-compile-opts -o=../lib/lphobos.bc ../lib/lphobos.bc || exit 1 -if [ "$1" = "ll" ]; then - llvm-dis -f -o=all.ll ../lib/llvmdcore.bc || exit 1 -fi - -echo SUCCESS +echo "SUCCESS"