]> git.ipfire.org Git - thirdparty/strongswan.git/blame - src/libstrongswan/Makefile.am
libstrongswan: Registration of TUN device plugins
[thirdparty/strongswan.git] / src / libstrongswan / Makefile.am
CommitLineData
60d62b9e 1ipseclib_LTLIBRARIES = libstrongswan.la
f2c2d395 2
e3b7be91 3libstrongswan_la_SOURCES = \
f9625952 4library.c \
292d8f41 5asn1/asn1.c asn1/asn1_parser.c asn1/oid.c bio/bio_reader.c bio/bio_writer.c \
12642a68 6collections/blocking_queue.c collections/enumerator.c collections/hashtable.c \
45376040 7collections/hashlist.c collections/array.c \
737375a2
AS
8collections/linked_list.c crypto/crypters/crypter.c \
9crypto/drbgs/drbg.c crypto/hashers/hasher.c \
2307bffe 10crypto/hashers/hash_algorithm_set.c crypto/proposal/proposal.c \
8c2ec471 11crypto/proposal/proposal_keywords.c crypto/proposal/proposal_keywords_static.c \
4076e3ee 12crypto/prfs/prf.c crypto/prfs/mac_prf.c crypto/pkcs5.c \
737375a2 13crypto/rngs/rng.c crypto/rngs/rng_tester.c \
f535f1ed 14crypto/signers/signer.c \
71154485 15crypto/signers/mac_signer.c crypto/crypto_factory.c crypto/crypto_tester.c \
3af7c6db 16crypto/key_exchange.c crypto/aead.c crypto/transform.c \
a4549e55 17crypto/iv/iv_gen.c crypto/iv/iv_gen_rand.c crypto/iv/iv_gen_seq.c \
40a09613 18crypto/iv/iv_gen_null.c crypto/kdfs/kdf.c \
188b190a 19crypto/xofs/xof.c crypto/xofs/xof_bitspender.c \
71154485
MW
20credentials/credential_factory.c credentials/builder.c \
21credentials/cred_encoding.c credentials/keys/private_key.c \
22credentials/keys/public_key.c credentials/keys/shared_key.c \
a2231652 23credentials/keys/signature_params.c \
71154485 24credentials/certificates/certificate.c credentials/certificates/crl.c \
9dd8bfb2 25credentials/certificates/ocsp_response.c credentials/certificates/x509.c \
3317d0e7 26credentials/certificates/certificate_printer.c \
d41e54c6 27credentials/containers/container.c credentials/containers/pkcs12.c \
a17598bc 28credentials/credential_manager.c \
71154485
MW
29credentials/sets/auth_cfg_wrapper.c credentials/sets/ocsp_response_wrapper.c \
30credentials/sets/cert_cache.c credentials/sets/mem_cred.c \
31credentials/sets/callback_cred.c credentials/auth_cfg.c database/database.c \
d4cf9cdf 32database/database_factory.c fetcher/fetcher.c fetcher/fetcher_manager.c eap/eap.c \
156f7e9b 33ipsec/ipsec_types.c \
269ca19f 34metadata/metadata_factory.c metadata/metadata_int.c metadata/metadata_set.c \
fdee6b5f 35networking/host.c networking/host_resolver.c networking/packet.c \
08c21bd2
AS
36networking/tun_device.c networking/tun_device_manager.c \
37networking/streams/stream_manager.c networking/streams/stream.c \
38networking/streams/stream_service.c networking/streams/stream_tcp.c \
39networking/streams/stream_service_tcp.c \
d4cf9cdf 40pen/pen.c plugins/plugin_loader.c plugins/plugin_feature.c processing/jobs/job.c \
71154485 41processing/jobs/callback_job.c processing/processor.c processing/scheduler.c \
32b2a5e0 42processing/watcher.c resolver/resolver_manager.c resolver/rr_set.c \
decfe444
TB
43selectors/sec_label.c selectors/traffic_selector.c \
44settings/settings.c settings/settings_types.c \
f155880e 45settings/settings_parser.y settings/settings_lexer.l utils/cpu_feature.c \
bca34c37 46utils/utils.c utils/chunk.c utils/debug.c utils/enum.c utils/identification.c \
f05b4272 47utils/lexparser.c utils/optionsfrom.c utils/capabilities.c utils/backtrace.c \
717313c5 48utils/parser_helper.c utils/test.c utils/process.c utils/utils/strerror.c \
7585a85f 49utils/utils/atomics.c utils/utils/string.c utils/utils/memory.c \
04f12ecd
MW
50utils/utils/tty.c utils/utils/path.c utils/utils/status.c utils/utils/time.c \
51utils/utils/align.c
e18556e9 52
aa5b49c0
MW
53if !USE_WINDOWS
54 libstrongswan_la_SOURCES += \
0fa9c958
MW
55 threading/thread.c \
56 threading/thread_value.c \
57 threading/mutex.c \
58 threading/rwlock.c \
59 threading/spinlock.c \
60 threading/semaphore.c \
aa5b49c0
MW
61 networking/streams/stream_unix.c \
62 networking/streams/stream_service_unix.c
63endif
64
f99d1f7b
TB
65# private header files
66noinst_HEADERS = \
67settings/settings_types.h
68
b188f231
MW
69if USE_DEV_HEADERS
70strongswan_includedir = ${dev_headers}
71154485 71nobase_strongswan_include_HEADERS = \
f9625952 72library.h \
71154485 73asn1/asn1.h asn1/asn1_parser.h asn1/oid.h bio/bio_reader.h bio/bio_writer.h \
12642a68 74collections/blocking_queue.h collections/enumerator.h collections/hashtable.h \
45376040 75collections/hashtable_profiler.h \
9dbf2019 76collections/linked_list.h collections/array.h collections/dictionary.h \
737375a2 77crypto/crypters/crypter.h crypto/drbgs/drbg.h crypto/hashers/hasher.h \
2307bffe 78crypto/hashers/hash_algorithm_set.h crypto/mac.h crypto/proposal/proposal.h \
03ba8f9e 79crypto/proposal/proposal_keywords.h crypto/proposal/proposal_keywords_static.h \
737375a2
AS
80crypto/rngs/rng.h crypto/rngs/rng_tester.h \
81crypto/prfs/prf.h crypto/prfs/mac_prf.h crypto/nonce_gen.h \
f535f1ed 82crypto/signers/signer.h crypto/signers/mac_signer.h \
3af7c6db 83crypto/crypto_factory.h crypto/crypto_tester.h crypto/key_exchange.h \
403057aa 84crypto/aead.h crypto/transform.h crypto/pkcs5.h crypto/iv/iv_gen.h \
403acf86 85crypto/iv/iv_gen_rand.h crypto/iv/iv_gen_seq.h crypto/iv/iv_gen_null.h \
188b190a 86crypto/xofs/xof.h crypto/xofs/xof_bitspender.h crypto/xofs/mgf1.h \
40a09613 87crypto/kdfs/kdf.h \
71154485
MW
88credentials/credential_factory.h credentials/builder.h \
89credentials/cred_encoding.h credentials/keys/private_key.h \
90credentials/keys/public_key.h credentials/keys/shared_key.h \
d03c5b79 91credentials/keys/signature_params.h \
71154485
MW
92credentials/certificates/certificate.h credentials/certificates/x509.h \
93credentials/certificates/ac.h credentials/certificates/crl.h \
94credentials/certificates/pkcs10.h credentials/certificates/ocsp_request.h \
95credentials/certificates/ocsp_response.h \
96credentials/certificates/pgp_certificate.h \
3317d0e7 97credentials/certificates/certificate_printer.h \
fc67a932 98credentials/containers/container.h credentials/containers/pkcs7.h \
d41e54c6 99credentials/containers/pkcs12.h \
71154485
MW
100credentials/credential_manager.h credentials/sets/auth_cfg_wrapper.h \
101credentials/sets/ocsp_response_wrapper.h credentials/sets/cert_cache.h \
102credentials/sets/mem_cred.h credentials/sets/callback_cred.h \
103credentials/auth_cfg.h credentials/credential_set.h credentials/cert_validator.h \
d4cf9cdf 104database/database.h database/database_factory.h fetcher/fetcher.h \
156f7e9b 105fetcher/fetcher_manager.h eap/eap.h pen/pen.h ipsec/ipsec_types.h \
531335ad 106metadata/metadata.h metadata/metadata_factory.h metadata/metadata_int.h \
269ca19f 107metadata/metadata_set.h \
fdee6b5f 108networking/host.h networking/host_resolver.h networking/packet.h \
08c21bd2 109networking/tun_device.h networking/tun_device_manager.h networking/streams/stream.h \
aa5b49c0 110networking/streams/stream_unix.h networking/streams/stream_service_unix.h \
59db98fb 111networking/streams/stream_service_systemd.h \
aa5b49c0 112networking/streams/stream_tcp.h networking/streams/stream_service_tcp.h \
d6ff5394 113networking/streams/stream_service.h networking/streams/stream_manager.h \
ffdeeb66 114resolver/resolver.h resolver/resolver_response.h resolver/rr_set.h \
b1505b34 115resolver/rr.h resolver/resolver_manager.h \
17f806d8
AS
116plugins/plugin_loader.h plugins/plugin.h plugins/plugin_feature.h \
117processing/jobs/job.h processing/jobs/callback_job.h processing/processor.h \
decfe444
TB
118processing/scheduler.h processing/watcher.h \
119selectors/sec_label.h selectors/traffic_selector.h \
f1461047 120settings/settings.h settings/settings_parser.h threading/thread_value.h \
0fa9c958 121threading/thread.h threading/windows/thread.h \
d4cf9cdf 122threading/mutex.h threading/condvar.h threading/spinlock.h threading/semaphore.h \
60dc4464 123threading/rwlock.h threading/rwlock_condvar.h threading/lock_profiler.h \
bca34c37 124utils/utils.h utils/chunk.h utils/debug.h utils/enum.h utils/identification.h \
f05b4272 125utils/lexparser.h utils/optionsfrom.h utils/capabilities.h utils/backtrace.h \
f155880e 126utils/cpu_feature.h utils/leak_detective.h utils/printf_hook/printf_hook.h \
cabe5c0f 127utils/printf_hook/printf_hook_vstr.h utils/printf_hook/printf_hook_builtin.h \
89f19ef8 128utils/parser_helper.h utils/test.h utils/integrity_checker.h utils/process.h \
9be6b2e0 129utils/utils/strerror.h utils/compat/windows.h utils/compat/apple.h utils/compat/android.h \
bbfe7a80 130utils/utils/atomics.h utils/utils/types.h utils/utils/byteorder.h \
1e02eddb 131utils/utils/string.h utils/utils/memory.h utils/utils/tty.h utils/utils/path.h \
04f12ecd 132utils/utils/status.h utils/utils/object.h utils/utils/time.h utils/utils/align.h
b188f231 133endif
f2c2d395 134
908e7522
MW
135library.lo : $(top_builddir)/config.status
136
518a5b2e
MW
137libstrongswan_la_LIBADD = \
138 $(DLLIB) $(ATOMICLIB) $(BTLIB) $(SOCKLIB) \
fe5f2733
TB
139 $(RTLIB) $(BFDLIB) $(UNWINDLIB) \
140 $(selinux_LIBS)
f2c2d395 141
19cb07b8
MW
142AM_CPPFLAGS = \
143 -I$(top_srcdir)/src/libstrongswan \
144 -DIPSEC_DIR=\"${ipsecdir}\" \
145 -DIPSEC_LIB_DIR=\"${ipseclibdir}\" \
146 -DPLUGINDIR=\"${plugindir}\" \
147 -DSTRONGSWAN_CONF=\"${strongswan_conf}\"
148
08b2d288 149AM_CFLAGS = \
fe5f2733 150 $(selinux_CFLAGS) \
19cb07b8 151 @COVERAGE_CFLAGS@
d6c32b83 152
9af44ef5
TB
153AM_LDFLAGS = \
154 -no-undefined
155
1f669078
TB
156AM_YFLAGS = -v -d
157
71bf82d4 158if USE_WINDOWS
9c62511c 159 libstrongswan_la_LIBADD += -lws2_32 -lpsapi
87a79e6a 160 libstrongswan_la_SOURCES += \
0fa9c958
MW
161 threading/windows/thread.c \
162 threading/windows/thread_value.c \
163 threading/windows/mutex.c \
164 threading/windows/rwlock.c \
165 threading/windows/spinlock.c \
166 threading/windows/semaphore.c \
89f19ef8 167 utils/compat/windows.c
0fa9c958
MW
168else
169 libstrongswan_la_LIBADD += $(PTHREADLIB)
71bf82d4
MW
170endif
171
a7e943a6
MW
172if USE_DBGHELP
173 libstrongswan_la_LIBADD += -ldbghelp
174 AM_CPPFLAGS += -DHAVE_DBGHELP
175endif
176
4acc8989 177if USE_LEAK_DETECTIVE
19cb07b8 178 AM_CPPFLAGS += -DLEAK_DETECTIVE
9564f9eb 179 libstrongswan_la_SOURCES += utils/leak_detective.c
a9184df3
MW
180endif
181
02140125 182if USE_LOCK_PROFILER
19cb07b8 183 AM_CPPFLAGS += -DLOCK_PROFILER
02140125
MW
184endif
185
bef50875 186if USE_INTEGRITY_TEST
19cb07b8 187 AM_CPPFLAGS += -DINTEGRITY_TEST
08944b68 188 libstrongswan_la_SOURCES += utils/integrity_checker.c
bef50875
MW
189endif
190
d25ce370 191if USE_VSTR
24304824 192 libstrongswan_la_SOURCES += utils/printf_hook/printf_hook_vstr.c
d25ce370
TB
193 libstrongswan_la_LIBADD += -lvstr
194endif
195
cabe5c0f
MW
196if USE_BUILTIN_PRINTF
197 libstrongswan_la_SOURCES += utils/printf_hook/printf_hook_builtin.c
198 libstrongswan_la_LIBADD += -lm
199endif
200
201if !USE_BUILTIN_PRINTF
24304824
MW
202if !USE_VSTR
203 libstrongswan_la_SOURCES += utils/printf_hook/printf_hook_glibc.c
204endif
cabe5c0f 205endif
24304824 206
0619ddfa
MW
207if USE_LIBCAP
208 libstrongswan_la_LIBADD += -lcap
209endif
210
59db98fb 211if USE_SYSTEMD
212 AM_CPPFLAGS += $(systemd_CFLAGS) -DUSE_SYSTEMD
213 libstrongswan_la_SOURCES += networking/streams/stream_service_systemd.c
214 libstrongswan_la_LIBADD += $(systemd_LIBS)
215endif
216
433cb51b
AS
217EXTRA_DIST = \
218asn1/oid.txt asn1/oid.pl \
8c2ec471 219crypto/proposal/proposal_keywords_static.txt \
0ae19f0c 220crypto/proposal/proposal_keywords_static.h.in \
8699275e 221plugins/plugin_constructors.py \
9be6b2e0 222Android.mk
433cb51b
AS
223
224BUILT_SOURCES = \
225$(srcdir)/asn1/oid.c $(srcdir)/asn1/oid.h \
0ae19f0c 226$(srcdir)/crypto/proposal/proposal_keywords_static.h \
1f669078
TB
227$(srcdir)/crypto/proposal/proposal_keywords_static.c \
228settings/settings_parser.h
433cb51b
AS
229
230MAINTAINERCLEANFILES = \
231$(srcdir)/asn1/oid.c $(srcdir)/asn1/oid.h \
0ae19f0c 232$(srcdir)/crypto/proposal/proposal_keywords_static.h \
8c2ec471 233$(srcdir)/crypto/proposal/proposal_keywords_static.c
55434a1b 234
d24a74c5 235$(srcdir)/asn1/oid.c : $(srcdir)/asn1/oid.pl $(srcdir)/asn1/oid.txt
f932677f 236 $(AM_V_GEN) \
d24a74c5 237 (cd $(srcdir)/asn1/ && $(PERL) oid.pl)
d6c32b83 238
d24a74c5 239$(srcdir)/asn1/oid.h : $(srcdir)/asn1/oid.pl $(srcdir)/asn1/oid.txt
f932677f 240 $(AM_V_GEN) \
d24a74c5 241 (cd $(srcdir)/asn1/ && $(PERL) oid.pl)
55434a1b 242
0ae19f0c
TB
243$(srcdir)/crypto/proposal/proposal_keywords_static.h: $(srcdir)/crypto/proposal/proposal_keywords_static.h.in
244 $(AM_V_GEN) \
245 sed \
246 -e "s:\@GPERF_LEN_TYPE\@:$(GPERF_LEN_TYPE):" \
535277af 247 $(srcdir)/crypto/proposal/proposal_keywords_static.h.in > $@
0ae19f0c 248
8c2ec471
FK
249$(srcdir)/crypto/proposal/proposal_keywords_static.c: $(srcdir)/crypto/proposal/proposal_keywords_static.txt \
250 $(srcdir)/crypto/proposal/proposal_keywords_static.h
9f1dfd88 251 $(AM_V_GEN) \
c0d5c655 252 $(GPERF) -N proposal_get_token_static -m 10 -C -G -c -t -D \
535277af 253 --output-file=$@ $(srcdir)/crypto/proposal/proposal_keywords_static.txt
433cb51b 254
4a0b6d65
TB
255if STATIC_PLUGIN_CONSTRUCTORS
256BUILT_SOURCES += $(srcdir)/plugin_constructors.c
257CLEANFILES = $(srcdir)/plugin_constructors.c
258
259$(srcdir)/plugin_constructors.c: $(srcdir)/plugins/plugin_constructors.py
260 $(AM_V_GEN) \
261 $(PYTHON) $(srcdir)/plugins/plugin_constructors.py ${s_plugins} > $@
262endif
263
0ace3528 264if MONOLITHIC
6ec60bb9 265SUBDIRS =
0ace3528
TB
266else
267SUBDIRS = .
268endif
552cc11b 269
d305f251
AS
270# build libnttfft used by some plugins
271######################################
272
273if USE_LIBNTTFFT
274 SUBDIRS += math/libnttfft
275endif
276
277# build plugins with their own Makefile
278#######################################
279
71c87e34
MW
280if USE_AF_ALG
281 SUBDIRS += plugins/af_alg
282if MONOLITHIC
283 libstrongswan_la_LIBADD += plugins/af_alg/libstrongswan-af-alg.la
284endif
285endif
286
552cc11b
MW
287if USE_AES
288 SUBDIRS += plugins/aes
6ec60bb9
TB
289if MONOLITHIC
290 libstrongswan_la_LIBADD += plugins/aes/libstrongswan-aes.la
291endif
552cc11b
MW
292endif
293
294if USE_DES
295 SUBDIRS += plugins/des
6ec60bb9
TB
296if MONOLITHIC
297 libstrongswan_la_LIBADD += plugins/des/libstrongswan-des.la
298endif
552cc11b
MW
299endif
300
d36ae9e3
AS
301if USE_BLOWFISH
302 SUBDIRS += plugins/blowfish
6ec60bb9
TB
303if MONOLITHIC
304 libstrongswan_la_LIBADD += plugins/blowfish/libstrongswan-blowfish.la
305endif
d36ae9e3
AS
306endif
307
9d4fc867
TB
308if USE_RC2
309 SUBDIRS += plugins/rc2
310if MONOLITHIC
311 libstrongswan_la_LIBADD += plugins/rc2/libstrongswan-rc2.la
312endif
313endif
314
1e0d1ae2
AS
315if USE_MD4
316 SUBDIRS += plugins/md4
6ec60bb9
TB
317if MONOLITHIC
318 libstrongswan_la_LIBADD += plugins/md4/libstrongswan-md4.la
319endif
1e0d1ae2
AS
320endif
321
552cc11b
MW
322if USE_MD5
323 SUBDIRS += plugins/md5
6ec60bb9
TB
324if MONOLITHIC
325 libstrongswan_la_LIBADD += plugins/md5/libstrongswan-md5.la
326endif
552cc11b
MW
327endif
328
329if USE_SHA1
330 SUBDIRS += plugins/sha1
6ec60bb9
TB
331if MONOLITHIC
332 libstrongswan_la_LIBADD += plugins/sha1/libstrongswan-sha1.la
333endif
552cc11b
MW
334endif
335
336if USE_SHA2
337 SUBDIRS += plugins/sha2
6ec60bb9
TB
338if MONOLITHIC
339 libstrongswan_la_LIBADD += plugins/sha2/libstrongswan-sha2.la
340endif
552cc11b
MW
341endif
342
a488584b
AS
343if USE_SHA3
344 SUBDIRS += plugins/sha3
345if MONOLITHIC
346 libstrongswan_la_LIBADD += plugins/sha3/libstrongswan-sha3.la
347endif
348endif
349
552cc11b
MW
350if USE_GMP
351 SUBDIRS += plugins/gmp
6ec60bb9
TB
352if MONOLITHIC
353 libstrongswan_la_LIBADD += plugins/gmp/libstrongswan-gmp.la
354endif
552cc11b
MW
355endif
356
7f9bfacd
MW
357if USE_CURVE25519
358 SUBDIRS += plugins/curve25519
359if MONOLITHIC
360 libstrongswan_la_LIBADD += plugins/curve25519/libstrongswan-curve25519.la
361endif
362endif
363
ed8dc6f1
MW
364if USE_RDRAND
365 SUBDIRS += plugins/rdrand
366if MONOLITHIC
367 libstrongswan_la_LIBADD += plugins/rdrand/libstrongswan-rdrand.la
368endif
369endif
370
78c04b5d
MW
371if USE_AESNI
372 SUBDIRS += plugins/aesni
373if MONOLITHIC
374 libstrongswan_la_LIBADD += plugins/aesni/libstrongswan-aesni.la
375endif
376endif
377
6a365f07
MW
378if USE_RANDOM
379 SUBDIRS += plugins/random
6ec60bb9
TB
380if MONOLITHIC
381 libstrongswan_la_LIBADD += plugins/random/libstrongswan-random.la
382endif
6a365f07
MW
383endif
384
04024b5d
AKR
385if USE_NONCE
386 SUBDIRS += plugins/nonce
387if MONOLITHIC
388 libstrongswan_la_LIBADD += plugins/nonce/libstrongswan-nonce.la
389endif
390endif
391
552cc11b
MW
392if USE_HMAC
393 SUBDIRS += plugins/hmac
6ec60bb9
TB
394if MONOLITHIC
395 libstrongswan_la_LIBADD += plugins/hmac/libstrongswan-hmac.la
396endif
552cc11b
MW
397endif
398
9e228de6
TB
399if USE_KDF
400 SUBDIRS += plugins/kdf
401if MONOLITHIC
402 libstrongswan_la_LIBADD += plugins/kdf/libstrongswan-kdf.la
403endif
404endif
405
c0d39c20
TB
406if USE_CMAC
407 SUBDIRS += plugins/cmac
408if MONOLITHIC
409 libstrongswan_la_LIBADD += plugins/cmac/libstrongswan-cmac.la
410endif
411endif
412
27d04e05
MW
413if USE_XCBC
414 SUBDIRS += plugins/xcbc
6ec60bb9
TB
415if MONOLITHIC
416 libstrongswan_la_LIBADD += plugins/xcbc/libstrongswan-xcbc.la
417endif
27d04e05
MW
418endif
419
552cc11b
MW
420if USE_X509
421 SUBDIRS += plugins/x509
6ec60bb9
TB
422if MONOLITHIC
423 libstrongswan_la_LIBADD += plugins/x509/libstrongswan-x509.la
424endif
552cc11b
MW
425endif
426
c2e5cee4
MW
427if USE_REVOCATION
428 SUBDIRS += plugins/revocation
429if MONOLITHIC
430 libstrongswan_la_LIBADD += plugins/revocation/libstrongswan-revocation.la
431endif
432endif
433
01d30381
MW
434if USE_CONSTRAINTS
435 SUBDIRS += plugins/constraints
436if MONOLITHIC
437 libstrongswan_la_LIBADD += plugins/constraints/libstrongswan-constraints.la
438endif
439endif
440
5ac0e668
MW
441if USE_ACERT
442 SUBDIRS += plugins/acert
443if MONOLITHIC
444 libstrongswan_la_LIBADD += plugins/acert/libstrongswan-acert.la
445endif
446endif
447
affd7a90
MW
448if USE_PUBKEY
449 SUBDIRS += plugins/pubkey
6ec60bb9
TB
450if MONOLITHIC
451 libstrongswan_la_LIBADD += plugins/pubkey/libstrongswan-pubkey.la
452endif
affd7a90
MW
453endif
454
1e0f6937
MW
455if USE_PKCS1
456 SUBDIRS += plugins/pkcs1
6ec60bb9
TB
457if MONOLITHIC
458 libstrongswan_la_LIBADD += plugins/pkcs1/libstrongswan-pkcs1.la
459endif
1e0f6937
MW
460endif
461
bd20f040
MW
462if USE_PKCS7
463 SUBDIRS += plugins/pkcs7
464if MONOLITHIC
465 libstrongswan_la_LIBADD += plugins/pkcs7/libstrongswan-pkcs7.la
466endif
467endif
468
5ec525c1
TB
469if USE_PKCS8
470 SUBDIRS += plugins/pkcs8
471if MONOLITHIC
472 libstrongswan_la_LIBADD += plugins/pkcs8/libstrongswan-pkcs8.la
473endif
474endif
475
feef6373
TB
476if USE_PKCS12
477 SUBDIRS += plugins/pkcs12
478if MONOLITHIC
479 libstrongswan_la_LIBADD += plugins/pkcs12/libstrongswan-pkcs12.la
480endif
481endif
482
9493dd2c
MW
483if USE_PGP
484 SUBDIRS += plugins/pgp
6ec60bb9
TB
485if MONOLITHIC
486 libstrongswan_la_LIBADD += plugins/pgp/libstrongswan-pgp.la
487endif
9493dd2c
MW
488endif
489
5ef478aa
MW
490if USE_DNSKEY
491 SUBDIRS += plugins/dnskey
6ec60bb9
TB
492if MONOLITHIC
493 libstrongswan_la_LIBADD += plugins/dnskey/libstrongswan-dnskey.la
494endif
5ef478aa
MW
495endif
496
584d656b
TB
497if USE_SSHKEY
498 SUBDIRS += plugins/sshkey
499if MONOLITHIC
500 libstrongswan_la_LIBADD += plugins/sshkey/libstrongswan-sshkey.la
501endif
502endif
503
160f4c22
MW
504if USE_PEM
505 SUBDIRS += plugins/pem
6ec60bb9
TB
506if MONOLITHIC
507 libstrongswan_la_LIBADD += plugins/pem/libstrongswan-pem.la
508endif
160f4c22
MW
509endif
510
552cc11b
MW
511if USE_CURL
512 SUBDIRS += plugins/curl
6ec60bb9
TB
513if MONOLITHIC
514 libstrongswan_la_LIBADD += plugins/curl/libstrongswan-curl.la
515endif
552cc11b
MW
516endif
517
1735d80f
TB
518if USE_FILES
519 SUBDIRS += plugins/files
520if MONOLITHIC
521 libstrongswan_la_LIBADD += plugins/files/libstrongswan-files.la
522endif
523endif
524
6f90fc80
MW
525if USE_WINHTTP
526 SUBDIRS += plugins/winhttp
527if MONOLITHIC
528 libstrongswan_la_LIBADD += plugins/winhttp/libstrongswan-winhttp.la
529endif
530endif
531
9f963a7c
RG
532if USE_UNBOUND
533 SUBDIRS += plugins/unbound
534if MONOLITHIC
535 libstrongswan_la_LIBADD += plugins/unbound/libstrongswan-unbound.la
536endif
537endif
538
2ca52c80
MW
539if USE_SOUP
540 SUBDIRS += plugins/soup
541if MONOLITHIC
542 libstrongswan_la_LIBADD += plugins/soup/libstrongswan-soup.la
543endif
544endif
545
552cc11b
MW
546if USE_LDAP
547 SUBDIRS += plugins/ldap
6ec60bb9
TB
548if MONOLITHIC
549 libstrongswan_la_LIBADD += plugins/ldap/libstrongswan-ldap.la
550endif
552cc11b
MW
551endif
552
553if USE_MYSQL
554 SUBDIRS += plugins/mysql
6ec60bb9
TB
555if MONOLITHIC
556 libstrongswan_la_LIBADD += plugins/mysql/libstrongswan-mysql.la
557endif
552cc11b
MW
558endif
559
560if USE_SQLITE
561 SUBDIRS += plugins/sqlite
6ec60bb9
TB
562if MONOLITHIC
563 libstrongswan_la_LIBADD += plugins/sqlite/libstrongswan-sqlite.la
564endif
552cc11b
MW
565endif
566
36d62fac
MW
567if USE_PADLOCK
568 SUBDIRS += plugins/padlock
6ec60bb9
TB
569if MONOLITHIC
570 libstrongswan_la_LIBADD += plugins/padlock/libstrongswan-padlock.la
571endif
36d62fac 572endif
552cc11b 573
17353034
TB
574if USE_OPENSSL
575 SUBDIRS += plugins/openssl
6ec60bb9
TB
576if MONOLITHIC
577 libstrongswan_la_LIBADD += plugins/openssl/libstrongswan-openssl.la
578endif
17353034
TB
579endif
580
c92eade8
SP
581if USE_WOLFSSL
582 SUBDIRS += plugins/wolfssl
583if MONOLITHIC
584 libstrongswan_la_LIBADD += plugins/wolfssl/libstrongswan-wolfssl.la
585endif
586endif
587
4977018c
MW
588if USE_GCRYPT
589 SUBDIRS += plugins/gcrypt
6ec60bb9
TB
590if MONOLITHIC
591 libstrongswan_la_LIBADD += plugins/gcrypt/libstrongswan-gcrypt.la
592endif
4977018c
MW
593endif
594
af26cc4d
RK
595if USE_BOTAN
596 SUBDIRS += plugins/botan
597if MONOLITHIC
598 libstrongswan_la_LIBADD += plugins/botan/libstrongswan-botan.la
599endif
600endif
601
40f130da
MW
602if USE_FIPS_PRF
603 SUBDIRS += plugins/fips_prf
604if MONOLITHIC
605 libstrongswan_la_LIBADD += plugins/fips_prf/libstrongswan-fips-prf.la
606endif
607endif
608
21c95463
MW
609if USE_AGENT
610 SUBDIRS += plugins/agent
6ec60bb9
TB
611if MONOLITHIC
612 libstrongswan_la_LIBADD += plugins/agent/libstrongswan-agent.la
613endif
21c95463
MW
614endif
615
7b8edabd
MW
616if USE_KEYCHAIN
617 SUBDIRS += plugins/keychain
618if MONOLITHIC
619 libstrongswan_la_LIBADD += plugins/keychain/libstrongswan-keychain.la
620endif
621endif
622
6e862e21
MW
623if USE_PKCS11
624 SUBDIRS += plugins/pkcs11
625if MONOLITHIC
626 libstrongswan_la_LIBADD += plugins/pkcs11/libstrongswan-pkcs11.la
627endif
628endif
629
370fb3fe
MW
630if USE_CHAPOLY
631 SUBDIRS += plugins/chapoly
632if MONOLITHIC
633 libstrongswan_la_LIBADD += plugins/chapoly/libstrongswan-chapoly.la
634endif
635endif
636
272f0e1a
MW
637if USE_CTR
638 SUBDIRS += plugins/ctr
639if MONOLITHIC
640 libstrongswan_la_LIBADD += plugins/ctr/libstrongswan-ctr.la
641endif
642endif
643
80a93a13
MW
644if USE_CCM
645 SUBDIRS += plugins/ccm
646if MONOLITHIC
647 libstrongswan_la_LIBADD += plugins/ccm/libstrongswan-ccm.la
648endif
649endif
650
1a649810
MW
651if USE_GCM
652 SUBDIRS += plugins/gcm
653if MONOLITHIC
654 libstrongswan_la_LIBADD += plugins/gcm/libstrongswan-gcm.la
655endif
656endif
657
188b190a
AS
658if USE_MGF1
659 SUBDIRS += plugins/mgf1
660if MONOLITHIC
661 libstrongswan_la_LIBADD += plugins/mgf1/libstrongswan-mgf1.la
662endif
663endif
664
146ad86b
AS
665if USE_NTRU
666 SUBDIRS += plugins/ntru
667if MONOLITHIC
668 libstrongswan_la_LIBADD += plugins/ntru/libstrongswan-ntru.la
669endif
670endif
671
700df238
TB
672if USE_BLISS
673 SUBDIRS += plugins/bliss
674if MONOLITHIC
675 libstrongswan_la_LIBADD += plugins/bliss/libstrongswan-bliss.la
676endif
677endif
678
393688ae
AS
679if USE_NEWHOPE
680 SUBDIRS += plugins/newhope
681if MONOLITHIC
682 libstrongswan_la_LIBADD += plugins/newhope/libstrongswan-newhope.la
683endif
684endif
685
737375a2
AS
686if USE_DRBG
687 SUBDIRS += plugins/drbg
688if MONOLITHIC
689 libstrongswan_la_LIBADD += plugins/drbg/libstrongswan-drbg.la
690endif
691endif
692
81811a9d
MW
693if USE_TEST_VECTORS
694 SUBDIRS += plugins/test_vectors
6ec60bb9
TB
695if MONOLITHIC
696 libstrongswan_la_LIBADD += plugins/test_vectors/libstrongswan-test-vectors.la
697endif
81811a9d 698endif
156dcbc1 699
156dcbc1
TB
700if MONOLITHIC
701 SUBDIRS += .
702endif
d305f251
AS
703
704# build unit tests
705##################
706
a5860cdd 707SUBDIRS += tests
d305f251
AS
708
709if USE_LIBNTTFFT
710 SUBDIRS += math/libnttfft/tests
711endif
712
37bfe443 713if USE_BLISS
700df238 714 SUBDIRS += plugins/bliss/tests
37bfe443 715endif
1342bd33
AS
716
717if USE_NEWHOPE
718 SUBDIRS += plugins/newhope/tests
719endif