diff --git a/src/gpg-error-config-main.sh b/src/gpg-error-config-main.sh index c8ee06f..0a0dd0f 100644 --- a/src/gpg-error-config-main.sh +++ b/src/gpg-error-config-main.sh @@ -1,123 +1,130 @@ -if echo "$0" | grep gpg-error-config 2>/dev/null >/dev/null; then +myname=${0##*/} +if [ $myname = gpgrt-config ]; then myname="gpg-error-config" -else - myname="gpgrt-config" fi usage() { cat <&2 fi if [ "$1" != "--mt" ]; then mt=no else # In future, use --variable=mtcflags or --variable=mtlibs mt=yes shift fi -read_config_file ${myname%-config} $PKG_CONFIG_PATH - +modules="" +output_var="" +output_attr="" opt_cflags=no opt_libs=no output="" while test $# -gt 0; do - case "$1" in - -*=*) - optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` - ;; - *) - optarg= - ;; - esac - case $1 in --prefix) # In future, use --variable=prefix instead. - output="$output $(get_var prefix)" + output_var=prefix + break ;; --exec-prefix) # In future, use --variable=exec_prefix instead. - output="$output $(get_var exec_prefix)" + output_var=exec_prefix + break ;; --version) # In future, use --modversion instead. - echo "$(get_attr Version)" - exit 0 + output_attr=Version + break ;; --modversion) - echo "$(get_attr Version)" - exit 0 + output_attr=Version + break ;; --cflags) opt_cflags=yes ;; --libs) opt_libs=yes ;; --variable=*) - echo "$(get_var ${1#*=})" - exit 0 + output_var=${1#*=} + break ;; --host) # In future, use --variable=host instead. - echo "$(get_var host)" - exit 0 + output_var=host + break + ;; + --help) + usage 0 ;; *) - usage 1 1>&2 + modules="$modules $1" ;; esac shift done -cflags="$(get_attr Cflags)" -libs="$(get_attr Libs)" +if [ -z "$modules" ]; then + modules=${myname%-config} +fi + +if [ myname = "gpg-error-config" -a -z "$modules" ]; then + read_config_file ${myname%-config} $PKG_CONFIG_PATH + cflags="$(get_attr Cflags)" + libs="$(get_attr Libs)" -mtcflags="$(get_var mtcflags)" -mtlibs="$(get_var mtlibs)" + mtcflags="$(get_var mtcflags)" + mtlibs="$(get_var mtlibs)" -requires="$(get_attr Requires)" -cleanup_vars_attrs -pkg_list=$(all_required_config_files $requires) + requires="$(get_attr Requires)" + cleanup_vars_attrs + pkg_list=$(all_required_config_files $requires) +else + cflags="" + libs="" + pkg_list=$(all_required_config_files $modules) +fi for p in $pkg_list; do read_config_file $p $PKG_CONFIG_PATH cflags="$cflags $(get_attr Cflags)" libs="$libs $(get_attr Libs)" cleanup_vars_attrs done if [ $opt_cflags = yes ]; then 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 output="$output $(list_only_once_for_libs $libs)" # Backward compatibility to old gpg-error-config if [ $mt = yes ]; then output="$output $mtlibs" fi fi echo $output