Mercurial > projects > ldc
comparison runtime/lib/common/tango/llvmdc.mak @ 579:20c065c46b38
Basic support for runtime in shared library.
Needs to be built with runtime/build-sharedlibs.sh and activated manually by
providing -defaultlib=llvmdc-runtime-shared -defaultlib=tango-cc-tango-shared
-defaultlib=tango-gc-basic-shared on llvmdc call at the moment.
To support D shared libraries in non-D code, we need to remove the main() from
libllvmdc-runtime-shared.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Fri, 05 Sep 2008 23:02:18 +0200 |
parents | 6d9cf3f74f93 |
children | 6aaa3d3c1183 |
comparison
equal
deleted
inserted
replaced
578:8caa9adce5ae | 579:20c065c46b38 |
---|---|
11 # Delete unneeded files created by build process | 11 # Delete unneeded files created by build process |
12 | 12 |
13 LIB_TARGET_FULL=libtango-cc-tango.a | 13 LIB_TARGET_FULL=libtango-cc-tango.a |
14 LIB_TARGET_BC_ONLY=libtango-cc-tango-bc-only.a | 14 LIB_TARGET_BC_ONLY=libtango-cc-tango-bc-only.a |
15 LIB_TARGET_C_ONLY=libtango-cc-tango-c-only.a | 15 LIB_TARGET_C_ONLY=libtango-cc-tango-c-only.a |
16 LIB_MASK=libtango-cc-tango*.a | 16 LIB_TARGET_SHARED=libtango-cc-tango-shared.so |
17 LIB_MASK=libtango-cc-tango*.* | |
17 | 18 |
18 CP=cp -f | 19 CP=cp -f |
19 RM=rm -f | 20 RM=rm -f |
20 MD=mkdir -p | 21 MD=mkdir -p |
21 | 22 |
68 | 69 |
69 .d.html: | 70 .d.html: |
70 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< | 71 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< |
71 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html tango.ddoc $< | 72 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html tango.ddoc $< |
72 | 73 |
73 targets : lib doc | 74 targets : lib sharedlib doc |
74 all : lib doc | 75 all : lib sharedlib doc |
75 tango : lib | 76 tango : lib |
76 lib : tango.lib tango.bclib tango.clib | 77 lib : tango.lib tango.bclib tango.clib |
78 sharedlib : tango.sharedlib | |
77 doc : tango.doc | 79 doc : tango.doc |
78 | 80 |
79 ###################################################### | 81 ###################################################### |
80 | 82 |
81 OBJ_CORE= \ | 83 OBJ_CORE= \ |
113 ###################################################### | 115 ###################################################### |
114 | 116 |
115 tango.bclib : $(LIB_TARGET_BC_ONLY) | 117 tango.bclib : $(LIB_TARGET_BC_ONLY) |
116 tango.lib : $(LIB_TARGET_FULL) | 118 tango.lib : $(LIB_TARGET_FULL) |
117 tango.clib : $(LIB_TARGET_C_ONLY) | 119 tango.clib : $(LIB_TARGET_C_ONLY) |
120 tango.sharedlib : $(LIB_TARGET_SHARED) | |
118 | 121 |
119 $(LIB_TARGET_BC_ONLY) : $(ALL_OBJS) | 122 $(LIB_TARGET_BC_ONLY) : $(ALL_OBJS) |
120 $(RM) $@ | 123 $(RM) $@ |
121 $(LC) $@ $(ALL_OBJS) | 124 $(LC) $@ $(ALL_OBJS) |
122 | 125 |
130 | 133 |
131 | 134 |
132 $(LIB_TARGET_C_ONLY) : $(OBJ_STDC) | 135 $(LIB_TARGET_C_ONLY) : $(OBJ_STDC) |
133 $(RM) $@ | 136 $(RM) $@ |
134 $(CLC) $@ $(OBJ_STDC) | 137 $(CLC) $@ $(OBJ_STDC) |
138 | |
139 | |
140 $(LIB_TARGET_SHARED) : $(ALL_OBJS) $(OBJ_STDC) | |
141 $(RM) $@ $@.bc $@.s $@.o | |
142 $(LLINK) -o=$@.bc $(ALL_OBJS) | |
143 $(LCC) -relocation-model=pic -o=$@.s $@.bc | |
144 $(CC) -c -o $@.o $@.s | |
145 $(CC) -shared -o $@ $@.o $(OBJ_STDC) | |
135 | 146 |
136 | 147 |
137 tango.doc : $(ALL_DOCS) | 148 tango.doc : $(ALL_DOCS) |
138 echo Documentation generated. | 149 echo Documentation generated. |
139 | 150 |