blob: d28dfd9ebebc44432eb1c0d62dbfe2e16bffe307 [file] [log] [blame]
Upstream-Status: Denied
Add pkgconfig support to libksba.
This patch is rejected by upstream for the reason below:
They think pkgconfig adds no portability and maintaining them is not worthwhile.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Index: libksba-1.3.0/Makefile.am
===================================================================
--- libksba-1.3.0.orig/Makefile.am 2014-05-13 21:39:22.390385646 +0000
+++ libksba-1.3.0/Makefile.am 2014-05-13 21:39:22.462385646 +0000
@@ -21,6 +21,9 @@
ACLOCAL_AMFLAGS = -I m4 -I gl/m4
AUTOMAKE_OPTIONS = dist-bzip2 no-dist-gzip
+pkgconfigdir = ${libdir}/pkgconfig
+pkgconfig_DATA = ksba.pc
+
# (A suitable gitlog-to-changelog script can be found in GnuPG master.)
GITLOG_TO_CHANGELOG=gitlog-to-changelog
Index: libksba-1.3.0/configure.ac
===================================================================
--- libksba-1.3.0.orig/configure.ac 2014-05-13 21:39:22.390385646 +0000
+++ libksba-1.3.0/configure.ac 2014-05-13 21:39:22.462385646 +0000
@@ -400,6 +400,7 @@
src/Makefile
src/ksba-config
src/versioninfo.rc
+ksba.pc
tests/Makefile
doc/Makefile
])
Index: libksba-1.3.0/ksba.pc.in
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ libksba-1.3.0/ksba.pc.in 2014-05-13 21:39:22.462385646 +0000
@@ -0,0 +1,17 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+# API info
+api_version=@KSBA_CONFIG_API_VERSION@
+host=@KSBA_CONFIG_HOST@
+
+Name: ksba
+Description: Libksba provides an easy API to create and parse X.509 and CMS related objects
+Requires:
+Version: @VERSION@
+Libs: -L${libdir} -lksba
+Libs.private: -L${libdir} -lgpg-error
+Cflags: -I${includedir}
+
Index: libksba-1.3.0/src/ksba.m4
===================================================================
--- libksba-1.3.0.orig/src/ksba.m4 2014-05-13 21:39:22.390385646 +0000
+++ libksba-1.3.0/src/ksba.m4 2014-05-13 21:49:03.650382696 +0000
@@ -22,18 +22,7 @@
dnl
AC_DEFUN([AM_PATH_KSBA],
[AC_REQUIRE([AC_CANONICAL_HOST])
- AC_ARG_WITH(ksba-prefix,
- AC_HELP_STRING([--with-ksba-prefix=PFX],
- [prefix where KSBA is installed (optional)]),
- ksba_config_prefix="$withval", ksba_config_prefix="")
- if test x$ksba_config_prefix != x ; then
- ksba_config_args="$ksba_config_args --prefix=$ksba_config_prefix"
- if test x${KSBA_CONFIG+set} != xset ; then
- KSBA_CONFIG=$ksba_config_prefix/bin/ksba-config
- fi
- fi
- AC_PATH_PROG(KSBA_CONFIG, ksba-config, no)
tmp=ifelse([$1], ,1:1.0.0,$1)
if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
req_ksba_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
@@ -43,48 +32,13 @@
min_ksba_version="$tmp"
fi
- AC_MSG_CHECKING(for KSBA - version >= $min_ksba_version)
- ok=no
- if test "$KSBA_CONFIG" != "no" ; then
- req_major=`echo $min_ksba_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
- req_minor=`echo $min_ksba_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
- req_micro=`echo $min_ksba_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
- ksba_config_version=`$KSBA_CONFIG $ksba_config_args --version`
- major=`echo $ksba_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $ksba_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
- micro=`echo $ksba_config_version | \
- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
- if test "$major" -gt "$req_major"; then
- ok=yes
- else
- if test "$major" -eq "$req_major"; then
- if test "$minor" -gt "$req_minor"; then
- ok=yes
- else
- if test "$minor" -eq "$req_minor"; then
- if test "$micro" -ge "$req_micro"; then
- ok=yes
- fi
- fi
- fi
- fi
- fi
- fi
- if test $ok = yes; then
- AC_MSG_RESULT([yes ($ksba_config_version)])
- else
- AC_MSG_RESULT(no)
- fi
+ PKG_CHECK_MODULES(KSBA, [ksba >= $min_ksba_version], [ok=yes], [ok=no])
+
if test $ok = yes; then
# Even if we have a recent libksba, we should check that the
# API is compatible.
if test "$req_ksba_api" -gt 0 ; then
- tmp=`$KSBA_CONFIG --api-version 2>/dev/null || echo 0`
+ tmp=`$PKG_CONFIG --variable=api_version ksba`
if test "$tmp" -gt 0 ; then
AC_MSG_CHECKING([KSBA API version])
if test "$req_ksba_api" -eq "$tmp" ; then
@@ -97,10 +51,8 @@
fi
fi
if test $ok = yes; then
- KSBA_CFLAGS=`$KSBA_CONFIG $ksba_config_args --cflags`
- KSBA_LIBS=`$KSBA_CONFIG $ksba_config_args --libs`
ifelse([$2], , :, [$2])
- libksba_config_host=`$LIBKSBA_CONFIG $ksba_config_args --host 2>/dev/null || echo none`
+ libksba_config_host=`$PKG_CONFIG --variable=host ksba`
if test x"$libksba_config_host" != xnone ; then
if test x"$libksba_config_host" != x"$host" ; then
AC_MSG_WARN([[
@@ -114,8 +66,6 @@
fi
fi
else
- KSBA_CFLAGS=""
- KSBA_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(KSBA_CFLAGS)