capnproto

FORK: Cap'n Proto serialization/RPC system - core tools and C++ library
git clone https://git.neptards.moe/neptards/capnproto.git
Log | Files | Refs | README | LICENSE

Makefile.am (30807B)


      1 ## Process this file with automake to produce Makefile.in
      2 
      3 ACLOCAL_AMFLAGS = -I m4
      4 
      5 # We use serial-tests so that test output will be written directly to stdout
      6 # which is much preferred in CI environments where the test logs may be hard
      7 # to get at after the fact. Most of our tests are bundled into a single
      8 # executable anyway so cannot easily be parallelized.
      9 AUTOMAKE_OPTIONS = foreign subdir-objects serial-tests
     10 
     11 # When running distcheck, verify that we've included all the files needed by
     12 # the cmake build.
     13 distcheck-hook:
     14 	rm -rf distcheck-cmake
     15 	(mkdir distcheck-cmake && cd distcheck-cmake && cmake ../$(distdir) && make -j6 check)
     16 	rm -rf distcheck-cmake
     17 
     18 AM_CXXFLAGS = -I$(srcdir)/src -I$(builddir)/src -DKJ_HEADER_WARNINGS -DCAPNP_HEADER_WARNINGS -DCAPNP_INCLUDE_DIR='"$(includedir)"' $(PTHREAD_CFLAGS)
     19 
     20 AM_LDFLAGS = $(PTHREAD_CFLAGS)
     21 
     22 EXTRA_DIST =                                                                 \
     23   README.txt                                                                 \
     24   LICENSE.txt                                                                \
     25   $(test_capnpc_inputs)                                                      \
     26   src/capnp/compiler/capnp-test.sh                                           \
     27   src/capnp/testdata/segmented-packed                                        \
     28   src/capnp/testdata/errors.capnp.nobuild                                    \
     29   src/capnp/testdata/errors2.capnp.nobuild                                   \
     30   src/capnp/testdata/short.txt                                               \
     31   src/capnp/testdata/flat                                                    \
     32   src/capnp/testdata/binary                                                  \
     33   src/capnp/testdata/errors.txt                                              \
     34   src/capnp/testdata/errors2.txt                                             \
     35   src/capnp/testdata/segmented                                               \
     36   src/capnp/testdata/packed                                                  \
     37   src/capnp/testdata/pretty.txt                                              \
     38   src/capnp/testdata/lists.binary                                            \
     39   src/capnp/testdata/packedflat                                              \
     40   src/capnp/testdata/pretty.json                                             \
     41   src/capnp/testdata/short.json                                              \
     42   src/capnp/testdata/annotated-json.binary                                   \
     43   src/capnp/testdata/annotated.json                                          \
     44   CMakeLists.txt                                                             \
     45   cmake/CapnProtoMacros.cmake                                                \
     46   cmake/CapnProtoTargets.cmake                                               \
     47   cmake/CapnProtoConfig.cmake.in                                             \
     48   cmake/CapnProtoConfigVersion.cmake.in                                      \
     49   src/CMakeLists.txt                                                         \
     50   src/kj/CMakeLists.txt                                                      \
     51   src/capnp/CMakeLists.txt
     52 
     53 CLEANFILES = $(test_capnpc_outputs) test_capnpc_middleman distcheck-cmake
     54 
     55 # Deletes all the files generated by autoreconf.
     56 MAINTAINERCLEANFILES =   \
     57   aclocal.m4             \
     58   config.guess           \
     59   config.sub             \
     60   configure              \
     61   depcomp                \
     62   install-sh             \
     63   ltmain.sh              \
     64   Makefile.in            \
     65   missing                \
     66   mkinstalldirs          \
     67   config.h.in            \
     68   stamp.h.in             \
     69   m4/ltsugar.m4          \
     70   m4/libtool.m4          \
     71   m4/ltversion.m4        \
     72   m4/lt~obsolete.m4      \
     73   m4/ltoptions.m4
     74 
     75 maintainer-clean-local:
     76 	-rm -rf build-aux
     77 
     78 # gmake defines an implicit rule building n from n.o.  Unfortunately, this triggers on our .capnp
     79 # files because they generate .capnp.c++ which is compiled to .capnp.o.  In addition to being
     80 # nonsense, this leads to cyclic dependency issues and could even cause the .capnp files to be
     81 # unexpectedly overwritten!  We need to cancel the implicit rule by declaring an explicit one.
     82 #
     83 # I want the hours of my life back that I spent figuring this out.
     84 %.capnp:
     85 	@:
     86 
     87 public_capnpc_inputs =                                         \
     88   src/capnp/c++.capnp                                          \
     89   src/capnp/schema.capnp                                       \
     90   src/capnp/stream.capnp                                       \
     91   src/capnp/rpc.capnp                                          \
     92   src/capnp/rpc-twoparty.capnp                                 \
     93   src/capnp/persistent.capnp
     94 
     95 capnpc_inputs =                                                \
     96   $(public_capnpc_inputs)                                      \
     97   src/capnp/compiler/lexer.capnp                               \
     98   src/capnp/compiler/grammar.capnp                             \
     99   src/capnp/compat/json.capnp
    100 
    101 capnpc_outputs =                                               \
    102   src/capnp/c++.capnp.c++                                      \
    103   src/capnp/c++.capnp.h                                        \
    104   src/capnp/schema.capnp.c++                                   \
    105   src/capnp/schema.capnp.h                                     \
    106   src/capnp/stream.capnp.c++                                   \
    107   src/capnp/stream.capnp.h                                     \
    108   src/capnp/rpc.capnp.c++                                      \
    109   src/capnp/rpc.capnp.h                                        \
    110   src/capnp/rpc-twoparty.capnp.c++                             \
    111   src/capnp/rpc-twoparty.capnp.h                               \
    112   src/capnp/persistent.capnp.c++                               \
    113   src/capnp/persistent.capnp.h                                 \
    114   src/capnp/compat/json.capnp.h                                \
    115   src/capnp/compat/json.capnp.c++                              \
    116   src/capnp/compiler/lexer.capnp.c++                           \
    117   src/capnp/compiler/lexer.capnp.h                             \
    118   src/capnp/compiler/grammar.capnp.c++                         \
    119   src/capnp/compiler/grammar.capnp.h
    120 
    121 includecapnpdir = $(includedir)/capnp
    122 includecapnpcompatdir = $(includecapnpdir)/compat
    123 includekjdir = $(includedir)/kj
    124 includekjparsedir = $(includekjdir)/parse
    125 includekjstddir = $(includekjdir)/std
    126 includekjcompatdir = $(includekjdir)/compat
    127 
    128 dist_includecapnp_DATA = $(public_capnpc_inputs)
    129 dist_includecapnpcompat_DATA = src/capnp/compat/json.capnp
    130 
    131 pkgconfigdir = $(libdir)/pkgconfig
    132 pkgconfig_DATA = $(CAPNP_PKG_CONFIG_FILES)
    133 
    134 cmakeconfigdir = $(libdir)/cmake/CapnProto
    135 cmakeconfig_DATA = $(CAPNP_CMAKE_CONFIG_FILES)                 \
    136   cmake/CapnProtoMacros.cmake                                  \
    137   cmake/CapnProtoTargets.cmake
    138 
    139 noinst_HEADERS = \
    140   src/kj/miniposix.h \
    141   src/kj/async-io-internal.h
    142 
    143 includekj_HEADERS =                                            \
    144   src/kj/common.h                                              \
    145   src/kj/units.h                                               \
    146   src/kj/memory.h                                              \
    147   src/kj/refcount.h                                            \
    148   src/kj/array.h                                               \
    149   src/kj/list.h                                                \
    150   src/kj/vector.h                                              \
    151   src/kj/string.h                                              \
    152   src/kj/string-tree.h                                         \
    153   src/kj/hash.h                                                \
    154   src/kj/table.h                                               \
    155   src/kj/map.h                                                 \
    156   src/kj/encoding.h                                            \
    157   src/kj/exception.h                                           \
    158   src/kj/debug.h                                               \
    159   src/kj/arena.h                                               \
    160   src/kj/io.h                                                  \
    161   src/kj/tuple.h                                               \
    162   src/kj/one-of.h                                              \
    163   src/kj/function.h                                            \
    164   src/kj/mutex.h                                               \
    165   src/kj/source-location.h                                     \
    166   src/kj/thread.h                                              \
    167   src/kj/threadlocal.h                                         \
    168   src/kj/filesystem.h                                          \
    169   src/kj/async-prelude.h                                       \
    170   src/kj/async.h                                               \
    171   src/kj/async-inl.h                                           \
    172   src/kj/time.h                                                \
    173   src/kj/timer.h                                               \
    174   src/kj/async-unix.h                                          \
    175   src/kj/async-win32.h                                         \
    176   src/kj/async-io.h                                            \
    177   src/kj/async-queue.h                                         \
    178   src/kj/main.h                                                \
    179   src/kj/test.h                                                \
    180   src/kj/windows-sanity.h
    181 
    182 includekjparse_HEADERS =                                       \
    183   src/kj/parse/common.h                                        \
    184   src/kj/parse/char.h
    185 
    186 includekjstd_HEADERS =                                         \
    187   src/kj/std/iostream.h
    188 
    189 includekjcompat_HEADERS =                                      \
    190   src/kj/compat/gtest.h                                        \
    191   src/kj/compat/url.h                                          \
    192   src/kj/compat/http.h                                         \
    193   src/kj/compat/gzip.h                                         \
    194   src/kj/compat/readiness-io.h                                 \
    195   src/kj/compat/tls.h
    196 
    197 includecapnp_HEADERS =                                         \
    198   src/capnp/c++.capnp.h                                        \
    199   src/capnp/common.h                                           \
    200   src/capnp/blob.h                                             \
    201   src/capnp/endian.h                                           \
    202   src/capnp/layout.h                                           \
    203   src/capnp/orphan.h                                           \
    204   src/capnp/list.h                                             \
    205   src/capnp/any.h                                              \
    206   src/capnp/message.h                                          \
    207   src/capnp/capability.h                                       \
    208   src/capnp/membrane.h                                         \
    209   src/capnp/schema.capnp.h                                     \
    210   src/capnp/stream.capnp.h                                     \
    211   src/capnp/schema-lite.h                                      \
    212   src/capnp/schema.h                                           \
    213   src/capnp/schema-loader.h                                    \
    214   src/capnp/schema-parser.h                                    \
    215   src/capnp/dynamic.h                                          \
    216   src/capnp/pretty-print.h                                     \
    217   src/capnp/serialize.h                                        \
    218   src/capnp/serialize-async.h                                  \
    219   src/capnp/serialize-packed.h                                 \
    220   src/capnp/serialize-text.h                                   \
    221   src/capnp/pointer-helpers.h                                  \
    222   src/capnp/generated-header-support.h                         \
    223   src/capnp/raw-schema.h                                       \
    224   src/capnp/rpc-prelude.h                                      \
    225   src/capnp/rpc.h                                              \
    226   src/capnp/rpc-twoparty.h                                     \
    227   src/capnp/rpc.capnp.h                                        \
    228   src/capnp/rpc-twoparty.capnp.h                               \
    229   src/capnp/persistent.capnp.h                                 \
    230   src/capnp/ez-rpc.h
    231 
    232 includecapnpcompat_HEADERS =                                   \
    233   src/capnp/compat/json.h                                      \
    234   src/capnp/compat/json.capnp.h                                \
    235   src/capnp/compat/std-iterator.h                              \
    236   src/capnp/compat/websocket-rpc.h
    237 
    238 if BUILD_KJ_TLS
    239 MAYBE_KJ_TLS_LA=libkj-tls.la
    240 MAYBE_KJ_TLS_TESTS=                                            \
    241   src/kj/compat/readiness-io-test.c++                          \
    242   src/kj/compat/tls-test.c++
    243 else
    244 MAYBE_KJ_TLS_LA=
    245 MAYBE_KJ_TLS_TESTS=
    246 endif
    247 
    248 if BUILD_KJ_GZIP
    249 MAYBE_KJ_GZIP_LA=libkj-gzip.la
    250 MAYBE_KJ_GZIP_TESTS=                                           \
    251   src/kj/compat/gzip-test.c++
    252 else
    253 MAYBE_KJ_TLS_LA=
    254 MAYBE_KJ_TLS_TESTS=
    255 endif
    256 
    257 if LITE_MODE
    258 lib_LTLIBRARIES = libkj.la libkj-test.la libcapnp.la
    259 else
    260 lib_LTLIBRARIES = libkj.la libkj-test.la libkj-async.la libkj-http.la $(MAYBE_KJ_TLS_LA) $(MAYBE_KJ_GZIP_LA) libcapnp.la libcapnp-rpc.la libcapnp-json.la libcapnp-websocket.la libcapnpc.la
    261 endif
    262 
    263 libkj_la_LIBADD = $(PTHREAD_LIBS)
    264 libkj_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    265 libkj_la_SOURCES=                                              \
    266   src/kj/common.c++                                            \
    267   src/kj/units.c++                                             \
    268   src/kj/memory.c++                                            \
    269   src/kj/refcount.c++                                          \
    270   src/kj/array.c++                                             \
    271   src/kj/list.c++                                              \
    272   src/kj/string.c++                                            \
    273   src/kj/string-tree.c++                                       \
    274   src/kj/source-location.c++                                   \
    275   src/kj/hash.c++                                              \
    276   src/kj/table.c++                                             \
    277   src/kj/encoding.c++                                          \
    278   src/kj/exception.c++                                         \
    279   src/kj/debug.c++                                             \
    280   src/kj/arena.c++                                             \
    281   src/kj/io.c++                                                \
    282   src/kj/mutex.c++                                             \
    283   src/kj/thread.c++                                            \
    284   src/kj/time.c++                                              \
    285   src/kj/filesystem.c++                                        \
    286   src/kj/filesystem-disk-unix.c++                                   \
    287   src/kj/filesystem-disk-win32.c++                             \
    288   src/kj/test-helpers.c++                                      \
    289   src/kj/main.c++                                              \
    290   src/kj/parse/char.c++
    291 
    292 libkj_test_la_LIBADD = libkj.la $(PTHREAD_LIBS)
    293 libkj_test_la_LDFLAGS = -release $(VERSION) -no-undefined
    294 libkj_test_la_SOURCES = src/kj/test.c++
    295 
    296 if !LITE_MODE
    297 libkj_async_la_LIBADD = libkj.la $(ASYNC_LIBS) $(PTHREAD_LIBS)
    298 libkj_async_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    299 libkj_async_la_SOURCES=                                        \
    300   src/kj/async.c++                                             \
    301   src/kj/async-unix.c++                                        \
    302   src/kj/async-win32.c++                                       \
    303   src/kj/async-io.c++                                          \
    304   src/kj/async-io-unix.c++                                     \
    305   src/kj/async-io-win32.c++                                    \
    306   src/kj/timer.c++
    307 
    308 libkj_http_la_LIBADD = libkj-async.la libkj.la $(ASYNC_LIBS) $(PTHREAD_LIBS)
    309 libkj_http_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    310 libkj_http_la_SOURCES=                                         \
    311   src/kj/compat/url.c++                                        \
    312   src/kj/compat/http.c++
    313 
    314 libkj_tls_la_LIBADD = libkj-async.la libkj.la -lssl -lcrypto $(ASYNC_LIBS) $(PTHREAD_LIBS)
    315 libkj_tls_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    316 libkj_tls_la_SOURCES=                                          \
    317   src/kj/compat/readiness-io.c++                               \
    318   src/kj/compat/tls.c++
    319 
    320 libkj_gzip_la_LIBADD = libkj-async.la libkj.la -lz $(ASYNC_LIBS) $(PTHREAD_LIBS)
    321 libkj_gzip_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    322 libkj_gzip_la_SOURCES=                                          \
    323   src/kj/compat/gzip.c++
    324 
    325 endif !LITE_MODE
    326 
    327 if !LITE_MODE
    328 heavy_sources =                                                \
    329   src/capnp/schema.c++                                         \
    330   src/capnp/schema-loader.c++                                  \
    331   src/capnp/dynamic.c++                                        \
    332   src/capnp/stringify.c++
    333 endif !LITE_MODE
    334 
    335 libcapnp_la_LIBADD = libkj.la $(PTHREAD_LIBS)
    336 libcapnp_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    337 libcapnp_la_SOURCES=                                           \
    338   src/capnp/c++.capnp.c++                                      \
    339   src/capnp/blob.c++                                           \
    340   src/capnp/arena.h                                            \
    341   src/capnp/arena.c++                                          \
    342   src/capnp/layout.c++                                         \
    343   src/capnp/list.c++                                           \
    344   src/capnp/any.c++                                            \
    345   src/capnp/message.c++                                        \
    346   src/capnp/schema.capnp.c++                                   \
    347   src/capnp/stream.capnp.c++                                   \
    348   src/capnp/serialize.c++                                      \
    349   src/capnp/serialize-packed.c++                               \
    350   $(heavy_sources)
    351 
    352 if !LITE_MODE
    353 
    354 libcapnp_rpc_la_LIBADD = libcapnp.la libkj-async.la libkj.la $(ASYNC_LIBS) $(PTHREAD_LIBS)
    355 libcapnp_rpc_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    356 libcapnp_rpc_la_SOURCES=                                       \
    357   src/capnp/serialize-async.c++                                \
    358   src/capnp/capability.c++                                     \
    359   src/capnp/membrane.c++                                       \
    360   src/capnp/dynamic-capability.c++                             \
    361   src/capnp/rpc.c++                                            \
    362   src/capnp/rpc.capnp.c++                                      \
    363   src/capnp/rpc-twoparty.c++                                   \
    364   src/capnp/rpc-twoparty.capnp.c++                             \
    365   src/capnp/persistent.capnp.c++                               \
    366   src/capnp/ez-rpc.c++
    367 
    368 libcapnp_json_la_LIBADD = libcapnp.la libkj.la $(PTHREAD_LIBS)
    369 libcapnp_json_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    370 libcapnp_json_la_SOURCES=                                      \
    371   src/capnp/compat/json.c++                                    \
    372   src/capnp/compat/json.capnp.c++
    373 
    374 libcapnp_websocket_la_LIBADD = libcapnp.la libcapnp-rpc.la libkj.la libkj-async.la libkj-http.la $(PTHREAD_LIBS)
    375 libcapnp_websocket_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    376 libcapnp_websocket_la_SOURCES=                                 \
    377   src/capnp/compat/websocket-rpc.c++
    378 
    379 libcapnpc_la_LIBADD = libcapnp.la libkj.la $(PTHREAD_LIBS)
    380 libcapnpc_la_LDFLAGS = -release $(SO_VERSION) -no-undefined
    381 libcapnpc_la_SOURCES=                                          \
    382   src/capnp/compiler/type-id.h                                 \
    383   src/capnp/compiler/type-id.c++                               \
    384   src/capnp/compiler/error-reporter.h                          \
    385   src/capnp/compiler/error-reporter.c++                        \
    386   src/capnp/compiler/lexer.capnp.h                             \
    387   src/capnp/compiler/lexer.capnp.c++                           \
    388   src/capnp/compiler/lexer.h                                   \
    389   src/capnp/compiler/lexer.c++                                 \
    390   src/capnp/compiler/grammar.capnp.h                           \
    391   src/capnp/compiler/grammar.capnp.c++                         \
    392   src/capnp/compiler/parser.h                                  \
    393   src/capnp/compiler/parser.c++                                \
    394   src/capnp/compiler/resolver.h                                \
    395   src/capnp/compiler/generics.h                                \
    396   src/capnp/compiler/generics.c++                              \
    397   src/capnp/compiler/node-translator.h                         \
    398   src/capnp/compiler/node-translator.c++                       \
    399   src/capnp/compiler/compiler.h                                \
    400   src/capnp/compiler/compiler.c++                              \
    401   src/capnp/schema-parser.c++                                  \
    402   src/capnp/serialize-text.c++
    403 
    404 bin_PROGRAMS = capnp capnpc-capnp capnpc-c++
    405 
    406 capnp_LDADD = libcapnpc.la libcapnp-json.la libcapnp.la libkj.la $(PTHREAD_LIBS)
    407 capnp_SOURCES =                                                \
    408   src/capnp/compiler/module-loader.h                           \
    409   src/capnp/compiler/module-loader.c++                         \
    410   src/capnp/compiler/capnp.c++
    411 
    412 capnpc_capnp_LDADD = libcapnp.la libkj.la $(PTHREAD_LIBS)
    413 capnpc_capnp_SOURCES = src/capnp/compiler/capnpc-capnp.c++
    414 
    415 capnpc_c___LDADD = libcapnp.la libkj.la $(PTHREAD_LIBS)
    416 capnpc_c___SOURCES = src/capnp/compiler/capnpc-c++.c++
    417 
    418 # Symlink capnpc -> capnp.  The capnp binary will behave like the old capnpc
    419 # binary (i.e. like "capnp compile") when invoked via this symlink.
    420 #
    421 # Also attempt to run ldconfig, because otherwise users get confused.  If
    422 # it fails (e.g. because the platform doesn't have it, or because the
    423 # user doesn't have root privileges), don't worry about it.
    424 #
    425 # We need to specify the path for OpenBSD.
    426 install-exec-hook:
    427 	ln -sf capnp $(DESTDIR)$(bindir)/capnpc
    428 	if [ `uname` == 'OpenBSD' ]; then \
    429 	        (ldconfig /usr/local/lib /usr/lib /usr/X11R6/lib > /dev/null 2>&1 || true); \
    430 	else \
    431 		ldconfig < /dev/null > /dev/null 2>&1 || true; \
    432 	fi
    433 uninstall-hook:
    434 	rm -f $(DESTDIR)$(bindir)/capnpc
    435 
    436 else LITE_MODE
    437 
    438 install-exec-hook:
    439 	ldconfig < /dev/null > /dev/null 2>&1 || true
    440 
    441 endif LITE_MODE
    442 
    443 # Source files intentionally not included in the dist at this time:
    444 #  src/capnp/serialize-snappy*
    445 #  src/capnp/benchmark/...
    446 #  src/capnp/compiler/...
    447 
    448 # Tests ==============================================================
    449 
    450 test_capnpc_inputs =                                           \
    451   src/capnp/test.capnp                                         \
    452   src/capnp/test-import.capnp                                  \
    453   src/capnp/test-import2.capnp                                 \
    454   src/capnp/compat/json-test.capnp
    455 
    456 test_capnpc_outputs =                                          \
    457   src/capnp/test.capnp.c++                                     \
    458   src/capnp/test.capnp.h                                       \
    459   src/capnp/test-import.capnp.c++                              \
    460   src/capnp/test-import.capnp.h                                \
    461   src/capnp/test-import2.capnp.c++                             \
    462   src/capnp/test-import2.capnp.h                               \
    463   src/capnp/compat/json-test.capnp.c++                         \
    464   src/capnp/compat/json-test.capnp.h
    465 
    466 if USE_EXTERNAL_CAPNP
    467 
    468 test_capnpc_middleman: $(test_capnpc_inputs)
    469 	@$(MKDIR_P) src
    470 	$(CAPNP) compile --src-prefix=$(srcdir)/src -o$(CAPNPC_CXX):src -I$(srcdir)/src $$(for FILE in $(test_capnpc_inputs); do echo $(srcdir)/$$FILE; done)
    471 	touch test_capnpc_middleman
    472 
    473 else
    474 
    475 test_capnpc_middleman: capnp$(EXEEXT) capnpc-c++$(EXEEXT) $(test_capnpc_inputs)
    476 	@$(MKDIR_P) src
    477 	./capnp$(EXEEXT) compile --src-prefix=$(srcdir)/src -o./capnpc-c++$(EXEEXT):src -I$(srcdir)/src $$(for FILE in $(test_capnpc_inputs); do echo $(srcdir)/$$FILE; done)
    478 	touch test_capnpc_middleman
    479 
    480 endif
    481 
    482 $(test_capnpc_outputs): test_capnpc_middleman
    483 
    484 BUILT_SOURCES = $(test_capnpc_outputs)
    485 
    486 check_LIBRARIES = libcapnp-test.a
    487 libcapnp_test_a_SOURCES =                                      \
    488   src/capnp/test-util.c++                                      \
    489   src/capnp/test-util.h
    490 nodist_libcapnp_test_a_SOURCES = $(test_capnpc_outputs)
    491 
    492 if LITE_MODE
    493 
    494 check_PROGRAMS = capnp-test
    495 compiler_tests =
    496 capnp_test_LDADD = libcapnp-test.a libcapnp.la libkj-test.la libkj.la
    497 
    498 else !LITE_MODE
    499 
    500 check_PROGRAMS = capnp-test capnp-evolution-test capnp-afl-testcase
    501 if HAS_FUZZING_ENGINE
    502     check_PROGRAMS += capnp-llvm-fuzzer-testcase
    503 endif
    504 heavy_tests =                                                  \
    505   src/kj/async-test.c++                                        \
    506   src/kj/async-xthread-test.c++                                \
    507   src/kj/async-coroutine-test.c++                              \
    508   src/kj/async-unix-test.c++                                   \
    509   src/kj/async-unix-xthread-test.c++                           \
    510   src/kj/async-win32-test.c++                                  \
    511   src/kj/async-win32-xthread-test.c++                          \
    512   src/kj/async-io-test.c++                                     \
    513   src/kj/async-queue-test.c++                                  \
    514   src/kj/parse/common-test.c++                                 \
    515   src/kj/parse/char-test.c++                                   \
    516   src/kj/std/iostream-test.c++                                 \
    517   src/kj/compat/url-test.c++                                   \
    518   src/kj/compat/http-test.c++                                  \
    519   $(MAYBE_KJ_GZIP_TESTS)                                       \
    520   $(MAYBE_KJ_TLS_TESTS)                                        \
    521   src/capnp/canonicalize-test.c++                              \
    522   src/capnp/capability-test.c++                                \
    523   src/capnp/membrane-test.c++                                  \
    524   src/capnp/schema-test.c++                                    \
    525   src/capnp/schema-loader-test.c++                             \
    526   src/capnp/schema-parser-test.c++                             \
    527   src/capnp/dynamic-test.c++                                   \
    528   src/capnp/stringify-test.c++                                 \
    529   src/capnp/serialize-async-test.c++                           \
    530   src/capnp/serialize-text-test.c++                            \
    531   src/capnp/rpc-test.c++                                       \
    532   src/capnp/rpc-twoparty-test.c++                              \
    533   src/capnp/ez-rpc-test.c++                                    \
    534   src/capnp/compat/json-test.c++                               \
    535   src/capnp/compat/websocket-rpc-test.c++                      \
    536   src/capnp/compiler/lexer-test.c++                            \
    537   src/capnp/compiler/type-id-test.c++
    538 capnp_test_LDADD =                                             \
    539   libcapnp-test.a                                              \
    540   libcapnpc.la                                                 \
    541   libcapnp-rpc.la                                              \
    542   libcapnp-websocket.la                                        \
    543   libcapnp-json.la                                             \
    544   libcapnp.la                                                  \
    545   libkj-http.la                                                \
    546   $(MAYBE_KJ_GZIP_LA)                                          \
    547   $(MAYBE_KJ_TLS_LA)                                           \
    548   libkj-async.la                                               \
    549   libkj-test.la                                                \
    550   libkj.la                                                     \
    551   $(ASYNC_LIBS)                                                \
    552   $(PTHREAD_LIBS)
    553 
    554 endif !LITE_MODE
    555 
    556 capnp_test_CPPFLAGS = -Wno-deprecated-declarations
    557 capnp_test_SOURCES =                                           \
    558   src/kj/common-test.c++                                       \
    559   src/kj/memory-test.c++                                       \
    560   src/kj/refcount-test.c++                                     \
    561   src/kj/array-test.c++                                        \
    562   src/kj/list-test.c++                                         \
    563   src/kj/string-test.c++                                       \
    564   src/kj/string-tree-test.c++                                  \
    565   src/kj/table-test.c++                                        \
    566   src/kj/map-test.c++                                          \
    567   src/kj/encoding-test.c++                                     \
    568   src/kj/exception-test.c++                                    \
    569   src/kj/debug-test.c++                                        \
    570   src/kj/arena-test.c++                                        \
    571   src/kj/units-test.c++                                        \
    572   src/kj/tuple-test.c++                                        \
    573   src/kj/one-of-test.c++                                       \
    574   src/kj/function-test.c++                                     \
    575   src/kj/io-test.c++                                           \
    576   src/kj/mutex-test.c++                                        \
    577   src/kj/time-test.c++                                         \
    578   src/kj/threadlocal-test.c++                                  \
    579   src/kj/filesystem-test.c++                                   \
    580   src/kj/filesystem-disk-test.c++                              \
    581   src/kj/test-test.c++                                         \
    582   src/capnp/common-test.c++                                    \
    583   src/capnp/blob-test.c++                                      \
    584   src/capnp/endian-test.c++                                    \
    585   src/capnp/endian-fallback-test.c++                           \
    586   src/capnp/endian-reverse-test.c++                            \
    587   src/capnp/layout-test.c++                                    \
    588   src/capnp/any-test.c++                                       \
    589   src/capnp/message-test.c++                                   \
    590   src/capnp/encoding-test.c++                                  \
    591   src/capnp/orphan-test.c++                                    \
    592   src/capnp/serialize-test.c++                                 \
    593   src/capnp/serialize-packed-test.c++                          \
    594   src/capnp/fuzz-test.c++                                      \
    595   $(heavy_tests)
    596 
    597 if !LITE_MODE
    598 capnp_evolution_test_LDADD = libcapnpc.la libcapnp.la libkj.la
    599 capnp_evolution_test_SOURCES = src/capnp/compiler/evolution-test.c++
    600 
    601 capnp_afl_testcase_LDADD = libcapnp-test.a libcapnp-rpc.la libcapnp.la libkj.la libkj-async.la
    602 capnp_afl_testcase_SOURCES = src/capnp/afl-testcase.c++
    603 
    604 if HAS_FUZZING_ENGINE
    605     capnp_llvm_fuzzer_testcase_LDADD = libcapnp-test.a libcapnp-rpc.la libcapnp.la libkj.la libkj-async.la
    606     capnp_llvm_fuzzer_testcase_SOURCES = src/capnp/llvm-fuzzer-testcase.c++
    607     capnp_llvm_fuzzer_testcase_LDFLAGS = $(LIB_FUZZING_ENGINE)
    608 endif
    609 endif !LITE_MODE
    610 
    611 if LITE_MODE
    612 TESTS = capnp-test
    613 else !LITE_MODE
    614 TESTS = capnp-test capnp-evolution-test src/capnp/compiler/capnp-test.sh
    615 endif !LITE_MODE