# Licence: wxWindows licence
############################################################################
+# Extra^2 debug mode, for if things ever get really weird.
+[ -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,
wxconfig_yesno_options="universal unicode debug static"
# Boolean options that do something or not.
-wxconfig_flag_options="$wxconfig_yesno_options no_rpath inplace"
+wxconfig_flag_options="$wxconfig_yesno_options selected_config no_rpath inplace"
option_name()
{
_option_name_temp=${1%%=*}
- echo "${_option_name_temp#--}" | tr '-' '_'
+ echo ${_option_name_temp#--} | tr '-' '_'
}
# option_value _string
# 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
bindir="@bindir@"
# Trivial queries we can answer now.
-[ -z "$output_option_prefix" ] || echo $prefix
-[ -z "$output_option_exec_prefix" ] || echo $exec_prefix
-[ -z "$output_option_release" ] || echo "@WX_RELEASE@"
-[ -z "$output_option_version" ] || echo "@WX_VERSION@"
-[ -z "$output_option_version_full" ] || echo "@WX_SUBVERSION@"
-[ -z "$output_option_basename" ] || echo "@WX_LIBRARY_BASENAME_GUI@"
-[ -z "$output_option_rezflags" ] || echo $(eval echo "@MACRESWXCONFIG@")
-[ -z "$output_option_cc" ] || echo "@CC@"
-[ -z "$output_option_cxx" ] || echo "@CXX@"
-[ -z "$output_option_ld" ] || echo "@EXE_LINKER@"
+[ -z "$output_option_prefix" ] || echo $prefix
+[ -z "$output_option_exec_prefix" ] || echo $exec_prefix
+[ -z "$output_option_release" ] || echo "@WX_RELEASE@"
+[ -z "$output_option_version" ] || echo "@WX_VERSION@"
+[ -z "$output_option_version_full" ] || echo "@WX_SUBVERSION@"
+[ -z "$output_option_basename" ] || echo "@WX_LIBRARY_BASENAME_GUI@"
+[ -z "$output_option_rezflags" ] || echo $(eval echo "@MACRESWXCONFIG@")
+[ -z "$output_option_cc" ] || echo "@CC@"
+[ -z "$output_option_cxx" ] || echo "@CXX@"
+[ -z "$output_option_ld" ] || echo "@EXE_LINKER@"
+[ -z "$flag_option_selected_config" ] || echo "$this_config"
# The rest are going to need a little more work.
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=''