
noinst_LIBRARIES += src/lib/libtor-crypt-ops.a

if UNITTESTS_ENABLED
noinst_LIBRARIES += src/lib/libtor-crypt-ops-testing.a
endif

# ADD_C_FILE: INSERT SOURCES HERE.
src_lib_libtor_crypt_ops_a_SOURCES =			\
	src/lib/crypt_ops/crypto_cipher.c		\
	src/lib/crypt_ops/crypto_curve25519.c		\
	src/lib/crypt_ops/crypto_dh.c			\
	src/lib/crypt_ops/crypto_digest.c		\
	src/lib/crypt_ops/crypto_ed25519.c		\
	src/lib/crypt_ops/crypto_format.c		\
	src/lib/crypt_ops/crypto_hkdf.c			\
	src/lib/crypt_ops/crypto_init.c			\
	src/lib/crypt_ops/crypto_ope.c          	\
	src/lib/crypt_ops/crypto_pwbox.c		\
	src/lib/crypt_ops/crypto_rand.c			\
	src/lib/crypt_ops/crypto_rand_fast.c		\
	src/lib/crypt_ops/crypto_rand_numeric.c		\
	src/lib/crypt_ops/crypto_rsa.c			\
	src/lib/crypt_ops/crypto_s2k.c			\
	src/lib/crypt_ops/crypto_util.c                 \
	src/lib/crypt_ops/digestset.c

if USE_NSS
src_lib_libtor_crypt_ops_a_SOURCES +=			\
	src/lib/crypt_ops/aes_nss.c			\
	src/lib/crypt_ops/crypto_digest_nss.c		\
	src/lib/crypt_ops/crypto_dh_nss.c		\
	src/lib/crypt_ops/crypto_nss_mgt.c		\
	src/lib/crypt_ops/crypto_rsa_nss.c
else
src_lib_libtor_crypt_ops_a_SOURCES +=			\
	src/lib/crypt_ops/aes_openssl.c			\
	src/lib/crypt_ops/crypto_digest_openssl.c	\
	src/lib/crypt_ops/crypto_rsa_openssl.c
endif

if USE_OPENSSL
src_lib_libtor_crypt_ops_a_SOURCES +=			\
	src/lib/crypt_ops/crypto_dh_openssl.c		\
	src/lib/crypt_ops/crypto_openssl_mgt.c
endif

src_lib_libtor_crypt_ops_a_CFLAGS = $(AM_CFLAGS) $(TOR_CFLAGS_CRYPTLIB)

src_lib_libtor_crypt_ops_testing_a_SOURCES = \
	$(src_lib_libtor_crypt_ops_a_SOURCES)
src_lib_libtor_crypt_ops_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS)
src_lib_libtor_crypt_ops_testing_a_CFLAGS = \
	$(AM_CFLAGS) $(TOR_CFLAGS_CRYPTLIB) $(TEST_CFLAGS)

# ADD_C_FILE: INSERT HEADERS HERE.
noinst_HEADERS +=					\
	src/lib/crypt_ops/aes.h				\
	src/lib/crypt_ops/compat_openssl.h		\
	src/lib/crypt_ops/crypto_curve25519.h		\
	src/lib/crypt_ops/crypto_dh.h			\
	src/lib/crypt_ops/crypto_digest.h		\
	src/lib/crypt_ops/crypto_ed25519.h		\
	src/lib/crypt_ops/crypto_format.h		\
	src/lib/crypt_ops/crypto_cipher.h		\
	src/lib/crypt_ops/crypto_hkdf.h			\
	src/lib/crypt_ops/crypto_init.h			\
	src/lib/crypt_ops/crypto_nss_mgt.h		\
	src/lib/crypt_ops/crypto_openssl_mgt.h		\
	src/lib/crypt_ops/crypto_ope.h          	\
	src/lib/crypt_ops/crypto_options.inc		\
	src/lib/crypt_ops/crypto_options_st.h		\
	src/lib/crypt_ops/crypto_pwbox.h		\
	src/lib/crypt_ops/crypto_rand.h			\
	src/lib/crypt_ops/crypto_rsa.h			\
	src/lib/crypt_ops/crypto_s2k.h			\
	src/lib/crypt_ops/crypto_sys.h			\
	src/lib/crypt_ops/crypto_util.h                 \
	src/lib/crypt_ops/digestset.h
