mirror of
https://git.code.sf.net/p/linux-ima/ima-evm-utils
synced 2025-04-26 22:02:31 +02:00

New to this release is CI support for testing new kernel integrity features not yet upstreamed and bugfixes, or functionality not enabled by distros in a User Mode Linux (UML) environment. Testing in a UML environment also allows saving CI build artifacts, such as private keys, needed for creating and loading public keys onto the trusted kernel keyrings. These public keys may be used for code - file data and metadata - signature verification. See the NEWS file for a short summary of changes and the git history for details. Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
105 lines
3.4 KiB
Plaintext
105 lines
3.4 KiB
Plaintext
# autoconf script
|
|
|
|
AC_PREREQ([2.65])
|
|
AC_INIT(ima-evm-utils, 1.5, zohar@linux.ibm.com)
|
|
AM_INIT_AUTOMAKE([foreign])
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_CANONICAL_HOST
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CC
|
|
AM_PROG_CC_C_O
|
|
#AC_PROG_CXX
|
|
#AC_PROG_CPP
|
|
AC_PROG_INSTALL
|
|
#AC_PROG_LN_S
|
|
AC_CHECK_PROG(have_pandoc, [pandoc], [yes], [no])
|
|
AM_CONDITIONAL([HAVE_PANDOC], [test "x$have_pandoc" = "xyes"])
|
|
LT_INIT
|
|
|
|
# FIXME: Replace `main' with a function in `-lpthread':
|
|
#AC_CHECK_LIB([pthread], [main])
|
|
|
|
PKG_CHECK_MODULES(LIBCRYPTO, [libcrypto >= 0.9.8 ])
|
|
AC_SUBST(KERNEL_HEADERS)
|
|
AC_CHECK_HEADER(unistd.h)
|
|
AC_CHECK_HEADERS(openssl/conf.h)
|
|
|
|
# Intel TSS
|
|
AC_CHECK_LIB([tss2-esys], [Esys_Free])
|
|
AC_CHECK_LIB([tss2-rc], [Tss2_RC_Decode])
|
|
AM_CONDITIONAL([USE_PCRTSS], [test "x$ac_cv_lib_tss2_esys_Esys_Free" = "xyes"])
|
|
|
|
# IBM TSS include files
|
|
AC_CHECK_HEADER(ibmtss/tss.h, [], [], [[#define TPM_POSIX]])
|
|
AM_CONDITIONAL([USE_IBMTSS], [test "x$ac_cv_header_ibmtss_tss_h" = "xyes"])
|
|
|
|
AC_CHECK_HEADERS(sys/xattr.h, , [AC_MSG_ERROR([sys/xattr.h header not found. You need the c-library development package.])])
|
|
AC_CHECK_HEADERS(keyutils.h, , [AC_MSG_ERROR([keyutils.h header not found. You need the libkeyutils development package.])])
|
|
|
|
AC_ARG_WITH(kernel_headers, [AS_HELP_STRING([--with-kernel-headers=PATH],
|
|
[specifies the Linux kernel-headers package location or kernel root directory you want to use])],
|
|
[KERNEL_HEADERS="$withval"],
|
|
[KERNEL_HEADERS=/lib/modules/$(uname -r)/source])
|
|
|
|
AC_ARG_ENABLE([openssl_conf],
|
|
[AS_HELP_STRING([--disable-openssl-conf], [disable loading of openssl config by evmctl])],
|
|
[if test "$enable_openssl_conf" = "no"; then
|
|
AC_DEFINE(DISABLE_OPENSSL_CONF, 1, [Define to disable loading of openssl config by evmctl.])
|
|
fi], [enable_openssl_conf=yes])
|
|
|
|
AC_ARG_ENABLE(sigv1,
|
|
AS_HELP_STRING([--enable-sigv1], [Build ima-evm-utils with signature v1 support]))
|
|
AM_CONDITIONAL([CONFIG_SIGV1], [test "x$enable_sigv1" = "xyes"])
|
|
AS_IF([test "$enable_sigv1" != "yes"], [enable_sigv1="no"])
|
|
|
|
AC_ARG_ENABLE(engine,
|
|
[AS_HELP_STRING([--disable-engine], [build ima-evm-utils without OpenSSL engine support])],,[enable_engine=yes])
|
|
AC_CHECK_LIB([crypto], [ENGINE_init],, [enable_engine=no])
|
|
AM_CONDITIONAL([CONFIG_IMA_EVM_ENGINE], [test "x$enable_engine" = "xyes"])
|
|
|
|
#debug support - yes for a while
|
|
PKG_ARG_ENABLE(debug, "yes", DEBUG, [Enable Debug support])
|
|
if test $pkg_cv_enable_debug = yes; then
|
|
CFLAGS="$CFLAGS -g -O1 -Wall -Wstrict-prototypes -pipe"
|
|
else
|
|
CFLAGS="$CFLAGS -Wall -Wstrict-prototypes -pipe -fomit-frame-pointer"
|
|
fi
|
|
|
|
EVMCTL_MANPAGE_DOCBOOK_XSL
|
|
AX_DEFAULT_HASH_ALGO([$KERNEL_HEADERS])
|
|
|
|
# for gcov
|
|
#CFLAGS="$CFLAGS -Wall -fprofile-arcs -ftest-coverage"
|
|
#CXXFLAGS="$CXXFLAGS -Wall -fprofile-arcs -ftest-coverage"
|
|
#LDFLAGS="$LDFLAGS -fprofile-arcs"
|
|
#DISTCLEANFILES="*.gcno *.gcda"
|
|
|
|
AC_CONFIG_FILES([Makefile
|
|
src/Makefile
|
|
tests/Makefile
|
|
doc/Makefile
|
|
doc/sf/Makefile
|
|
packaging/ima-evm-utils.spec
|
|
])
|
|
AC_OUTPUT
|
|
|
|
# Give some feedback
|
|
echo
|
|
echo
|
|
echo "Configuration:"
|
|
echo " debug: $pkg_cv_enable_debug"
|
|
echo " default-hash: $HASH_ALGO"
|
|
echo " openssl-conf: $enable_openssl_conf"
|
|
echo " tss2-esys: $ac_cv_lib_tss2_esys_Esys_Free"
|
|
echo " tss2-rc-decode: $ac_cv_lib_tss2_rc_Tss2_RC_Decode"
|
|
echo " ibmtss: $ac_cv_header_ibmtss_tss_h"
|
|
echo " sigv1: $enable_sigv1"
|
|
echo " engine: $enable_engine"
|
|
echo " doc: $have_doc"
|
|
echo " pandoc: $have_pandoc"
|
|
echo
|