diff options
author | NIIBE Yutaka <[email protected]> | 2018-09-10 23:57:23 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2018-09-11 00:32:57 +0000 |
commit | 78b679a778ddf37b8952f1808fd8c52cc8163f17 (patch) | |
tree | cd72001ae97275ef581712e4de75fc83ce539770 /src/gpg-error-config-test.sh | |
parent | gpgscm: Suppress warnings for GCC > 6. (diff) | |
download | libgpg-error-78b679a778ddf37b8952f1808fd8c52cc8163f17.tar.gz libgpg-error-78b679a778ddf37b8952f1808fd8c52cc8163f17.zip |
Make gpg-error-config compatible to pkg-config.
* configure.ac (AC_CONFIG_FILES): Generate src/gpg-error.pc, as well
as src/gpg-error-config-old and src/gpg-error-config-new.
* src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
(EXTRA_DIST): Add gpg-error-config-new.in, gpg-error-config-test.sh,
and gpg-error.pc.in.
(CLEANFILES): Add gpg-error-config gpg-error-config-test.log.
(TESTS): New.
(gpg-error-config): New target.
* src/gpg-error-config-new.in: New.
* src/gpg-error-config-test.sh: New.
* src/gpg-error.pc.in: New.
* src/gpg-error.m4 (GPG_ERROR_MT_CFLAGS): Use --variable.
(GPG_ERROR_MT_LIBS, gpg_error_config_host): Likewise.
--
This change is to privide gpg-error.pc for pkg-config, so that
developers can use pkg-config to configure their applications. The
gpg-error-config script is also kept supported for applications which
want to avoid dependency of pkg-config.
Note that new gpg-error-config script uses gpg-error.pc as master
data, so that it can keep compatibility to pkg-config easily. In the
new gpg-error-config script, features are added to increase
compatibility to pkg-config, like --variable option and multiple
module support. However, it is not meant to oriented to be a
full-fledged version of pkg-config, only a small set of features is
supported.
To be conservative, new gpg-error-config is checked at build time
against old gpg-error-config. On the host which fails, old
gpg-error-config will be installed with a warning.
GnuPG-bug-id: 4085
Signed-off-by: NIIBE Yutaka <[email protected]>
Diffstat (limited to 'src/gpg-error-config-test.sh')
-rwxr-xr-x | src/gpg-error-config-test.sh | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/gpg-error-config-test.sh b/src/gpg-error-config-test.sh new file mode 100755 index 0000000..7f97ead --- /dev/null +++ b/src/gpg-error-config-test.sh @@ -0,0 +1,86 @@ +#!/bin/sh + +PKG_CONFIG_PATH="." + +export PKG_CONFIG_PATH + +if [ "$1" = --old-new ]; then + PKG_CONFIG_CMD=./gpg-error-config-old +else + PKG_CONFIG_CMD="pkg-config gpg-error" + if ! $PKG_CONFIG_CMD --exists >/dev/null; then + exit 77 # Skip tests + fi +fi + +test_failed="" + +failure () { + ( + echo "Test result: $*" + echo "====================: $PKG_CONFIG_CMD" + echo "$OUTPUT_OLD" + echo "====================: gpg-error-config-new" + echo "$OUTPUT_NEW" + echo "====================" + ) >> gpg-error-config-test.log + test_failed=yes +} + +rm -f gpg-error-config-test.log + +OUTPUT_OLD=$($PKG_CONFIG_CMD --libs) +OUTPUT_NEW=$(./gpg-error-config-new --libs) +[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --libs + +OUTPUT_OLD=$($PKG_CONFIG_CMD --cflags) +OUTPUT_NEW=$(./gpg-error-config-new --cflags) +[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --cflags + +OUTPUT_OLD=$($PKG_CONFIG_CMD --cflags --libs) +OUTPUT_NEW=$(./gpg-error-config-new --cflags --libs) +[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --cflags --libs + +if [ "$PKG_CONFIG_CMD" = ./gpg-error-config-old ]; then + OUTPUT_OLD=$($PKG_CONFIG_CMD --version) + OUTPUT_NEW=$(./gpg-error-config-new --version) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --version + + OUTPUT_OLD=$($PKG_CONFIG_CMD --mt --libs) + OUTPUT_NEW=$(./gpg-error-config-new --mt --libs) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --mt --libs + + OUTPUT_OLD=$($PKG_CONFIG_CMD --mt --cflags) + OUTPUT_NEW=$(./gpg-error-config-new --mt --cflags) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --mt --cflags + + OUTPUT_OLD=$($PKG_CONFIG_CMD --cflags --libs) + OUTPUT_NEW=$(./gpg-error-config-new --cflags --libs) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --cflags --libs + + OUTPUT_OLD=$($PKG_CONFIG_CMD --mt --cflags --libs) + OUTPUT_NEW=$(./gpg-error-config-new --mt --cflags --libs) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --mt --cflags --libs + + OUTPUT_OLD=$($PKG_CONFIG_CMD --variable=mtcflags) + OUTPUT_NEW=$(./gpg-error-config-new --variable=mtcflags) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --variable=mtcflags + + OUTPUT_OLD=$($PKG_CONFIG_CMD --variable=mtlibs) + OUTPUT_NEW=$(./gpg-error-config-new --variable=mtlibs) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --variable=mtlibs + + OUTPUT_OLD=$($PKG_CONFIG_CMD --variable=host) + OUTPUT_NEW=$(./gpg-error-config-new --variable=host) + [ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || failure --variable=host +fi + +if [ -n "$test_failed" ]; then + OUTPUT_OLD=$($PKG_CONFIG_CMD --version) + OUTPUT_NEW=$(./gpg-error-config-new --version) + failure --version + + exit 99 +fi + +exit 0 |