1
|
1 #!/bin/bash
|
|
2
|
|
3 if [ "$1" = "gdb" ]; then
|
9
|
4 dc_cmd="gdb --args llvmdc"
|
1
|
5 else
|
|
6 dc_cmd="llvmdc"
|
|
7 fi
|
|
8
|
|
9 $dc_cmd internal/contract.d \
|
|
10 internal/arrays.d \
|
|
11 internal/moduleinit.d \
|
|
12 -c -noruntime -odobj || exit 1
|
|
13
|
9
|
14 llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1
|
|
15 llvm-link -f -o=../lib/llvmdcore.bc obj/contract.bc obj/arrays.bc obj/moduleinit.bc obj/moduleinit_backend.bc || exit 1
|
1
|
16
|
9
|
17 $dc_cmd internal/objectimpl.d -c -odobj || exit 1
|
|
18 llvm-link -f -o=obj/all.bc obj/contract.bc obj/arrays.bc obj/moduleinit.bc obj/objectimpl.bc obj/moduleinit_backend.bc || exit 1
|
1
|
19
|
|
20 opt -f -std-compile-opts -o=../lib/llvmdcore.bc obj/all.bc || exit 1
|
|
21
|
|
22 if [ "$1" = "ll" ]; then
|
|
23 llvm-dis -f -o=all.ll ../lib/llvmdcore.bc || exit 1
|
|
24 fi
|
|
25
|
|
26 echo SUCCESS
|