## Produce this file with automake to get Makefile.in
-sbin_PROGRAMS = tincd tinc sptps_test
-
-EXTRA_DIST = linux bsd solaris cygwin mingw openssl gcrypt
-
-tincd_SOURCES = \
- buffer.c \
- conf.c \
- connection.c \
- control.c \
- dropin.c \
- dummy_device.c \
- edge.c \
- event.c \
- fake-getaddrinfo.c \
- fake-getnameinfo.c \
- getopt.c \
- getopt1.c \
- graph.c \
- hash.c \
- list.c \
- logger.c \
- meta.c \
- multicast_device.c \
- names.c \
- net.c \
- net_packet.c \
- net_setup.c \
- net_socket.c \
- netutl.c \
- node.c \
- process.c \
- protocol.c \
- protocol_auth.c \
- protocol_edge.c \
- protocol_key.c \
- protocol_misc.c \
- protocol_subnet.c \
- raw_socket_device.c \
- route.c \
- splay_tree.c \
- sptps.c \
- subnet.c \
- subnet_parse.c \
- tincd.c \
- utils.c
-
-tinc_SOURCES = \
- dropin.c \
- getopt.c \
- getopt1.c \
- info.c \
- invitation.c \
- list.c \
- names.c \
- netutl.c \
- sptps.c \
- subnet_parse.c \
- tincctl.c \
- top.c \
- utils.c
+sbin_PROGRAMS = sptps_test sptps_keypair
-sptps_test_SOURCES = \
- logger.c \
- sptps.c \
- sptps_test.c \
- utils.c
-
-## Conditionally compile device drivers
-
if LINUX
-tincd_SOURCES += linux/device.c
-endif
-
-if BSD
-tincd_SOURCES += bsd/device.c
-if TUNEMU
-tincd_SOURCES += bsd/tunemu.c
-endif
-endif
-
-if SOLARIS
-tincd_SOURCES += solaris/device.c
-endif
-
-if MINGW
-tincd_SOURCES += mingw/device.c
-endif
-
-if CYGWIN
-tincd_SOURCES += cygwin/device.c
-endif
-
-if UML
-tincd_SOURCES += uml_device.c
-endif
-
-if VDE
-tincd_SOURCES += vde_device.c
-endif
-
-if OPENSSL
-tincd_SOURCES += \
- openssl/cipher.c \
- openssl/crypto.c \
- openssl/digest.c \
- openssl/ecdh.c \
- openssl/ecdsa.c \
- openssl/prf.c \
- openssl/rsa.c
-tinc_SOURCES += \
- openssl/cipher.c \
- openssl/crypto.c \
- openssl/digest.c \
- openssl/ecdh.c \
- openssl/ecdsa.c \
- openssl/ecdsagen.c \
- openssl/prf.c \
- openssl/rsa.c \
- openssl/rsagen.c
-sptps_test_SOURCES += \
- openssl/cipher.c \
- openssl/crypto.c \
- openssl/digest.c \
- openssl/ecdh.c \
- openssl/ecdsa.c \
- openssl/prf.c
+sbin_PROGRAMS += sptps_speed
endif
-if GCRYPT
-tincd_SOURCES += \
- gcrypt/cipher.c \
- gcrypt/crypto.c \
- gcrypt/digest.c \
- gcrypt/ecdh.c \
- gcrypt/ecdsa.c \
- gcrypt/prf.c \
- gcrypt/rsa.c
-tinc_SOURCES += \
- gcrypt/cipher.c \
- gcrypt/crypto.c \
- gcrypt/digest.c \
- gcrypt/ecdh.c \
- gcrypt/ecdsa.c \
- gcrypt/ecdsagen.c \
- gcrypt/prf.c \
- gcrypt/rsa.c \
- gcrypt/rsagen.c
-sptps_test_SOURCES += \
- gcrypt/cipher.c \
- gcrypt/crypto.c \
- gcrypt/digest.c \
- gcrypt/ecdh.c \
- gcrypt/ecdsa.c \
- gcrypt/prf.c
-endif
+DEFAULT_INCLUDES =
+
+ed25519_SOURCES = \
+ ed25519/add_scalar.c \
+ ed25519/ed25519.h \
+ ed25519/fe.c ed25519/fe.h \
+ ed25519/fixedint.h \
+ ed25519/ge.c ed25519/ge.h \
+ ed25519/key_exchange.c \
+ ed25519/keypair.c \
+ ed25519/precomp_data.h \
+ ed25519/sc.c ed25519/sc.h \
+ ed25519/seed.c \
+ ed25519/sha512.c ed25519/sha512.h \
+ ed25519/sign.c \
+ ed25519/verify.c
+
+chacha_poly1305_SOURCES = \
+ chacha-poly1305/chacha.c chacha-poly1305/chacha.h \
+ chacha-poly1305/chacha-poly1305.c chacha-poly1305/chacha-poly1305.h \
+ chacha-poly1305/poly1305.c chacha-poly1305/poly1305.h
-tinc_LDADD = $(READLINE_LIBS) $(CURSES_LIBS)
-
-noinst_HEADERS = \
- buffer.h \
+sptps_test_SOURCES = \
+ crypto.c crypto.h \
+ logger.c logger.h \
+ prf.c prf.h \
+ sptps.c sptps.h \
+ sptps_test.c \
+ utils.c utils.h \
+ $(ed25519_SOURCES) \
+ $(chacha_poly1305_SOURCES)
+
+sptps_keypair_SOURCES = \
+ crypto.c crypto.h \
+ sptps_keypair.c \
+ utils.c utils.h \
+ $(ed25519_SOURCES)
+
+sptps_speed_SOURCES = \
+ crypto.c crypto.h \
+ logger.c logger.h \
+ prf.c prf.h \
+ sptps.c sptps.h \
+ sptps_speed.c \
+ utils.c utils.h \
+ $(ed25519_SOURCES) \
+ $(chacha_poly1305_SOURCES)
+
+lib_LTLIBRARIES = libmeshlink.la
+
+libmeshlink_la_LDFLAGS = -export-symbols-regex '^meshlink_'
+
+libmeshlink_la_SOURCES = \
+ meshlink.c meshlink.h \
+ buffer.c buffer.h \
cipher.h \
- conf.h \
- connection.h \
- control.h \
- control_common.h \
- crypto.h \
- device.h \
- digest.h \
- dropin.h \
+ conf.c conf.h \
+ connection.c connection.h \
+ crypto.c crypto.h \
+ dropin.c dropin.h \
ecdh.h \
ecdsa.h \
ecdsagen.h \
- edge.h \
- ethernet.h \
- event.h \
+ edge.c edge.h \
+ event.c event.h \
fake-gai-errnos.h \
- fake-getaddrinfo.h \
- fake-getnameinfo.h \
- getopt.h \
- graph.h \
- hash.h \
+ fake-getaddrinfo.c fake-getaddrinfo.h \
+ fake-getnameinfo.c fake-getnameinfo.h \
+ graph.c graph.h \
+ hash.c hash.h \
have.h \
- info.h \
- ipv4.h \
- ipv6.h \
- list.h \
- logger.h \
- meta.h \
- names.h \
- net.h \
- netutl.h \
- node.h \
- prf.h \
- process.h \
- protocol.h \
- route.h \
- rsa.h \
- rsagen.h
- splay_tree.h \
- sptps.h \
- subnet.h \
+ list.c list.h \
+ logger.c logger.h \
+ meta.c meta.h \
+ net.c net.h \
+ net_packet.c \
+ net_setup.c \
+ net_socket.c \
+ netutl.c netutl.h \
+ node.c node.h \
+ prf.c prf.h \
+ protocol.c protocol.h \
+ protocol_auth.c \
+ protocol_edge.c \
+ protocol_key.c \
+ protocol_misc.c \
+ route.c route.h \
+ splay_tree.c splay_tree.h \
+ sptps.c sptps.h \
system.h \
- tincctl.h \
- top.h \
- utils.h \
- xalloc.h
+ utils.c utils.h \
+ xalloc.h \
+ $(ed25519_SOURCES) \
+ $(chacha_poly1305_SOURCES)
-LIBS = @LIBS@ @LIBGCRYPT_LIBS@
+libmeshlink_la_CFLAGS = -fPIC
-if TUNEMU
-LIBS += -lpcap
-endif
+libmeshlink_la_LIBADD = -lpthread
-AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\"
+libmeshlink_la_SOURCES += \
+ ed25519/ecdh.c \
+ ed25519/ecdsa.c \
+ ed25519/ecdsagen.c
+sptps_test_SOURCES += \
+ ed25519/ecdh.c \
+ ed25519/ecdsa.c
+sptps_keypair_SOURCES += \
+ ed25519/ecdsagen.c
+sptps_speed_SOURCES += \
+ ed25519/ecdh.c \
+ ed25519/ecdsa.c \
+ ed25519/ecdsagen.c
+
+sptps_speed_LDADD = -lrt
-dist-hook:
- rm -f `find . -type l`
+LIBS = @LIBS@
+
+AM_CFLAGS = -DCONFDIR=\"$(sysconfdir)\" -DLOCALSTATEDIR=\"$(localstatedir)\" -DSBINDIR=\"$(sbindir)\"