• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: BSD-2-Clause
2# Copyright (c) 2015 - 2020 Intel Corporation
3# Copyright (c) 2018 - 2020 Fraunhofer SIT sponsored by Infineon Technologies AG
4# All rights reserved.
5
6AC_INIT([tpm2-tss],
7        [2.4.0],
8        [https://github.com/tpm2-software/tpm2-tss/issues],
9        [],
10        [https://github.com/tpm2-software/tpm2-tss])
11AC_CONFIG_MACRO_DIR([m4])
12AM_INIT_AUTOMAKE([foreign
13                  subdir-objects])
14m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) #Backward compatible setting of "silent-rules"
15
16AC_CONFIG_HEADERS([config.h])
17
18AC_CONFIG_FILES([Makefile Doxyfile lib/tss2-sys.pc lib/tss2-esys.pc lib/tss2-mu.pc lib/tss2-tcti-device.pc lib/tss2-tcti-mssim.pc lib/tss2-rc.pc lib/tss2-tctildr.pc lib/tss2-fapi.pc])
19
20# propagate configure arguments to distcheck
21AC_SUBST([DISTCHECK_CONFIGURE_FLAGS],[$ac_configure_args])
22
23AC_CANONICAL_HOST
24
25AX_IS_RELEASE(dash-version)
26AX_CHECK_ENABLE_DEBUG([info])
27
28AC_PROG_CC
29AC_PROG_CXX
30AC_PROG_LN_S
31AC_USE_SYSTEM_EXTENSIONS
32LT_INIT()
33LT_LIB_DLLOAD
34PKG_INSTALLDIR()
35
36# Check OS and set library and compile flags accordingly
37case "${host_os}" in
38    *nto-qnx*)
39        HOSTOS='QNX'
40        ADD_COMPILER_FLAG([-D_QNX_SOURCE])
41        LIBSOCKET_LDFLAGS="-lsocket"
42        ;;
43    *bsd* | *BSD*)
44        HOSTOS='BSD'
45        LIBSOCKET_LDFLAGS=""
46        ;;
47    *)
48        #Assume linux
49        HOSTOS='Linux'
50        LIBSOCKET_LDFLAGS=""
51        ;;
52esac
53AC_SUBST([LIBSOCKET_LDFLAGS])
54AC_SUBST([HOSTOS])
55
56# runstatedir is only defined in the yet unreleased Autoconf 2.70
57AC_ARG_WITH([runstatedir],
58            AS_HELP_STRING([--with-runstatedir=<dir>],
59                           [replacement for --runstatedir in Autoconf <2.70]),
60            [runstatedir="$withval"])
61AS_IF([test -z "$runstatedir"], [runstatedir="${localstatedir}/run"])
62AC_SUBST([runstatedir])
63
64AX_RECURSIVE_EVAL([$sysconfdir], [SYSCONFDIR])
65AC_DEFINE_UNQUOTED([SYSCONFDIR], ["$SYSCONFDIR"], [System config dir])
66
67AC_ARG_WITH([userstatedir],
68            [AS_HELP_STRING([--with-userstatedir=<dir>],
69                            [sets the relative path in the user's home (default is ".local/share")])],,
70            [with_userstatedir=.local/share])
71AC_SUBST(userstatedir, $with_userstatedir)
72
73AC_ARG_WITH([sysusersdir],
74            [AS_HELP_STRING([--with-sysusersdir=<dir>],
75                            [sets the sysusers.d directory (default is "${sysconfdir}/sysusers.d")])],,
76            [with_sysusersdir="${sysconfdir}/sysusers.d"])
77AC_SUBST(sysusersdir, $with_sysusersdir)
78
79AC_ARG_WITH([tmpfilesdir],
80            [AS_HELP_STRING([--with-tmpfilesdir=<dir>],
81                            [sets the tmpfiles.d directory (default is "${sysconfdir}/tmpfiles.d")])],,
82            [with_tmpfilesdir="${sysconfdir}/tmpfiles.d"])
83AC_SUBST(tmpfilesdir, $with_tmpfilesdir)
84
85AC_ARG_ENABLE([unit],
86            [AS_HELP_STRING([--enable-unit],
87                            [build cmocka unit tests])],,
88            [enable_unit=no])
89m4_define([cmocka_min_version], [1.0])
90m4_define([cmocka_err], [Unit test enabled, but cmocka missing or version requirements not met. cmocka version must be >= cmocka_min_version])
91AS_IF([test "x$enable_unit" != xno],
92      [PKG_CHECK_MODULES([CMOCKA],
93                         [cmocka >= cmocka_min_version],,
94                         [AC_MSG_ERROR([cmocka_err])])])
95AM_CONDITIONAL([UNIT], [test "x$enable_unit" != xno])
96
97AC_ARG_ENABLE([esapi],
98            [AS_HELP_STRING([--disable-esapi],
99                            [don't build the esapi layer])],,
100            [enable_esapi=yes])
101
102AM_CONDITIONAL(ESAPI, test "x$enable_esapi" = "xyes")
103
104AC_CHECK_FUNC([strndup],[],[AC_MSG_ERROR([strndup function not found])])
105AC_CHECK_FUNCS([reallocarray])
106AC_ARG_ENABLE([fapi],
107            [AS_HELP_STRING([--enable-fapi],
108                            [build the fapi layer (default is yes)])],
109            [enable_fapi=$enableval],
110            [enable_fapi=yes])
111
112AM_CONDITIONAL(FAPI, test "x$enable_fapi" = "xyes")
113
114AC_ARG_ENABLE([fapi-async-tests],
115    AS_HELP_STRING([--enable-fapi-async-tests],
116               [Force fapi to spin asynchronously. (NOT FOR PRODUCTION!)]),,
117    [enable_fapi_async_tests=no])
118AS_IF([test "x$enable_fapi_async_tests" = "xyes"],
119    AC_DEFINE([TEST_FAPI_ASYNC], [1], [FAPI forced async spinning]))
120AS_IF([test "x$enable_fapi_async_tests" = "xyes"],
121    AC_MSG_WARN("FAPI compiled with asynchronous spinning testing. NOT FOR PRODUCTION!"))
122
123AC_ARG_ENABLE([tcti-device-async],
124    AS_HELP_STRING([--enable-tcti-device-async],
125	           [Enable asynchronus operation on TCTI device
126		    (note: This needs to be supported by the kernel driver).]),,
127    [enable_tcti_device_async=no])
128AS_IF([test "x$enable_tcti_device_async" = "xyes"],
129	AC_DEFINE([TCTI_ASYNC],[1], [TCTI ASYNC MODE]))
130
131AC_ARG_ENABLE([tcti-partial-reads],
132    AS_HELP_STRING([--enable-tcti-partial-reads],
133	           [Enable partial reads for TCTI device
134		    (note: This needs to be supported by the kernel driver).]),,
135    [enable_tcti_partial_reads=no])
136AS_IF([test "x$enable_tcti_partial_reads" = "xyes"],
137	AC_DEFINE([TCTI_PARTIAL_READ],[1], [TCTI PARTIAL READ MODE]))
138
139AC_ARG_WITH([crypto],
140            [AS_HELP_STRING([--with-crypto={gcrypt,ossl}],
141                            [sets the ESAPI crypto backend (default is OpenSSL)])],,
142            [with_crypto=ossl])
143
144AM_CONDITIONAL(ESYS_OSSL, test "x$with_crypto" = "xossl")
145AM_CONDITIONAL(ESYS_GCRYPT, test "x$with_crypto" = "xgcrypt")
146
147AS_IF([test "x$enable_esapi" = xyes],
148      [AS_IF([test "x$with_crypto" = xgcrypt], [
149           AM_PATH_LIBGCRYPT([1.6.0], [], [AC_MSG_ERROR([Missing required gcrypt library])])
150           TSS2_ESYS_CFLAGS_CRYPTO="$LIBGCRYPT_CFLAGS"
151           TSS2_ESYS_LDFLAGS_CRYPTO="$LIBGCRYPT_LIBS"
152       ], [test "x$with_crypto" = xossl], [
153           PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto])
154           AC_DEFINE([OSSL], [1], [OpenSSL cryptographic backend])
155           TSS2_ESYS_CFLAGS_CRYPTO="$LIBCRYPTO_CFLAGS"
156           TSS2_ESYS_LDFLAGS_CRYPTO="$LIBCRYPTO_LIBS"
157       ], AC_MSG_ERROR([Bad value for --with-crypto $with_crypto]))])
158AC_SUBST([TSS2_ESYS_CFLAGS_CRYPTO])
159AC_SUBST([TSS2_ESYS_LDFLAGS_CRYPTO])
160
161AS_IF([test "x$enable_fapi" != xno -a "x$enable_esapi" = "xno"],
162    AC_MSG_ERROR([ESAPI has to be enabled to compile FAPI.]))
163
164AS_IF([test "x$enable_fapi" != xno -a "x$with_crypto" != "xossl"],
165    AC_MSG_ERROR([FAPI has to be compiled with OpenSSL]))
166
167AS_IF([test "x$enable_fapi" = xyes ],
168    PKG_CHECK_MODULES([JSON_C], [json-c]))
169
170AS_IF([test "x$enable_fapi" = xyes ],
171    PKG_CHECK_MODULES([CURL], [libcurl]))
172
173AC_ARG_WITH([tctidefaultmodule],
174            [AS_HELP_STRING([--with-tctidefaultmodule],
175[The default TCTI module for ESAPI. (Default: libtss2-tcti-default.so)])],
176            [AC_DEFINE_UNQUOTED([ESYS_TCTI_DEFAULT_MODULE],
177                                ["$with_tctidefaultmodule"],
178                                ["The default TCTI library file"])],
179	    [with_tctidefaultmodule=libtss2-tcti-default.so])
180
181AC_ARG_WITH([tctidefaultconfig],
182            [AS_HELP_STRING([--with-tctidefaultconfig],
183                            [The default tcti module's configuration.])],
184            [AC_DEFINE_UNQUOTED([ESYS_TCTI_DEFAULT_CONFIG],
185                                ["$with_tctidefaultconfig"],
186                                ["The default TCTIs configuration string"])])
187
188AC_ARG_ENABLE([tcti-device],
189            [AS_HELP_STRING([--disable-tcti-device],
190                            [don't build the tcti-device module])],,
191            [enable_tcti_device=yes])
192AM_CONDITIONAL([ENABLE_TCTI_DEVICE], [test "x$enable_tcti_device" != xno])
193AS_IF([test "x$enable_tcti_device" = "xyes"],
194	AC_DEFINE([TCTI_DEVICE],[1], [TCTI FOR DEV TPM]))
195
196AC_ARG_ENABLE([tcti-mssim],
197            [AS_HELP_STRING([--disable-tcti-mssim],
198                            [don't build the tcti-mssim module])],,
199            [enable_tcti_mssim=yes])
200AM_CONDITIONAL([ENABLE_TCTI_MSSIM], [test "x$enable_tcti_mssim" != xno])
201AS_IF([test "x$enable_tcti_mssim" = "xyes"],
202	AC_DEFINE([TCTI_MSSIM],[1], [TCTI FOR MS SIMULATOR]))
203
204AC_ARG_ENABLE([tcti-fuzzing],
205            [AS_HELP_STRING([--enable-tcti-fuzzing],
206                            [build the tcti-fuzzing module])],,
207            [enable_tcti_fuzzing=no])
208AM_CONDITIONAL([ENABLE_TCTI_FUZZING], [test "x$enable_tcti_fuzzing" != xno])
209AS_IF([test "x$enable_tcti_fuzzing" = "xyes"],
210	AC_DEFINE([TCTI_FUZZING],[1], [TCTI FOR FUZZING]))
211
212AC_ARG_ENABLE([nodl],
213              [AS_HELP_STRING([--enable-nodl],
214                              [link against TCTIs directly, do not use dlopen])],
215              [],
216              [enable_nodl=no])
217AM_CONDITIONAL([NO_DL], [test "x$enable_nodl" = "xyes"])
218AS_IF([test "x$enable_nodl" = "xyes"],
219      [AC_DEFINE([NO_DL],[1], [disable use of dlopen])])
220
221#
222# udev
223#
224AC_ARG_WITH([udevrulesdir],
225            [AS_HELP_STRING([--with-udevrulesdir=DIR],[udev rules directory])],,
226            [with_udevrulesdir=${libdir}/udev/rules.d])
227AX_NORMALIZE_PATH([with_udevrulesdir])
228AC_SUBST([udevrulesdir], [$with_udevrulesdir])
229AC_ARG_WITH([udevrulesprefix],
230            [AS_HELP_STRING([--with-udevrulesprefix=XY],[prefix for udev rules file])],
231            [AC_SUBST([udevrulesprefix],[$with_udevrulesprefix])])
232AM_CONDITIONAL(WITH_UDEVRULESPREFIX, [test -n "$with_udevrulesprefix"])
233#
234# enable integration tests and check for simulator binary
235#
236AC_ARG_ENABLE([integration],
237    [AS_HELP_STRING([--enable-integration],
238        [build and execute integration tests])],,
239    [enable_integration=no])
240AS_IF([test "x$enable_integration" = "xyes" -a "$HOSTOS" = "Linux"],
241      [ERROR_IF_NO_PROG([tpm_server])
242       ERROR_IF_NO_PROG([ss])
243       ERROR_IF_NO_PROG([ps])
244       ERROR_IF_NO_PROG([echo])
245       ERROR_IF_NO_PROG([kill])
246       ERROR_IF_NO_PROG([stdbuf])
247       ERROR_IF_NO_PROG([sleep])
248       ERROR_IF_NO_PROG([cat])
249       ERROR_IF_NO_PROG([realpath])
250       ERROR_IF_NO_PROG([dirname])
251       ERROR_IF_NO_PROG([basename])
252       ERROR_IF_NO_PROG([mktemp])
253       ERROR_IF_NO_PROG([od])
254       ERROR_IF_NO_PROG([awk])
255       ERROR_IF_NO_PROG([expr])
256       ERROR_IF_NO_PROG([grep])
257       ERROR_IF_NO_PROG([env])
258       ERROR_IF_NO_PROG([rm])
259       AS_IF([test "x$with_crypto" != xossl -o "x$enable_esapi" != xyes],
260           PKG_CHECK_MODULES([LIBCRYPTO],[libcrypto]))
261       AC_CHECK_HEADER(uthash.h, [], [AC_MSG_ERROR([Can not find uthash.h. Please install uthash-dev])])
262       AS_IF([test "x$enable_tcti_mssim" = xno],
263              AC_MSG_ERROR([Integration tests can not be enabled without the TCTI_MSSIM module]))
264       AC_SUBST([ENABLE_INTEGRATION], [$enable_integration])])
265AM_CONDITIONAL([ENABLE_INTEGRATION],[test "x$enable_integration" = "xyes"])
266#
267# sanitizer compiler flags
268#
269AC_ARG_WITH([sanitizer],
270            [AS_HELP_STRING([--with-sanitizer={none,address,undefined}],
271                            [build with the given sanitizer])],,
272            [with_sanitizer=none])
273AS_CASE(["x$with_sanitizer"],
274        ["xnone"],
275        [],
276        ["xaddress"],
277        [
278            SANITIZER_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
279            SANITIZER_LDFLAGS="-lasan"
280        ],
281        ["xundefined"],
282        [
283            SANITIZER_CFLAGS="-fsanitize=undefined"
284            SANITIZER_LDFLAGS="-lubsan"
285        ],
286        [AC_MSG_ERROR([Bad value for --with-sanitizer])])
287AC_SUBST([SANITIZER_CFLAGS])
288AC_SUBST([SANITIZER_LDFLAGS])
289#
290# fuzz testing
291#
292AC_ARG_WITH([fuzzing],
293            [AS_HELP_STRING([--with-fuzzing={none,libfuzzer,ossfuzz}],
294                            [fuzzing to build with (default is none)])],,
295            [with_fuzzing=none])
296AS_CASE(["x$with_fuzzing"],
297        ["xnone"],
298        [],
299        ["xlibfuzzer"],
300        [ADD_FUZZING_FLAG([-fsanitize=fuzzer])],
301        ["xossfuzz"],
302        [AS_IF([test "x$LIB_FUZZING_ENGINE" = "x"],
303               AC_MSG_ERROR([OSS Fuzz testing requires LIB_FUZZING_ENGINE environment variable be set]))
304         ADD_FUZZING_FLAG([-lFuzzingEngine])],
305        [AC_MSG_ERROR([Bad value for --with-fuzzing])])
306AM_CONDITIONAL([ENABLE_FUZZING],[test "x$with_fuzzing" != "xnone"])
307AS_IF([test "x$with_fuzzing" != "xnone"],
308      [AS_IF([test "x$enable_tcti_fuzzing" = xno],
309             AC_MSG_ERROR([Fuzz tests can not be enabled without the TCTI_FUZZING module]))
310       AS_IF([test "x$GEN_FUZZ" != "x1"],
311             AC_MSG_ERROR([Fuzz tests can not be enabled without "GEN_FUZZ=1" variable]))])
312
313AX_VALGRIND_CHECK
314
315gl_LD_VERSION_SCRIPT
316
317AC_ARG_WITH([maxloglevel],
318            [AS_HELP_STRING([--with-maxloglevel={none,error,warning,info,debug,trace}],
319                            [sets the maximum log level (default is trace)])],,
320            [with_maxloglevel=trace])
321AS_CASE(["x$with_maxloglevel"],
322        ["xnone"],
323        [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [0], ["Logging disabled"])],
324        ["xerror"],
325        [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [2], ["Error log level"])],
326        ["xwarning"],
327        [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [3], ["Warning log level"])],
328        ["xinfo"],
329        [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [4], ["Info log level"])],
330        ["xdebug"],
331        [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [5], ["Debug log level"])],
332        ["xtrace"],
333        [AC_DEFINE_UNQUOTED([MAXLOGLEVEL], [6], ["Trace log level"])],
334        [AC_MSG_ERROR([Bad value for --with-maxloglevel])])
335
336AC_ARG_ENABLE([defaultflags],
337              [AS_HELP_STRING([--disable-defaultflags],
338                              [Disable default preprocessor, compiler, and linker flags.])],,
339              [enable_defaultflags=yes])
340AS_IF([test "x$enable_defaultflags" = "xyes"],
341      [
342      AS_IF([test "x$enable_debug" = "xno"],
343            [ADD_COMPILER_FLAG([-O2])
344             AX_ADD_FORTIFY_SOURCE])
345      ADD_COMPILER_FLAG([-std=c99])
346      ADD_COMPILER_FLAG([-Wall])
347      ADD_COMPILER_FLAG([-Wextra])
348      ADD_COMPILER_FLAG([-Wformat-security])
349      AS_IF([test "x$ax_is_release" = "xno"],
350          [ADD_COMPILER_FLAG([-Werror])])
351      ADD_COMPILER_FLAG([-fstack-protector-all])
352      ADD_COMPILER_FLAG([-fpic])
353      ADD_COMPILER_FLAG([-fPIC])
354      # work around GCC bug #53119
355      #   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
356      ADD_COMPILER_FLAG([-Wno-missing-braces])
357      ADD_COMPILER_FLAG([-Wstrict-overflow=5])
358      ADD_LINK_FLAG([-Wl,--no-undefined])
359      ADD_LINK_FLAG([-Wl,-z,noexecstack])
360      ADD_LINK_FLAG([-Wl,-z,now])
361      ADD_LINK_FLAG([-Wl,-z,relro])
362      ])
363
364AC_ARG_ENABLE([weakcrypto],
365    [AS_HELP_STRING([--disable-weakcrypto],
366	           [Disable crypto algorithms considered weak])],,
367    [enable_weakcrypto=no])
368AS_IF([test "x$enable_weakcrypto" = "xyes"],
369	AC_DEFINE([DISABLE_WEAK_CRYPTO],[1],[DISABLE WEAK CRYPTO ALGORITHMS]))
370
371AC_SUBST([PATH])
372
373dnl ---------  Physical TPM device -----------------------
374
375AC_ARG_WITH([ptpm],
376            [AS_HELP_STRING([--with-ptpm=<device>],[TPM device])],
377            [AS_IF([test \( -w "$with_ptpm" \)  -a \( -r "$with_ptpm" \)],
378                   [AC_MSG_RESULT([success])
379                    AC_SUBST([PTPM],[$with_ptpm])
380                    AX_NORMALIZE_PATH([with_ptpm])
381                    with_ptpm_set=yes],
382                   [AC_MSG_ERROR([TPM device provided does not exist or is not writable])])],
383            [with_ptpm_set=no])
384AM_CONDITIONAL([PTPM],[test "x$with_ptpm_set" = "xyes"])
385
386AC_ARG_WITH([ptpmtests],
387            [AS_HELP_STRING([--with-ptpmtests=<case>],[Comma-separated values of possible tests: destructive,mandatory,optional] default is mandatory)],
388            [AS_IF([test "x" =  x$(echo $with_ptpmtests | sed 's/destructive//g'  | sed 's/mandatory//g'  | sed 's/optional//g' | sed 's/,//g') ],
389                   [AC_MSG_RESULT([success])
390                    with_ptpmtests_set=yes],
391                   [AC_MSG_ERROR([Illegal test type for pTPM tests.])])],
392            [with_ptpmtests="mandatory"])
393
394if echo $with_ptpmtests | grep destructive > /dev/null; then
395    enable_ptpm_destructive="yes"
396fi
397AM_CONDITIONAL([PTPMDESTRUCTIVE],[test "x$enable_ptpm_destructive" = "xyes"])
398
399if echo $with_ptpmtests | grep optional > /dev/null; then
400    enable_ptpm_optional="yes"
401fi
402AM_CONDITIONAL([PTPMOPTIONAL],[test "x$enable_ptpm_optional" = "xyes"])
403
404if echo $with_ptpmtests | grep mandatory > /dev/null; then
405    enable_ptpm_mandatory="yes"
406fi
407AM_CONDITIONAL([PTPMMANDATORY],[test "x$enable_ptpm_mandatory" = "xyes"])
408
409AM_CONDITIONAL([TESTPTPM],[test "x$with_ptpm_set" = xyes])
410
411dnl --------- Doxy Gen -----------------------
412DX_DOXYGEN_FEATURE(ON)
413DX_DOT_FEATURE(OFF)
414DX_HTML_FEATURE(ON)
415DX_CHM_FEATURE(OFF)
416DX_CHI_FEATURE(OFF)
417DX_MAN_FEATURE(ON)
418DX_RTF_FEATURE(ON)
419DX_XML_FEATURE(OFF)
420DX_PDF_FEATURE(OFF)
421DX_PS_FEATURE(OFF)
422DX_INIT_DOXYGEN($PACKAGE_NAME, [Doxyfile], [doxygen-doc])
423AM_CONDITIONAL(DOXYMAN, [test $DX_FLAG_man -eq 1])
424
425AS_IF([test "x$enable_doxygen_doc" != xno],
426      [ERROR_IF_NO_PROG([doxygen])])
427
428AX_CODE_COVERAGE
429m4_ifdef([_AX_CODE_COVERAGE_RULES],
430         [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [true])],
431         [AM_CONDITIONAL(AUTOCONF_CODE_COVERAGE_2019_01_06, [false])])
432AX_ADD_AM_MACRO_STATIC([])
433
434AM_COND_IF([ENABLE_TCTI_DEVICE], [],
435           [AM_COND_IF([ENABLE_TCTI_MSSIM], [],
436                       [AM_COND_IF([ENABLE_TCTI_FUZZING], [],
437                                   [AC_MSG_WARN("No build-in TCTI module enabled")])])])
438
439AM_COND_IF([ENABLE_TCTI_FUZZING], [
440            AM_COND_IF([ENABLE_TCTI_DEVICE],
441                       AC_MSG_ERROR([Fuzzing TCTI is meant to be built as the only TCTI: use --disable-tcti-device --disable-tcti-mssim]))
442            AM_COND_IF([ENABLE_TCTI_MSSIM],
443                       AC_MSG_ERROR([Fuzzing TCTI is meant to be built as the only TCTI: use --disable-tcti-device --disable-tcti-mssim]))
444            AS_IF([test "x$CC" != "xclang"],
445                       AC_MSG_ERROR("Fuzzing TCTI can only be used with clang"), [])
446            ], [])
447
448AC_OUTPUT
449
450AC_MSG_RESULT([
451    $PACKAGE_NAME $VERSION
452    esapi:              $enable_esapi
453    fapi:               $enable_fapi
454    tctidefaultmodule:  $with_tctidefaultmodule
455    tctidefaultconfig:  $with_tctidefaultconfig
456    unit:               $enable_unit
457    fuzzing:            $with_fuzzing
458    debug:              $enable_debug
459    maxloglevel:        $with_maxloglevel
460    doxygen:            $DX_FLAG_doc $enable_doxygen_doc
461    tcti-device-async:  $enable_tcti_device_async
462    tcti-partial-read:  $enable_tcti_partial_reads
463    crypto backend:     $with_crypto
464    sysconfdir:         $sysconfdir
465    localstatedir:      $localstatedir
466    runstatedir:        $runstatedir
467    sysusersdir:        $sysusersdir
468    tmpfilesdir:        $tmpfilesdir
469    userstatedir:       [\$HOME/]$with_userstatedir
470])
471