annotate lphobos/build.sh @ 650:aa6a0b7968f7

Added test case for bug #100 Removed dubious check for not emitting static private global in other modules without access. This should be handled properly somewhere else, it's causing unresolved global errors for stuff that should work (in MiniD)
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 05 Oct 2008 17:28:15 +0200
parents 526385b6d1fd
children 88e23f8c2354
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
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
8 LLVMDCFLAGS="-c -odobj -oq -gc -noasm"
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
9 LLVMDCFLAGS_ASM="-c -odobj -oq -gc"
123
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
10
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
11 echo "compiling contract runtime"
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
12 llvmdc internal/contract.d -c -of../lib/llvmdcore.bc || exit 1 #-noruntime || exit 1
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
13
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
14 echo "compiling common runtime"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
15 ./llvmdc-build internal/arrays.d \
34
4648206ca213 [svn r38] * resizing dynamic arrays support
lindquist
parents: 16
diff changeset
16 internal/mem.d \
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
17 internal/critical.d \
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
18 internal/dmain2.d \
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
19 $LLVMDCFLAGS_ASM || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
20 mv *.bc obj
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
21
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
22 echo "compiling typeinfo 1"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
23 ./llvmdc-build typeinfos1.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
24 mv *.bc obj
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
25 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
26
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
27 echo "compiling typeinfo 2"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
28 ./llvmdc-build typeinfos2.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
29 mv *.bc obj
58
2c3cd3596187 [svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
lindquist
parents: 55
diff changeset
30 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
31
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
32 echo "compiling exceptions"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
33 ./llvmdc-build internal/eh.d $LLVMDCFLAGS -debug || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
34 mv *.bc obj
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
35 llvm-link -f -o=../lib/llvmdcore.bc obj/*eh.bc ../lib/llvmdcore.bc || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
36
113
27b9f749d9fe [svn r117] Initial working implementation of interfaces.
lindquist
parents: 109
diff changeset
37 echo "compiling object/interface casting runtime support"
123
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
38 llvmdc internal/cast.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
39 mv *.bc obj
113
27b9f749d9fe [svn r117] Initial working implementation of interfaces.
lindquist
parents: 109
diff changeset
40 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
41
122
36ab367572df [svn r126] String switch is now implemented.
lindquist
parents: 117
diff changeset
42 echo "compiling string foreach/switch runtime support"
123
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
43 llvmdc internal/aApply.d $LLVMDCFLAGS || exit 1
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
44 llvmdc internal/aApplyR.d $LLVMDCFLAGS || exit 1
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
45 llvmdc internal/switch.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
46 mv *.bc obj
122
36ab367572df [svn r126] String switch is now implemented.
lindquist
parents: 117
diff changeset
47 llvm-link -f -o=../lib/llvmdcore.bc obj/aApply.bc obj/aApplyR.bc obj/switch.bc ../lib/llvmdcore.bc || exit 1
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
48
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
49 echo "compiling array runtime support"
123
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
50 llvmdc internal/qsort2.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
51 mv *.bc obj
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
52 llvm-link -f -o=../lib/llvmdcore.bc obj/qsort2.bc ../lib/llvmdcore.bc || exit 1
123
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
53 llvmdc internal/adi.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
54 mv *.bc obj
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
55 llvm-link -f -o=../lib/llvmdcore.bc obj/adi.bc ../lib/llvmdcore.bc || exit 1
123
7f9a0a58394b [svn r127] Updated the lphobos build scripts a little. Created a new rebuild profile.
lindquist
parents: 122
diff changeset
56 llvmdc internal/aaA.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
57 mv *.bc obj
108
288fe1029e1f [svn r112] Fixed 'case 1,2,3:' style case statements.
lindquist
parents: 107
diff changeset
58 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
59
98
6789050b5ad1 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
lindquist
parents: 94
diff changeset
60 echo "compiling object implementation"
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
61 llvmdc internal/objectimpl.d -c -odobj -g || exit 1
98
6789050b5ad1 [svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
lindquist
parents: 94
diff changeset
62 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
63
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
64 echo "compiling llvm runtime support"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
65 ./llvmdc-build llvmsupport.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
66 mv *.bc obj
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
67 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
68
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
69 echo "compiling garbage collector"
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
70 cd gc
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
71 llvmdc $(ls *.d |grep -v win32) $LLVMDCFLAGS_ASM -I.. ||exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
72 # llvmdc gclinux.d $LLVMDCFLAGS -I.. || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
73 # llvmdc gcx.d $LLVMDCFLAGS -I.. || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
74 # llvmdc gcbits.d $LLVMDCFLAGS -I.. || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
75 # llvmdc gc.d $LLVMDCFLAGS -I.. || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
76 mv std.gc.bc gc.bc
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
77 mv *.bc ../obj
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
78 cd ..
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 123
diff changeset
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
94
61615fa85940 [svn r98] Added support for std.c.stdlib.alloca via pragma(LLVM_internal, "alloca").
lindquist
parents: 87
diff changeset
80
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
81 echo "compiling phobos"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
82 ./llvmdc-build phobos.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
83 mv *.bc obj
131
5825d48b27d1 [svn r135] * Merged DMD 1.025 *
lindquist
parents: 123
diff changeset
84 echo "linking phobos"
86
fd32135dca3e [svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
lindquist
parents: 62
diff changeset
85 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
86
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
87 echo "Compiling auxiliary"
476
526385b6d1fd Added missing llvmdc-build script in lphobos, added llvmdc.conf to lphobos.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 474
diff changeset
88 ./llvmdc-build etc/c/zlib.d $LLVMDCFLAGS || exit 1
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
89 mv *.bc obj
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
90 llvm-link -f -o=../lib/llvmdcore.bc `ls obj/etc.*.bc` ../lib/llvmdcore.bc || exit 1
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
91
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
92 echo "optimizing"
473
373489eeaf90 Applied downs' lphobos update
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents: 131
diff changeset
93 opt -stats -p -f -std-compile-opts -disable-inlining -o=../lib/llvmdcore.bc ../lib/llvmdcore.bc || exit 1
1
c53b6e3fe49a [svn r5] Initial commit. Most things are very rough.
lindquist
parents:
diff changeset
94
16
860524276608 [svn r20] * Added a simple compiletime std.stdio by downs
lindquist
parents: 9
diff changeset
95
52
0c77619e803b [svn r56] Initial support for TypeInfo.
lindquist
parents: 34
diff changeset
96 echo "SUCCESS"