[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