blob: 7a9e6655fc47518b05c5350c35000c1849dfde69 [file] [log] [blame]
##################
# #
# 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