diff options
Diffstat (limited to 'SoftHSMv2/m4/acx_botan.m4')
-rw-r--r-- | SoftHSMv2/m4/acx_botan.m4 | 73 |
1 files changed, 48 insertions, 25 deletions
diff --git a/SoftHSMv2/m4/acx_botan.m4 b/SoftHSMv2/m4/acx_botan.m4 index ed93786..346a180 100644 --- a/SoftHSMv2/m4/acx_botan.m4 +++ b/SoftHSMv2/m4/acx_botan.m4 @@ -1,39 +1,64 @@ AC_DEFUN([ACX_BOTAN],[ + WITH_BOTAN= AC_ARG_WITH(botan, AC_HELP_STRING([--with-botan=PATH],[Specify prefix of path of Botan]), [ BOTAN_PATH="$withval" + WITH_BOTAN=1 ], [ BOTAN_PATH="/usr/local" ]) - BOTAN_VERSION_MAJOR=2 - BOTAN_VERSION_MINOR=0 - AC_CHECK_FILE($BOTAN_PATH/include/botan-2/botan/version.h, - BOTAN_VERSION_MAJOR=2 - BOTAN_VERSION_MINOR=0, - AC_CHECK_FILE($BOTAN_PATH/include/botan-1.11/botan/version.h, - BOTAN_VERSION_MAJOR=1 - BOTAN_VERSION_MINOR=11, - AC_CHECK_FILE($BOTAN_PATH/include/botan-1.10/botan/version.h, - BOTAN_VERSION_MAJOR=1 - BOTAN_VERSION_MINOR=10, - AC_MSG_ERROR([Cannot find Botan includes])))) - AC_MSG_CHECKING(what are the Botan includes) - if test "x${BOTAN_VERSION_MAJOR}" = "x2"; then - BOTAN_INCLUDES="-I$BOTAN_PATH/include/botan-2" + if test -n "${PKG_CONFIG}" && test -z "${WITH_BOTAN}"; then + PKG_CHECK_MODULES([BOTAN], [botan-2 >= $1.$2.$3], [ + BOTAN_VERSION_MAJOR=2 + BOTAN_VERSION_MINOR=0 + ],[ + PKG_CHECK_MODULES([BOTAN], [botan-1.11 >= $1.$2.$3], [ + BOTAN_VERSION_MAJOR=1 + BOTAN_VERSION_MINOR=11 + ],[ + PKG_CHECK_MODULES([BOTAN], [botan-1.10 >= $1.$2.$3], [ + BOTAN_VERSION_MAJOR=1 + BOTAN_VERSION_MINOR=10 + ],[ + AC_MSG_ERROR([Cannot find Botan]) + ]) + ]) + ]) else - BOTAN_INCLUDES="-I$BOTAN_PATH/include/botan-1.$BOTAN_VERSION_MINOR" + BOTAN_VERSION_MAJOR=2 + BOTAN_VERSION_MINOR=0 + if test -f "$BOTAN_PATH/include/botan-2/botan/version.h"; then + BOTAN_VERSION_MAJOR=2 + BOTAN_VERSION_MINOR=0 + elif test -f "$BOTAN_PATH/include/botan-1.11/botan/version.h"; then + BOTAN_VERSION_MAJOR=1 + BOTAN_VERSION_MINOR=11 + elif test -f "$BOTAN_PATH/include/botan-1.10/botan/version.h"; then + BOTAN_VERSION_MAJOR=1 + BOTAN_VERSION_MINOR=10 + else + AC_MSG_ERROR([Cannot find Botan includes]) + fi + + if test "x${BOTAN_VERSION_MAJOR}" = "x2"; then + BOTAN_CFLAGS="-I$BOTAN_PATH/include/botan-2" + BOTAN_LIBS="-L$BOTAN_PATH/lib -lbotan-2" + else + BOTAN_CFLAGS="-I$BOTAN_PATH/include/botan-1.$BOTAN_VERSION_MINOR" + BOTAN_LIBS="-L$BOTAN_PATH/lib -lbotan-1.$BOTAN_VERSION_MINOR" + fi + + AC_SUBST(BOTAN_CFLAGS) + AC_SUBST(BOTAN_LIBS) fi - AC_MSG_RESULT($BOTAN_INCLUDES) + + AC_MSG_CHECKING(what are the Botan includes) + AC_MSG_RESULT($BOTAN_CFLAGS) AC_MSG_CHECKING(what are the Botan libs) - if test "x${BOTAN_VERSION_MAJOR}" = "x2"; then - BOTAN_LIBS="-L$BOTAN_PATH/lib -lbotan-2" - else - BOTAN_LIBS="-L$BOTAN_PATH/lib -lbotan-1.$BOTAN_VERSION_MINOR" - fi AC_MSG_RESULT($BOTAN_LIBS) if test "x${BOTAN_VERSION_MAJOR}" != "x1" -o "x${BOTAN_VERSION_MINOR}" != "x10"; then @@ -43,7 +68,7 @@ AC_DEFUN([ACX_BOTAN],[ tmp_CPPFLAGS=$CPPFLAGS tmp_LIBS=$LIBS - CPPFLAGS="$CPPFLAGS $BOTAN_INCLUDES" + CPPFLAGS="$CPPFLAGS $BOTAN_CFLAGS" LIBS="$LIBS $BOTAN_LIBS" AC_LANG_PUSH([C++]) @@ -65,8 +90,6 @@ AC_DEFUN([ACX_BOTAN],[ CPPFLAGS=$tmp_CPPFLAGS LIBS=$tmp_LIBS - AC_SUBST(BOTAN_INCLUDES) - AC_SUBST(BOTAN_LIBS) AC_SUBST(BOTAN_VERSION_MAJOR) AC_SUBST(BOTAN_VERSION_MINOR) ]) |