Hallo,
ich sähe es sehr gerne, wenn die ganze AqBankingfamilie wirklich auf
pkg-config umsteigen würde, d.h. nicht nur Dateien für pkg-config zur
Verfügung stellt, sondern diese auch selbst nutzt. Dadurch könnten --
zumindest in den Debian-Paketen -- die Binaries gwenhywfar-config,
chipcard3-config, ktoblzcheck-config und aqbanking-config aus den
Paketen verschwinden. Mich haben die Befehle als User nämlich eher
verwirrt...
Der Umstieg wäre auch eigentlich nicht besonders schwierig, wie ich
gerade am Beispiel von Gwenhywfar ausprobiert habe. Im angehängten Patch
schreibe ich die Makros in gwenhywfar.m4 so um, dass für den Fall, dass
das Binary gwenhywfar-config nicht gefunden werden konnte, nachgeschaut
wird, ob pkg-config etwas findet. Wenn pkg-config mehr Erfolg hat werden
dann im Rest des Makros die Ausgaben von pkg-config anstelle von
gwenhywfar-config verwendet.
Zwei Anmerkungen/Fragen/Hinweise habe ich dazu allerdings:
1. Ich habe keine äquivalente pkg-config-Ausgabe zu
"gwenhywfar-config --headers" finden können. Mein Verdacht ist, dass
dafür mal die pkg-config-Variable "pkgincludedir" gedacht war.
Genau weiß ich es aber nicht und habe daher einfach eine weitere
Variable "headers" eingeführt, die entsprechend der
korrespondierenden Stelle in gwenhywfar-config initialisiert wird.
2. Der pkg-config-Test auf die Versionsnummer von Gwenhywfar ist
wahrscheinlich nicht 100%ig äquivalent zu dem alten Test, da
pkg-config das "beta" in der Versionsnummer mit verwurstet
(mit "beta" > "0"). Da müsste man wohl die Version im
gwenhywfar.pc immer numerisch ausgeben oder so...
Was haltet ihr davon, pkg-config auf diese Weise in allen Paketen der
AqBanking-Familie vollständig zu implementieren?
Schöne Grüße
Micha
Index: gwenhywfar.pc.in
===================================================================
--- gwenhywfar.pc.in (Revision 1326)
+++ gwenhywfar.pc.in (Arbeitskopie)
@@ -6,6 +6,7 @@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@/gwenhywfar
[EMAIL PROTECTED]@/gwenhywfar
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
Index: gwenhywfar.m4
===================================================================
--- gwenhywfar.m4 (Revision 1326)
+++ gwenhywfar.m4 (Arbeitskopie)
@@ -56,6 +56,13 @@
break
fi
done
+
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ if test -z "$gwenhywfar_dir" -a "x$PKG_CONFIG" != "xno" ; then
+ gwen_found_by_pkgconfig=yes
+ gwenhywfar_dir=`$PKG_CONFIG --variable=prefix gwenhywfar`
+ fi
+
if test -z "$gwenhywfar_dir"; then
AC_MSG_RESULT([not found ])
AC_MSG_ERROR([
@@ -68,19 +75,39 @@
else
AC_MSG_RESULT($gwenhywfar_dir)
AC_MSG_CHECKING(for gwen libs)
- gwenhywfar_libs="`$gwenhywfar_dir/bin/gwenhywfar-config --libraries`"
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ gwenhywfar_libs="`$PKG_CONFIG --libs gwenhywfar`"
+ else
+ gwenhywfar_libs="`$gwenhywfar_dir/bin/gwenhywfar-config --libraries`"
+ fi
AC_MSG_RESULT($gwenhywfar_libs)
AC_MSG_CHECKING(for gwen includes)
- gwenhywfar_includes="`$gwenhywfar_dir/bin/gwenhywfar-config --includes`"
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ gwenhywfar_libs="`$PKG_CONFIG --cflags gwenhywfar`"
+ else
+ gwenhywfar_includes="`$gwenhywfar_dir/bin/gwenhywfar-config --includes`"
+ fi
AC_MSG_RESULT($gwenhywfar_includes)
AC_MSG_CHECKING(for gwen binary tools)
- gwenhywfar_bindir="`$gwenhywfar_dir/bin/gwenhywfar-config --bindir`"
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ gwenhywfar_bindir="`$PKG_CONFIG --variable=bindir gwenhywfar`"
+ else
+ gwenhywfar_bindir="`$gwenhywfar_dir/bin/gwenhywfar-config --bindir`"
+ fi
AC_MSG_RESULT($gwenhywfar_bindir)
AC_MSG_CHECKING(for gwen plugins)
- gwenhywfar_plugins="`$gwenhywfar_dir/bin/gwenhywfar-config --plugins`"
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ gwenhywfar_bindir="`$PKG_CONFIG --variable=plugindir gwenhywfar`"
+ else
+ gwenhywfar_plugins="`$gwenhywfar_dir/bin/gwenhywfar-config --plugins`"
+ fi
AC_MSG_RESULT($gwenhywfar_plugins)
AC_MSG_CHECKING(for gwen headers)
- gwenhywfar_headers="`$gwenhywfar_dir/bin/gwenhywfar-config --headers`"
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ gwenhywfar_bindir="`$PKG_CONFIG --variable=headers gwenhywfar`"
+ else
+ gwenhywfar_headers="`$gwenhywfar_dir/bin/gwenhywfar-config --headers`"
+ fi
AC_MSG_RESULT($gwenhywfar_headers)
AC_MSG_CHECKING(for gwen Crypto)
fi
@@ -92,16 +119,30 @@
AC_MSG_RESULT($enable_gwenhywfar_test)
AC_MSG_CHECKING(for Gwenhywfar version >=$vma.$vmi.$vpl.$vbld)
if test "$enable_gwenhywfar_test" != "no"; then
- gwen_versionstring="`$gwenhywfar_dir/bin/gwenhywfar-config --vstring`.`$gwenhywfar_dir/bin/gwenhywfar-config --vbuild`"
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ gwen_versionstring="`$PKG_CONFIG --modversion gwenhywfar`"
+ else
+ gwen_versionstring="`$gwenhywfar_dir/bin/gwenhywfar-config --vstring`.`$gwenhywfar_dir/bin/gwenhywfar-config --vbuild`"
+ fi
AC_MSG_RESULT([found $gwen_versionstring])
- if test "$vma" -gt "`$gwenhywfar_dir/bin/gwenhywfar-config --vmajor`"; then
- AC_MSG_ERROR([Your Gwenhywfar version is way too old.
- Please update from http://sf.net/projects/gwenhywfar])
- elif test "$vma" = "`$gwenhywfar_dir/bin/gwenhywfar-config --vmajor`"; then
- if test "$vmi" -gt "`$gwenhywfar_dir/bin/gwenhywfar-config --vminor`"; then
+ if test "x$gwen_found_by_pkgconfig" = "xyes"; then
+ if $PKG_CONFIG --max-version=$vma.$vmi.$vpl.$vbld ; then
AC_MSG_ERROR([Your Gwenhywfar version is too old.
+ Please update from http://sf.net/projects/gwenhywfar])
+ else
+ have_gwenhywfar="yes"
+ #AC_MSG_RESULT(yes)
+ fi
+ else
+ AC_MSG_RESULT([found $gwen_versionstring])
+ if test "$vma" -gt "`$gwenhywfar_dir/bin/gwenhywfar-config --vmajor`"; then
+ AC_MSG_ERROR([Your Gwenhywfar version is way too old.
+ Please update from http://sf.net/projects/gwenhywfar])
+ elif test "$vma" = "`$gwenhywfar_dir/bin/gwenhywfar-config --vmajor`"; then
+ if test "$vmi" -gt "`$gwenhywfar_dir/bin/gwenhywfar-config --vminor`"; then
+ AC_MSG_ERROR([Your Gwenhywfar version is too old.
Please update from http://sf.net/projects/gwenhywfar])
- elif test "$vmi" = "`$gwenhywfar_dir/bin/gwenhywfar-config --vminor`"; then
+ elif test "$vmi" = "`$gwenhywfar_dir/bin/gwenhywfar-config --vminor`"; then
if test "$vpl" -gt "`$gwenhywfar_dir/bin/gwenhywfar-config --vpatchlevel`"; then
AC_MSG_ERROR([Your Gwenhywfar version is a little bit too old.
Please update from http://sf.net/projects/gwenhywfar])
@@ -110,12 +151,13 @@
AC_MSG_ERROR([Your Gwenhywfar version is a little bit too old.
Please update to the latest CVS version. Instructions for accessing
CVS can be found on http://sf.net/projects/gwenhywfar])
- fi
- fi
+ fi
+ fi
+ fi
fi
+ have_gwenhywfar="yes"
+ #AC_MSG_RESULT(yes)
fi
- have_gwenhywfar="yes"
- #AC_MSG_RESULT(yes)
else
have_gwenhywfar="yes"
AC_MSG_RESULT(assuming yes)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Aqbanking-devel mailing list
Aqbanking-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aqbanking-devel