Mercurial > projects > ldc
comparison lphobos/build.sh @ 662:88e23f8c2354
Applied downs' latest Phobos patch
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Mon, 06 Oct 2008 21:40:33 +0200 |
parents | 526385b6d1fd |
children | 6aaa3d3c1183 |
comparison
equal
deleted
inserted
replaced
661:99f32e967746 | 662:88e23f8c2354 |
---|---|
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 -oq -gc -noasm" | 8 LLVMDCFLAGS_ASM="-c -oq -release" |
9 LLVMDCFLAGS_ASM="-c -odobj -oq -gc" | 9 LLVMDCFLAGS="$LLVMDCFLAGS_ASM -noasm" |
10 | 10 |
11 echo "compiling contract runtime" | 11 echo "compiling contract runtime" |
12 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc || exit 1 #-noruntime || exit 1 | 12 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc || exit 1 #-noruntime || exit 1 |
13 | 13 |
14 echo "compiling common runtime" | 14 echo "compiling common runtime" |
15 ./llvmdc-build internal/arrays.d \ | 15 ./llvmdc-build internal/arrays.d \ |
16 internal/mem.d \ | 16 internal/mem.d \ |
17 internal/critical.d \ | 17 internal/critical.d \ |
18 internal/dmain2.d \ | 18 internal/dmain2.d \ |
19 internal/inv.d \ | |
19 $LLVMDCFLAGS_ASM || exit 1 | 20 $LLVMDCFLAGS_ASM || exit 1 |
20 mv *.bc obj | 21 mv *.bc obj |
22 llvm-link -f -o=../lib/llvmdcore.bc obj/internal.*.bc ../lib/llvmdcore.bc | |
21 | 23 |
22 echo "compiling typeinfo 1" | 24 echo "compiling typeinfo 1" |
23 ./llvmdc-build typeinfos1.d $LLVMDCFLAGS || exit 1 | 25 ./llvmdc-build typeinfos1.d $LLVMDCFLAGS || exit 1 |
24 mv *.bc obj | 26 mv *.bc obj |
25 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo1.*.bc` ../lib/llvmdcore.bc || exit 1 | 27 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo1.*.bc` ../lib/llvmdcore.bc || exit 1 |
45 llvmdc internal/switch.d $LLVMDCFLAGS || exit 1 | 47 llvmdc internal/switch.d $LLVMDCFLAGS || exit 1 |
46 mv *.bc obj | 48 mv *.bc obj |
47 llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc obj/switch.bc ../lib/llvmdcore.bc || exit 1 | 49 llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc obj/switch.bc ../lib/llvmdcore.bc || exit 1 |
48 | 50 |
49 echo "compiling array runtime support" | 51 echo "compiling array runtime support" |
50 llvmdc internal/qsort2.d $LLVMDCFLAGS || exit 1 | 52 llvmdc internal/qsort2.d internal/adi.d internal/aaA.d $LLVMDCFLAGS || exit 1 |
51 mv *.bc obj | 53 mv *.bc obj |
52 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1 | 54 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc obj/adi.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1 |
53 llvmdc internal/adi.d $LLVMDCFLAGS || exit 1 | |
54 mv *.bc obj | |
55 llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1 | |
56 llvmdc internal/aaA.d $LLVMDCFLAGS || exit 1 | |
57 mv *.bc obj | |
58 llvm-link -f -o=../lib/llvmdcore.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1 | |
59 | 55 |
60 echo "compiling object implementation" | 56 echo "compiling object implementation" |
61 llvmdc internal/objectimpl.d -c -odobj -g || exit 1 | 57 llvmdc internal/objectimpl.d $LLVMDCFLAGS || exit 1 |
58 mv object.bc objectimpl.bc | |
59 mv *.bc obj | |
62 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 | 60 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1 |
63 | 61 |
62 echo "compiling crc32" | |
63 llvmdc crc32.d $LLVMDCFLAGS || exit 1 | |
64 mv *.bc obj | |
65 llvm-link -f -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc obj/crc32.bc || exit 1 | |
66 | |
64 echo "compiling llvm runtime support" | 67 echo "compiling llvm runtime support" |
65 ./llvmdc-build llvmsupport.d $LLVMDCFLAGS || exit 1 | 68 # ./llvmdc-build llvmsupport.d $LLVMDCFLAGS || exit 1 |
69 llvmdc llvmsupport.d -oq -c || exit 1 | |
66 mv *.bc obj | 70 mv *.bc obj |
67 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm.*.bc` ../lib/llvmdcore.bc || exit 1 | 71 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm*.bc` ../lib/llvmdcore.bc || exit 1 |
68 | 72 |
69 echo "compiling garbage collector" | 73 echo "compiling garbage collector" |
70 cd gc | 74 cd gc |
71 llvmdc $(ls *.d |grep -v win32) $LLVMDCFLAGS_ASM -I.. ||exit 1 | 75 llvmdc $(ls *.d |grep -v win32) $LLVMDCFLAGS_ASM -I.. ||exit 1 |
72 # llvmdc gclinux.d $LLVMDCFLAGS -I.. || exit 1 | 76 # llvmdc gclinux.d $LLVMDCFLAGS -I.. || exit 1 |
73 # llvmdc gcx.d $LLVMDCFLAGS -I.. || exit 1 | 77 # llvmdc gcx.d $LLVMDCFLAGS -I.. || exit 1 |
74 # llvmdc gcbits.d $LLVMDCFLAGS -I.. || exit 1 | 78 # llvmdc gcbits.d $LLVMDCFLAGS -I.. || exit 1 |
75 # llvmdc gc.d $LLVMDCFLAGS -I.. || exit 1 | 79 # llvmdc gc.d -oq -c -I.. || exit 1 |
76 mv std.gc.bc gc.bc | 80 mv std.gc.bc std_gc.bc |
77 mv *.bc ../obj | 81 mv *.bc ../obj |
82 # mv -v obj/*.bc ../obj | |
78 cd .. | 83 cd .. |
79 llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcx.bc obj/gcbits.bc obj/gc.bc ../lib/llvmdcore.bc || exit 1 | 84 llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcx.bc obj/gcbits.bc obj/std_gc.bc ../lib/llvmdcore.bc || exit 1 |
80 | 85 |
81 echo "compiling phobos" | 86 echo "compiling phobos" |
82 ./llvmdc-build phobos.d $LLVMDCFLAGS || exit 1 | 87 ./llvmdc-build phobos.d $LLVMDCFLAGS || exit 1 |
83 mv *.bc obj | 88 mv *.bc obj |
84 echo "linking phobos" | 89 echo "linking phobos" |
85 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1 | 90 # llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1 |
91 for i in $(ls obj/std.*.bc); do | |
92 echo $i | |
93 llvm-link -f -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc $i || exit 1 | |
94 done | |
86 | 95 |
87 echo "Compiling auxiliary" | 96 echo "Compiling auxiliary" |
88 ./llvmdc-build etc/c/zlib.d $LLVMDCFLAGS || exit 1 | 97 ./llvmdc-build etc/c/zlib.d $LLVMDCFLAGS || exit 1 |
89 mv *.bc obj | 98 mv *.bc obj |
90 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/etc.*.bc` ../lib/llvmdcore.bc || exit 1 | 99 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/etc.*.bc` ../lib/llvmdcore.bc || exit 1 |
91 | 100 |
92 echo "optimizing" | 101 echo "optimizing" |
93 opt -stats -p -f -std-compile-opts -disable-inlining -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 | 102 opt -stats -p -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1 |
94 | |
95 | 103 |
96 echo "SUCCESS" | 104 echo "SUCCESS" |