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

Reply via email to