@CODE_COVERAGE_RULES@

check_PROGRAMS =                \
    check-ber_tlv_tag           \
    check-length                \
    check-bits                  \
    check-OIDs                  \
    check-GeneralizedTime       \
    check-OCTET_STRING          \
    check-UTF8String            \
    check-UTCTime               \
    check-INTEGER               \
    check-REAL                  \
    check-XER                   \
    check-OER-support           \
    check-OER-INTEGER           \
    check-OER-NativeEnumerated  \
    check-UPER-support          \
    check-UPER-UniversalString  \
    check-UPER-INTEGER

if EXPLICIT_M32
check_PROGRAMS +=                   \
    check-32-ber_tlv_tag            \
    check-32-length                 \
    check-32-bits                   \
    check-32-OIDs                   \
    check-32-GeneralizedTime        \
    check-32-OCTET_STRING           \
    check-32-UTF8String             \
    check-32-UTCTime                \
    check-32-INTEGER                \
    check-32-REAL                   \
    check-32-XER                    \
    check-32-OER-support            \
    check-32-OER-INTEGER            \
    check-32-OER-NativeEnumerated   \
    check-32-UPER-support           \
    check-32-UPER-UniversalString   \
    check-32-UPER-INTEGER

check_32_ber_tlv_tag_CFLAGS=$(CFLAGS_M32)
check_32_ber_tlv_tag_LDADD=$(LDADD_32)
check_32_ber_tlv_tag_SOURCES=check-ber_tlv_tag.c
check_32_length_CFLAGS=$(CFLAGS_M32)
check_32_length_LDADD=$(LDADD_32)
check_32_length_SOURCES=check-length.c
check_32_bits_CFLAGS=$(CFLAGS_M32)
check_32_bits_LDADD=$(LDADD_32)
check_32_bits_SOURCES=check-bits.c
check_32_OIDs_CFLAGS=$(CFLAGS_M32)
check_32_OIDs_LDADD=$(LDADD_32)
check_32_OIDs_SOURCES=check-OIDs.c
check_32_GeneralizedTime_CFLAGS=$(CFLAGS_M32)
check_32_GeneralizedTime_LDADD=$(LDADD_32)
check_32_GeneralizedTime_SOURCES=check-GeneralizedTime.c
check_32_OCTET_STRING_CFLAGS=$(CFLAGS_M32)
check_32_OCTET_STRING_LDADD=$(LDADD_32)
check_32_OCTET_STRING_SOURCES=check-OCTET_STRING.c
check_32_UTF8String_CFLAGS=$(CFLAGS_M32)
check_32_UTF8String_LDADD=$(LDADD_32)
check_32_UTF8String_SOURCES=check-UTF8String.c
check_32_UTCTime_CFLAGS=$(CFLAGS_M32)
check_32_UTCTime_LDADD=$(LDADD_32)
check_32_UTCTime_SOURCES=check-UTCTime.c
check_32_INTEGER_CFLAGS=$(CFLAGS_M32)
check_32_INTEGER_LDADD=$(LDADD_32)
check_32_INTEGER_SOURCES=check-INTEGER.c
check_32_REAL_CFLAGS=$(CFLAGS_M32)
check_32_REAL_LDADD=$(LDADD_32)
check_32_REAL_SOURCES=check-REAL.c
check_32_XER_CFLAGS=$(CFLAGS_M32)
check_32_XER_LDADD=$(LDADD_32)
check_32_XER_SOURCES=check-XER.c
check_32_OER_support_CFLAGS=$(CFLAGS_M32)
check_32_OER_support_LDADD=$(LDADD_32)
check_32_OER_support_SOURCES=check-OER-support.c
check_32_OER_INTEGER_CFLAGS=$(CFLAGS_M32)
check_32_OER_INTEGER_LDADD=$(LDADD_32)
check_32_OER_INTEGER_SOURCES=check-OER-INTEGER.c
check_32_OER_NativeEnumerated_CFLAGS=$(CFLAGS_M32)
check_32_OER_NativeEnumerated_LDADD=$(LDADD_32)
check_32_OER_NativeEnumerated_SOURCES=check-OER-NativeEnumerated.c
check_32_UPER_support_CFLAGS=$(CFLAGS_M32)
check_32_UPER_support_LDADD=$(LDADD_32)
check_32_UPER_support_SOURCES=check-UPER-support.c
check_32_UPER_UniversalString_CFLAGS=$(CFLAGS_M32)
check_32_UPER_UniversalString_LDADD=$(LDADD_32)
check_32_UPER_UniversalString_SOURCES=check-UPER-UniversalString.c
check_32_UPER_INTEGER_CFLAGS=$(CFLAGS_M32)
check_32_UPER_INTEGER_LDADD=$(LDADD_32)
check_32_UPER_INTEGER_SOURCES=check-UPER-INTEGER.c

LDADD_32 = -lm $(top_builddir)/skeletons/libasn1cskeletons_c89_32.la
endif

#Filter out the coverage options from CFLAGS as we don't need
#code coverage data for the tests executables
CFLAGS = $(filter-out $(CODE_COVERAGE_CFLAGS), @CFLAGS@) \
    -I$(top_srcdir)/skeletons $(TESTSUITE_CFLAGS)
LDADD = -lm $(top_builddir)/skeletons/libasn1cskeletons.la

TESTS = $(check_PROGRAMS)
TESTS_ENVIRONMENT=                      \
    @ASAN_ENV_FLAGS@                    \
    UBSAN_OPTIONS=print_stacktrace=1    \
    ${srcdir}/disable-leak-check-m32.sh

EXTRA_DIST = disable-leak-check-m32.sh
