Mercurial > hg > sv-dependency-builds
comparison src/capnproto-git-20161025/c++/Makefile.am @ 48:9530b331f8c1
Add Cap'n Proto source
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Tue, 25 Oct 2016 11:17:01 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
47:d93140aac40b | 48:9530b331f8c1 |
---|---|
1 ## Process this file with automake to produce Makefile.in | |
2 | |
3 ACLOCAL_AMFLAGS = -I m4 | |
4 | |
5 AUTOMAKE_OPTIONS = foreign subdir-objects | |
6 | |
7 # When running distcheck, verify that we've included all the files needed by | |
8 # the cmake build. | |
9 distcheck-hook: | |
10 rm -rf distcheck-cmake | |
11 (mkdir distcheck-cmake && cd distcheck-cmake && cmake ../$(distdir) && make -j6 check) | |
12 rm -rf distcheck-cmake | |
13 | |
14 AM_CXXFLAGS = -I$(srcdir)/src -I$(builddir)/src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR='"$(includedir)"' $(PTHREAD_CFLAGS) | |
15 | |
16 AM_LDFLAGS = $(PTHREAD_CFLAGS) | |
17 | |
18 EXTRA_DIST = \ | |
19 README.txt \ | |
20 LICENSE.txt \ | |
21 $(test_capnpc_inputs) \ | |
22 src/capnp/compiler/capnp-test.sh \ | |
23 src/capnp/testdata/segmented-packed \ | |
24 src/capnp/testdata/errors.capnp.nobuild \ | |
25 src/capnp/testdata/short.txt \ | |
26 src/capnp/testdata/flat \ | |
27 src/capnp/testdata/binary \ | |
28 src/capnp/testdata/errors.txt \ | |
29 src/capnp/testdata/segmented \ | |
30 src/capnp/testdata/packed \ | |
31 src/capnp/testdata/pretty.txt \ | |
32 CMakeLists.txt \ | |
33 cmake/FindCapnProto.cmake \ | |
34 src/CMakeLists.txt \ | |
35 src/kj/CMakeLists.txt \ | |
36 src/capnp/CMakeLists.txt | |
37 | |
38 CLEANFILES = $(test_capnpc_outputs) test_capnpc_middleman distcheck-cmake | |
39 | |
40 # Deletes all the files generated by autoreconf. | |
41 MAINTAINERCLEANFILES = \ | |
42 aclocal.m4 \ | |
43 config.guess \ | |
44 config.sub \ | |
45 configure \ | |
46 depcomp \ | |
47 install-sh \ | |
48 ltmain.sh \ | |
49 Makefile.in \ | |
50 missing \ | |
51 mkinstalldirs \ | |
52 config.h.in \ | |
53 stamp.h.in \ | |
54 m4/ltsugar.m4 \ | |
55 m4/libtool.m4 \ | |
56 m4/ltversion.m4 \ | |
57 m4/lt~obsolete.m4 \ | |
58 m4/ltoptions.m4 | |
59 | |
60 maintainer-clean-local: | |
61 -rm -rf build-aux | |
62 | |
63 # gmake defines an implicit rule building n from n.o. Unfortunately, this triggers on our .capnp | |
64 # files because they generate .capnp.c++ which is compiled to .capnp.o. In addition to being | |
65 # nonsense, this leads to cyclic dependency issues and could even cause the .capnp files to be | |
66 # unexpectedly overwritten! We need to cancel the implicit rule by declaring an explicit one. | |
67 # | |
68 # I want the hours of my life back that I spent figuring this out. | |
69 %.capnp: | |
70 @: | |
71 | |
72 public_capnpc_inputs = \ | |
73 src/capnp/c++.capnp \ | |
74 src/capnp/schema.capnp \ | |
75 src/capnp/rpc.capnp \ | |
76 src/capnp/rpc-twoparty.capnp \ | |
77 src/capnp/persistent.capnp \ | |
78 src/capnp/compat/json.capnp | |
79 | |
80 capnpc_inputs = \ | |
81 $(public_capnpc_inputs) \ | |
82 src/capnp/compiler/lexer.capnp \ | |
83 src/capnp/compiler/grammar.capnp | |
84 | |
85 capnpc_outputs = \ | |
86 src/capnp/c++.capnp.c++ \ | |
87 src/capnp/c++.capnp.h \ | |
88 src/capnp/schema.capnp.c++ \ | |
89 src/capnp/schema.capnp.h \ | |
90 src/capnp/rpc.capnp.c++ \ | |
91 src/capnp/rpc.capnp.h \ | |
92 src/capnp/rpc-twoparty.capnp.c++ \ | |
93 src/capnp/rpc-twoparty.capnp.h \ | |
94 src/capnp/persistent.capnp.c++ \ | |
95 src/capnp/persistent.capnp.h \ | |
96 src/capnp/compat/json.capnp.h \ | |
97 src/capnp/compat/json.capnp.c++ \ | |
98 src/capnp/compiler/lexer.capnp.c++ \ | |
99 src/capnp/compiler/lexer.capnp.h \ | |
100 src/capnp/compiler/grammar.capnp.c++ \ | |
101 src/capnp/compiler/grammar.capnp.h | |
102 | |
103 includecapnpdir = $(includedir)/capnp | |
104 includecapnpcompatdir = $(includecapnpdir)/compat | |
105 includekjdir = $(includedir)/kj | |
106 includekjparsedir = $(includekjdir)/parse | |
107 includekjstddir = $(includekjdir)/std | |
108 includekjcompatdir = $(includekjdir)/compat | |
109 | |
110 dist_includecapnp_DATA = $(public_capnpc_inputs) | |
111 | |
112 pkgconfigdir = $(libdir)/pkgconfig | |
113 pkgconfig_DATA = capnp.pc capnp-rpc.pc kj.pc kj-async.pc | |
114 | |
115 noinst_HEADERS = \ | |
116 src/kj/miniposix.h | |
117 | |
118 includekj_HEADERS = \ | |
119 src/kj/common.h \ | |
120 src/kj/units.h \ | |
121 src/kj/memory.h \ | |
122 src/kj/refcount.h \ | |
123 src/kj/array.h \ | |
124 src/kj/vector.h \ | |
125 src/kj/string.h \ | |
126 src/kj/string-tree.h \ | |
127 src/kj/exception.h \ | |
128 src/kj/debug.h \ | |
129 src/kj/arena.h \ | |
130 src/kj/io.h \ | |
131 src/kj/tuple.h \ | |
132 src/kj/one-of.h \ | |
133 src/kj/function.h \ | |
134 src/kj/mutex.h \ | |
135 src/kj/thread.h \ | |
136 src/kj/threadlocal.h \ | |
137 src/kj/async-prelude.h \ | |
138 src/kj/async.h \ | |
139 src/kj/async-inl.h \ | |
140 src/kj/time.h \ | |
141 src/kj/async-unix.h \ | |
142 src/kj/async-io.h \ | |
143 src/kj/main.h \ | |
144 src/kj/test.h \ | |
145 src/kj/windows-sanity.h | |
146 | |
147 includekjparse_HEADERS = \ | |
148 src/kj/parse/common.h \ | |
149 src/kj/parse/char.h | |
150 | |
151 includekjstd_HEADERS = \ | |
152 src/kj/std/iostream.h | |
153 | |
154 includekjcompat_HEADERS = \ | |
155 src/kj/compat/gtest.h | |
156 | |
157 includecapnp_HEADERS = \ | |
158 src/capnp/c++.capnp.h \ | |
159 src/capnp/common.h \ | |
160 src/capnp/blob.h \ | |
161 src/capnp/endian.h \ | |
162 src/capnp/layout.h \ | |
163 src/capnp/orphan.h \ | |
164 src/capnp/list.h \ | |
165 src/capnp/any.h \ | |
166 src/capnp/message.h \ | |
167 src/capnp/capability.h \ | |
168 src/capnp/membrane.h \ | |
169 src/capnp/schema.capnp.h \ | |
170 src/capnp/schema-lite.h \ | |
171 src/capnp/schema.h \ | |
172 src/capnp/schema-loader.h \ | |
173 src/capnp/schema-parser.h \ | |
174 src/capnp/dynamic.h \ | |
175 src/capnp/pretty-print.h \ | |
176 src/capnp/serialize.h \ | |
177 src/capnp/serialize-async.h \ | |
178 src/capnp/serialize-packed.h \ | |
179 src/capnp/serialize-text.h \ | |
180 src/capnp/pointer-helpers.h \ | |
181 src/capnp/generated-header-support.h \ | |
182 src/capnp/rpc-prelude.h \ | |
183 src/capnp/rpc.h \ | |
184 src/capnp/rpc-twoparty.h \ | |
185 src/capnp/rpc.capnp.h \ | |
186 src/capnp/rpc-twoparty.capnp.h \ | |
187 src/capnp/persistent.capnp.h \ | |
188 src/capnp/ez-rpc.h | |
189 | |
190 includecapnpcompat_HEADERS = \ | |
191 src/capnp/compat/json.h \ | |
192 src/capnp/compat/json.capnp.h | |
193 | |
194 if LITE_MODE | |
195 lib_LTLIBRARIES = libkj.la libkj-test.la libcapnp.la | |
196 else | |
197 lib_LTLIBRARIES = libkj.la libkj-test.la libkj-async.la libcapnp.la libcapnp-rpc.la libcapnp-json.la libcapnpc.la | |
198 endif | |
199 | |
200 # Don't include security release in soname -- we want to replace old binaries | |
201 # in this case. | |
202 SO_VERSION = $(shell echo $(VERSION) | sed -e 's/^\([0-9]*[.][0-9]*[.][0-9]*\)\([.][0-9]*\)*\(-.*\)*$$/\1\3/g') | |
203 | |
204 libkj_la_LIBADD = $(PTHREAD_LIBS) | |
205 libkj_la_LDFLAGS = -release $(SO_VERSION) -no-undefined | |
206 libkj_la_SOURCES= \ | |
207 src/kj/common.c++ \ | |
208 src/kj/units.c++ \ | |
209 src/kj/memory.c++ \ | |
210 src/kj/refcount.c++ \ | |
211 src/kj/array.c++ \ | |
212 src/kj/string.c++ \ | |
213 src/kj/string-tree.c++ \ | |
214 src/kj/exception.c++ \ | |
215 src/kj/debug.c++ \ | |
216 src/kj/arena.c++ \ | |
217 src/kj/io.c++ \ | |
218 src/kj/mutex.c++ \ | |
219 src/kj/thread.c++ \ | |
220 src/kj/main.c++ \ | |
221 src/kj/parse/char.c++ | |
222 | |
223 libkj_test_la_LIBADD = libkj.la $(PTHREAD_LIBS) | |
224 libkj_test_la_LDFLAGS = -release $(VERSION) -no-undefined | |
225 libkj_test_la_SOURCES = src/kj/test.c++ | |
226 | |
227 if !LITE_MODE | |
228 libkj_async_la_LIBADD = libkj.la $(PTHREAD_LIBS) | |
229 libkj_async_la_LDFLAGS = -release $(SO_VERSION) -no-undefined | |
230 libkj_async_la_SOURCES= \ | |
231 src/kj/async.c++ \ | |
232 src/kj/async-unix.c++ \ | |
233 src/kj/async-io.c++ \ | |
234 src/kj/time.c++ | |
235 endif !LITE_MODE | |
236 | |
237 if !LITE_MODE | |
238 heavy_sources = \ | |
239 src/capnp/schema.c++ \ | |
240 src/capnp/schema-loader.c++ \ | |
241 src/capnp/dynamic.c++ \ | |
242 src/capnp/stringify.c++ | |
243 endif !LITE_MODE | |
244 | |
245 libcapnp_la_LIBADD = libkj.la $(PTHREAD_LIBS) | |
246 libcapnp_la_LDFLAGS = -release $(SO_VERSION) -no-undefined | |
247 libcapnp_la_SOURCES= \ | |
248 src/capnp/c++.capnp.c++ \ | |
249 src/capnp/blob.c++ \ | |
250 src/capnp/arena.h \ | |
251 src/capnp/arena.c++ \ | |
252 src/capnp/layout.c++ \ | |
253 src/capnp/list.c++ \ | |
254 src/capnp/any.c++ \ | |
255 src/capnp/message.c++ \ | |
256 src/capnp/schema.capnp.c++ \ | |
257 src/capnp/serialize.c++ \ | |
258 src/capnp/serialize-packed.c++ \ | |
259 $(heavy_sources) | |
260 | |
261 if !LITE_MODE | |
262 | |
263 libcapnp_rpc_la_LIBADD = libcapnp.la libkj-async.la libkj.la $(PTHREAD_LIBS) | |
264 libcapnp_rpc_la_LDFLAGS = -release $(SO_VERSION) -no-undefined | |
265 libcapnp_rpc_la_SOURCES= \ | |
266 src/capnp/serialize-async.c++ \ | |
267 src/capnp/capability.c++ \ | |
268 src/capnp/membrane.c++ \ | |
269 src/capnp/dynamic-capability.c++ \ | |
270 src/capnp/rpc.c++ \ | |
271 src/capnp/rpc.capnp.c++ \ | |
272 src/capnp/rpc-twoparty.c++ \ | |
273 src/capnp/rpc-twoparty.capnp.c++ \ | |
274 src/capnp/persistent.capnp.c++ \ | |
275 src/capnp/ez-rpc.c++ | |
276 | |
277 libcapnp_json_la_LIBADD = libcapnp.la libkj-async.la libkj.la $(PTHREAD_LIBS) | |
278 libcapnp_json_la_LDFLAGS = -release $(SO_VERSION) -no-undefined | |
279 libcapnp_json_la_SOURCES= \ | |
280 src/capnp/compat/json.c++ \ | |
281 src/capnp/compat/json.capnp.c++ | |
282 | |
283 libcapnpc_la_LIBADD = libcapnp.la libkj.la $(PTHREAD_LIBS) | |
284 libcapnpc_la_LDFLAGS = -release $(SO_VERSION) -no-undefined | |
285 libcapnpc_la_SOURCES= \ | |
286 src/capnp/compiler/md5.h \ | |
287 src/capnp/compiler/md5.c++ \ | |
288 src/capnp/compiler/error-reporter.h \ | |
289 src/capnp/compiler/error-reporter.c++ \ | |
290 src/capnp/compiler/lexer.capnp.h \ | |
291 src/capnp/compiler/lexer.capnp.c++ \ | |
292 src/capnp/compiler/lexer.h \ | |
293 src/capnp/compiler/lexer.c++ \ | |
294 src/capnp/compiler/grammar.capnp.h \ | |
295 src/capnp/compiler/grammar.capnp.c++ \ | |
296 src/capnp/compiler/parser.h \ | |
297 src/capnp/compiler/parser.c++ \ | |
298 src/capnp/compiler/node-translator.h \ | |
299 src/capnp/compiler/node-translator.c++ \ | |
300 src/capnp/compiler/compiler.h \ | |
301 src/capnp/compiler/compiler.c++ \ | |
302 src/capnp/schema-parser.c++ \ | |
303 src/capnp/serialize-text.c++ | |
304 | |
305 bin_PROGRAMS = capnp capnpc-capnp capnpc-c++ | |
306 | |
307 capnp_LDADD = libcapnpc.la libcapnp.la libkj.la $(PTHREAD_LIBS) | |
308 capnp_SOURCES = \ | |
309 src/capnp/compiler/module-loader.h \ | |
310 src/capnp/compiler/module-loader.c++ \ | |
311 src/capnp/compiler/capnp.c++ | |
312 | |
313 capnpc_capnp_LDADD = libcapnp.la libkj.la $(PTHREAD_LIBS) | |
314 capnpc_capnp_SOURCES = src/capnp/compiler/capnpc-capnp.c++ | |
315 | |
316 capnpc_c___LDADD = libcapnp.la libkj.la $(PTHREAD_LIBS) | |
317 capnpc_c___SOURCES = src/capnp/compiler/capnpc-c++.c++ | |
318 | |
319 # Symlink capnpc -> capnp. The capnp binary will behave like the old capnpc | |
320 # binary (i.e. like "capnp compile") when invoked via this symlink. | |
321 # | |
322 # Also attempt to run ldconfig, because otherwise users get confused. If | |
323 # it fails (e.g. because the platform doesn't have it, or because the | |
324 # user doesn't have root privileges), don't worry about it. | |
325 install-exec-hook: | |
326 ln -sf capnp $(DESTDIR)$(bindir)/capnpc | |
327 ldconfig < /dev/null > /dev/null 2>&1 || true | |
328 | |
329 uninstall-hook: | |
330 rm -f $(DESTDIR)$(bindir)/capnpc | |
331 | |
332 else LITE_MODE | |
333 | |
334 install-exec-hook: | |
335 ldconfig < /dev/null > /dev/null 2>&1 || true | |
336 | |
337 endif LITE_MODE | |
338 | |
339 # Source files intentionally not included in the dist at this time: | |
340 # src/capnp/serialize-snappy* | |
341 # src/capnp/benchmark/... | |
342 # src/capnp/compiler/... | |
343 | |
344 # Tests ============================================================== | |
345 | |
346 test_capnpc_inputs = \ | |
347 src/capnp/test.capnp \ | |
348 src/capnp/test-import.capnp \ | |
349 src/capnp/test-import2.capnp | |
350 | |
351 test_capnpc_outputs = \ | |
352 src/capnp/test.capnp.c++ \ | |
353 src/capnp/test.capnp.h \ | |
354 src/capnp/test-import.capnp.c++ \ | |
355 src/capnp/test-import.capnp.h \ | |
356 src/capnp/test-import2.capnp.c++ \ | |
357 src/capnp/test-import2.capnp.h | |
358 | |
359 if USE_EXTERNAL_CAPNP | |
360 | |
361 test_capnpc_middleman: $(test_capnpc_inputs) | |
362 $(CAPNP) compile --src-prefix=$(srcdir)/src -o$(CAPNPC_CXX):src -I$(srcdir)/src $^ | |
363 touch test_capnpc_middleman | |
364 | |
365 else | |
366 | |
367 test_capnpc_middleman: capnp$(EXEEXT) capnpc-c++$(EXEEXT) $(test_capnpc_inputs) | |
368 echo $^ | (read CAPNP CAPNPC_CXX SOURCES && ./$$CAPNP compile --src-prefix=$(srcdir)/src -o./$$CAPNPC_CXX:src -I$(srcdir)/src $$SOURCES) | |
369 touch test_capnpc_middleman | |
370 | |
371 endif | |
372 | |
373 $(test_capnpc_outputs): test_capnpc_middleman | |
374 | |
375 BUILT_SOURCES = $(test_capnpc_outputs) | |
376 | |
377 if LITE_MODE | |
378 | |
379 check_PROGRAMS = capnp-test | |
380 compiler_tests = | |
381 capnp_test_LDADD = libcapnp.la libkj-test.la libkj.la | |
382 | |
383 else !LITE_MODE | |
384 | |
385 check_PROGRAMS = capnp-test capnp-evolution-test | |
386 heavy_tests = \ | |
387 src/kj/async-test.c++ \ | |
388 src/kj/async-unix-test.c++ \ | |
389 src/kj/async-io-test.c++ \ | |
390 src/kj/parse/common-test.c++ \ | |
391 src/kj/parse/char-test.c++ \ | |
392 src/kj/std/iostream-test.c++ \ | |
393 src/capnp/capability-test.c++ \ | |
394 src/capnp/membrane-test.c++ \ | |
395 src/capnp/schema-test.c++ \ | |
396 src/capnp/schema-loader-test.c++ \ | |
397 src/capnp/schema-parser-test.c++ \ | |
398 src/capnp/dynamic-test.c++ \ | |
399 src/capnp/stringify-test.c++ \ | |
400 src/capnp/serialize-async-test.c++ \ | |
401 src/capnp/serialize-text-test.c++ \ | |
402 src/capnp/rpc-test.c++ \ | |
403 src/capnp/rpc-twoparty-test.c++ \ | |
404 src/capnp/ez-rpc-test.c++ \ | |
405 src/capnp/compat/json-test.c++ \ | |
406 src/capnp/compiler/lexer-test.c++ \ | |
407 src/capnp/compiler/md5-test.c++ | |
408 capnp_test_LDADD = libcapnpc.la \ | |
409 libcapnp-rpc.la \ | |
410 libcapnp-json.la \ | |
411 libcapnp.la \ | |
412 libkj-async.la \ | |
413 libkj-test.la \ | |
414 libkj.la | |
415 | |
416 endif !LITE_MODE | |
417 | |
418 capnp_test_CPPFLAGS = -Wno-deprecated-declarations | |
419 capnp_test_SOURCES = \ | |
420 src/kj/common-test.c++ \ | |
421 src/kj/memory-test.c++ \ | |
422 src/kj/refcount-test.c++ \ | |
423 src/kj/array-test.c++ \ | |
424 src/kj/string-test.c++ \ | |
425 src/kj/string-tree-test.c++ \ | |
426 src/kj/exception-test.c++ \ | |
427 src/kj/debug-test.c++ \ | |
428 src/kj/arena-test.c++ \ | |
429 src/kj/units-test.c++ \ | |
430 src/kj/tuple-test.c++ \ | |
431 src/kj/one-of-test.c++ \ | |
432 src/kj/function-test.c++ \ | |
433 src/kj/io-test.c++ \ | |
434 src/kj/mutex-test.c++ \ | |
435 src/kj/threadlocal-test.c++ \ | |
436 src/kj/threadlocal-pthread-test.c++ \ | |
437 src/kj/test-test.c++ \ | |
438 src/capnp/common-test.c++ \ | |
439 src/capnp/blob-test.c++ \ | |
440 src/capnp/endian-test.c++ \ | |
441 src/capnp/endian-fallback-test.c++ \ | |
442 src/capnp/endian-reverse-test.c++ \ | |
443 src/capnp/layout-test.c++ \ | |
444 src/capnp/any-test.c++ \ | |
445 src/capnp/message-test.c++ \ | |
446 src/capnp/encoding-test.c++ \ | |
447 src/capnp/orphan-test.c++ \ | |
448 src/capnp/serialize-test.c++ \ | |
449 src/capnp/serialize-packed-test.c++ \ | |
450 src/capnp/fuzz-test.c++ \ | |
451 src/capnp/test-util.c++ \ | |
452 src/capnp/test-util.h \ | |
453 $(heavy_tests) | |
454 nodist_capnp_test_SOURCES = $(test_capnpc_outputs) | |
455 | |
456 if !LITE_MODE | |
457 capnp_evolution_test_LDADD = libcapnpc.la libcapnp.la libkj.la | |
458 capnp_evolution_test_SOURCES = src/capnp/compiler/evolution-test.c++ | |
459 endif !LITE_MODE | |
460 | |
461 if LITE_MODE | |
462 TESTS = capnp-test | |
463 else !LITE_MODE | |
464 TESTS = capnp-test capnp-evolution-test src/capnp/compiler/capnp-test.sh | |
465 endif !LITE_MODE |