1 |
commit: 39f06977839d8a63808d0043fa6bf6331e508852 |
2 |
Author: Nicolas Bock <nicolasbock <AT> gmail <DOT> com> |
3 |
AuthorDate: Wed Nov 20 19:47:30 2013 +0000 |
4 |
Commit: Nicolas Bock <nicolasbock <AT> gmail <DOT> com> |
5 |
CommitDate: Wed Nov 20 19:47:30 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=39f06977 |
7 |
|
8 |
sys-cluster/charm-6.6.0_rc1: Rewrote patch to enable shared mode. |
9 |
|
10 |
The patch is targeted now for v6.7.0 by upstream. |
11 |
|
12 |
Package-Manager: portage-2.2.7 |
13 |
|
14 |
--- |
15 |
sys-cluster/charm/ChangeLog | 5 + |
16 |
sys-cluster/charm/charm-6.6.0_rc1.ebuild | 2 +- |
17 |
.../files/charm-6.6.0-static-library-fix.patch | 403 +++++++++++++++++++++ |
18 |
3 files changed, 409 insertions(+), 1 deletion(-) |
19 |
|
20 |
diff --git a/sys-cluster/charm/ChangeLog b/sys-cluster/charm/ChangeLog |
21 |
index 5f9842d..9b32737 100644 |
22 |
--- a/sys-cluster/charm/ChangeLog |
23 |
+++ b/sys-cluster/charm/ChangeLog |
24 |
@@ -2,6 +2,11 @@ |
25 |
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 |
26 |
# $Header: $ |
27 |
|
28 |
+ 20 Nov 2013; Nicolas Bock <nicolasbock@×××××.com> |
29 |
+ +files/charm-6.6.0-static-library-fix.patch, charm-6.6.0_rc1.ebuild: |
30 |
+ sys-cluster/charm-6.6.0_rc1: Rewrote patch to enable shared mode. The patch |
31 |
+ is targeted now for v6.7.0 by upstream. |
32 |
+ |
33 |
*charm-6.6.0_rc1 (20 Nov 2013) |
34 |
|
35 |
20 Nov 2013; Nicolas Bock <nicolasbock@×××××.com> +charm-6.6.0_rc1.ebuild: |
36 |
|
37 |
diff --git a/sys-cluster/charm/charm-6.6.0_rc1.ebuild b/sys-cluster/charm/charm-6.6.0_rc1.ebuild |
38 |
index 0791c1c..0870df5 100644 |
39 |
--- a/sys-cluster/charm/charm-6.6.0_rc1.ebuild |
40 |
+++ b/sys-cluster/charm/charm-6.6.0_rc1.ebuild |
41 |
@@ -113,7 +113,7 @@ src_prepare() { |
42 |
#epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch" |
43 |
epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch" |
44 |
epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch" |
45 |
- #epatch "${FILESDIR}/charm-6.5.1-static-library-fix.patch" |
46 |
+ epatch "${FILESDIR}/charm-6.6.0-static-library-fix.patch" |
47 |
} |
48 |
|
49 |
src_compile() { |
50 |
|
51 |
diff --git a/sys-cluster/charm/files/charm-6.6.0-static-library-fix.patch b/sys-cluster/charm/files/charm-6.6.0-static-library-fix.patch |
52 |
new file mode 100644 |
53 |
index 0000000..1281a65 |
54 |
--- /dev/null |
55 |
+++ b/sys-cluster/charm/files/charm-6.6.0-static-library-fix.patch |
56 |
@@ -0,0 +1,403 @@ |
57 |
+From 5885fa33575116c8d5c8e6e2e4beb007279a7fdb Mon Sep 17 00:00:00 2001 |
58 |
+From: Nicolas Bock <nicolasbock@×××××.com> |
59 |
+Date: Mon, 14 Oct 2013 07:15:14 -0600 |
60 |
+Subject: [PATCH] Some libraries are only built statically, |
61 |
+ |
62 |
+preventing a Charm++ installation with only dynamic libraries. |
63 |
+ |
64 |
+On a typical Linux system only shared libraries are installed, because of the |
65 |
+usual security and bloat arguments. However, if I build charm with |
66 |
+--build-shared, and then install only what is in lib_so, the charmc script |
67 |
+breaks because some Converse libraries are built purely as .o and don't end up |
68 |
+in lib_so. One example is seed based load balancing, e.g. libldb-rand.o. As |
69 |
+far as I can tell, this is not too hard to fix. In the main makefile, the |
70 |
+targets libldb-*.o are renamed to libldb-*.a, and the charmc script now tests |
71 |
+both .a and .so when linking the seed based load balancing code. |
72 |
+--- |
73 |
+ src/scripts/Makefile | 136 +++++++++++++++++++++++++-------------------------- |
74 |
+ src/scripts/charmc | 39 +++++++++------ |
75 |
+ 2 files changed, 92 insertions(+), 83 deletions(-) |
76 |
+ |
77 |
+diff --git a/src/scripts/Makefile b/src/scripts/Makefile |
78 |
+index a52b801..d0e5a03 100644 |
79 |
+--- a/src/scripts/Makefile |
80 |
++++ b/src/scripts/Makefile |
81 |
+@@ -358,7 +358,7 @@ dirs+sources: |
82 |
+ # Converse Libraries |
83 |
+ # |
84 |
+ ############################################################################### |
85 |
+-CLBLIBS=$(L)/libldb-rand.o $(L)/libldb-spray.o $(L)/libldb-workstealing.o $(L)/libldb-neighbor.o $(L)/libldb-none.o $(L)/libldb-test.o $(L)/libldb-bluegene.o |
86 |
++CLBLIBS=$(L)/libldb-rand.a $(L)/libldb-spray.a $(L)/libldb-workstealing.a $(L)/libldb-neighbor.a $(L)/libldb-none.a $(L)/libldb-test.a $(L)/libldb-bluegene.a |
87 |
+ |
88 |
+ TRACELIBS = $(L)/libtrace-converse.a $(L)/libtracef_f.a |
89 |
+ |
90 |
+@@ -372,32 +372,32 @@ TRACELIBS += $(L)/libtrace-projections.a $(L)/libtrace-summary.a \ |
91 |
+ $(L)/libtrace-memory.a $(L)/libtrace-autoPerf.a |
92 |
+ endif |
93 |
+ |
94 |
+-MEMLIBS=$(L)/libmemory-default.o $(L)/libmemory-os.o $(L)/libmemory-gnu.o \ |
95 |
+- $(L)/libmemory-gnuold.o $(L)/libmemory-verbose.o \ |
96 |
+- $(L)/libmemory-paranoid.o \ |
97 |
+- $(L)/libmemory-leak.o $(L)/libmemory-isomalloc.o \ |
98 |
+- $(L)/libmemory-os-verbose.o $(L)/libmemory-os-isomalloc.o \ |
99 |
+- $(L)/libmemory-os-leak.o $(L)/libmemory-os-paranoid.o \ |
100 |
+- $(L)/libmemory-os-lock.o $(L)/libmemory-os-wrapper.o |
101 |
++MEMLIBS=$(L)/libmemory-default.a $(L)/libmemory-os.a $(L)/libmemory-gnu.a \ |
102 |
++ $(L)/libmemory-gnuold.a $(L)/libmemory-verbose.a \ |
103 |
++ $(L)/libmemory-paranoid.a \ |
104 |
++ $(L)/libmemory-leak.a $(L)/libmemory-isomalloc.a \ |
105 |
++ $(L)/libmemory-os-verbose.a $(L)/libmemory-os-isomalloc.a \ |
106 |
++ $(L)/libmemory-os-leak.a $(L)/libmemory-os-paranoid.a \ |
107 |
++ $(L)/libmemory-os-lock.a $(L)/libmemory-os-wrapper.a |
108 |
+ |
109 |
+ BUILD_CHARMDEBUG=$(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$CMK_CHARMDEBUG; fi ) |
110 |
+ |
111 |
+ ifneq "$(BUILD_CHARMDEBUG)" "0" |
112 |
+-MEMLIBS += $(L)/libmemory-charmdebug.o $(L)/libmemory-charmdebug-mmap.o \ |
113 |
+- $(L)/libmemory-charmdebug-slot.o \ |
114 |
+- $(L)/libmemory-charmdebug-mmap-slot.o \ |
115 |
+- $(L)/libmemory-os-charmdebug.o $(L)/libmemory-hooks-charmdebug.o |
116 |
++MEMLIBS += $(L)/libmemory-charmdebug.a $(L)/libmemory-charmdebug-mmap.a \ |
117 |
++ $(L)/libmemory-charmdebug-slot.a \ |
118 |
++ $(L)/libmemory-charmdebug-mmap-slot.a \ |
119 |
++ $(L)/libmemory-os-charmdebug.a $(L)/libmemory-hooks-charmdebug.a |
120 |
+ endif |
121 |
+ |
122 |
+-THREADLIBS=$(L)/libthreads-default.o $(L)/libthreads-default-tls.o \ |
123 |
+- $(L)/libthreads-qt.o $(L)/libthreads-qt-tls.o \ |
124 |
+- $(L)/libthreads-context.o $(L)/libthreads-context-tls.o \ |
125 |
+- $(L)/libthreads-uJcontext.o $(L)/libthreads-uJcontext-tls.o \ |
126 |
+- $(L)/libthreads-pthreads.o $(L)/libthreads-fibers.o \ |
127 |
+- $(L)/libthreads-stackcopy.o $(L)/libthreads-memoryalias.o \ |
128 |
+- $(L)/libthreads-qt-memoryalias.o \ |
129 |
+- $(L)/libthreads-context-memoryalias.o \ |
130 |
+- $(L)/libthreads-uJcontext-memoryalias.o |
131 |
++THREADLIBS=$(L)/libthreads-default.a $(L)/libthreads-default-tls.a \ |
132 |
++ $(L)/libthreads-qt.a $(L)/libthreads-qt-tls.a \ |
133 |
++ $(L)/libthreads-context.a $(L)/libthreads-context-tls.a \ |
134 |
++ $(L)/libthreads-uJcontext.a $(L)/libthreads-uJcontext-tls.a \ |
135 |
++ $(L)/libthreads-pthreads.a $(L)/libthreads-fibers.a \ |
136 |
++ $(L)/libthreads-stackcopy.a $(L)/libthreads-memoryalias.a \ |
137 |
++ $(L)/libthreads-qt-memoryalias.a \ |
138 |
++ $(L)/libthreads-context-memoryalias.a \ |
139 |
++ $(L)/libthreads-uJcontext-memoryalias.a |
140 |
+ |
141 |
+ CVLIBS=$(L)/libconv-core.a \ |
142 |
+ $(L)/libconv-cplus-y.a $(L)/libconv-cplus-n.a \ |
143 |
+@@ -494,19 +494,19 @@ pup_f.o: pup_f.f90 $(CVHEADERS) |
144 |
+ -$(CHARMC) -c pup_f.f90 && $(CHARMC) -cpmod ../include pupmod.M || touch pup_f.o |
145 |
+ |
146 |
+ ## Converse load balancers (seed balancers, -balance) |
147 |
+-$(L)/libldb-none.o: cldb.none.c $(CVHEADERS) |
148 |
++$(L)/libldb-none.a: cldb.none.c $(CVHEADERS) |
149 |
+ $(CHARMC) -o $@ cldb.none.c |
150 |
+ |
151 |
+-$(L)/libldb-rand.o: cldb.rand.c cldb.h $(CVHEADERS) |
152 |
++$(L)/libldb-rand.a: cldb.rand.c cldb.h $(CVHEADERS) |
153 |
+ $(CHARMC) -o $@ cldb.rand.c |
154 |
+ |
155 |
+-$(L)/libldb-neighbor.o: cldb.neighbor.c cldb.neighbor.h graph.h $(CVHEADERS) |
156 |
++$(L)/libldb-neighbor.a: cldb.neighbor.c cldb.neighbor.h graph.h $(CVHEADERS) |
157 |
+ $(CHARMC) -o $@ cldb.neighbor.c |
158 |
+ |
159 |
+-$(L)/libldb-workstealing.o: cldb.workstealing.c cldb.workstealing.h graph.h $(CVHEADERS) |
160 |
++$(L)/libldb-workstealing.a: cldb.workstealing.c cldb.workstealing.h graph.h $(CVHEADERS) |
161 |
+ $(CHARMC) -o $@ cldb.workstealing.c |
162 |
+ |
163 |
+-$(L)/libldb-spray.o: cldb.spray.c $(CVHEADERS) |
164 |
++$(L)/libldb-spray.a: cldb.spray.c $(CVHEADERS) |
165 |
+ $(CHARMC) -o $@ cldb.spray.c |
166 |
+ |
167 |
+ |
168 |
+@@ -516,138 +516,138 @@ $(L)/libldb-spray.o: cldb.spray.c $(CVHEADERS) |
169 |
+ #//$(L)/libldb-prioritycentralizedopt.o: cldb.prioritycentralizedopt.c cldb.prioritycentralizedopt.h $(CVHEADERS) |
170 |
+ #// $(CHARMC) -o $@ cldb.prioritycentralizedopt.c |
171 |
+ |
172 |
+-$(L)/libldb-test.o: cldb.test.c $(CVHEADERS) |
173 |
++$(L)/libldb-test.a: cldb.test.c $(CVHEADERS) |
174 |
+ $(CHARMC) -o $@ cldb.test.c |
175 |
+ |
176 |
+-$(L)/libldb-bluegene.o: cldb.bluegene.c $(CVHEADERS) |
177 |
++$(L)/libldb-bluegene.a: cldb.bluegene.c $(CVHEADERS) |
178 |
+ $(CHARMC) -o $@ cldb.bluegene.c |
179 |
+ |
180 |
+ ## Memory allocation libraries (-memory) |
181 |
+ MEM_DEPS=memory.c memory-gnu.c memory-gnuold.c converse.h conv-mach.h $(CVHEADERS) |
182 |
+-$(L)/libmemory-default.o: $(MEM_DEPS) |
183 |
++$(L)/libmemory-default.a: $(MEM_DEPS) |
184 |
+ $(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_DEFAULT memory.c |
185 |
+ |
186 |
+-$(L)/libmemory-os.o: $(MEM_DEPS) |
187 |
++$(L)/libmemory-os.a: $(MEM_DEPS) |
188 |
+ $(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS memory.c |
189 |
+ |
190 |
+-$(L)/libmemory-os-verbose.o: memory-verbose.c $(MEM_DEPS) |
191 |
++$(L)/libmemory-os-verbose.a: memory-verbose.c $(MEM_DEPS) |
192 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_VERBOSE memory.c || touch $@ |
193 |
+ |
194 |
+-$(L)/libmemory-os-paranoid.o: memory-paranoid.c $(MEM_DEPS) |
195 |
++$(L)/libmemory-os-paranoid.a: memory-paranoid.c $(MEM_DEPS) |
196 |
+ -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_PARANOID memory.c || touch $@ |
197 |
+ |
198 |
+-$(L)/libmemory-os-leak.o: $(MEM_DEPS) |
199 |
++$(L)/libmemory-os-leak.a: $(MEM_DEPS) |
200 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_LEAK memory.c || touch $@ |
201 |
+ |
202 |
+-$(L)/libmemory-os-isomalloc.o: memory-isomalloc.c $(MEM_DEPS) |
203 |
++$(L)/libmemory-os-isomalloc.a: memory-isomalloc.c $(MEM_DEPS) |
204 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_ISOMALLOC memory.c || touch $@ |
205 |
+ |
206 |
+-$(L)/libmemory-os-lock.o: memory-lock.c $(MEM_DEPS) |
207 |
++$(L)/libmemory-os-lock.a: memory-lock.c $(MEM_DEPS) |
208 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_LOCK memory.c || touch $@ |
209 |
+ |
210 |
+-$(L)/libmemory-os-charmdebug.o: memory-charmdebug.c $(MEM_DEPS) |
211 |
++$(L)/libmemory-os-charmdebug.a: memory-charmdebug.c $(MEM_DEPS) |
212 |
+ -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@ |
213 |
+ |
214 |
+-$(L)/libmemory-os-wrapper.o: memory-os-wrapper.C $(MEM_DEPS) |
215 |
++$(L)/libmemory-os-wrapper.a: memory-os-wrapper.C $(MEM_DEPS) |
216 |
+ -$(CHARMC) -o $@ memory-os-wrapper.C || touch $@ |
217 |
+ |
218 |
+-$(L)/libmemory-hooks-charmdebug.o: memory-charmdebug.c $(MEM_DEPS) |
219 |
++$(L)/libmemory-hooks-charmdebug.a: memory-charmdebug.c $(MEM_DEPS) |
220 |
+ -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_GNU_HOOKS -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@ |
221 |
+ |
222 |
+ # If the system doesn't have sbrk, these compilations may fail. |
223 |
+ # This is OK, but then we can't use "-memory gnu" or friends. |
224 |
+-$(L)/libmemory-gnu.o: $(MEM_DEPS) |
225 |
++$(L)/libmemory-gnu.a: $(MEM_DEPS) |
226 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_GNU memory.c || touch $@ |
227 |
+ |
228 |
+-$(L)/libmemory-gnuold.o: $(MEM_DEPS) |
229 |
++$(L)/libmemory-gnuold.a: $(MEM_DEPS) |
230 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_GNUOLD memory.c || touch $@ |
231 |
+ |
232 |
+-$(L)/libmemory-verbose.o: memory-verbose.c $(MEM_DEPS) |
233 |
++$(L)/libmemory-verbose.a: memory-verbose.c $(MEM_DEPS) |
234 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_VERBOSE memory.c || touch $@ |
235 |
+ |
236 |
+-$(L)/libmemory-paranoid.o: memory-paranoid.c $(MEM_DEPS) |
237 |
++$(L)/libmemory-paranoid.a: memory-paranoid.c $(MEM_DEPS) |
238 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_PARANOID memory.c || touch $@ |
239 |
+ |
240 |
+-$(L)/libmemory-leak.o: memory-leak.c $(MEM_DEPS) |
241 |
++$(L)/libmemory-leak.a: memory-leak.c $(MEM_DEPS) |
242 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_LEAK memory.c || touch $@ |
243 |
+ |
244 |
+-$(L)/libmemory-cache.o: memory-cache.c $(MEM_DEPS) |
245 |
++$(L)/libmemory-cache.a: memory-cache.c $(MEM_DEPS) |
246 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_CACHE memory.c || touch $@ |
247 |
+ |
248 |
+-$(L)/libmemory-isomalloc.o: memory-isomalloc.c $(MEM_DEPS) |
249 |
++$(L)/libmemory-isomalloc.a: memory-isomalloc.c $(MEM_DEPS) |
250 |
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_ISOMALLOC memory.c || touch $@ |
251 |
+ |
252 |
+-$(L)/libmemory-charmdebug.o: memory-charmdebug.c $(MEM_DEPS) |
253 |
++$(L)/libmemory-charmdebug.a: memory-charmdebug.c $(MEM_DEPS) |
254 |
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@ |
255 |
+ |
256 |
+-$(L)/libmemory-charmdebug-slot.o: memory-charmdebug.c $(MEM_DEPS) |
257 |
++$(L)/libmemory-charmdebug-slot.a: memory-charmdebug.c $(MEM_DEPS) |
258 |
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCMK_SEPARATE_SLOT memory.c || touch $@ |
259 |
+ |
260 |
+-$(L)/libmemory-charmdebug-mmap.o: memory-charmdebug.c $(MEM_DEPS) |
261 |
++$(L)/libmemory-charmdebug-mmap.a: memory-charmdebug.c $(MEM_DEPS) |
262 |
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCPD_USE_MMAP memory.c || touch $@ |
263 |
+ |
264 |
+-$(L)/libmemory-charmdebug-mmap-slot.o: memory-charmdebug.c $(MEM_DEPS) |
265 |
++$(L)/libmemory-charmdebug-mmap-slot.a: memory-charmdebug.c $(MEM_DEPS) |
266 |
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCPD_USE_MMAP -DCMK_SEPARATE_SLOT memory.c || touch $@ |
267 |
+ |
268 |
+ ## Thread libraries (-thread) |
269 |
+ |
270 |
+ LIBTHREADSDEPS = threads.c $(CVHEADERS) QUICK_THREADS |
271 |
+ |
272 |
+-$(L)/libthreads-default.o: $(LIBTHREADSDEPS) |
273 |
++$(L)/libthreads-default.a: $(LIBTHREADSDEPS) |
274 |
+ $(CHARMC) -o $@ -DCMK_THREADS_BUILD_DEFAULT=1 -IQuickThreads -I. threads.c |
275 |
+ |
276 |
+-$(L)/libthreads-default-tls.o: $(LIBTHREADSDEPS) |
277 |
++$(L)/libthreads-default-tls.a: $(LIBTHREADSDEPS) |
278 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_DEFAULT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads -I. threads.c 2> /dev/null || touch $@ |
279 |
+ |
280 |
+-$(L)/libthreads-qt.o: $(LIBTHREADSDEPS) |
281 |
++$(L)/libthreads-qt.a: $(LIBTHREADSDEPS) |
282 |
+ $(CHARMC) -o $@ -DCMK_THREADS_BUILD_QT=1 -IQuickThreads threads.c |
283 |
+ |
284 |
+-$(L)/libthreads-qt-tls.o: $(LIBTHREADSDEPS) |
285 |
++$(L)/libthreads-qt-tls.a: $(LIBTHREADSDEPS) |
286 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_QT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads threads.c 2> /dev/null || touch $@ |
287 |
+ |
288 |
+-$(L)/libthreads-context.o: $(LIBTHREADSDEPS) |
289 |
++$(L)/libthreads-context.a: $(LIBTHREADSDEPS) |
290 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_CONTEXT=1 -IQuickThreads threads.c || touch $@ |
291 |
+ |
292 |
+-$(L)/libthreads-context-tls.o: $(LIBTHREADSDEPS) |
293 |
++$(L)/libthreads-context-tls.a: $(LIBTHREADSDEPS) |
294 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_CONTEXT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads threads.c 2> /dev/null || touch $@ |
295 |
+ |
296 |
+-$(L)/libthreads-uJcontext.o: $(LIBTHREADSDEPS) uJcontext.c |
297 |
++$(L)/libthreads-uJcontext.a: $(LIBTHREADSDEPS) uJcontext.c |
298 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_JCONTEXT=1 -IQuickThreads -I. threads.c || touch $@ |
299 |
+ |
300 |
+-$(L)/libthreads-uJcontext-tls.o: $(LIBTHREADSDEPS) uJcontext.c |
301 |
++$(L)/libthreads-uJcontext-tls.a: $(LIBTHREADSDEPS) uJcontext.c |
302 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_JCONTEXT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads -I. threads.c || touch $@ |
303 |
+ |
304 |
+-$(L)/libthreads-pthreads.o: $(LIBTHREADSDEPS) |
305 |
++$(L)/libthreads-pthreads.a: $(LIBTHREADSDEPS) |
306 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_PTHREADS=1 -IQuickThreads threads.c || touch $@ |
307 |
+ |
308 |
+-$(L)/libthreads-fibers.o: $(LIBTHREADSDEPS) |
309 |
++$(L)/libthreads-fibers.a: $(LIBTHREADSDEPS) |
310 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_FIBERS=1 -IQuickThreads threads.c 2> /dev/null || touch $@ |
311 |
+ |
312 |
+-$(L)/libthreads-stackcopy.o: $(LIBTHREADSDEPS) |
313 |
++$(L)/libthreads-stackcopy.a: $(LIBTHREADSDEPS) |
314 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_STACKCOPY=1 -IQuickThreads threads.c || touch $@ |
315 |
+ |
316 |
+-$(L)/libthreads-memoryalias.o: $(LIBTHREADSDEPS) |
317 |
++$(L)/libthreads-memoryalias.a: $(LIBTHREADSDEPS) |
318 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_DEFAULT=1 -IQuickThreads threads.c || touch $@ |
319 |
+ |
320 |
+-$(L)/libthreads-qt-memoryalias.o: $(LIBTHREADSDEPS) |
321 |
++$(L)/libthreads-qt-memoryalias.a: $(LIBTHREADSDEPS) |
322 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_QT=1 -IQuickThreads threads.c || touch $@ |
323 |
+ |
324 |
+-$(L)/libthreads-context-memoryalias.o: $(LIBTHREADSDEPS) |
325 |
++$(L)/libthreads-context-memoryalias.a: $(LIBTHREADSDEPS) |
326 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_CONTEXT=1 -IQuickThreads threads.c || touch $@ |
327 |
+ |
328 |
+-$(L)/libthreads-uJcontext-memoryalias.o: $(LIBTHREADSDEPS) |
329 |
++$(L)/libthreads-uJcontext-memoryalias.a: $(LIBTHREADSDEPS) |
330 |
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_JCONTEXT=1 -IQuickThreads -I. threads.c || touch $@ |
331 |
+ |
332 |
+ ## Global swapping (-swapglobal) |
333 |
+-swapglobal-target: $(L)/libglobal-swap.o $(L)/libglobal-copy.o $(L)/loadsym.o |
334 |
++swapglobal-target: $(L)/libglobal-swap.a $(L)/libglobal-copy.a $(L)/loadsym.a |
335 |
+ |
336 |
+-$(L)/libglobal-swap.o: global-elfgot.C $(CVHEADERS) |
337 |
++$(L)/libglobal-swap.a: global-elfgot.C $(CVHEADERS) |
338 |
+ -$(CHARMC) -c global-elfgot.C -o $@ || touch $@ |
339 |
+ |
340 |
+-$(L)/libglobal-copy.o: global-elfcopy.C $(CVHEADERS) |
341 |
++$(L)/libglobal-copy.a: global-elfcopy.C $(CVHEADERS) |
342 |
+ -$(CHARMC) -c global-elfcopy.C -o $@ || touch $@ |
343 |
+ |
344 |
+-$(L)/loadsym.o: loadsym.c $(CVHEADERS) |
345 |
++$(L)/loadsym.a: loadsym.c $(CVHEADERS) |
346 |
+ -$(CHARMC) -c loadsym.c -o $@ || touch $@ |
347 |
+ |
348 |
+ ############################################################################### |
349 |
+diff --git a/src/scripts/charmc b/src/scripts/charmc |
350 |
+index 0502c27..a984b18 100755 |
351 |
+--- a/src/scripts/charmc |
352 |
++++ b/src/scripts/charmc |
353 |
+@@ -346,6 +346,14 @@ printVersion() |
354 |
+ echo Charm++ Version $version |
355 |
+ } |
356 |
+ |
357 |
++getLibraryObject() |
358 |
++{ |
359 |
++ if [[ -f "${CHARMLIB}/$1-$2.a" ]]; then |
360 |
++ echo "${CHARMLIB}/$1-$2.a" |
361 |
++ else |
362 |
++ echo "${CHARMLIBSO}/$1-$2.so" |
363 |
++ fi |
364 |
++} |
365 |
+ |
366 |
+ ############################################################################## |
367 |
+ # |
368 |
+@@ -1697,13 +1705,12 @@ then |
369 |
+ fi |
370 |
+ |
371 |
+ BAL_EXT=`getExtention $BALANCE` |
372 |
+-if [ -z "$BAL_EXT" ] |
373 |
+-then |
374 |
+-# Balance has no extention-- is a library reference |
375 |
+- BAL_OBJ="$CHARMLIB/libldb-$BALANCE.o" |
376 |
++if [[ -z "$BAL_EXT" ]]; then |
377 |
++ # Balance has no extension-- is a library reference |
378 |
++ BAL_OBJ=$(getLibraryObject "libldb" ${BALANCE}) |
379 |
+ else |
380 |
+-# Balance has some extention-- must be a .o or .a file |
381 |
+- BAL_OBJ="$BALANCE" |
382 |
++ # Balance has some extension-- must be a .o or .a file |
383 |
++ BAL_OBJ="$BALANCE" |
384 |
+ fi |
385 |
+ |
386 |
+ Debug "Finished with BAL_OBJ=$BAL_OBJ, TRACEMODE=$TRACEMODE..." |
387 |
+@@ -1719,10 +1726,11 @@ then |
388 |
+ fi |
389 |
+ fi |
390 |
+ |
391 |
++Debug "Finished with BAL_OBJ=$BAL_OBJ, TRACEMODE=$TRACEMODE..." |
392 |
+ |
393 |
+ # Check for valid choice of MEMORY |
394 |
+ |
395 |
+-MEM_OBJ="$CHARMLIB/libmemory-$MEMORY.o" |
396 |
++MEM_OBJ=$(getLibraryObject "libmemory" ${MEMORY}) |
397 |
+ |
398 |
+ if [ ! -r $MEM_OBJ -o ! -s $MEM_OBJ ] |
399 |
+ then |
400 |
+@@ -1733,7 +1741,7 @@ fi |
401 |
+ # For memory wrapping around the OS allocator, need to add also the wrapper object |
402 |
+ case $MEMORY in |
403 |
+ os-*) |
404 |
+- MEM_OBJ=$MEM_OBJ" $CHARMLIB/libmemory-os-wrapper.o" |
405 |
++ MEM_OBJ="${MEM_OBJ} $(getLibraryObject 'libmemory' 'os-wrapper')" |
406 |
+ ;; |
407 |
+ esac |
408 |
+ |
409 |
+@@ -1751,7 +1759,8 @@ then |
410 |
+ THREAD=${THREAD}-tls |
411 |
+ fi |
412 |
+ fi |
413 |
+-THREAD_OBJ="$CHARMLIB/libthreads-$THREAD.o" |
414 |
++ |
415 |
++THREAD_OBJ=$(getLibraryObject "libthreads" ${THREAD}) |
416 |
+ |
417 |
+ if [ ! -r $THREAD_OBJ -o ! -s $THREAD_OBJ ] |
418 |
+ then |
419 |
+@@ -1931,7 +1940,7 @@ esac |
420 |
+ |
421 |
+ if [ "$BUILD_SHARE" = "0" ] |
422 |
+ then |
423 |
+- MIDDLE_LIBS="$MEM_OBJ $THREAD_OBJ $MIDDLE_LIBS" |
424 |
++ MIDDLE_LIBS="$MIDDLE_LIBS $MEM_OBJ $THREAD_OBJ" |
425 |
+ fi |
426 |
+ |
427 |
+ if [ "$CHARM_SHARED" = "1" ] |
428 |
+@@ -1943,23 +1952,23 @@ then |
429 |
+ then |
430 |
+ LANG_LIBS="-L$CHARMLIBSO $OBJECTFILES $PRE_LIBRARIES" |
431 |
+ else |
432 |
+- LANG_LIBS="-L$CHARMLIBSO $BAL_OBJ $OBJECTFILES $modInitObj $PRE_LIBRARIES" |
433 |
++ LANG_LIBS="-L$CHARMLIBSO $OBJECTFILES $modInitObj $PRE_LIBRARIES" |
434 |
+ fi |
435 |
+ else |
436 |
+ # if interoperate, need a lib with moduleinit |
437 |
+ if [ "$MPI_INTEROPERATE" != "" ] |
438 |
+ then |
439 |
+- LANG_LIBS="-L$CHARMLIB -I$CHARMINC $CMK_SYSINC $BAL_OBJ $PRE_LIBRARIES" |
440 |
++ LANG_LIBS="-L$CHARMLIB -I$CHARMINC $CMK_SYSINC $PRE_LIBRARIES" |
441 |
+ else |
442 |
+- LANG_LIBS="-L$CHARMLIB -I$CHARMINC $CMK_SYSINC $BAL_OBJ $OBJECTFILES $modInitObj $PRE_LIBRARIES" |
443 |
++ LANG_LIBS="-L$CHARMLIB -I$CHARMINC $CMK_SYSINC $OBJECTFILES $modInitObj $PRE_LIBRARIES" |
444 |
+ fi |
445 |
+ fi |
446 |
+ if [ "$TRACE_WITH_TAU" = 1 ] |
447 |
+ then |
448 |
+ echo "Linking with the TAU libraries: $TAU_LIBS" |
449 |
+- ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS $TAU_LIBS" |
450 |
++ ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $BAL_OBJ $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS $TAU_LIBS" |
451 |
+ else |
452 |
+- ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS" |
453 |
++ ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $BAL_OBJ $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS" |
454 |
+ fi |
455 |
+ Debugf "All libraries are: $ALL_LIBS" |
456 |
+ |
457 |
+-- |
458 |
+1.8.3.2 |
459 |
+ |