blob: 8d53dbf89f22c46d088daa6f3d4b208434bd40fb [file] [log] [blame]
# libts Makefile.am
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
include $(top_srcdir)/build/tidy.mk
noinst_PROGRAMS = mkdfa CompileParseRules
check_PROGRAMS = test_geometry test_X509HostnameValidator test_tscore
if EXPENSIVE_TESTS
check_PROGRAMS += test_atomic test_freelist
endif
TESTS_ENVIRONMENT = LSAN_OPTIONS=suppressions=$(abs_top_srcdir)/ci/asan_leak_suppression/unit_tests.txt
TESTS = $(check_PROGRAMS)
lib_LTLIBRARIES = libtscore.la
AM_CPPFLAGS += \
$(iocore_include_dirs) \
-I$(abs_top_srcdir)/include \
-I$(abs_top_srcdir)/lib \
$(TS_INCLUDES) \
@YAMLCPP_INCLUDES@
libtscore_la_LDFLAGS = -no-undefined -version-info @TS_LIBTOOL_VERSION@ @YAMLCPP_LDFLAGS@
libtscore_la_LIBADD = \
$(top_builddir)/src/tscpp/util/libtscpputil.la \
@HWLOC_LIBS@ \
@LIBOBJS@ \
@LIBPCRE@ \
@OPENSSL_LIBS@ \
@LIBRESOLV@ \
@LIBCAP@ \
@YAMLCPP_LIBS@ \
-lc
libtscore_la_SOURCES = \
AcidPtr.cc \
Arena.cc \
ArgParser.cc \
BaseLogFile.cc \
BufferWriterFormat.cc \
ConsistentHash.cc \
ContFlags.cc \
CryptoHash.cc \
Diags.cc \
Errata.cc \
EventNotify.cc \
Extendible.cc \
fastlz.c \
Hash.cc \
HashFNV.cc \
HashMD5.cc \
HashSip.cc \
HostLookup.cc \
hugepages.cc \
ink_args.cc \
ink_assert.cc \
ink_base64.cc \
ink_cap.cc \
ink_code.cc \
ink_defs.cc \
InkErrno.cc \
ink_error.cc \
ink_file.cc \
ink_hrtime.cc \
ink_inet.cc \
ink_memory.cc \
ink_mutex.cc \
ink_queue.cc \
ink_queue_utils.cc \
ink_rand.cc \
ink_res_init.cc \
ink_res_mkquery.cc \
ink_resource.cc \
ink_rwlock.cc \
ink_sock.cc \
ink_sprintf.cc \
ink_stack_trace.cc \
ink_string.cc \
ink_string++.cc \
ink_sys_control.cc \
ink_syslog.cc \
ink_thread.cc \
ink_time.cc \
ink_uuid.cc \
IpMap.cc \
IpMapConf.cc \
JeAllocator.cc \
Layout.cc \
llqueue.cc \
lockfile.cc \
MatcherUtils.cc \
MemArena.cc \
MMH.cc \
ParseRules.cc \
RbTree.cc \
Regex.cc \
Regression.cc \
runroot.cc \
signals.cc \
SourceLocation.cc \
TextBuffer.cc \
LogMessage.cc \
Throttler.cc \
Tokenizer.cc \
ts_file.cc \
Version.cc \
X509HostnameValidator.cc
if HAS_HKDF
if OPENSSL_IS_BORINGSSL
HKDF_impl = HKDF_boringssl.cc
else
HKDF_impl = HKDF_openssl.cc
endif
libtscore_la_SOURCES += \
$(HKDF_impl)
endif
BufferWriterFormat.o : AM_CPPFLAGS += -Wno-char-subscripts
# Special hacks to generate the parser rules
$(srcdir)/ParseRules.cc: ParseRulesCType
ParseRulesCType: CompileParseRules
LSAN_OPTIONS='detect_leaks=0' ./CompileParseRules
mkdfa_SOURCES = mkdfa.c
test_atomic_SOURCES = test_atomic.cc
test_atomic_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
test_freelist_SOURCES = test_freelist.cc
test_freelist_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
test_geometry_SOURCES = test_geometry.cc
test_geometry_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@
test_X509HostnameValidator_CPPFLAGS = $(AM_CPPFLAGS) -I$(abs_top_srcdir)/tests/include
test_X509HostnameValidator_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la @LIBPCRE@ @OPENSSL_LIBS@
test_X509HostnameValidator_SOURCES = unit_tests/test_X509HostnameValidator.cc
test_tscore_CPPFLAGS = $(AM_CPPFLAGS)\
-I$(abs_top_srcdir)/tests/include
test_tscore_CXXFLAGS = -Wno-array-bounds $(AM_CXXFLAGS)
test_tscore_LDADD = libtscore.la $(top_builddir)/src/tscpp/util/libtscpputil.la $(top_builddir)/iocore/eventsystem/libinkevent.a @OPENSSL_LIBS@
test_tscore_SOURCES = \
unit_tests/unit_test_main.cc \
unit_tests/test_AcidPtr.cc \
unit_tests/test_arena.cc \
unit_tests/test_ArgParser.cc \
unit_tests/test_BufferWriter.cc \
unit_tests/test_BufferWriterFormat.cc \
unit_tests/test_Extendible.cc \
unit_tests/test_History.cc \
unit_tests/test_ink_inet.cc \
unit_tests/test_IntrusiveHashMap.cc \
unit_tests/test_IntrusivePtr.cc \
unit_tests/test_IpMap.cc \
unit_tests/test_layout.cc \
unit_tests/test_List.cc \
unit_tests/test_MemArena.cc \
unit_tests/test_MT_hashtable.cc \
unit_tests/test_ParseRules.cc \
unit_tests/test_PriorityQueue.cc \
unit_tests/test_Ptr.cc \
unit_tests/test_Regex.cc \
unit_tests/test_Scalar.cc \
unit_tests/test_scoped_resource.cc \
unit_tests/test_Throttler.cc \
unit_tests/test_Tokenizer.cc \
unit_tests/test_ts_file.cc \
unit_tests/test_Version.cc \
unit_tests/test_Errata.cc
if HAS_HKDF
test_tscore_SOURCES += \
unit_tests/test_HKDF.cc
endif
CompileParseRules_SOURCES = CompileParseRules.cc
clean-local:
rm -f ParseRulesCType ParseRulesCTypeToLower ParseRulesCTypeToUpper
clang-tidy-local: $(DIST_SOURCES)
$(CXX_Clang_Tidy)