annotate lphobos/build.sh @ 117:56a21f3e5d3e trunk

[svn r121] Finished ModuleInfo implementation. Static ctors/dtors now work according to spec. Changed class vtable types slightly in some cases. Overridden functions now always take the the type of the first class declaring the method as this parameter. This helps when using headers (w. implementation somewhere else)
author lindquist
date Mon, 26 Nov 2007 04:49:23 +0100
parents 27b9f749d9fe
children 36ab367572df
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
1 #!/bin/bash
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
2
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
3 echo "removing old objects"
62
b86e00b938a5 [svn r66] Added support for imaginary floating point types
lindquist
parents: 60
diff changeset
4 mkdir -p obj
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
5 rm -f obj/*.bc
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
6 rm -f ../lib/*.bc
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
7
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
8 echo "compiling contract runtime"
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
9 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc -noruntime || exit 1
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
10
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
11 echo "compiling common runtime"
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
12 rebuild internal/arrays.d \
34
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 16
diff changeset
13 internal/mem.d \
87
25d4fcce53f4 [svn r91] fixed some minor mistakes
lindquist
parents: 86
diff changeset
14 -c -oqobj -dc=llvmdc-posix || exit 1
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
15
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
16 echo "compiling module init backend"
9
dafae18f9c08 [svn r13] * Updated for LLVM 2.1
lindquist
parents: 1
diff changeset
17 llvm-as -f -o=obj/moduleinit_backend.bc internal/moduleinit_backend.ll || exit 1
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
18 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/internal.*.bc` ../lib/llvmdcore.bc obj/moduleinit_backend.bc || exit 1
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
19
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
20 echo "compiling typeinfo 1"
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 107
diff changeset
21 rebuild typeinfos1.d -c -oqobj -dc=llvmdc-posix || exit 1
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
22 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo1.*.bc` ../lib/llvmdcore.bc || exit 1
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
23
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
24 echo "compiling typeinfo 2"
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
25 rebuild typeinfos2.d -c -oqobj -dc=llvmdc-posix || exit 1
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
26 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/typeinfo2.*.bc` ../lib/llvmdcore.bc || exit 1
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
27
113
27b9f749d9fe [svn r117] Initial working implementation of interfaces.
lindquist
parents: 109
diff changeset
28 echo "compiling object/interface casting runtime support"
27b9f749d9fe [svn r117] Initial working implementation of interfaces.
lindquist
parents: 109
diff changeset
29 llvmdc internal/cast.d -c -odobj || exit 1
27b9f749d9fe [svn r117] Initial working implementation of interfaces.
lindquist
parents: 109
diff changeset
30 llvm-link -f -o=../lib/llvmdcore.bc obj/cast.bc ../lib/llvmdcore.bc || exit 1
27b9f749d9fe [svn r117] Initial working implementation of interfaces.
lindquist
parents: 109
diff changeset
31
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
32 echo "compiling string foreach runtime support"
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
33 llvmdc internal/aApply.d -c -odobj || exit 1
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
34 llvmdc internal/aApplyR.d -c -odobj || exit 1
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
35 llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc ../lib/llvmdcore.bc || exit 1
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
36
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
37 echo "compiling array runtime support"
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 107
diff changeset
38 llvmdc internal/qsort2.d -c -odobj || exit 1
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
39 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 107
diff changeset
40 llvmdc internal/adi.d -c -odobj || exit 1
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
41 llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 107
diff changeset
42 llvmdc internal/aaA.d -c -odobj || exit 1
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 107
diff changeset
43 llvm-link -f -o=../lib/llvmdcore.bc obj/aaA.bc ../lib/llvmdcore.bc || exit 1
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
44
98
6789050b5ad1 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
lindquist
parents: 94
diff changeset
45 echo "compiling object implementation"
6789050b5ad1 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
lindquist
parents: 94
diff changeset
46 llvmdc internal/objectimpl.d -c -odobj || exit 1
6789050b5ad1 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
lindquist
parents: 94
diff changeset
47 llvm-link -f -o=../lib/llvmdcore.bc obj/objectimpl.bc ../lib/llvmdcore.bc || exit 1
6789050b5ad1 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
lindquist
parents: 94
diff changeset
48
55
0ccfae271c45 [svn r59] Added support for C-style variadic functions. Currently only works on x86, x86-64 va_arg is broken in LLVM 2.1. PPC and PPC64 unknown.
lindquist
parents: 52
diff changeset
49 echo "compiling llvm runtime support"
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
50 rebuild llvmsupport.d -c -oqobj -dc=llvmdc-posix || exit 1
55
0ccfae271c45 [svn r59] Added support for C-style variadic functions. Currently only works on x86, x86-64 va_arg is broken in LLVM 2.1. PPC and PPC64 unknown.
lindquist
parents: 52
diff changeset
51 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/llvm.*.bc` ../lib/llvmdcore.bc || exit 1
0ccfae271c45 [svn r59] Added support for C-style variadic functions. Currently only works on x86, x86-64 va_arg is broken in LLVM 2.1. PPC and PPC64 unknown.
lindquist
parents: 52
diff changeset
52
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
53 echo "compiling garbage collector"
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
54 llvmdc gc/gclinux.d -c -odobj || exit 1
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
55 llvmdc gc/gcstub.d -c -odobj -Igc || exit 1
109
5ab8e92611f9 [svn r113] Added initial support for associative arrays (AAs).
lindquist
parents: 108
diff changeset
56 llvmdc gc/gcbits.d -c -odobj -Igc || exit 1
5ab8e92611f9 [svn r113] Added initial support for associative arrays (AAs).
lindquist
parents: 108
diff changeset
57 llvm-link -f -o=../lib/llvmdcore.bc obj/gclinux.bc obj/gcstub.bc obj/gcbits.bc ../lib/llvmdcore.bc || exit 1
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
58
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
59 echo "compiling phobos"
106
5b5194b25f33 [svn r110] Fixed typeinfo for classes.
lindquist
parents: 102
diff changeset
60 rebuild phobos.d -c -oqobj -dc=llvmdc-posix || exit 1
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
61 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/std.*.bc` ../lib/llvmdcore.bc || exit 1
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
62
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
63 echo "optimizing"
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
64 opt -f -std-compile-opts -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
65
16
860524276608 [svn r20] * Added a simple compiletime std.stdio by downs
lindquist
parents: 9
diff changeset
66
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
67 echo "SUCCESS"