blob: bcd444da00ed84e8e4249a6a744699b3292a1953 [file] [log] [blame]
Philip Triccac054cf92018-11-11 11:06:00 -08001# SPDX-License-Identifier: BSD-2
Philip Tricca8ffb6542018-03-04 19:51:53 -08002# Copyright (c) 2015 - 2018 Intel Corporation
3# Copyright (c) 2018 Fraunhofer SIT sponsored by Infineon Technologies AG
4# All rights reserved.
Philip Triccac054cf92018-11-11 11:06:00 -08005
Philip Tricca1a94dd82017-08-16 14:32:55 -07006AC_INIT([tpm2-tss],
Tadeusz Strukedb6f002019-02-04 13:38:09 -08007 [2.2.0],
Philip Triccadc1f15d2018-03-04 19:53:25 -08008 [https://github.com/tpm2-software/tpm2-tss/issues],
Philip Triccad97ed642017-08-25 14:19:27 -07009 [],
Philip Triccadc1f15d2018-03-04 19:53:25 -080010 [https://github.com/tpm2-software/tpm2-tss])
Philip Triccaa509a682015-09-14 15:34:52 -070011AC_CONFIG_MACRO_DIR([m4])
Philip Tricca74037d32018-11-04 16:17:19 -080012: ${CFLAGS=""}
Tadeusz Struk55eba782019-02-27 15:08:43 -080013AC_PROG_CXX([clang++ g++])
14AC_PROG_CC([clang gcc])
Philip Triccaffbd61a2015-09-25 00:27:57 -070015LT_INIT()
Philip Tricca71aa9852015-08-25 00:26:22 -070016AM_INIT_AUTOMAKE([foreign
17 subdir-objects])
Andreas Fuchs3c965e72017-11-24 16:16:20 +010018m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) #Backward compatible setting of "silent-rules"
19
Tadeusz Struk90f094f2019-01-31 13:53:16 -080020AC_CONFIG_HEADERS([config.h])
21
Andreas Fuchsbc169cb2018-04-10 12:02:10 +020022AC_CONFIG_FILES([Makefile Doxyfile])
Philip Tricca1a94dd82017-08-16 14:32:55 -070023
24# propagate configure arguments to distcheck
25AC_SUBST([DISTCHECK_CONFIGURE_FLAGS],[$ac_configure_args])
26
Safayet N Ahmed1354f492018-11-03 16:02:49 -040027AC_CANONICAL_HOST
28
29# Check OS and set library and compile flags accordingly
30case "${host_os}" in
31 *nto-qnx*)
32 ADD_COMPILER_FLAG([-D_QNX_SOURCE])
33 LIBDL_LDFLAGS=""
34 LIBSOCKET_LDFLAGS="-lsocket"
35 ;;
36 *)
37 LIBDL_LDFLAGS="-ldl"
38 LIBSOCKET_LDFLAGS=""
39 ;;
40esac
41AC_SUBST([LIBDL_LDFLAGS])
42AC_SUBST([LIBSOCKET_LDFLAGS])
43
Philip Tricca4334dee2016-08-09 19:56:28 -070044AC_ARG_ENABLE([unit],
45 [AS_HELP_STRING([--enable-unit],
46 [build cmocka unit tests (default is no)])],
47 [enable_unit=$enableval],
48 [enable_unit=no])
Philip Tricca38db7552018-02-27 07:58:25 -080049m4_define([cmocka_min_version], [1.0])
50m4_define([cmocka_err], [Unit test enabled, but cmocka missing or version requirements not met. cmocka version must be >= cmocka_min_version])
Philip Tricca4334dee2016-08-09 19:56:28 -070051AS_IF([test "x$enable_unit" != xno],
52 [PKG_CHECK_MODULES([CMOCKA],
Philip Tricca38db7552018-02-27 07:58:25 -080053 [cmocka >= cmocka_min_version],
Philip Tricca4334dee2016-08-09 19:56:28 -070054 [AC_DEFINE([HAVE_CMOCKA],
Tadeusz Struk90f094f2019-01-31 13:53:16 -080055 [1], [CMOCKA UNIT TEST LIBRARY])],
Philip Tricca38db7552018-02-27 07:58:25 -080056 [AC_MSG_ERROR([cmocka_err])])])
Philip Tricca4334dee2016-08-09 19:56:28 -070057AM_CONDITIONAL([UNIT], [test "x$enable_unit" != xno])
Philip Tricca77683c72017-12-04 16:05:52 -080058
Juergen Reppff821bd2017-12-11 15:21:42 +010059AC_ARG_ENABLE([esapi],
60 [AS_HELP_STRING([--enable-esapi],
61 [build the esapi layer (default is yes)])],
62 [enable_esapi=$enableval],
63 [enable_esapi=yes])
Juergen Reppbebbc7a2018-06-22 14:03:12 +020064
Juergen Reppbebbc7a2018-06-22 14:03:12 +020065AM_CONDITIONAL(ESAPI, test "x$enable_esapi" = "xyes")
66
Tadeusz Struk3f2489b2018-08-22 10:01:11 -070067AC_ARG_ENABLE([tcti-device-async],
68 AS_HELP_STRING([--enable-tcti-device-async],
69 [Enable asynchronus operation on TCTI device
70 (note: This needs to be supported by the kernel driver). default is no]),
71 [enable_tcti_device_async=$enableval],
72 [enable_tcti_device_async=no])
73AS_IF([test "x$enable_tcti_device_async" = "xyes"],
Tadeusz Struk90f094f2019-01-31 13:53:16 -080074 AC_DEFINE([TCTI_ASYNC],[1], [TCTI ASYNC MODE]))
Tadeusz Struk3f2489b2018-08-22 10:01:11 -070075
Tadeusz Strukfa423ad2018-11-27 13:20:38 -080076AC_ARG_ENABLE([tcti-partial-reads],
77 AS_HELP_STRING([--enable-tcti-partial-reads],
78 [Enable partial reads for TCTI device
79 (note: This needs to be supported by the kernel driver). default is no]),
80 [enable_tcti_partial_reads=$enableval],
81 [enable_tcti_partial_reads=no])
82AS_IF([test "x$enable_tcti_partial_reads" = "xyes"],
Tadeusz Struk90f094f2019-01-31 13:53:16 -080083 AC_DEFINE([TCTI_PARTIAL_READ],[1], [TCTI PARTIAL READ MODE]))
Tadeusz Strukfa423ad2018-11-27 13:20:38 -080084
Juergen Reppbebbc7a2018-06-22 14:03:12 +020085AC_ARG_WITH([crypto],
86 [AS_HELP_STRING([--with-crypto={gcrypt,ossl}],
Tadeusz Struka5ff71a2018-10-23 16:04:25 -070087 [sets the ESAPI crypto backend (default is OpenSSL)])],
Juergen Reppbebbc7a2018-06-22 14:03:12 +020088 [],
Tadeusz Struka5ff71a2018-10-23 16:04:25 -070089 [with_crypto=ossl])
Juergen Reppbebbc7a2018-06-22 14:03:12 +020090
91AM_CONDITIONAL(ESYS_OSSL, test "x$with_crypto" = "xossl")
92AM_CONDITIONAL(ESYS_GCRYPT, test "x$with_crypto" = "xgcrypt")
93
94AS_IF([test "x$with_crypto" != "xgcrypt"],
95 AS_IF([test "x$with_crypto" != "xossl"],
96 AC_MSG_ERROR([Bad value for --with-crypto $with_crypto])))
97
98AS_IF([test "x$enable_esapi" != xno -a "x$with_crypto" = "xgcrypt"],
Philip Tricca8eecfd32018-01-31 06:28:27 -080099 [AC_CHECK_HEADER([gcrypt.h],
100 [],
101 [AC_MSG_ERROR([Missing required header: gcrypt.h.])])])
Juergen Reppbebbc7a2018-06-22 14:03:12 +0200102
103AS_IF([test "x$enable_esapi" != xno -a "x$with_cryptor" = "xgcrypt"],
Philip Tricca8eecfd32018-01-31 06:28:27 -0800104 [AC_CHECK_LIB([gcrypt],
105 [gcry_mac_open],
106 [],
107 [AC_MSG_ERROR([Missing required library: gcrypt.])])])
Juergen Reppbebbc7a2018-06-22 14:03:12 +0200108
109AS_IF([test "x$enable_esapi" != xno -a "x$with_crypto" = "xossl"],
110 [AC_CHECK_HEADER([openssl/ssl.h],
111 [],
112 [AC_MSG_ERROR([Missing required header: openssl/ssl.h.])])])
113
114AS_IF([test "x$enable_esapi" != xno -a "x$with_crypto" = "xossl"],
115 AC_CHECK_LIB(ssl, OPENSSL_init_ssl, [FOUND_SSL_LIB="yes"]))
116
117AS_IF([test "x$enable_esapi" != xno -a "x$with_crypto" = "xossl"],
118 AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]))
Juergen Reppff821bd2017-12-11 15:21:42 +0100119
120AC_ARG_WITH([tctidefaultmodule],
121 [AS_HELP_STRING([--with-tctidefaultmodule],
Andreas Fuchs037c8782018-03-21 18:52:38 +0100122[The default TCTI module for ESAPI. (Default: libtss2-tcti-default.so])],
123 [AC_DEFINE_UNQUOTED([ESYS_TCTI_DEFAULT_MODULE],
Andreas Fuchsfefb6b02018-08-29 13:30:35 +0200124 ["$with_tctidefaultmodule"],
Andreas Fuchs037c8782018-03-21 18:52:38 +0100125 ["The default TCTI library file"])],
126 [])
Juergen Reppff821bd2017-12-11 15:21:42 +0100127
128AC_ARG_WITH([tctidefaultconfig],
129 [AS_HELP_STRING([--with-tctidefaultconfig],
130 [The default tcti module's configuration.])],
Andreas Fuchs037c8782018-03-21 18:52:38 +0100131 [AC_DEFINE_UNQUOTED([ESYS_TCTI_DEFAULT_CONFIG],
Andreas Fuchsfefb6b02018-08-29 13:30:35 +0200132 ["$with_tctidefaultconfig"],
Andreas Fuchs037c8782018-03-21 18:52:38 +0100133 ["The default TCTIs configuration string"])],
134 [])
135
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200136AC_ARG_ENABLE([tcti-device],
137 [AS_HELP_STRING([--enable-tcti-device],
138 [build the tcti-device module (default is yes)])],
139 [enable_tcti_device=$enableval],
140 [enable_tcti_device=yes])
141AM_CONDITIONAL([ENABLE_TCTI_DEVICE], [test "x$enable_tcti_device" != xno])
John Andersen443455b2019-01-16 12:58:36 -0800142AS_IF([test "x$enable_tcti_device" = "xyes"],
143 AC_DEFINE([TCTI_DEVICE],[1], [TCTI FOR DEV TPM]))
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200144
145AC_ARG_ENABLE([tcti-mssim],
146 [AS_HELP_STRING([--enable-tcti-mssim],
147 [build the tcti-mssim module (default is yes)])],
148 [enable_tcti_mssim=$enableval],
149 [enable_tcti_mssim=yes])
150AM_CONDITIONAL([ENABLE_TCTI_MSSIM], [test "x$enable_tcti_mssim" != xno])
Tadeusz Struk7ab3cbb2019-01-31 14:30:18 -0800151AS_IF([test "x$enable_tcti_mssim" = "xyes"],
152 AC_DEFINE([TCTI_MSSIM],[1], [TCTI FOR MS SIMULATOR]))
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200153
John Andersen443455b2019-01-16 12:58:36 -0800154AC_ARG_ENABLE([tcti-fuzzing],
155 [AS_HELP_STRING([--enable-tcti-fuzzing],
156 [build the tcti-fuzzing module (default is no)])],
157 [enable_tcti_fuzzing=$enableval],
158 [enable_tcti_fuzzing=no])
159AM_CONDITIONAL([ENABLE_TCTI_FUZZING], [test "x$enable_tcti_fuzzing" != xno])
160AS_IF([test "x$enable_tcti_fuzzing" = "xyes"],
161 AC_DEFINE([TCTI_FUZZING],[1], [TCTI FOR FUZZING]))
162
Philip Tricca99d41422017-06-18 15:11:50 -0700163#
Javier Martinez Canillas0075f882018-04-13 12:49:37 +0200164# udev
165#
166AC_ARG_WITH([udevrulesdir],
167 [AS_HELP_STRING([--with-udevrulesdir=DIR],[udev rules directory])],
168 [],
169 [with_udevrulesdir=${libdir}/udev/rules.d])
170AX_NORMALIZE_PATH([with_udevrulesdir])
171AC_SUBST([udevrulesdir], [$with_udevrulesdir])
172AC_ARG_WITH([udevrulesprefix],
173 [AS_HELP_STRING([--with-udevrulesprefix=XY],[prefix for udev rules file])],
174 [AC_SUBST([udevrulesprefix],[$with_udevrulesprefix])])
175AM_CONDITIONAL(WITH_UDEVRULESPREFIX, [test -n "$with_udevrulesprefix"])
176#
Philip Tricca99075432018-04-25 19:02:05 -0700177# enable integration tests and check for simulator binary
Philip Tricca99d41422017-06-18 15:11:50 -0700178#
Philip Tricca99075432018-04-25 19:02:05 -0700179AC_ARG_ENABLE([integration],
180 [AS_HELP_STRING([--enable-integration],
181 [build and execute integration tests (default is no)])],
182 [enable_integration=$enableval],
183 [enable_integration=no])
184AS_IF([test "x$enable_integration" = "xyes"],
Philip Tricca154b81d2018-07-06 12:41:07 -0700185 [ERROR_IF_NO_PROG([tpm_server])
Jonas Witschel8b9285d2018-12-27 23:53:21 +0100186 ERROR_IF_NO_PROG([ss])
Philip Tricca35ab16e2018-07-06 13:03:17 -0700187 ERROR_IF_NO_PROG([ps])
188 ERROR_IF_NO_PROG([echo])
189 ERROR_IF_NO_PROG([kill])
Jonas Witschel303412c2018-12-27 23:55:55 +0100190 ERROR_IF_NO_PROG([stdbuf])
Philip Tricca35ab16e2018-07-06 13:03:17 -0700191 ERROR_IF_NO_PROG([sleep])
192 ERROR_IF_NO_PROG([cat])
193 ERROR_IF_NO_PROG([realpath])
194 ERROR_IF_NO_PROG([dirname])
195 ERROR_IF_NO_PROG([basename])
196 ERROR_IF_NO_PROG([mktemp])
197 ERROR_IF_NO_PROG([od])
198 ERROR_IF_NO_PROG([awk])
199 ERROR_IF_NO_PROG([expr])
200 ERROR_IF_NO_PROG([grep])
201 ERROR_IF_NO_PROG([env])
202 ERROR_IF_NO_PROG([rm])
Philip Tricca99075432018-04-25 19:02:05 -0700203 PKG_CHECK_MODULES([LIBCRYPTO],[libcrypto])
204 AC_CHECK_HEADER(uthash.h, [], [AC_MSG_ERROR([Can not find uthash.h. Please install uthash-dev])])
Tadeusz Struk91e7bd62018-07-23 11:30:02 -0700205 AS_IF([test "x$enable_tcti_mssim" = xno],
206 AC_MSG_ERROR([Integration tests can not be enabled without the TCTI_MSSIM module]))
Philip Tricca99075432018-04-25 19:02:05 -0700207 AC_SUBST([ENABLE_INTEGRATION], [$enable_integration])])
208AM_CONDITIONAL([ENABLE_INTEGRATION],[test "x$enable_integration" = "xyes"])
John Andersen4eab6da2019-01-16 13:59:16 -0800209#
210# fuzz testing
211#
212AC_ARG_WITH([fuzzing],
213 [AS_HELP_STRING([--with-fuzzing={none,libfuzzer,ossfuzz}],
214 [fuzzing to build with (default is none)])],
215 [],
216 [with_fuzzing=none])
217AS_CASE(["x$with_fuzzing"],
218 ["xnone"],
219 [],
220 ["xlibfuzzer"],
221 [ADD_FUZZING_FLAG([-fsanitize=fuzzer])],
222 ["xossfuzz"],
223 [AS_IF([test "x$LIB_FUZZING_ENGINE" = "x"],
224 AC_MSG_ERROR([OSS Fuzz testing requires LIB_FUZZING_ENGINE environment variable be set]))
225 ADD_FUZZING_FLAG([-lFuzzingEngine])],
226 [AC_MSG_ERROR([Bad value for --with-fuzzing])])
227AM_CONDITIONAL([ENABLE_FUZZING],[test "x$with_fuzzing" != "xnone"])
228AS_IF([test "x$with_fuzzing" != "xnone"],
229 [ADD_COMPILER_FLAG([-fsanitize=fuzzer-no-link], [required])
230 AS_IF([test "x$enable_tcti_fuzzng" = "xno"],
231 AC_MSG_ERROR([Fuzz tests can not be enabled without the TCTI_FUZZING module]))])
Tadeusz Struk1bc0f082018-04-18 11:53:26 -0700232
Peter Huewef59aee32019-02-19 22:56:21 +0100233AX_VALGRIND_CHECK
234
David R. Bild1e49b4c2017-11-28 18:09:42 -0600235gl_LD_VERSION_SCRIPT
236
Andreas Fuchs80e84852018-02-27 22:45:09 +0100237AC_ARG_WITH([maxloglevel],
238 [AS_HELP_STRING([--with-maxloglevel={none,error,warning,info,debug,trace}],
Andreas Fuchsbc490762018-01-03 14:36:38 +0100239 [sets the maximum log level (default is trace)])],
240 [],
Andreas Fuchs80e84852018-02-27 22:45:09 +0100241 [with_maxloglevel=trace])
Philip Triccafeae8b12018-11-04 19:53:12 -0800242AS_CASE(["x$with_maxloglevel"],
243 ["xnone"],
244 [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [0], ["Logging disabled"])],
245 ["xerror"],
246 [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [2], ["Error log level"])],
247 ["xwarning"],
248 [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [3], ["Warning log level"])],
249 ["xinfo"],
250 [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [4], ["Info log level"])],
251 ["xdebug"],
252 [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [5], ["Debug log level"])],
253 ["xtrace"],
254 [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [6], ["Trace log level"])],
255 [AC_MSG_ERROR([Bad value for --with-maxloglevel])])
Andreas Fuchsbc490762018-01-03 14:36:38 +0100256
Tadeusz Struka3260d82017-09-11 12:06:13 -0700257AC_ARG_ENABLE([debug],
258 [AS_HELP_STRING([--enable-debug],
259 [build with debug info (default is no)])],
260 [enable_debug=$enableval],
261 [enable_debug=no])
Philip Tricca6d5985b2018-11-04 15:58:19 -0800262AS_IF([test "x$enable_debug" = "xyes"], ADD_COMPILER_FLAG([-ggdb3 -Og]))
Philip Tricca085755d2018-11-11 12:43:29 -0800263AC_ARG_ENABLE([defaultflags],
Philip Tricca6751b3c2018-11-20 00:19:13 -0800264 [AS_HELP_STRING([--disable-defaultflags],
265 [Disable default preprocessor, compiler, and linker flags.])],
Philip Tricca085755d2018-11-11 12:43:29 -0800266 [enable_defaultflags=$enableval],
267 [enable_defaultflags=yes])
268AS_IF([test "x$enable_defaultflags" = "xyes"],
269 [
270 ADD_PREPROC_FLAG([-D_DEFAULT_SOURCE])
271 ADD_PREPROC_FLAG([-D_BSD_SOURCE])
272 ADD_PREPROC_FLAG([-D_POSIX_SOURCE])
273 AS_IF([test "x$enable_debug" = "xno"],
274 [
275 ADD_PREPROC_FLAG([-U_FORTIFY_SOURCE])
276 ADD_PREPROC_FLAG([-D_FORTIFY_SOURCE=2])
277 ADD_COMPILER_FLAG([-g -O2])
278 ])
279 ADD_COMPILER_FLAG([-std=c99])
280 ADD_COMPILER_FLAG([-Wall])
281 ADD_COMPILER_FLAG([-Wextra])
282 ADD_COMPILER_FLAG([-Wformat-security])
283 ADD_COMPILER_FLAG([-Werror])
284 ADD_COMPILER_FLAG([-fstack-protector-all])
285 ADD_COMPILER_FLAG([-fpic])
286 ADD_COMPILER_FLAG([-fPIC])
287 # work around GCC bug #53119
288 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
289 ADD_COMPILER_FLAG([-Wno-missing-braces])
William Roberts22727172018-12-07 10:34:53 -0800290 ADD_COMPILER_FLAG([-Wstrict-overflow=5])
Philip Tricca085755d2018-11-11 12:43:29 -0800291 ADD_LINK_FLAG([-Wl,--no-undefined])
292 ADD_LINK_FLAG([-Wl,-z,noexecstack])
293 ADD_LINK_FLAG([-Wl,-z,now])
294 ADD_LINK_FLAG([-Wl,-z,relro])
295 ])
Philip Triccab43de642017-03-04 21:29:10 -0800296
Philip Tricca99075432018-04-25 19:02:05 -0700297AC_SUBST([PATH])
298
Philip Triccaf8915802017-03-14 17:01:50 -0700299
Juergen Reppac598362018-07-17 13:36:38 +0200300dnl --------- Physical TPM device -----------------------
301
302AC_ARG_WITH([ptpm],
Tadeusz Strukc6a4a7d2018-08-21 13:21:22 -0700303 [AS_HELP_STRING([--with-ptpm=<device>],[TPM device])],
Juergen Reppac598362018-07-17 13:36:38 +0200304 [AS_IF([test \( -w "$with_ptpm" \) -a \( -r "$with_ptpm" \)],
305 [AC_MSG_RESULT([success])
306 AC_SUBST([PTPM],[$with_ptpm])
307 AX_NORMALIZE_PATH([with_ptpm])
308 with_ptpm_set=yes],
309 [AC_MSG_ERROR([TPM device provided does not exist or is not writable])])],
310 [with_ptpm_set=no])
311AM_CONDITIONAL([PTPM],[test "x$with_ptpm_set" = "xyes"])
312
313AC_ARG_WITH([ptpmtests],
314 [AS_HELP_STRING([--with-ptpmtests=<case>],[Comma-separated values of possible tests: destructive,mandatory,optional] default is mandatory)],
315 [AS_IF([test "x" == x$(echo $with_ptpmtests | sed 's/destructive//g' | sed 's/mandatory//g' | sed 's/optional//g' | sed 's/,//g') ],
316 [AC_MSG_RESULT([success])
317 with_ptpmtests_set=yes],
318 [AC_MSG_ERROR([Illegal test type for pTPM tests.])])],
319 [with_ptpmtests="mandatory"])
320
321if echo $with_ptpmtests | grep destructive > /dev/null; then
322 enable_ptpm_destructive="yes"
323fi
324AM_CONDITIONAL([PTPMDESTRUCTIVE],[test "x$enable_ptpm_destructive" = "xyes"])
325
326if echo $with_ptpmtests | grep optional > /dev/null; then
327 enable_ptpm_optional="yes"
328fi
329AM_CONDITIONAL([PTPMOPTIONAL],[test "x$enable_ptpm_optional" = "xyes"])
330
331if echo $with_ptpmtests | grep mandatory > /dev/null; then
332 enable_ptpm_mandatory="yes"
333fi
334AM_CONDITIONAL([PTPMMANDATORY],[test "x$enable_ptpm_mandatory" = "xyes"])
335
336AM_CONDITIONAL([TESTPTPM],[test "x$with_ptpm_set" = "xyes" -a "x$with_ptpm_set" = "xyes"])
337
Andreas Fuchs2968c712018-02-01 18:22:47 +0100338dnl --------- Doxy Gen -----------------------
Andreas Fuchsbc169cb2018-04-10 12:02:10 +0200339DX_DOXYGEN_FEATURE(ON)
340DX_DOT_FEATURE(OFF)
Andreas Fuchs2968c712018-02-01 18:22:47 +0100341DX_HTML_FEATURE(ON)
342DX_CHM_FEATURE(OFF)
343DX_CHI_FEATURE(OFF)
344DX_MAN_FEATURE(ON)
Jonas Witscheldd54f332018-11-14 22:17:34 +0100345DX_RTF_FEATURE(ON)
Andreas Fuchs2968c712018-02-01 18:22:47 +0100346DX_XML_FEATURE(OFF)
347DX_PDF_FEATURE(OFF)
348DX_PS_FEATURE(OFF)
Jonas Witscheldd54f332018-11-14 22:17:34 +0100349DX_INIT_DOXYGEN($PACKAGE_NAME, [Doxyfile], [doxygen-doc])
Andreas Fuchse5273b32018-04-26 16:16:24 +0200350AM_CONDITIONAL(DOXYMAN, [test $DX_FLAG_man -eq 1])
Andreas Fuchs2968c712018-02-01 18:22:47 +0100351
Jonas Witscheldd672362018-11-17 15:25:41 +0100352AS_IF([test "x$enable_doxygen_doc" != xno],
Tadeusz Struk81eacdd2018-11-12 11:57:02 -0800353 [ERROR_IF_NO_PROG([doxygen])])
354
Andreas Fuchs61cb7fb2017-11-22 10:23:01 +0100355AX_CODE_COVERAGE
Jonas Witschel648fa842019-01-07 22:15:06 +0100356m4_ifdef([_AX_CODE_COVERAGE_RULES],
357 [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [true])],
358 [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [false])])
Joshua Lockb7b42322019-01-25 16:10:14 +0000359AX_ADD_AM_MACRO_STATIC([])
Andreas Fuchs61cb7fb2017-11-22 10:23:01 +0100360
Philip Triccad1952b42015-08-05 15:52:10 -0700361AC_OUTPUT
Juergen Reppff821bd2017-12-11 15:21:42 +0100362
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200363AM_COND_IF([ENABLE_TCTI_DEVICE], [],
364 [AM_COND_IF([ENABLE_TCTI_MSSIM], [],
John Andersen443455b2019-01-16 12:58:36 -0800365 [AM_COND_IF([ENABLE_TCTI_FUZZING], [],
366 [AC_MSG_WARN("No build-in TCTI module enabled")])])])
367
368AM_COND_IF([ENABLE_TCTI_FUZZING], [
369 AM_COND_IF([ENABLE_TCTI_DEVICE],
370 AC_MSG_ERROR("Fuzzing TCTI is meant to be built as the only TCTI"), [])
371 AM_COND_IF([ENABLE_TCTI_MSSIM],
372 AC_MSG_ERROR("Fuzzing TCTI is meant to be built as the only TCTI"), [])
373 ], [])
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200374
Juergen Reppff821bd2017-12-11 15:21:42 +0100375AC_MSG_RESULT([
376 $PACKAGE_NAME $VERSION
377 esapi: $enable_esapi
378 tctidefaultmodule: $with_tctidefaultmodule
379 tctidefaultconfig: $with_tctidefaultconfig
380 unit: $enable_unit
John Andersen4eab6da2019-01-16 13:59:16 -0800381 fuzzing: $with_fuzzing
Juergen Reppff821bd2017-12-11 15:21:42 +0100382 debug: $enable_debug
Philip Triccafb0b72f2018-03-04 19:39:24 -0800383 maxloglevel: $with_maxloglevel
Andreas Fuchs2968c712018-02-01 18:22:47 +0100384 doxygen: $DX_FLAG_doc $enable_doxygen_doc
Tadeusz Struk3f2489b2018-08-22 10:01:11 -0700385 tcti-device-async: $enable_tcti_device_async
Tadeusz Strukfa423ad2018-11-27 13:20:38 -0800386 tcti-partial-read: $enable_tcti_partial_reads
Tadeusz Struka5ff71a2018-10-23 16:04:25 -0700387 crypto backend: $with_crypto
Juergen Reppff821bd2017-12-11 15:21:42 +0100388])