TESTS+= src/test/test

noinst_PROGRAMS+= src/test/test src/test/test-child src/test/bench

src_test_AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \
        -DLOCALSTATEDIR="\"$(localstatedir)\"" \
        -DBINDIR="\"$(bindir)\""	       \
	-I"$(top_srcdir)/src/or" -I"$(top_srcdir)/src/ext"

# -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
# This seems to matter nowhere but on Windows, but I assure you that it
# matters a lot there, and is quite hard to debug if you forget to do it.

src_test_test_SOURCES = \
	src/test/test.c \
	src/test/test_addr.c \
	src/test/test_cell_formats.c \
	src/test/test_containers.c \
	src/test/test_crypto.c \
	src/test/test_data.c \
	src/test/test_dir.c \
	src/test/test_introduce.c \
	src/test/test_microdesc.c \
	src/test/test_pt.c \
	src/test/test_replay.c \
	src/test/test_util.c \
	src/test/test_config.c \
	src/ext/tinytest.c

src_test_test_CPPFLAGS= $(src_test_AM_CPPFLAGS)

src_test_bench_SOURCES = \
	src/test/bench.c

src_test_bench_CPPFLAGS= $(src_test_AM_CPPFLAGS)

src_test_test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
        @TOR_LDFLAGS_libevent@
src_test_test_LDADD = src/or/libtor.a src/common/libor.a \
	src/common/libor-crypto.a $(LIBDONNA) \
	src/common/libor-event.a \
	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@

src_test_bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
        @TOR_LDFLAGS_libevent@
src_test_bench_LDADD = src/or/libtor.a src/common/libor.a \
	src/common/libor-crypto.a $(LIBDONNA) \
	src/common/libor-event.a \
	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@

noinst_HEADERS+= \
	src/test/test.h

if CURVE25519_ENABLED
noinst_PROGRAMS+= src/test/test-ntor-cl
src_test_test_ntor_cl_SOURCES  = src/test/test_ntor_cl.c
src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
	src/common/libor-crypto.a $(LIBDONNA) \
	@TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \
	@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
src_test_test_ntor_cl_AM_CPPFLAGS =	       \
	-I"$(top_srcdir)/src/or"

endif

