[git] GPG-ERROR - branch, gniibe/pkg-config-support, updated. libgpg-error-1.32-22-g83d523e
by NIIBE Yutaka
cvs at cvs.gnupg.org
Mon Sep 3 04:36:14 CEST 2018
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Error codes used by GnuPG et al.".
The branch, gniibe/pkg-config-support has been updated
via 83d523e4b9c480594af0d834b36d5897dddf13ec (commit)
via 8a6ca0194b6c4ba5dd839c25f97e594017fcd7e7 (commit)
via 5a30c1dc7843abe252dc870a51e5510ebf291d96 (commit)
via 433075092cd16b3425e4e31ad5a927f697eae646 (commit)
via 576499c264eb5ac6a1281d7fb933c0e0634e8259 (commit)
from fb1d0cd7105e0603482257e05c559c035b210c9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 83d523e4b9c480594af0d834b36d5897dddf13ec
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Mon Sep 3 11:29:47 2018 +0900
Fix new gpg-error-config and add a test.
diff --git a/src/Makefile.am b/src/Makefile.am
index c1efb94..5ba1496 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -115,6 +115,7 @@ CLEANFILES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \
mkw32errmap.map.c err-sources-sym.h err-codes-sym.h errnos-sym.h \
gpg-extra/errno.h mkheader$(EXEEXT_FOR_BUILD) $(tmp_files) lock-obj-pub.native.h
+TESTS=gpg-error-config-test.sh
#
# {{{ Begin Windows part
diff --git a/src/gpg-error-config-new.in b/src/gpg-error-config-new.in
index 307b3df..ddf6af2 100644
--- a/src/gpg-error-config-new.in
+++ b/src/gpg-error-config-new.in
@@ -16,7 +16,7 @@ datadir=@datadir@
PKG_CONFIG_PATH="$PKG_CONFIG_PATH${PKG_CONFIG_PATH:+:}${datadir}/pkgconfig"
#
-#### start of pkgconf-funcs
+#### start of functions for this script
#
# Bourne shell functions for config file in pkg-config style, so that
@@ -394,9 +394,12 @@ all_required_config_files () {
pkg_list=$(list_only_once $all_list)
}
-#### end of pkgconf-funcs
+#### end of functions for this script
myname=${0##*/}
+# Just for a while for testing
+myname=${myname%-new}
+##############################
if [ $myname = gpgrt-config ]; then
myname="gpg-error-config"
fi
@@ -522,15 +525,15 @@ if [ -z "$want_var" -a -z "$want_attr" ]; then
if [ -n "$want_cflags" ]; then
output="$output${output:+ }$(list_only_once $cflags)"
# Backward compatibility to old gpg-error-config
- if [ $mt = yes ]; then
- output="$output $mtcflags"
+ if [ $mt = yes -a -n "$mtcflags" ]; then
+ output="$output${output:+ }$mtcflags"
fi
fi
if [ -n "$want_libs" ]; then
output="$output${output:+ }$(list_only_once_for_libs $libs)"
# Backward compatibility to old gpg-error-config
- if [ $mt = yes ]; then
- output="$output $mtlibs"
+ if [ $mt = yes -a -n "$mtlibs" ]; then
+ output="$output${output:+ }$mtlibs"
fi
fi
fi
diff --git a/src/gpg-error-config-test.sh b/src/gpg-error-config-test.sh
new file mode 100755
index 0000000..d65c06d
--- /dev/null
+++ b/src/gpg-error-config-test.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+PKG_CONFIG_PATH="."
+
+export PKG_CONFIG_PATH
+
+OUTPUT_OLD=$(./gpg-error-config --version)
+OUTPUT_NEW=$(./gpg-error-config-new --version)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+OUTPUT_OLD=$(./gpg-error-config --libs)
+OUTPUT_NEW=$(./gpg-error-config-new --libs)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+OUTPUT_OLD=$(./gpg-error-config --cflags)
+OUTPUT_NEW=$(./gpg-error-config-new --cflags)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+OUTPUT_OLD=$(./gpg-error-config --mt --libs)
+OUTPUT_NEW=$(./gpg-error-config-new --mt --libs)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+OUTPUT_OLD=$(./gpg-error-config --mt --cflags)
+OUTPUT_NEW=$(./gpg-error-config-new --mt --cflags)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+OUTPUT_OLD=$(./gpg-error-config --cflags --libs)
+OUTPUT_NEW=$(./gpg-error-config-new --cflags --libs)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+OUTPUT_OLD=$(./gpg-error-config --mt --cflags --libs)
+OUTPUT_NEW=$(./gpg-error-config-new --mt --cflags --libs)
+[ "$OUTPUT_OLD" = "$OUTPUT_NEW" ] || exit 99
+
+exit 0
commit 8a6ca0194b6c4ba5dd839c25f97e594017fcd7e7
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Mon Sep 3 11:29:00 2018 +0900
Fix old gpg-config-error with configure.ac substitution.
diff --git a/configure.ac b/configure.ac
index 9d629d4..16896a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -495,11 +495,11 @@ else
fi
GPG_ERROR_CONFIG_HOST="$host"
case "$includedir" in
- '${prefix}/include'|/usr/include|/include) ;;
+ /usr/include|/include) ;;
*) GPG_ERROR_CONFIG_CFLAGS="-I$includedir $GPG_ERROR_CONFIG_CFLAGS" ;;
esac
case "$libdir" in
- '${exec_prefix}/lib'|/usr/lib|/usr/lib64|/lib|/lib64) ;;
+ /usr/lib|/usr/lib64|/lib|/lib64) ;;
*) GPG_ERROR_CONFIG_LIBS="-L$libdir $GPG_ERROR_CONFIG_LIBS" ;;
esac
diff --git a/src/gpg-error-config.in b/src/gpg-error-config.in
index 92bc13a..93f25f7 100644
--- a/src/gpg-error-config.in
+++ b/src/gpg-error-config.in
@@ -68,21 +68,12 @@ while test $# -gt 0; do
exit 0
;;
--cflags)
- if test "x$includedir" != "x/usr/include" -a "x$includedir" != "x/include"; then
- output="$output -I$includedir"
- fi
output="$output @GPG_ERROR_CONFIG_CFLAGS@"
if test $mt = yes ; then
output="$output @GPG_ERROR_CONFIG_MT_CFLAGS@"
fi
;;
--libs)
- case "$libdir" in
- /usr/lib|/usr/lib64|/lib|/lib64) ;;
- *)
- output="$output -L$libdir"
- ;;
- esac
output="$output @GPG_ERROR_CONFIG_LIBS@"
if test $mt = yes ; then
output="$output @GPG_ERROR_CONFIG_MT_LIBS@"
commit 5a30c1dc7843abe252dc870a51e5510ebf291d96
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Mon Sep 3 10:25:18 2018 +0900
Change old gpg-error-config for isubdirafter.
diff --git a/src/gpg-error-config.in b/src/gpg-error-config.in
index aa7cb67..92bc13a 100644
--- a/src/gpg-error-config.in
+++ b/src/gpg-error-config.in
@@ -14,7 +14,6 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@
-isubdirafter="@GPG_ERROR_CONFIG_ISUBDIRAFTER@"
if echo "$0" | grep gpg-error-config 2>/dev/null >/dev/null; then
myname="gpg-error-config"
@@ -72,11 +71,6 @@ while test $# -gt 0; do
if test "x$includedir" != "x/usr/include" -a "x$includedir" != "x/include"; then
output="$output -I$includedir"
fi
- # Note: -idirafter is a gcc extension. It is only used on
- # systems where gcc is the only compiler we support (WindowsCE).
- for i in $isubdirafter; do
- output="$output -idirafter ${includedir}/${i}"
- done
output="$output @GPG_ERROR_CONFIG_CFLAGS@"
if test $mt = yes ; then
output="$output @GPG_ERROR_CONFIG_MT_CFLAGS@"
commit 433075092cd16b3425e4e31ad5a927f697eae646
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Mon Sep 3 10:22:42 2018 +0900
Add back old gpg-error-config.
diff --git a/configure.ac b/configure.ac
index 58957b7..9d629d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -635,6 +635,7 @@ AC_CONFIG_FILES([lang/Makefile lang/cl/Makefile lang/cl/gpg-error.asd])
AC_CONFIG_FILES([src/versioninfo.rc src/gpg-error.w32-manifest])
AC_CONFIG_FILES([src/gpg-error.pc])
AC_CONFIG_FILES([src/gpg-error-config], [chmod +x src/gpg-error-config])
+AC_CONFIG_FILES([src/gpg-error-config-new], [chmod +x src/gpg-error-config-new])
AC_OUTPUT
diff --git a/src/gpg-error-config.in b/src/gpg-error-config-new.in
similarity index 100%
copy from src/gpg-error-config.in
copy to src/gpg-error-config-new.in
diff --git a/src/gpg-error-config.in b/src/gpg-error-config.in
index 307b3df..aa7cb67 100644
--- a/src/gpg-error-config.in
+++ b/src/gpg-error-config.in
@@ -11,396 +11,20 @@
# SPDX-License-Identifier: FSFULLR
prefix=@prefix@
-datarootdir=@datarootdir@
-datadir=@datadir@
-PKG_CONFIG_PATH="$PKG_CONFIG_PATH${PKG_CONFIG_PATH:+:}${datadir}/pkgconfig"
-#
-
-#### start of pkgconf-funcs
-
-#
-# Bourne shell functions for config file in pkg-config style, so that
-# we can share such a config file between pkg-config and script
-#
-
-#
-# get_var: Get the variable value of NAME
-#
-# Variables are recorded in the shell variables named "VAR_<NAME>"
-#
-get_var () {
- local name=$1
-
- eval echo \$VAR_$name
-}
-
-#
-# get_attr: Get the attribute value of KEY
-#
-# Attributes are recorded in the shell variables named "ATTR_<KEY>"
-#
-get_attr () {
- local name=$1
-
- eval echo \$ATTR_$name
-}
-
-# Remove ${varname} part in the beginning of a string.
-remove_var_expr () {
- local varname=$1
- shift
-
- eval echo \"\${@#\\\$\\\{$varname\\\}}\"
-}
-
-# Given a string, substitute variables.
-substitute_vars () {
- local string="$1"
- local line
- local varname
- local result
-
- while [ -n "$string" ]; do
- case "$string" in
- \$\$*)
- result="$result\$"
- string="${string#\$\$}"
- ;;
- \${*}*)
- varname="${string#\$\{}"
- varname="${varname%%\}*}"
- result="$result$(get_var ${varname})"
- string=$(remove_var_expr ${varname} ${string})
- ;;
- *)
- result="${result}$(printf %c "$string")"
- string="${string#$(printf %c "$string")}"
- ;;
- esac
- done
-
- echo "$result"
-}
-
-#
-# Read a config from stdin
-#
-# Variables:
-# For VAR=VALUE, value is stored in the shell variable VAR_*.
-#
-# Attributes:
-# For KEY: VALUE, value is stored in the shell variable ATTR_*.
-#
-read_config_from_stdin () {
- local filename=$1
- local line
- local varname
- local value
- local key
- local reading_attrs
-
- while read line; do
- if [ -z "$line" ]; then
- reading_attrs=yes
- continue
- elif [ -z "$reading_attrs" ]; then
- case "$line" in
- *=*)
- varname="${line%%=*}"
- value="${line#*=}"
- VAR_list="$VAR_list VAR_$varname"
- read VAR_$varname <<EOF1
-$(substitute_vars "$value")
-EOF1
- continue
- ;;
- *) reading_attrs=yes ;;
- esac
- fi
- if [ -n "$reading_attrs" ]; then
- case "$line" in
- *:\ *)
- key="${line%%:\ *}"
- value="${line#*:\ }"
- ATTR_list="$ATTR_list ATTR_$key"
- read ATTR_$key <<EOF2
-$(substitute_vars "$value")
-EOF2
- ;;
- *:|*:\ ) ;;
- *)
- echo "Error reading $filename: $line" 1>&2
- exit 1
- ;;
- esac
- fi
- done
-}
-
-
-find_file_in_path () {
- local f=$1
- local p=$2
- local IFS=":" # On Windows it should be ";"???
-
- for d in $p; do
- if [ -r $d/$f ]; then
- RESULT="$d/$f"
- return 0
- fi
- done
- RESULT=""
- return 1
-}
-
-read_config_file () {
- local config_file
- local RESULT
-
- if find_file_in_path $1.pc $2; then
- config_file=$RESULT
- else
- echo "Can't find $1.pc" 1>&2
- exit 1
- fi
- read_config_from_stdin $config_file < $config_file
-}
-
-cleanup_vars_attrs () {
- eval unset $VAR_list VAR_list
- eval unset $ATTR_list ATTR_list
-}
-
-not_listed_yet () {
- local m=$1
- local arg
- shift
-
- for arg; do
- if [ $m = $arg ]; then
- return 1
- fi
- done
-
- return 0
-}
-
-list_only_once () {
- local result=""
- local arg
-
- for arg; do
- if not_listed_yet $arg $result; then
- result="$result $arg"
- fi
- done
-
- echo $result
-}
+exec_prefix=@exec_prefix@
+includedir=@includedir@
+libdir=@libdir@
+isubdirafter="@GPG_ERROR_CONFIG_ISUBDIRAFTER@"
-list_only_once_for_libs () {
- local result=""
- local rev_list=""
- local arg
-
- # Scan the list and eliminate duplicates for non-"-lxxx"
- # the resulted list is in reverse order
- for arg; do
- case "$arg" in
- -l*)
- # As-is
- rev_list="$arg $rev_list"
- ;;
- *)
- if not_listed_yet $arg $rev_list; then
- rev_list="$arg $rev_list"
- fi
- ;;
- esac
- done
-
- # Scan again
- for arg in $rev_list; do
- case "$arg" in
- -l*)
- if not_listed_yet $arg $result; then
- result="$arg $result"
- fi
- ;;
- *)
- # As-is
- result="$arg $result"
- ;;
- esac
- done
-
- echo $result
-}
-
-arg1_is_same () {
- [ "$1" = "=" -o "$1" = ">=" -o "$1" = "<=" ]
-}
-
-arg1_is_less () {
- [ "$1" = "!=" -o "$1" = "<" -o "$1" = "<=" ]
-}
-
-arg1_is_great () {
- [ "$1" = "!=" -o "$1" = ">" -o "$1" = ">=" ]
-}
-
-#
-# Evaluate comparison between versions in RPM way
-#
-eval_compare_version () {
- local str1="$1"
- local cmp="$2"
- local str2="$3"
- local char1 char2
- local chunk1 chunk2
-
- while [ -n "$str1" -a -n "$str2" ]; do
- # Trim anything that's not alnum or tilde from the front
- str1="$(expr "$str1" : '[^0-9A-Za-z~]*\(.*\)')"
- str2="$(expr "$str2" : '[^0-9A-Za-z~]*\(.*\)')"
-
- # Get the first character
- char1=${str1%${str1#?}}
- char2=${str2%${str2#?}}
-
- if [ "$char1" = ~ -o "$char2" = ~ ]; then
- if [ "$char1" != ~ ]; then
- arg1_is_great $cmp
- return
- fi
- if [ "$char2" != ~ ]; then
- arg1_is_less $cmp
- return
- fi
- str1=${str1#~}
- str2=${str2#~}
- continue
- fi
-
- if [ -z "$char1" -o -z "$char2" ]; then
- break
- fi
-
- case "$char1$char2" in
- [0-9][A-Za-z])
- arg1_is_great $cmp
- return
- ;;
- [A-Za-z][0-9])
- arg1_is_less $cmp
- return
- ;;
- [0-9][0-9])
- chunk1="$(expr "$str1" : '\([0-9]*\)')"
- chunk2="$(expr "$str2" : '\([0-9]*\)')"
- ;;
- [A-Za-z][A-Za-z])
- chunk1="$(expr "$str1" : '\([A-Za-z]*\)')"
- chunk2="$(expr "$str2" : '\([A-Za-z]*\)')"
- ;;
- esac
-
- # Compare chunks numerically if digits, or lexicographically
- if expr "$chunk1" "!=" "$chunk2" >/dev/null; then
- if expr "$chunk1" ">" "$chunk2" >/dev/null; then
- arg1_is_great $cmp
- return
- else
- arg1_is_less $cmp
- return
- fi
- fi
-
- # Remove the chunk
- str1="${str1#$chunk1}"
- str2="${str2#$chunk2}"
- done
-
- # Either STR1, STR2 or both is empty here
- if [ -n "$str1" ]; then
- case "$str1" in
- ~*) arg1_is_less $cmp ;;
- *) arg1_is_great $cmp ;;
- esac
- elif [ -n "$str2" ]; then
- case "$str2" in
- ~*) arg1_is_great $cmp ;;
- *) arg1_is_less $cmp ;;
- esac
- else
- arg1_is_same $cmp
- fi
-}
-
-#
-# Recursively solve package dependencies
-#
-# Result is in the pkg_list variable
-#
-all_required_config_files () {
- local list
- local all_list
- local new_list
- local p pkg cmp ver
-
- list=$*
- while [ -n "$list" ]; do
- for p in $list; do
- if [ -z "$pkg" ]; then
- pkg=$p
- elif [ -z "$cmp" ]; then
- case "$p" in
- "="|"!="|"<"|">"|"<="|">=") cmp=$p ;;
- *)
- read_config_file $pkg $PKG_CONFIG_PATH
- all_list="$all_list $pkg"
- new_list="$new_list${new_list:+ }$(get_attr Requires)"
- cleanup_vars_attrs
- pkg=$p
- ;;
- esac
- else
- read_config_file $pkg $PKG_CONFIG_PATH
- if ! eval_compare_version "$(get_attr Version)" $cmp $p; then
- echo "Version mismatch for $pkg $cmp $p: $(get_attr Version)" 1>&2
- exit 1
- fi
- all_list="$all_list $pkg"
- new_list="$new_list${new_list:+ }$(get_attr Requires)"
- cleanup_vars_attrs
- pkg=
- cmp=
- fi
- done
- if [ -n "$cmp" ]; then
- echo "No version after comparison operator ($cmp): $pkg" 1>&2
- exit 1
- elif [ -n "$pkg" ]; then
- read_config_file $pkg $PKG_CONFIG_PATH
- all_list="$all_list $pkg"
- new_list="$new_list${new_list:+ }$(get_attr Requires)"
- cleanup_vars_attrs
- fi
-
- list="$new_list"
- new_list=""
- done
-
- pkg_list=$(list_only_once $all_list)
-}
-
-#### end of pkgconf-funcs
-
-myname=${0##*/}
-if [ $myname = gpgrt-config ]; then
+if echo "$0" | grep gpg-error-config 2>/dev/null >/dev/null; then
myname="gpg-error-config"
+else
+ myname="gpgrt-config"
fi
+output=""
+mt=no
+
usage()
{
cat <<EOF
@@ -420,119 +44,65 @@ if test $# -eq 0; then
usage 1 1>&2
fi
-if [ "$1" != "--mt" ]; then
- mt=no
-else
- # In future, use --variable=mtcflags or --variable=mtlibs
- mt=yes
- shift
-fi
-
-modules=""
-want_var=""
-want_attr=""
-want_cflags=""
-want_libs=""
-
-cflags=""
-libs=""
-mtcflags=""
-mtlibs=""
-
-delimiter=" "
-output=""
-
while test $# -gt 0; do
- case $1 in
- --prefix)
- # In future, use --variable=prefix instead.
- want_var=prefix
+ case "$1" in
+ -*=*)
+ optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'`
;;
- --exec-prefix)
- # In future, use --variable=exec_prefix instead.
- want_var=exec_prefix
- ;;
- --version)
- # In future, use --modversion instead.
- want_attr=Version
- delimiter="
-"
- ;;
- --modversion)
- want_attr=Version
- delimiter="
-"
- ;;
- --cflags)
- want_cflags=yes
+ *)
+ optarg=
;;
- --libs)
- want_libs=yes
+ esac
+
+ case $1 in
+ --mt)
+ mt=yes
+ ;;
+ --prefix)
+ output="$output $prefix"
;;
- --variable=*)
- want_var=${1#*=}
+ --exec-prefix)
+ output="$output $exec_prefix"
;;
- --host)
- # In future, use --variable=host instead.
- want_var=host
+ --version)
+ echo "@PACKAGE_VERSION@"
+ exit 0
;;
- --help)
- usage 0
+ --cflags)
+ if test "x$includedir" != "x/usr/include" -a "x$includedir" != "x/include"; then
+ output="$output -I$includedir"
+ fi
+ # Note: -idirafter is a gcc extension. It is only used on
+ # systems where gcc is the only compiler we support (WindowsCE).
+ for i in $isubdirafter; do
+ output="$output -idirafter ${includedir}/${i}"
+ done
+ output="$output @GPG_ERROR_CONFIG_CFLAGS@"
+ if test $mt = yes ; then
+ output="$output @GPG_ERROR_CONFIG_MT_CFLAGS@"
+ fi
;;
- --*)
- usage 1 1>&2
+ --libs)
+ case "$libdir" in
+ /usr/lib|/usr/lib64|/lib|/lib64) ;;
+ *)
+ output="$output -L$libdir"
+ ;;
+ esac
+ output="$output @GPG_ERROR_CONFIG_LIBS@"
+ if test $mt = yes ; then
+ output="$output @GPG_ERROR_CONFIG_MT_LIBS@"
+ fi
;;
+ --host)
+ echo "@GPG_ERROR_CONFIG_HOST@"
+ exit 0
+ ;;
*)
- # Modules
- modules="$modules${modules:+ }$1"
+ usage 1 1>&2
;;
esac
-
shift
done
-
-if [ -z "$modules" ]; then
- modules=${myname%-config}
-elif expr match "$modules" "=\|!=\|<\|>\|<=\|>=" >/dev/null; then
- modules="${myname%-config} $modules"
-fi
-
-all_required_config_files $modules
-
-for p in $pkg_list; do
- read_config_file $p $PKG_CONFIG_PATH
- if [ -n "$want_var" ]; then
- output="$output${output:+$delimiter}$(get_var $want_var)"
- elif [ -n "$want_attr" ]; then
- output="$output${output:+$delimiter}$(get_attr $want_attr)"
- else
- cflags="$cflags${cflags:+ }$(get_attr Cflags)"
- libs="$libs${libs:+ }$(get_attr Libs)"
-
- if [ $p = "gpg-error" ]; then
- mtcflags="$(get_var mtcflags)"
- mtlibs="$(get_var mtlibs)"
- fi
- fi
- cleanup_vars_attrs
-done
-
-if [ -z "$want_var" -a -z "$want_attr" ]; then
- if [ -n "$want_cflags" ]; then
- output="$output${output:+ }$(list_only_once $cflags)"
- # Backward compatibility to old gpg-error-config
- if [ $mt = yes ]; then
- output="$output $mtcflags"
- fi
- fi
- if [ -n "$want_libs" ]; then
- output="$output${output:+ }$(list_only_once_for_libs $libs)"
- # Backward compatibility to old gpg-error-config
- if [ $mt = yes ]; then
- output="$output $mtlibs"
- fi
- fi
-fi
-
-echo "$output"
+echo $output
commit 576499c264eb5ac6a1281d7fb933c0e0634e8259
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Mon Sep 3 10:16:34 2018 +0900
Support invocation like gpg-erro-config '>=' 1.32.
diff --git a/src/gpg-error-config.in b/src/gpg-error-config.in
index 49451e7..307b3df 100644
--- a/src/gpg-error-config.in
+++ b/src/gpg-error-config.in
@@ -359,7 +359,7 @@ all_required_config_files () {
*)
read_config_file $pkg $PKG_CONFIG_PATH
all_list="$all_list $pkg"
- new_list="$new_list $(get_attr Requires)"
+ new_list="$new_list${new_list:+ }$(get_attr Requires)"
cleanup_vars_attrs
pkg=$p
;;
@@ -371,7 +371,7 @@ all_required_config_files () {
exit 1
fi
all_list="$all_list $pkg"
- new_list="$new_list $(get_attr Requires)"
+ new_list="$new_list${new_list:+ }$(get_attr Requires)"
cleanup_vars_attrs
pkg=
cmp=
@@ -383,7 +383,7 @@ all_required_config_files () {
elif [ -n "$pkg" ]; then
read_config_file $pkg $PKG_CONFIG_PATH
all_list="$all_list $pkg"
- new_list="$new_list $(get_attr Requires)"
+ new_list="$new_list${new_list:+ }$(get_attr Requires)"
cleanup_vars_attrs
fi
@@ -429,105 +429,104 @@ else
fi
modules=""
-output_var=""
-output_attr=""
-opt_cflags=no
-opt_libs=no
-output=""
+want_var=""
+want_attr=""
+want_cflags=""
+want_libs=""
+
+cflags=""
+libs=""
+mtcflags=""
+mtlibs=""
+
delimiter=" "
+output=""
while test $# -gt 0; do
case $1 in
--prefix)
# In future, use --variable=prefix instead.
- output_var=prefix
+ want_var=prefix
;;
--exec-prefix)
# In future, use --variable=exec_prefix instead.
- output_var=exec_prefix
+ want_var=exec_prefix
;;
--version)
# In future, use --modversion instead.
- output_attr=Version
+ want_attr=Version
delimiter="
"
;;
--modversion)
- output_attr=Version
+ want_attr=Version
delimiter="
"
;;
--cflags)
- opt_cflags=yes
+ want_cflags=yes
;;
--libs)
- opt_libs=yes
+ want_libs=yes
;;
--variable=*)
- output_var=${1#*=}
+ want_var=${1#*=}
;;
--host)
# In future, use --variable=host instead.
- output_var=host
+ want_var=host
;;
--help)
usage 0
;;
+ --*)
+ usage 1 1>&2
+ ;;
*)
- modules="$modules $1"
+ # Modules
+ modules="$modules${modules:+ }$1"
;;
esac
+
shift
done
-if [ $myname = "gpg-error-config" -a -z "$modules" ]; then
- read_config_file ${myname%-config} $PKG_CONFIG_PATH
- if [ -n "$output_var" ]; then
- output="$output${output:+ }$(get_var $output_var)"
- elif [ -n "$output_attr" ]; then
- output="$output${output:+ }$(get_attr $output_attr)"
- else
- cflags="$(get_attr Cflags)"
- libs="$(get_attr Libs)"
- mtcflags="$(get_var mtcflags)"
- mtlibs="$(get_var mtlibs)"
- fi
-
- requires="$(get_attr Requires)"
- cleanup_vars_attrs
- all_required_config_files $requires
-else
- if [ -z "$modules" ]; then
- modules=${myname%-config}
- fi
- cflags=""
- libs=""
- all_required_config_files $modules
+if [ -z "$modules" ]; then
+ modules=${myname%-config}
+elif expr match "$modules" "=\|!=\|<\|>\|<=\|>=" >/dev/null; then
+ modules="${myname%-config} $modules"
fi
+all_required_config_files $modules
+
for p in $pkg_list; do
read_config_file $p $PKG_CONFIG_PATH
- if [ -n "$output_var" ]; then
- output="$output${output:+$delimiter}$(get_var $output_var)"
- elif [ -n "$output_attr" ]; then
- output="$output${output:+$delimiter}$(get_attr $output_attr)"
+ if [ -n "$want_var" ]; then
+ output="$output${output:+$delimiter}$(get_var $want_var)"
+ elif [ -n "$want_attr" ]; then
+ output="$output${output:+$delimiter}$(get_attr $want_attr)"
else
cflags="$cflags${cflags:+ }$(get_attr Cflags)"
libs="$libs${libs:+ }$(get_attr Libs)"
+
+ if [ $p = "gpg-error" ]; then
+ mtcflags="$(get_var mtcflags)"
+ mtlibs="$(get_var mtlibs)"
+ fi
fi
cleanup_vars_attrs
done
-if [ -z "$output_var" -a -z "$output_attr" ]; then
- if [ $opt_cflags = yes ]; then
+if [ -z "$want_var" -a -z "$want_attr" ]; then
+ if [ -n "$want_cflags" ]; then
output="$output${output:+ }$(list_only_once $cflags)"
# Backward compatibility to old gpg-error-config
if [ $mt = yes ]; then
output="$output $mtcflags"
fi
fi
- if [ $opt_libs = yes ]; then
+ if [ -n "$want_libs" ]; then
output="$output${output:+ }$(list_only_once_for_libs $libs)"
# Backward compatibility to old gpg-error-config
if [ $mt = yes ]; then
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 5 +-
src/Makefile.am | 1 +
...gpg-error-config.in => gpg-error-config-new.in} | 108 +++--
src/gpg-error-config-test.sh | 35 ++
src/gpg-error-config.in | 532 ++-------------------
5 files changed, 137 insertions(+), 544 deletions(-)
copy src/{gpg-error-config.in => gpg-error-config-new.in} (85%)
create mode 100755 src/gpg-error-config-test.sh
hooks/post-receive
--
Error codes used by GnuPG et al.
http://git.gnupg.org
More information about the Gnupg-commits
mailing list