Mercurial > projects > ldc
comparison 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 |
comparison
equal
deleted
inserted
replaced
51:61bc1b4ad3c4 | 52:0c77619e803b |
---|---|
1 #!/bin/bash | 1 #!/bin/bash |
2 | 2 |
3 if [ "$1" = "gdb" ]; then | 3 echo "removing old objects" |
4 dc_cmd="gdb --args llvmdc" | 4 rm -f obj/*.bc |
5 else | 5 rm -f ../lib/*.bc |
6 dc_cmd="llvmdc" | |
7 fi | |
8 | 6 |
9 # build runtime | 7 echo "compiling contract runtime" |
10 $dc_cmd internal/contract.d \ | 8 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc -noruntime || exit 1 |
11 internal/arrays.d \ | 9 |
10 echo "compiling common runtime" | |
11 rebuild internal/arrays.d \ | |
12 internal/mem.d \ | 12 internal/mem.d \ |
13 internal/moduleinit.d \ | 13 internal/moduleinit.d \ |
14 -c -noruntime -odobj || exit 1 | 14 -c -oqobj -dc=llvmdc-posix || exit 1 |
15 | 15 |
16 echo "compiling module init backend" | |
16 llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1 | 17 llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1 |
17 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 | 18 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/internal.*.bc` ../lib/llvmdcore.bc obj/moduleinit_backend.bc || exit 1 |
18 | 19 |
19 $dc_cmd internal/objectimpl.d -c -odobj || exit 1 | 20 echo "compiling object implementation" |
20 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 | 21 llvmdc internal/objectimpl.d -c -odobj || exit 1 |
22 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 | |
21 | 23 |
22 opt -f -std-compile-opts -o=../lib/llvmdcore.bc obj/all.bc || exit 1 | 24 echo "compiling typeinfos" |
25 rebuild typeinfos.d -c -oqobj -dc=llvmdc-posix || exit 1 | |
26 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo.*.bc` ../lib/llvmdcore.bc || exit 1 | |
27 | |
28 echo "optimizing" | |
29 opt -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 | |
23 | 30 |
24 # build phobos | 31 # build phobos |
25 $dc_cmd std/stdio.d -c -odobj || exit 1 | 32 echo "compiling phobos" |
26 llvm-link -f -o=../lib/lphobos.bc obj/stdio.bc || exit 1 | 33 rebuild phobos.d -c -oqobj -dc=llvmdc-posix || exit 1 |
34 llvm-link -f -o=../lib/lphobos.bc `ls phobos_obj/*.bc` || exit 1 | |
35 opt -f -std-compile-opts -o=../lib/lphobos.bc ../lib/lphobos.bc || exit 1 | |
27 | 36 |
28 if [ "$1" = "ll" ]; then | 37 echo "SUCCESS" |
29 llvm-dis -f -o=all.ll ../lib/llvmdcore.bc || exit 1 | |
30 fi | |
31 | |
32 echo SUCCESS |