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