comparison lphobos/build.sh @ 123:7f9a0a58394b trunk

[svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile. Removed some potentially very long logging lines. Added support for inner classes.
author lindquist
date Wed, 28 Nov 2007 03:01:51 +0100
parents 36ab367572df
children 5825d48b27d1
comparison
equal deleted inserted replaced
122:36ab367572df 123:7f9a0a58394b
3 echo "removing old objects" 3 echo "removing old objects"
4 mkdir -p obj 4 mkdir -p obj
5 rm -f obj/*.bc 5 rm -f obj/*.bc
6 rm -f ../lib/*.bc 6 rm -f ../lib/*.bc
7 7
8 LLVMDCFLAGS="-c -odobj"
9 REBUILDFLAGS="-dc=llvmdc-posix-internal -c -oqobj"
10
8 echo "compiling contract runtime" 11 echo "compiling contract runtime"
9 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc -noruntime || exit 1 12 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc -noruntime || exit 1
10 13
11 echo "compiling common runtime" 14 echo "compiling common runtime"
12 rebuild internal/arrays.d \ 15 rebuild internal/arrays.d \
13 internal/mem.d \ 16 internal/mem.d \
14 -c -oqobj -dc=llvmdc-posix || exit 1 17 $REBUILDFLAGS || exit 1
15 18
16 echo "compiling module init backend" 19 echo "compiling module init backend"
17 llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1 20 llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1
18 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/internal.*.bc` ../lib/llvmdcore.bc obj/moduleinit_backend.bc || exit 1 21 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/internal.*.bc` ../lib/llvmdcore.bc obj/moduleinit_backend.bc || exit 1
19 22
20 echo "compiling typeinfo 1" 23 echo "compiling typeinfo 1"
21 rebuild typeinfos1.d -c -oqobj -dc=llvmdc-posix || exit 1 24 rebuild typeinfos1.d $REBUILDFLAGS || exit 1
22 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo1.*.bc` ../lib/llvmdcore.bc || exit 1 25 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo1.*.bc` ../lib/llvmdcore.bc || exit 1
23 26
24 echo "compiling typeinfo 2" 27 echo "compiling typeinfo 2"
25 rebuild typeinfos2.d -c -oqobj -dc=llvmdc-posix || exit 1 28 rebuild typeinfos2.d $REBUILDFLAGS || exit 1
26 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo2.*.bc` ../lib/llvmdcore.bc || exit 1 29 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo2.*.bc` ../lib/llvmdcore.bc || exit 1
27 30
28 echo "compiling object/interface casting runtime support" 31 echo "compiling object/interface casting runtime support"
29 llvmdc internal/cast.d -c -odobj || exit 1 32 llvmdc internal/cast.d $LLVMDCFLAGS || exit 1
30 llvm-link -f -o=../lib/llvmdcore.bc obj/cast.bc ../lib/llvmdcore.bc || exit 1 33 llvm-link -f -o=../lib/llvmdcore.bc obj/cast.bc ../lib/llvmdcore.bc || exit 1
31 34
32 echo "compiling string foreach/switch runtime support" 35 echo "compiling string foreach/switch runtime support"
33 llvmdc internal/aApply.d -c -odobj || exit 1 36 llvmdc internal/aApply.d $LLVMDCFLAGS || exit 1
34 llvmdc internal/aApplyR.d -c -odobj || exit 1 37 llvmdc internal/aApplyR.d $LLVMDCFLAGS || exit 1
35 llvmdc internal/switch.d -c -odobj || exit 1 38 llvmdc internal/switch.d $LLVMDCFLAGS || exit 1
36 llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc obj/switch.bc ../lib/llvmdcore.bc || exit 1 39 llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc obj/switch.bc ../lib/llvmdcore.bc || exit 1
37 40
38 echo "compiling array runtime support" 41 echo "compiling array runtime support"
39 llvmdc internal/qsort2.d -c -odobj || exit 1 42 llvmdc internal/qsort2.d $LLVMDCFLAGS || exit 1
40 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1 43 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1
41 llvmdc internal/adi.d -c -odobj || exit 1 44 llvmdc internal/adi.d $LLVMDCFLAGS || exit 1
42 llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1 45 llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1
43 llvmdc internal/aaA.d -c -odobj || exit 1 46 llvmdc internal/aaA.d $LLVMDCFLAGS || exit 1
44 llvm-link -f -o=../lib/llvmdcore.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1 47 llvm-link -f -o=../lib/llvmdcore.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1
45 48
46 echo "compiling object implementation" 49 echo "compiling object implementation"
47 llvmdc internal/objectimpl.d -c -odobj || exit 1 50 llvmdc internal/objectimpl.d $LLVMDCFLAGS || exit 1
48 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 51 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1
49 52
50 echo "compiling llvm runtime support" 53 echo "compiling llvm runtime support"
51 rebuild llvmsupport.d -c -oqobj -dc=llvmdc-posix || exit 1 54 rebuild llvmsupport.d $REBUILDFLAGS || exit 1
52 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm.*.bc` ../lib/llvmdcore.bc || exit 1 55 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm.*.bc` ../lib/llvmdcore.bc || exit 1
53 56
54 echo "compiling garbage collector" 57 echo "compiling garbage collector"
55 llvmdc gc/gclinux.d -c -odobj || exit 1 58 llvmdc gc/gclinux.d $LLVMDCFLAGS || exit 1
56 llvmdc gc/gcstub.d -c -odobj -Igc || exit 1 59 llvmdc gc/gcstub.d $LLVMDCFLAGS -Igc || exit 1
57 llvmdc gc/gcbits.d -c -odobj -Igc || exit 1 60 llvmdc gc/gcbits.d $LLVMDCFLAGS -Igc || exit 1
58 llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcstub.bc obj/gcbits.bc ../lib/llvmdcore.bc || exit 1 61 llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcstub.bc obj/gcbits.bc ../lib/llvmdcore.bc || exit 1
59 62
60 echo "compiling phobos" 63 echo "compiling phobos"
61 rebuild phobos.d -c -oqobj -dc=llvmdc-posix || exit 1 64 rebuild phobos.d $REBUILDFLAGS || exit 1
62 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1 65 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1
63 66
64 echo "optimizing" 67 echo "optimizing"
65 opt -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 68 opt -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1
66 69