mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
* src/import-export/hbci/*: Add Direct Debit HBCI action. Much more work on error handling and user feedback. Make the caching of the PIN a user preference. * po/de.po, po/glossary/de.po, po/POTFILES.in: Update German Translation. * configure.in, macros/openhbci.m4: Update required OpenHBCI version (now 0.9.3 i.e. current OpenHBCI's CVS). * src/app-utils/prefs.scm, src/import-export/qif-import/druid-qif-import.c: Add cache-PIN preference for HBCI. Rename preference tab to "Importing/Online". git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7402 57a11ea4-9604-0410-9ed3-97b8803252fd
167 lines
5.4 KiB
Plaintext
167 lines
5.4 KiB
Plaintext
# Configure paths for OpenHBCI
|
|
# by Christian Stimming 2002-07-30
|
|
# Copied from glib-2.0.m4 by Owen Taylor 1997-2001
|
|
|
|
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
|
|
dnl Get the c[xx]flags and libraries from openhbci-config
|
|
dnl
|
|
AC_MSG_CHECKING(for OpenHBCI)
|
|
AC_ARG_ENABLE(openhbcitest, [ --disable-openhbcitest do not try to compile and run a test OpenHBCI program],
|
|
, enable_openhbcitest=yes)
|
|
|
|
AC_ARG_WITH( openhbci-prefix,
|
|
[ --with-openhbci-prefix=PFX Prefix where OpenHBCI is installed],
|
|
OPENHBCI_PREFIX="$with_openhbci_prefix",
|
|
OPENHBCI_PREFIX="${prefix} \
|
|
/usr/local \
|
|
/usr/local/openhbci \
|
|
/usr")
|
|
|
|
hbci_config=""
|
|
for li in $OPENHBCI_PREFIX; do
|
|
if test -x "${li}/bin/openhbci-config"; then
|
|
hbci_config="${li}/bin/openhbci-config"
|
|
hbci_dir="${li}"
|
|
break
|
|
fi
|
|
done
|
|
|
|
if test -x "${hbci_config}" ; then
|
|
OPENHBCI_LIBS="`${hbci_config} --libraries`"
|
|
OPENHBCI_CFLAGS="`${hbci_config} --includes`"
|
|
OPENHBCI_CXXFLAGS="`${hbci_config} --includes`"
|
|
else
|
|
AC_MSG_ERROR([
|
|
Could not find bin/openhbci-config in prefix ${OPENHBCI_PREFIX}.
|
|
Please specify the right path by --with-openhbci-prefix=PREFIX.
|
|
])
|
|
fi
|
|
AC_MSG_RESULT($hbci_dir)
|
|
|
|
min_openhbci_version=ifelse([$1], ,0.9.0,$1)
|
|
AC_MSG_CHECKING(for OpenHBCI - version >= $min_openhbci_version)
|
|
|
|
if test "x$enable_openhbcitest" = "xyes" ; then
|
|
ac_save_CFLAGS="$CFLAGS"
|
|
ac_save_LIBS="$LIBS"
|
|
CFLAGS="$CFLAGS $OPENHBCI_CFLAGS"
|
|
LIBS="$OPENHBCI_LIBS $LIBS"
|
|
dnl
|
|
dnl Now check if the installed OpenHBCI is sufficiently new. (Also sanity
|
|
dnl checks the results of path guessing to some extent)
|
|
dnl
|
|
rm -f conf.openhbcitest
|
|
AC_TRY_RUN([
|
|
#include <openhbci.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
int
|
|
main ()
|
|
{
|
|
int major, minor, micro;
|
|
int getmajor, getminor, getmicro;
|
|
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);
|
|
}
|
|
|
|
HBCI_Hbci_libraryVersion(&getmajor, &getminor, &getmicro);
|
|
|
|
if ((getmajor != OPENHBCI_VERSION_MAJOR) ||
|
|
(getminor != OPENHBCI_VERSION_MINOR) ||
|
|
(getmicro != OPENHBCI_VERSION_PATCHLEVEL))
|
|
{
|
|
printf("*** OpenHBCI header files (version %d.%d.%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);
|
|
exit(1);
|
|
}
|
|
else
|
|
{
|
|
if ((getmajor > major) ||
|
|
((getmajor == major) && (getminor > minor)) ||
|
|
((getmajor == major) && (getminor == minor) && (getmicro >= micro)))
|
|
{
|
|
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");
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
],, no_openhbci=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
|
CFLAGS="$ac_save_CFLAGS"
|
|
LIBS="$ac_save_LIBS"
|
|
fi
|
|
if test "x$no_openhbci" = x ; then
|
|
AC_MSG_RESULT(yes)
|
|
ifelse([$2], , :, [$2])
|
|
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_LIBS="$LIBS"
|
|
CFLAGS="$CFLAGS $OPENHBCI_CFLAGS"
|
|
LIBS="$LIBS $OPENHBCI_LIBS"
|
|
AC_TRY_LINK([
|
|
#include <openhbci.h>
|
|
#include <stdio.h>
|
|
], [ return ((OPENHBCI_VERSION_MAJOR) || (OPENHBCI_VERSION_MINOR) || (OPENHBCI_VERSION_PATCHLEVEL)); ],
|
|
[ 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"
|
|
echo "*** version of OpenHBCI. If it is not finding OpenHBCI, you'll need to set your"
|
|
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
|
|
echo "*** to the installed location Also, make sure you have run ldconfig if that"
|
|
echo "*** is required on your system."
|
|
echo "***"
|
|
echo "*** If you have an old version installed, it is best to remove it, although"
|
|
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH."
|
|
echo "***" ],
|
|
[ 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"
|
|
LIBS="$ac_save_LIBS"
|
|
fi
|
|
OPENHBCI_CFLAGS=""
|
|
OPENHBCI_LIBS=""
|
|
ifelse([$3], , :, [$3])
|
|
exit 1;
|
|
fi
|
|
AC_SUBST(OPENHBCI_CFLAGS)
|
|
AC_SUBST(OPENHBCI_LIBS)
|
|
AC_SUBST(OPENHBCI_CXXFLAGS)
|
|
rm -f conf.openhbcitest
|
|
])
|