# Licence: wxWindows licence
############################################################################
+# Extra^2 debug mode, for if things ever get really wierd.
+[ -z "$WXDEBUG_X" ] || set -x
+
# We expect a posix shell, so if this is a Bourne shell,
# and apparently a few still exist, try for bash or ksh.
[ $# -gt 0 ] || usage 1
+# Contentious tools determined by configure.
+EGREP="@EGREP@"
+
# For the people who know what they want, or think they do:
# Divide the valid arguments into functional groups for later examination,
option_name()
{
_option_name_temp=${1%%=*}
- echo "${_option_name_temp#--}" | tr '-' '_'
+ echo ${_option_name_temp#--} | tr '-' '_'
}
# option_value _string
eval echo "\${$1_host}\${$1_toolkit}\${$1_widgetset}-\${$1_chartype}-\${$1_debugtype}\${$1_linkage}-\${$1_version}\${$1_flavour}"
}
+# Returns true if this script is for a cross compiled config.
+is_cross() { [ "x@cross_compiling@" = "xyes" ]; }
+
# Determine the base directories we require.
prefix=${input_option_prefix-${this_prefix:-@prefix@}}
installed_configs=$( cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-" )
-target="@host_alias@"
+is_cross && target="@host_alias@"
# Define a pseudo-hash to contain the specification of this wx-config
# instance and its associated library.
# find_eligible_delegates _mask
# Outputs all the config files installed which match the
# (extended regex) _mask passed as an argument.
-find_eligible_delegates() { echo "$installed_configs" | grep -E "$1" 2> /dev/null; }
+find_eligible_delegates() { echo "$installed_configs" | $EGREP "$1" 2> /dev/null; }
# user_mask_fits _config
# Returns true if the string _config satisfies the user specified mask.
-user_mask_fits() { echo "$1" | grep -E "$configmask" > /dev/null 2>&1; }
+user_mask_fits() { echo "$1" | $EGREP "$configmask" > /dev/null 2>&1; }
# count_fields _word
# Returns the number of IFS split fields in _word
if [ -n "$_legacy_configs" ]; then
_legacy_mask=$(get_legacy_mask)
for d in $_legacy_configs; do
- if echo $d | grep -E $_legacy_mask > /dev/null 2>&1 ; then
+ if echo $d | $EGREP $_legacy_mask > /dev/null 2>&1 ; then
echo "$d"
return
fi
exit
else
- # silently exit with error: we shouldn't give any messages here as
- # we may be called from a configure script where this would really
- # mess things up
+
+ cat 1>&2 <<-EOF
+
+ Warning: No config found to match: $config_spec
+ in $wxconfdir
+ If you require this configuration, please install the desired
+ library build. If this is part of an automated configuration
+ test and no other errors occur, you may safely ignore it.
+ You may use wx-config --list to see all configs available in
+ the default prefix.
+
+ EOF
+
+ # PIPEDREAM: from here we are actually just a teensy step
+ # from simply building the missing config for the user
+ # on the fly if this is an in tree wx-config.
+
exit 1
fi
fi
# The rest are going to need a little more work.
# --------------------------------------------------------------
-is_cross() { [ "x@cross_compiling@" = "xyes" ]; }
is_monolithic() { [ "x@MONOLITHIC@" = "x1" ]; }
is_static() { [ -n "$this_linkage" ]; }
is_installed() { [ -z "$this_prefix" ]; }
if is_static; then
_wxlibs="$_wxlibs ${libdir}/lib${_libname}.a"
for f in $(eval echo \"\$ldlibs_$lib\"); do
- _all_libs="$(remove_field $f $_all_libs) $f"
+
+ # Only propagate duplicate -libraries to their latest
+ # possible position. Do not eliminate any other
+ # duplicates that might occur. They should be fixed
+ # in configure long before they get here.
+ # This started as a workaround for Mac -framework,
+ # but it seems like a better policy in general, which
+ # will let the more heinous bugs in configure shake out.
+ # We should maybe filter *.a here too, but not unless
+ # we have to.
+ case "$f" in
+ -l*) _all_libs="$(remove_field $f $_all_libs) $f" ;;
+ *) _all_libs="$_all_libs $f" ;;
+ esac
+
done
else
_wxlibs="$_wxlibs -l${_libname}"
# output the list of libraries the main program should depend on
#
# of course, this duplication is bad but I'll leave to somebody else the care
-# of refactoring this as I don't see any way to do it
+# of refactoring this as I don't see any way to do it - VZ.
+
+# This (and the other cruft to support it) should be removed with
+# reference to the FIXME above when configure stops piping us a slurry
+# of options that need to be decomposed again for most practical uses - RL.
link_deps_for()
{
_wxlibs=''