Mercurial > projects > ldc
diff lphobos/build.sh @ 473:373489eeaf90
Applied downs' lphobos update
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 04 Aug 2008 19:28:49 +0200 |
parents | 5825d48b27d1 |
children | 074e74c1a72b |
line wrap: on
line diff
--- a/lphobos/build.sh Mon Aug 04 19:08:39 2008 +0200 +++ b/lphobos/build.sh Mon Aug 04 19:28:49 2008 +0200 @@ -5,69 +5,96 @@ rm -f obj/*.bc rm -f ../lib/*.bc -LLVMDCFLAGS="-c -odobj -g" -REBUILDFLAGS="-dc=llvmdc-posix-internal -c -oqobj -g" +LLVMDCFLAGS="-c -odobj -oq -gc -noasm" +LLVMDCFLAGS_ASM="-c -odobj -oq -gc" echo "compiling contract runtime" -llvmdc internal/contract.d -c -of../lib/llvmdcore.bc -noruntime || exit 1 +llvmdc internal/contract.d -c -of../lib/llvmdcore.bc || exit 1 #-noruntime || exit 1 echo "compiling common runtime" -rebuild internal/arrays.d \ +llvmdc-build internal/arrays.d \ internal/mem.d \ - $REBUILDFLAGS || exit 1 + internal/critical.d \ + internal/dmain2.d \ + $LLVMDCFLAGS_ASM || exit 1 +mv *.bc obj 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 `ls obj/internal.*.bc` ../lib/llvmdcore.bc obj/moduleinit_backend.bc || exit 1 echo "compiling typeinfo 1" -rebuild typeinfos1.d $REBUILDFLAGS || exit 1 +llvmdc-build typeinfos1.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo1.*.bc` ../lib/llvmdcore.bc || exit 1 echo "compiling typeinfo 2" -rebuild typeinfos2.d $REBUILDFLAGS || exit 1 +llvmdc-build typeinfos2.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo2.*.bc` ../lib/llvmdcore.bc || exit 1 +echo "compiling exceptions" +llvmdc-build internal/eh.d $LLVMDCFLAGS -debug || exit 1 +mv *.bc obj +llvm-link -f -o=../lib/llvmdcore.bc obj/*eh.bc ../lib/llvmdcore.bc || exit 1 + echo "compiling object/interface casting runtime support" llvmdc internal/cast.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc obj/cast.bc ../lib/llvmdcore.bc || exit 1 echo "compiling string foreach/switch runtime support" llvmdc internal/aApply.d $LLVMDCFLAGS || exit 1 llvmdc internal/aApplyR.d $LLVMDCFLAGS || exit 1 llvmdc internal/switch.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc obj/switch.bc ../lib/llvmdcore.bc || exit 1 echo "compiling array runtime support" llvmdc internal/qsort2.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1 llvmdc internal/adi.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1 llvmdc internal/aaA.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1 echo "compiling object implementation" -llvmdc internal/objectimpl.d $LLVMDCFLAGS || exit 1 +llvmdc internal/objectimpl.d -c -odobj -g || exit 1 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 echo "compiling llvm runtime support" -rebuild llvmsupport.d $REBUILDFLAGS || exit 1 +llvmdc-build llvmsupport.d $LLVMDCFLAGS || exit 1 +mv *.bc obj llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm.*.bc` ../lib/llvmdcore.bc || exit 1 echo "compiling garbage collector" -llvmdc gc/gclinux.d $LLVMDCFLAGS || exit 1 -llvmdc gc/gcx.d $LLVMDCFLAGS -Igc || exit 1 -llvmdc gc/gcbits.d $LLVMDCFLAGS -Igc || exit 1 -llvmdc gc/gc.d $LLVMDCFLAGS -Igc || exit 1 +cd gc +llvmdc $(ls *.d |grep -v win32) $LLVMDCFLAGS_ASM -I.. ||exit 1 +# llvmdc gclinux.d $LLVMDCFLAGS -I.. || exit 1 +# llvmdc gcx.d $LLVMDCFLAGS -I.. || exit 1 +# llvmdc gcbits.d $LLVMDCFLAGS -I.. || exit 1 +# llvmdc gc.d $LLVMDCFLAGS -I.. || exit 1 +mv std.gc.bc gc.bc +mv *.bc ../obj +cd .. llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcx.bc obj/gcbits.bc obj/gc.bc ../lib/llvmdcore.bc || exit 1 echo "compiling phobos" -rebuild phobos.d $REBUILDFLAGS || exit 1 +llvmdc-build phobos.d $LLVMDCFLAGS || exit 1 +mv *.bc obj echo "linking phobos" llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1 +echo "Compiling auxiliary" +llvmdc-build etc/c/zlib.d $LLVMDCFLAGS || exit 1 +mv *.bc obj +llvm-link -f -o=../lib/llvmdcore.bc `ls obj/etc.*.bc` ../lib/llvmdcore.bc || exit 1 + echo "optimizing" -opt -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 +opt -stats -p -f -std-compile-opts -disable-inlining -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 echo "SUCCESS"