diff options
Diffstat (limited to 'SoftHSMv2/configure.ac')
-rw-r--r-- | SoftHSMv2/configure.ac | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/SoftHSMv2/configure.ac b/SoftHSMv2/configure.ac new file mode 100644 index 0000000..7a9e665 --- /dev/null +++ b/SoftHSMv2/configure.ac @@ -0,0 +1,226 @@ +################## +# # +# Version # +# # +################ + +# Program version + +define([SOFTHSM_VERSION_MAJOR], [2]) +define([SOFTHSM_VERSION_MINOR], [3]) +define([SOFTHSM_VERSION_FIX], [0]) +define([PACKAGE_SUFFIX], []) + +# Library version + +# Code changed: SOFTHSM_VERSION_REVISION++ +# Interface added/removed/changed: SOFTHSM_VERSION_CURRENT++, SOFTHSM_VERSION_REVISION=0 +# Interface added: SOFTHSM_VERSION_AGE++ +# Interface removed: SOFTHSM_VERSION_AGE=0 + +define([SOFTHSM_VERSION_CURRENT], [2]) +define([SOFTHSM_VERSION_AGE], [1]) +define([SOFTHSM_VERSION_REVISION], [3]) + +################## +# # +# Configure code # +# # +################## + +# Init +AC_PREREQ(2.61) +AC_INIT([SoftHSM],[SOFTHSM_VERSION_MAJOR.SOFTHSM_VERSION_MINOR.SOFTHSM_VERSION_FIX[]PACKAGE_SUFFIX]) +AC_CONFIG_HEADER([config.h]) +AC_CONFIG_SRCDIR([src/Makefile.am]) +AC_CONFIG_MACRO_DIR([m4]) +AM_INIT_AUTOMAKE([foreign subdir-objects]) +ACX_PREFIXHACK + +# Version info for the library +VERSION_INFO="SOFTHSM_VERSION_CURRENT:SOFTHSM_VERSION_REVISION:SOFTHSM_VERSION_AGE" +AC_SUBST(VERSION_INFO) + +# Checks for compilers +AC_PROG_CC +AC_PROG_CXX + +# Compiler flags +ACX_PEDANTIC +ACX_STRICT +ACX_64BIT +AX_CXX_COMPILE_STDCXX_11([noext],[optional]) + +# Check for libraries (-ldl can be required by OpenSSL too) +ACX_DLOPEN + +# Check for headers +AC_CHECK_HEADERS([pthread.h]) + +# What crypto backend to use and if we want to have support GOST +ACX_CRYPTO_BACKEND + +# Non-paged memory for secure storage +ACX_NON_PAGED_MEMORY + +# If the user want to have the migration tool +# Requires SQLite3 +AC_ARG_WITH(migrate, + AC_HELP_STRING([--with-migrate], + [Build the migration tool. Requires SQLite3.] + ), + [build_migrate="${withval}"], + [build_migrate="no"] +) +AC_MSG_CHECKING(if building with softhsm2-migrate) +if test "x${build_migrate}" = "xyes"; then + AC_MSG_RESULT(yes) + ACX_YIELD +else + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL([BUILD_MIGRATE], [test "x${build_migrate}" = "xyes"]) + +# If the user wants to have the database storage backend +AC_ARG_WITH([objectstore-backend-db], + AC_HELP_STRING([--with-objectstore-backend-db], + [Build with object store backend database (SQLite3).] + ), + [build_objectstore_backend_db="${withval}"], + [build_objectstore_backend_db="no"] +) +AC_MSG_CHECKING(if building database object store backend) +if test "x${build_objectstore_backend_db}" = "xyes"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED( + [HAVE_OBJECTSTORE_BACKEND_DB], + [1], + [Build with object store database backend.] + ) +else + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL([BUILD_OBJECTSTORE_BACKEND_DB], [test "x${build_objectstore_backend_db}" = "xyes"]) + +# Require SQLite3 if either building --with-migrate or --with-objectstore-backend-db +AC_MSG_CHECKING(if SQLite3 required) +if test "x${build_migrate}" = "xyes" -o "x${build_objectstore_backend_db}" = "xyes"; then + AC_MSG_RESULT(yes) + ACX_SQLITE3 +else + AC_MSG_RESULT(no) +fi + +# Set visibility flags so only PKCS#11 entry points are exported +ACX_VISIBILITY + +# If we should install the p11-kit module +ACX_P11KIT + +# cppunit settings +ACX_CPPUNIT + +# Set full directory paths +full_sysconfdir=`eval eval eval eval eval echo "${sysconfdir}" | sed "s#NONE#${prefix}#" | sed "s#NONE#${ac_default_prefix}#"` +full_localstatedir=`eval eval eval eval eval echo "${localstatedir}" | sed "s#NONE#${prefix}#" | sed "s#NONE#${ac_default_prefix}#"` +full_libdir=`eval eval eval eval eval echo "${libdir}" | sed "s#NONE#${prefix}#" | sed "s#NONE#${ac_default_prefix}#"` +default_softhsm2_conf="`eval echo ${full_sysconfdir} | sed s,NONE,$ac_default_prefix,g`/softhsm2.conf" +softhsmtokendir=${full_localstatedir}/lib/softhsm/tokens/ + +# Install the library in a sub-directory +full_libdir="$full_libdir/softhsm" +libdir=$full_libdir +default_softhsm2_lib="$full_libdir/libsofthsm2.so" + +# For getConfigPath() +AC_CHECK_FUNCS([getpwuid_r]) + +# Define some variables for the code +AC_DEFINE_UNQUOTED( + [VERSION_MAJOR], + [SOFTHSM_VERSION_MAJOR], + [SoftHSM major version number via PKCS#11] +) +AC_DEFINE_UNQUOTED( + [VERSION_MINOR], + [SOFTHSM_VERSION_MINOR], + [SoftHSM minor version number via PKCS#11] +) +AC_DEFINE_UNQUOTED( + [MAX_PIN_LEN], + [255], + [Maximum PIN length] +) +AC_DEFINE_UNQUOTED( + [MIN_PIN_LEN], + [4], + [Minimum PIN length] +) +AC_DEFINE_UNQUOTED( + [DEFAULT_SOFTHSM2_CONF], + ["$default_softhsm2_conf"], + [The default location of softhsm2.conf] +) +AC_DEFINE_UNQUOTED( + [DEFAULT_TOKENDIR], + ["$softhsmtokendir"], + [The default location of the token directory] +) +AC_DEFINE_UNQUOTED( + [DEFAULT_OBJECTSTORE_BACKEND], + ["file"], + [Default storage backend for token objects] +) +AC_DEFINE_UNQUOTED( + [DEFAULT_LOG_LEVEL], + ["INFO"], + [The default log level] +) +AC_DEFINE_UNQUOTED( + [DEFAULT_PKCS11_LIB], + ["$default_softhsm2_lib"], + [The default PKCS#11 library] +) + +AC_SUBST([softhsmtokendir]) +AC_SUBST([default_softhsm2_conf]) +AC_SUBST([default_softhsm2_lib]) + +# Generate the libtool script and install script +AC_PROG_INSTALL +AC_PROG_LIBTOOL + +# Generate the makefiles +AC_CONFIG_FILES([ + Makefile + softhsm2.module + src/Makefile + src/lib/Makefile + src/lib/common/Makefile + src/lib/common/softhsm2.conf + src/lib/common/softhsm2.conf.5 + src/lib/crypto/Makefile + src/lib/crypto/test/Makefile + src/lib/data_mgr/Makefile + src/lib/data_mgr/test/Makefile + src/lib/object_store/Makefile + src/lib/object_store/test/Makefile + src/lib/session_mgr/Makefile + src/lib/session_mgr/test/Makefile + src/lib/slot_mgr/Makefile + src/lib/slot_mgr/test/Makefile + src/lib/handle_mgr/Makefile + src/lib/handle_mgr/test/Makefile + src/lib/test/Makefile + src/lib/test/softhsm2.conf + src/lib/test/softhsm2-alt.conf + src/lib/test/tokens/dummy + src/bin/Makefile + src/bin/common/Makefile + src/bin/dump/Makefile + src/bin/keyconv/Makefile + src/bin/migrate/Makefile + src/bin/util/Makefile +]) + +AC_OUTPUT |