diff --git a/src/gpg-error.m4 b/src/gpg-error.m4 index 3bfa601..a9d572f 100644 --- a/src/gpg-error.m4 +++ b/src/gpg-error.m4 @@ -1,176 +1,188 @@ # gpg-error.m4 - autoconf macro to detect libgpg-error. # Copyright (C) 2002, 2003, 2004, 2011, 2014, 2018 g10 Code GmbH # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # This file is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Last-changed: 2018-11-02 dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) dnl dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS, dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS. The _MT_ variants are dnl used for programs requireing real multi thread support. dnl dnl If a prefix option is not used, the config script is first dnl searched in $SYSROOT/bin and then along $PATH. If the used dnl config script does not match the host specification the script dnl is added to the gpg_config_script_warn variable. dnl AC_DEFUN([AM_PATH_GPG_ERROR], [ AC_REQUIRE([AC_CANONICAL_HOST]) gpg_error_config_prefix="" dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, dnl since that is consistent with how our three siblings use the directory/ dnl package name in --with-$dir_name-prefix=PFX. AC_ARG_WITH(libgpg-error-prefix, AC_HELP_STRING([--with-libgpg-error-prefix=PFX], [prefix where GPG Error is installed (optional)]), [gpg_error_config_prefix="$withval"]) dnl Accept --with-gpg-error-prefix and make it work the same as dnl --with-libgpg-error-prefix above, for backwards compatibility, dnl but do not document this old, inconsistently-named option. AC_ARG_WITH(gpg-error-prefix,, [gpg_error_config_prefix="$withval"]) if test x"${GPG_ERROR_CONFIG}" = x ; then if test x"${gpg_error_config_prefix}" != x ; then GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" else case "${SYSROOT}" in /*) if test -x "${SYSROOT}/bin/gpg-error-config" ; then GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" fi ;; '') ;; *) AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) ;; esac fi fi AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) min_gpg_error_version=ifelse([$1], ,1.33,$1) ok=no - if test -f $libdir/pkgconfig/gpg-error.pc; then - gpgrt_libdir=$libdir + if test "$prefix" = NONE ; then + prefix_option_expanded=/usr/local + else + prefix_option_expanded="$prefix" + fi + if test "$exec_prefix" = NONE ; then + exec_prefix_option_expanded=$prefix_option_expanded + else + exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix) + fi + libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir) + + if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then + gpgrt_libdir=$libdir_option_expanded else if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then if test -f $possible_libdir/pkgconfig/gpg-error.pc; then gpgrt_libdir=$possible_libdir fi fi fi fi if test "$GPG_ERROR_CONFIG" = "no" -a -n "$gpgrt_libdir"; then AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) if test "$GPGRT_CONFIG" = "no"; then unset GPGRT_CONFIG else - GPGRT_CONFIG="$GPGRT_CONFIG --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$gpgrt_libdir" + GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` else unset GPGRT_CONFIG fi fi else gpg_error_config_version=`$GPG_ERROR_CONFIG --version` fi if test "$GPG_ERROR_CONFIG" != "no"; then req_major=`echo $min_gpg_error_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` req_minor=`echo $min_gpg_error_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` major=`echo $gpg_error_config_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` minor=`echo $gpg_error_config_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` if test "$major" -gt "$req_major"; then ok=yes else if test "$major" -eq "$req_major"; then if test "$minor" -ge "$req_minor"; then ok=yes fi fi fi if test -z "$GPGRT_CONFIG" -a -n "$gpgrt_libdir"; then if test "$major" -gt 1 -o "$major" -eq 1 -a "$minor" -ge 33; then AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) if test "$GPGRT_CONFIG" = "no"; then unset GPGRT_CONFIG else - GPGRT_CONFIG="$GPGRT_CONFIG --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$gpgrt_libdir" + GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) else unset GPGRT_CONFIG fi fi fi fi fi AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) if test $ok = yes; then GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` if test -z "$GPGRT_CONFIG"; then GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` else GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" fi AC_MSG_RESULT([yes ($gpg_error_config_version)]) ifelse([$2], , :, [$2]) if test -z "$GPGRT_CONFIG"; then gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` else gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` fi if test x"$gpg_error_config_host" != xnone ; then if test x"$gpg_error_config_host" != x"$host" ; then AC_MSG_WARN([[ *** *** The config script "$GPG_ERROR_CONFIG" was *** built for $gpg_error_config_host and thus may not match the *** used host $host. *** You may want to use the configure option --with-libgpg-error-prefix *** to specify a matching config script or use \$SYSROOT. ***]]) gpg_config_script_warn="$gpg_config_script_warn libgpg-error" fi fi else GPG_ERROR_CFLAGS="" GPG_ERROR_LIBS="" GPG_ERROR_MT_CFLAGS="" GPG_ERROR_MT_LIBS="" AC_MSG_RESULT(no) ifelse([$3], , :, [$3]) fi AC_SUBST(GPG_ERROR_CFLAGS) AC_SUBST(GPG_ERROR_LIBS) AC_SUBST(GPG_ERROR_MT_CFLAGS) AC_SUBST(GPG_ERROR_MT_LIBS) ]) diff --git a/src/gpgrt-config b/src/gpgrt-config index 9ff0b3a..9aec4f6 100755 --- a/src/gpgrt-config +++ b/src/gpgrt-config @@ -1,643 +1,611 @@ #!/bin/sh # Copyright (C) 2018 g10 Code GmbH # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # This file is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # SPDX-License-Identifier: FSFULLR #### start of functions for this script # # 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_" # get_var () { ___name=$1 eval echo \$VAR_$___name } # # get_attr: Get the attribute value of KEY # # Attributes are recorded in the shell variables named "ATTR_" # get_attr () { ___name=$1 eval echo \$ATTR_$___name } # Remove ${varname} part in the beginning of a string. remove_var_expr () { ___varname=$1 shift expr "$*" : "\${$___varname}\\(.*\\)" } # Given a string, substitute variables. substitute_vars () { __string="$1" __varname="" __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 () { _filename=$1 _line="" _varname="" _value="" _key="" _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_list:+ }VAR_$_varname" read VAR_$_varname <&2 exit 1 ;; esac fi done } find_file_in_path () { _f=$1 _p=$2 _saved_IFS="$IFS" _arg="" IFS=":" # On Windows it should be ";"??? for _arg in $_p; do if [ -r $_arg/$_f ]; then RESULT="$_arg/$_f" IFS="$_saved_IFS" return 0 fi done IFS="$_saved_IFS" RESULT="" return 1 } read_config_file () { if ! find_file_in_path $1.pc $2; then if [ -z "$want_exists" ]; then echo "Can't find $1.pc" 1>&2 fi exit 1 fi read_config_from_stdin $RESULT < $RESULT } cleanup_vars_attrs () { eval unset $VAR_list VAR_list eval unset $ATTR_list ATTR_list } not_listed_yet () { ___m=$1 ___arg="" shift for ___arg; do if [ $___m = $___arg ]; then return 1 fi done return 0 } list_only_once () { __result="" __arg="" for __arg; do if not_listed_yet $__arg $__result; then __result="$__result${__result:+ }$__arg" fi done echo $__result } list_only_once_for_libs () { __result="" __rev_list="" __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:+ }$__rev_list" ;; *) if not_listed_yet $__arg $__rev_list; then __rev_list="$__arg${__rev_list:+ }$__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:+ }$__result" fi ;; *) # As-is __result="$__arg${__result:+ }$__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 () { ___str1="$1" ___cmp="$2" ___str2="$3" ___char1="" ___char2="" ___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 () { all_list="" new_list="" p="" pkg="" cmp="" 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${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${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${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) } # # Modify -I or -L by PKG_CONFIG_SYSROOT_DIR variable # sysroot () { _opt="$1" _result="" shift while [ $# -gt 0 ]; do if [ $1 = $_opt ]; then _result="$_result${_result:+ }$_opt" shift _result="$_result $PKG_CONFIG_SYSROOT_DIR$1" elif expr "$1" : "^$_opt" >/dev/null; then _result="$_result${_result:+ }$_opt$PKG_CONFIG_SYSROOT_DIR$(expr "$1" : "^$_opt\(.*\)")" else _result="$_result${_result:+ }$1" fi shift done echo "$_result" } # Show usage usage () { cat <&2 - echo "When LIBDIR has variable references for prefix and/or exec_prefix," 1>&2 - echo "you should provide --prefix=PREFIX option and/or" 1>&2 - echo "--exec-prefix=EXEC_PREFIX option, too" 1>&2 exit 1 fi PKG_CONFIG_PATH="$PKG_CONFIG_PATH${PKG_CONFIG_PATH:+:}$PKG_CONFIG_LIBDIR" # if test $# -eq 0; then usage 1 1>&2 fi # Second stage to do the main functionality module_list="" want_var="" want_attr="" want_cflags="" want_libs="" want_exists="" cflags="" libs="" mtcflags="" mtlibs="" delimiter=" " output="" mt="no" VAR_list=VAR_pc_sysrootdir if [ -z "$PKG_CONFIG_SYSROOT_DIR" ]; then VAR_pc_sysrootdir="/" else VAR_pc_sysrootdir="$PKG_CONFIG_SYSROOT_DIR" fi while test $# -gt 0; do case $1 in #### pkg-config incompatible options: begin --prefix) # In future, use --variable=prefix instead. want_var=prefix ;; --exec-prefix) # In future, use --variable=exec_prefix instead. want_var=exec_prefix ;; --version) # In future, use --modversion instead. want_attr=Version delimiter=" " ;; --api-version) # In future, use --variable=api_version instead. want_var=api_version ;; --host) # In future, use --variable=host instead. want_var=host ;; --mt) # In future, use --variable=mtcflags or --variable=mtlibs. mt=yes ;; #### pkg-config incompatible options: end --modversion) want_attr=Version delimiter=" " ;; --exists) want_exists=yes ;; --cflags) want_cflags=yes ;; --libs) want_libs=yes ;; --variable=*) want_var=${1#*=} ;; --help) usage 0 ;; --*) usage 1 1>&2 ;; *) # Modules module_list="$module_list${module_list:+ }$1" ;; esac shift done if [ -z "$module_list" ]; then module_list=$default_module elif expr match "$module_list" "=\|!=\|<\|>\|<=\|>=" >/dev/null; then module_list="$default_module $module_list" fi all_required_config_files $module_list for p in $PKG_LIST; do read_config_file $p $PKG_CONFIG_PATH # For want_var or want_attr, get it from the first package if [ -n "$want_var" ]; then output="$(get_var $want_var)" break elif [ -n "$want_attr" ]; then output="$(get_attr $want_attr)" break 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:+ }$(sysroot -I $(list_only_once $cflags))" # Backward compatibility to old gpg-error-config if [ $mt = yes -a -n "$mtcflags" ]; then output="$output${output:+ }$mtcflags" fi fi if [ -n "$want_libs" ]; then output="$output${output:+ }$(sysroot -L $(list_only_once_for_libs $libs))" # Backward compatibility to old gpg-error-config if [ $mt = yes -a -n "$mtlibs" ]; then output="$output${output:+ }$mtlibs" fi fi fi if [ -z "$want_exists" ]; then echo "$output" fi exit 0 diff --git a/src/gpgrt.m4 b/src/gpgrt.m4 index 912b103..55c3ff0 100644 --- a/src/gpgrt.m4 +++ b/src/gpgrt.m4 @@ -1,148 +1,160 @@ # gpgrt.m4 - autoconf macro to detect libgpgrt # Copyright (C) 2002, 2003, 2004, 2011, 2014, 2017, 2018 g10 Code GmbH # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # This file is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # SPDX-License-Identifier: FSFULLR # # Last-changed: 2018-11-02 # Note: This is a kind of duplicate of gpg-error.m4 with uses the # future name of libgpg-error to prepare for a smooth migration in # some distant time. dnl AM_PATH_GPGRT([MINIMUM-VERSION, dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) dnl dnl Test for libgpgrt and define GPGRT_CFLAGS, GPGRT_LIBS, dnl GPGRT_MT_CFLAGS, and GPGRT_MT_LIBS. The _MT_ variants are dnl used for programs requiring real multi thread support. dnl dnl If a prefix option is not used, the config script is first dnl searched in $SYSROOT/bin and then along $PATH. If the used dnl config script does not match the host specification the script dnl is added to the gpg_config_script_warn variable. dnl AC_DEFUN([AM_PATH_GPGRT], [ AC_REQUIRE([AC_CANONICAL_HOST]) gpgrt_config_prefix="" dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, dnl since that is consistent with how our three siblings use the directory/ dnl package name in --with-$dir_name-prefix=PFX. AC_ARG_WITH(libgpg-error-prefix, AC_HELP_STRING([--with-libgpg-error-prefix=PFX], [prefix where GPG Error is installed (optional)]), [gpgrt_config_prefix="$withval"]) dnl Accept --with-gpg-error-prefix and make it work the same as dnl --with-libgpg-error-prefix above, for backwards compatibility, dnl but do not document this old, inconsistently-named option. AC_ARG_WITH(gpg-error-prefix,, [gpgrt_config_prefix="$withval"]) dnl Also accept libgpgrt-prefix AC_ARG_WITH(libgpgrt-prefix, AC_HELP_STRING([--with-libgpgrt-prefix=PFX], [prefix where GPG Runtime is installed (optional)]), [gpgrt_config_prefix="$withval"]) if test x"${GPGRT_CONFIG}" = x ; then if test x"${gpgrt_config_prefix}" != x ; then GPGRT_CONFIG="${gpgrt_config_prefix}/bin/gpgrt-config" else case "${SYSROOT}" in /*) if test -x "${SYSROOT}/bin/gpgrt-config" ; then GPGRT_CONFIG="${SYSROOT}/bin/gpgrt-config" fi ;; '') ;; *) AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) ;; esac fi fi - if test -f $libdir/pkgconfig/gpg-error.pc; then - gpgrt_libdir=$libdir + if test "$prefix" = NONE ; then + prefix_option_expanded=/usr/local + else + prefix_option_expanded="$prefix" + fi + if test "$exec_prefix" = NONE ; then + exec_prefix_option_expanded=$prefix_option_expanded + else + exec_prefix_option_expanded=$(prefix=$prefix_option_expanded eval echo $exec_prefix) + fi + libdir_option_expanded=$(prefix=$prefix_option_expanded exec_prefix=$exec_prefix_option_expanded eval echo $libdir) + + if test -f $libdir_option_expanded/pkgconfig/gpg-error.pc; then + gpgrt_libdir=$libdir_option_expanded else if crt1_path=$(${CC:-cc} -print-file-name=crt1.o 2>/dev/null); then if possible_libdir=$(cd ${crt1_path%/*} && pwd 2>/dev/null); then if test -f $possible_libdir/pkgconfig/gpg-error.pc; then gpgrt_libdir=$possible_libdir fi fi fi fi if test -n "$gpgrt_libdir"; then AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no) if test "$GPGRT_CONFIG" != "no"; then - GPGRT_CONFIG="$GPGRT_CONFIG --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$gpgrt_libdir" + GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" fi fi min_gpgrt_version=ifelse([$1], ,1.33,$1) AC_MSG_CHECKING(for GPG Runtime - version >= $min_gpgrt_version) ok=no if test x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no" ; then req_major=`echo $min_gpgrt_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` req_minor=`echo $min_gpgrt_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` gpgrt_config_version=`$GPGRT_CONFIG --version` major=`echo $gpgrt_config_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` minor=`echo $gpgrt_config_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` if test "$major" -gt "$req_major"; then ok=yes else if test "$major" -eq "$req_major"; then if test "$minor" -ge "$req_minor"; then ok=yes fi fi fi fi if test $ok = yes; then GPGRT_CFLAGS=`$GPGRT_CONFIG --cflags` GPGRT_LIBS=`$GPGRT_CONFIG --libs` GPGRT_MT_CFLAGS=`$GPGRT_CONFIG --variable=mtcflags 2>/dev/null` GPGRT_MT_CFLAGS="$GPGRT_CFLAGS${GPGRT_CFLAGS:+ }$GPGRT_MT_CFLAGS" GPGRT_MT_LIBS=`$GPGRT_CONFIG --variable=mtlibs 2>/dev/null` GPGRT_MT_LIBS="$GPGRT_LIBS${GPGRT_LIBS:+ }$GPGRT_MT_LIBS" AC_MSG_RESULT([yes ($gpgrt_config_version)]) ifelse([$2], , :, [$2]) gpgrt_config_host=`$GPGRT_CONFIG --variable=host 2>/dev/null || echo none` if test x"$gpgrt_config_host" != xnone ; then if test x"$gpgrt_config_host" != x"$host" ; then AC_MSG_WARN([[ *** *** The config script $GPGRT_CONFIG was *** built for $gpgrt_config_host and thus may not match the *** used host $host. *** You may want to use the configure option --with-libgpgrt-prefix *** to specify a matching config script or use \$SYSROOT. ***]]) gpg_config_script_warn="$gpg_config_script_warn libgpgrt" fi fi else GPGRT_CFLAGS="" GPGRT_LIBS="" GPGRT_MT_CFLAGS="" GPGRT_MT_LIBS="" AC_MSG_RESULT(no) ifelse([$3], , :, [$3]) fi AC_SUBST(GPGRT_CFLAGS) AC_SUBST(GPGRT_LIBS) AC_SUBST(GPGRT_MT_CFLAGS) AC_SUBST(GPGRT_MT_LIBS) ])