mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Updated openhbci macro for latest openhbci versions.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8262 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
ce6bea0822
commit
eba6b72793
@ -5,8 +5,8 @@
|
||||
dnl AM_PATH_OPENHBCI([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for OPENHBCI, and define OPENHBCI_CFLAGS, OPENHBCI_CXXFLAGS and OPENHBCI_LIBS
|
||||
dnl
|
||||
AC_DEFUN(AM_PATH_OPENHBCI,
|
||||
[dnl
|
||||
AC_DEFUN(AM_PATH_OPENHBCI, [
|
||||
dnl
|
||||
dnl Get the c[xx]flags and libraries from openhbci-config
|
||||
dnl
|
||||
AC_MSG_CHECKING(for OpenHBCI)
|
||||
@ -34,8 +34,6 @@ if test -x "${hbci_config}" ; then
|
||||
OPENHBCI_LIBS="`${hbci_config} --libraries`"
|
||||
OPENHBCI_CFLAGS="`${hbci_config} --includes`"
|
||||
OPENHBCI_CXXFLAGS="`${hbci_config} --includes`"
|
||||
AS_SCRUB_INCLUDE(OPENHBCI_CFLAGS)
|
||||
AS_SCRUB_INCLUDE(OPENHBCI_CXXFLAGS)
|
||||
else
|
||||
AC_MSG_ERROR([
|
||||
Could not find bin/openhbci-config in prefix ${OPENHBCI_PREFIX}.
|
||||
@ -44,13 +42,14 @@ else
|
||||
fi
|
||||
AC_MSG_RESULT($hbci_dir)
|
||||
|
||||
min_openhbci_version=ifelse([$1], ,0.9.0,$1)
|
||||
min_openhbci_version=ifelse([$1], ,0.9.0.0,$1)
|
||||
AC_MSG_CHECKING(for OpenHBCI - version >= $min_openhbci_version)
|
||||
AC_LANG(C++)
|
||||
|
||||
if test "x$enable_openhbcitest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $OPENHBCI_CFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $OPENHBCI_CXXFLAGS"
|
||||
LIBS="$OPENHBCI_LIBS $LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed OpenHBCI is sufficiently new. (Also sanity
|
||||
@ -63,63 +62,97 @@ dnl
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifndef OPENHBCI_VERSION_BUILD
|
||||
# define OPENHBCI_VERSION_BUILD 0
|
||||
#endif
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int major, minor, micro;
|
||||
int getmajor, getminor, getmicro;
|
||||
int major, minor, micro, build;
|
||||
int getmajor, getminor, getmicro, getbuild;
|
||||
char *tmp_version;
|
||||
|
||||
system ("touch conf.openhbcitest");
|
||||
|
||||
/* HP/UX 9 writes to sscanf strings */
|
||||
tmp_version = strdup("$min_openhbci_version");
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string\n", "$min_openhbci_version");
|
||||
exit(1);
|
||||
build=0;
|
||||
if (sscanf(tmp_version, "%d.%d.%d.%d", &major, &minor, µ, &build) != 4)
|
||||
{
|
||||
build = 0;
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3)
|
||||
{
|
||||
micro = 0;
|
||||
if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2)
|
||||
{
|
||||
minor = 0;
|
||||
if (sscanf(tmp_version, "%d", &major) != 1)
|
||||
{
|
||||
printf("\n*** AM PATH OPENHBCI: bad version string: %s\n", "$min_openhbci_version");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HBCI_Hbci_libraryVersion(&getmajor, &getminor, &getmicro);
|
||||
/* in C: HBCI_Hbci_libraryVersion(&getmajor, &getminor, &getmicro); */
|
||||
#if ((OPENHBCI_VERSION_MAJOR>0) || (OPENHBCI_VERSION_MINOR>9) || \
|
||||
(OPENHBCI_VERSION_PATCHLEVEL>9) || (OPENHBCI_VERSION_BUILD>8))
|
||||
/* Four-argument libraryVersion() was introduced with 0.9.9.9. */
|
||||
HBCI::Hbci::libraryVersion(getmajor, getminor, getmicro, getbuild);
|
||||
#else
|
||||
HBCI::Hbci::libraryVersion(getmajor, getminor, getmicro);
|
||||
getbuild = OPENHBCI_VERSION_BUILD;
|
||||
#endif
|
||||
|
||||
if ((getmajor != OPENHBCI_VERSION_MAJOR) ||
|
||||
(getminor != OPENHBCI_VERSION_MINOR) ||
|
||||
(getmicro != OPENHBCI_VERSION_PATCHLEVEL))
|
||||
(getmicro != OPENHBCI_VERSION_PATCHLEVEL) ||
|
||||
(getbuild != OPENHBCI_VERSION_BUILD))
|
||||
{
|
||||
printf("*** OpenHBCI header files (version %d.%d.%d) do not match\n",
|
||||
printf("\n*** OpenHBCI header files openhbci.h "
|
||||
"(version %d.%d.%d build %d) do not match\n",
|
||||
OPENHBCI_VERSION_MAJOR,
|
||||
OPENHBCI_VERSION_MINOR,
|
||||
OPENHBCI_VERSION_PATCHLEVEL);
|
||||
printf("*** installed library (version %d.%d.%d)\n",
|
||||
getmajor, getminor, getmicro);
|
||||
OPENHBCI_VERSION_PATCHLEVEL,
|
||||
OPENHBCI_VERSION_BUILD);
|
||||
printf("*** installed library libopenhbci.so "
|
||||
"(version %d.%d.%d build %d)\n",
|
||||
getmajor, getminor, getmicro, getbuild);
|
||||
exit(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((getmajor > major) ||
|
||||
((getmajor == major) && (getminor > minor)) ||
|
||||
((getmajor == major) && (getminor == minor) && (getmicro >= micro)))
|
||||
((getmajor == major) && (getminor == minor) && (getmicro > micro)) ||
|
||||
((getmajor == major) && (getminor == minor) &&
|
||||
(getmicro == micro) && (getbuild >= build)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("\n*** An old version of OpenHBCI (%d.%d.%d) was found.\n",
|
||||
getmajor, getminor, getmicro);
|
||||
printf("*** You need OpenHBCI in version %d.%d.%d or newer. The latest version\n",
|
||||
major, minor, micro);
|
||||
printf("*** of OpenHBCI is always available from http://www.openhbci.de.\n");
|
||||
printf("***\n");
|
||||
printf("*** If you have already installed a sufficiently new version, this error\n");
|
||||
printf("*** probably means that you need to specify the right path by\n");
|
||||
printf("*** --with-openhbci-prefix=PATH. (Also, check that your LD_LIBRARY_PATH\n");
|
||||
printf("*** enviroment variable is correct, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
printf("\n*** An old version of OpenHBCI (%d.%d.%d build %d) was found.\n",
|
||||
getmajor, getminor, getmicro, getbuild);
|
||||
printf("*** You need OpenHBCI in version %d.%d.%d build %d or newer. The latest\n",
|
||||
major, minor, micro, build);
|
||||
printf("*** version of OpenHBCI is always available from http://www.openhbci.de.\n");
|
||||
if (build > 0)
|
||||
printf("*** Note: The non-zero build number '%d' indicates that the latest CVS \n"
|
||||
"*** version of openhbci is required.\n", build);
|
||||
printf("***\n"
|
||||
"*** If you have already installed a sufficiently new version, this error\n"
|
||||
"*** probably means that you need to specify the right path by\n"
|
||||
"*** --with-openhbci-prefix=PATH. (Also, check that your LD_LIBRARY_PATH\n"
|
||||
"*** enviroment variable is correct, or edit /etc/ld.so.conf\n"
|
||||
"*** so that the correct libraries are found at run-time)\n");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
],, no_openhbci=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
if test "x$no_openhbci" = x ; then
|
||||
@ -128,17 +161,17 @@ if test "x$no_openhbci" = x ; then
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test -f conf.openhbcitest ; then
|
||||
:
|
||||
:
|
||||
else
|
||||
echo "*** Could not run OpenHBCI test program, checking why..."
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $OPENHBCI_CFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $OPENHBCI_CXXFLAGS"
|
||||
LIBS="$LIBS $OPENHBCI_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <openhbci.h>
|
||||
#include <stdio.h>
|
||||
], [ return ((OPENHBCI_VERSION_MAJOR) || (OPENHBCI_VERSION_MINOR) || (OPENHBCI_VERSION_PATCHLEVEL)); ],
|
||||
], [ return ((OPENHBCI_VERSION_MAJOR) || (OPENHBCI_VERSION_MINOR)); ],
|
||||
[ echo "***"
|
||||
echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding OpenHBCI or finding the wrong"
|
||||
@ -153,10 +186,10 @@ else
|
||||
[ echo "***"
|
||||
echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means OpenHBCI is incorrectly installed."])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
OPENHBCI_CFLAGS=""
|
||||
OPENHBCI_CXXFLAGS=""
|
||||
OPENHBCI_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
exit 1;
|
||||
|
Loading…
Reference in New Issue
Block a user