]> git.saurik.com Git - wxWidgets.git/blobdiff - wx-config.in
compilation fixes for --with-regex=sys
[wxWidgets.git] / wx-config.in
index 9d60a461ce3ea2b5395bc6ca4b25f670813236be..f160232656853475cf7bbfb67e833f328d5d2458 100755 (executable)
 # Licence:     wxWindows licence
 ############################################################################
 
 # Licence:     wxWindows licence
 ############################################################################
 
-# We expect a posix shell, so if this is a Bourne shell,
-# and apparently a few still exist, try for bash or ksh.
-
-if [ ~ = '~' ]
-then
-    if (bash -c echo) >/dev/null 2>&1
-    then
-        exec bash "$0" "$@"
-    fi
-    if (ksh -c echo) >/dev/null 2>&1
-    then
-        exec ksh "$0" "$@"
-    fi
-    echo "$0: this script requires bash or ksh"
-    exit 1
-fi
+# Extra^2 debug mode, for if things ever get really weird.
+[ -z "$WXDEBUG_X" ] || set -x
+
 
 # On with some basic stuff, like the ability to die gracefully,
 # and to tell people what we are about.
 
 # On with some basic stuff, like the ability to die gracefully,
 # and to tell people what we are about.
@@ -58,29 +44,29 @@ usage()
     cat 1>&2 <<EOF
 
  wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--release] [--version-full]
     cat 1>&2 <<EOF
 
  wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--release] [--version-full]
-           [--list] [--host=HOST] [--toolkit=TOOLKIT] [--universal[=yes|no]]
-           [--unicode[=yes|no]] [--debug[=yes|no]] [--static[=yes|no]]
-           [--version[=VERSION]] [--basename] [--cc] [--cppflags] [--cflags]
-           [--cxxflags] [--rezflags] [--libs] [--cxx] [--ld] [--linkdeps]
-           [--utility=UTIL] [LIB ...] 
-
-   wx-config returns  information about  the wxWidgets libraries available
-   on your system.  It may be used to retrieve the information you require
-   to build applications using these libraries.
-
-    If alternative builds of wxWidgets exist on the system, you can use the
-  options:  --prefix,  --host,  --toolkit,  --unicode,  --debug,  --static,
-  --version and --universal, to select from them.  Use the --list option to
-  show alternatives available which match specified criteria.   The unicode,
-  debug, and universal options  take an  optional yes or no  argument, while
-  host and version  accept posix extended regex.   The --utility option will
-  return the correct version of UTIL to use with the selected library build.
-  --linkdeps returns only static libraries for your makefile link rule deps.
+           [--list] [--selected-config] [--host=HOST] [--toolkit=TOOLKIT]
+          [--universal[=yes|no]] [--unicode[=yes|no]] [--debug[=yes|no]]
+          [--static[=yes|no]] [--version[=VERSION]] [--basename] [--cc]
+          [--cppflags] [--cflags] [--cxxflags] [--rescomp] [--libs] [--cxx]
+          [--ld] [--linkdeps] [--utility=UTIL] [LIB ...] 
+
+    wx-config returns information about the wxWidgets libraries available on
+  your system.  It may be used to retrieve the information required to build
+  applications using these libraries using --cppflags, --cflags,  --cxxflags
+  and --libs options.
+
+    If multiple builds of wxWidgets  are available,  you can use the options
+  --prefix, --host, --toolkit, --unicode, --debug, --static, --universal and
+  --version to select from them. The --selected-config option shows the name
+  of the current configuration and --list shows available alternatives which
+  match specified criteria. The --utility option returns the correct version
+  of UTIL to use with the selected build. The --linkdeps option returns only
+  static libraries for your makefile link rule dependencies.
 
     Optional LIB arguments (comma or space separated) may be used to specify
   the wxWidgets libraries that  you wish  to use.  The magic "std" label may
   be used to import all libraries that would be used by default if none were
 
     Optional LIB arguments (comma or space separated) may be used to specify
   the wxWidgets libraries that  you wish  to use.  The magic "std" label may
   be used to import all libraries that would be used by default if none were
-  specified explicitly.  eg. wx-config --libs core,base.
+  specified explicitly, e.g. wx-config --libs core,base.
 
 EOF
 
 
 EOF
 
@@ -91,6 +77,9 @@ EOF
 [ $# -gt 0 ] || usage 1
 
 
 [ $# -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,
 
 # For the people who know what they want, or think they do:
 # Divide the valid arguments into functional groups for later examination,
@@ -125,6 +114,7 @@ wxconfig_output_options="prefix exec_prefix
                          release version version_full
                          basename
                          cppflags cflags cxxflags
                          release version version_full
                          basename
                          cppflags cflags cxxflags
+                         rescomp
                          rezflags
                          libs
                          linkdeps
                          rezflags
                          libs
                          linkdeps
@@ -139,7 +129,7 @@ wxconfig_input_options="prefix exec_prefix utility $wxconfig_schema"
 wxconfig_yesno_options="universal unicode debug static"
 
 # Boolean options that do something or not.
 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"
 
 
 
 
 
 
@@ -150,15 +140,14 @@ wxconfig_flag_options="$wxconfig_yesno_options no_rpath inplace"
 # Returns NAME if _string is of the form: --NAME[=...]
 option_name()
 {
 # Returns NAME if _string is of the form: --NAME[=...]
 option_name()
 {
-    _option_name_temp=${1%%=*}
-    echo "${_option_name_temp#--}" | tr '-' '_'
+    echo "$1" | sed 's/^--//;s/=.*//' | tr '-' '_'
 }
 
 # option_value _string
 # Returns FOO if _string is of the form: --option=FOO
 option_value()
 {
 }
 
 # option_value _string
 # Returns FOO if _string is of the form: --option=FOO
 option_value()
 {
-    echo "${1#*=}"
+    echo "$1" | sed 's/^[^=]*=//'
 }
 
 # match_field _value _list
 }
 
 # match_field _value _list
@@ -167,7 +156,7 @@ match_field()
 {
     _match_field_match="$1"
     shift
 {
     _match_field_match="$1"
     shift
-    for _match_field_i; do
+    for _match_field_i do
         [ "x$_match_field_i" != "x$_match_field_match" ] || return 0
     done
     false
         [ "x$_match_field_i" != "x$_match_field_match" ] || return 0
     done
     false
@@ -181,7 +170,7 @@ remove_field()
     _remf_list=''
     shift
     if [ -n "$_remf_value" ]; then
     _remf_list=''
     shift
     if [ -n "$_remf_value" ]; then
-        for _remf_item; do
+        for _remf_item do
             [ "x$_remf_item" = "x$_remf_value" ] ||
                 _remf_list="${_remf_list:+$_remf_list }$_remf_item"
         done
             [ "x$_remf_item" = "x$_remf_value" ] ||
                 _remf_list="${_remf_list:+$_remf_list }$_remf_item"
         done
@@ -192,7 +181,7 @@ remove_field()
 }
 
 # validate_arg _domain _set _name _value
 }
 
 # validate_arg _domain _set _name _value
-# Boilerplate to validate an argument and initialise a psuedo-hash.
+# Boilerplate to validate an argument and initialise a pseudo-hash.
 # This one is almost reduction into absurdity, and perhaps makes the
 # precise action of the argument parser below just a little more
 # obscure, but oh so neat and compact to use for multiple option
 # This one is almost reduction into absurdity, and perhaps makes the
 # precise action of the argument parser below just a little more
 # obscure, but oh so neat and compact to use for multiple option
@@ -208,7 +197,7 @@ remove_field()
 # with the one liners you see on the page below.
 validate_arg()
 {
 # with the one liners you see on the page below.
 validate_arg()
 {
-    if match_field "$3" $(eval echo \"\$$1_$2_options\"); then
+    if match_field "$3" `eval echo \"\\\$$1_$2_options\"`; then
         eval "$2_options=\"\${$2_options:+\$$2_options }$3\""
         eval "$2_option_$3=\"$4\""
         return
         eval "$2_options=\"\${$2_options:+\$$2_options }$3\""
         eval "$2_option_$3=\"$4\""
         return
@@ -253,15 +242,15 @@ check_yesno_option()
 # at this point, otherwise, it's time to just shut up and listen for
 # a moment.
 
 # at this point, otherwise, it's time to just shut up and listen for
 # a moment.
 
-for arg; do
+for arg do
   case "$arg" in
     --help|-h)
         usage
         ;;
 
     --*=*)
   case "$arg" in
     --help|-h)
         usage
         ;;
 
     --*=*)
-        _name=$(option_name $arg)
-        _value=$(option_value $arg)
+        _name=`option_name $arg`
+        _value=`option_value $arg`
         if validate_arg wxconfig input "$_name" "$_value" ||
            validate_arg wxconfig yesno "$_name" "$_value"
         then
         if validate_arg wxconfig input "$_name" "$_value" ||
            validate_arg wxconfig yesno "$_name" "$_value"
         then
@@ -270,7 +259,7 @@ for arg; do
         ;;
 
     --*)
         ;;
 
     --*)
-        _name=$(option_name $arg)
+        _name=`option_name $arg`
         if validate_arg wxconfig flag   "$_name" yes ||
            validate_arg wxconfig output "$_name" yes
         then
         if validate_arg wxconfig flag   "$_name" yes ||
            validate_arg wxconfig output "$_name" yes
         then
@@ -305,19 +294,19 @@ if [ -n "$WXDEBUG" ]; then
     decho "  input parameters  = $input_parameters"
     decho "  input options     = $input_options"
     for i in $input_options; do
     decho "  input parameters  = $input_parameters"
     decho "  input options     = $input_options"
     for i in $input_options; do
-        decho "    $i = $(eval echo \"\$input_option_$i\")"
+        decho "    $i = `eval echo \"\\\$input_option_$i\"`"
     done
     decho "  yes/no options    = $yesno_options"
     for y in $yesno_options; do
     done
     decho "  yes/no options    = $yesno_options"
     for y in $yesno_options; do
-        decho "    $y = $(eval echo \"\$yesno_option_$y\")"
+        decho "    $y = `eval echo \"\\\$yesno_option_$y\"`"
     done
     decho "  flag options      = $flag_options"
     for f in $flag_options; do
     done
     decho "  flag options      = $flag_options"
     for f in $flag_options; do
-        decho "    $f = $(eval echo \"\$flag_option_$f\")"
+        decho "    $f = `eval echo \"\\\$flag_option_$f\"`"
     done
     decho "  output options    = $output_options"
     for o in $output_options; do
     done
     decho "  output options    = $output_options"
     for o in $output_options; do
-        decho "    $o = $(eval echo \"\$output_option_$o\")"
+        decho "    $o = `eval echo \"\\\$output_option_$o\"`"
     done
 
 fi
     done
 
 fi
@@ -348,7 +337,7 @@ prefix=${input_option_prefix-${this_prefix:-@prefix@}}
 exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
 wxconfdir="@libdir@/wx/config"
 
 exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
 wxconfdir="@libdir@/wx/config"
 
-installed_configs=$( cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-" )
+installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"`
 
 is_cross && target="@host_alias@"
 
 
 is_cross && target="@host_alias@"
 
@@ -361,23 +350,23 @@ this_chartype="@WX_CHARTYPE@"
 this_debugtype="@WX_DEBUGTYPE@"
 this_flavour="@WX_FLAVOUR@"
 this_version="@WX_RELEASE@"
 this_debugtype="@WX_DEBUGTYPE@"
 this_flavour="@WX_FLAVOUR@"
 this_version="@WX_RELEASE@"
-this_linkage=$( [ "x@SHARED@" = "x1" ] || echo '-static' )
+this_linkage=`[ "x@SHARED@" = "x1" ] || echo '-static'`
 
 
-this_config=$(get_mask this)
+this_config=`get_mask this`
 
 # Extract the user specification from the options parsed.
 
 # Extract the user specification from the options parsed.
-m_host=${input_option_host:+${input_option_host}-?}
+m_host=${input_option_host:+"${input_option_host}-?"}
 m_host=${m_host:-${input_option_host-$this_host}}
 m_host=${m_host:-${input_option_host-$this_host}}
-m_toolkit=${input_option_toolkit:-[^-]+}
-m_widgetset=${input_option_widgetset-(univ)?}
-m_chartype=${input_option_chartype:-(unicode|ansi)}
-m_debugtype=${input_option_debugtype:-(debug|release)}
+m_toolkit=${input_option_toolkit:-'[^-]+'}
+m_widgetset=${input_option_widgetset-'(univ)?'}
+m_chartype=${input_option_chartype:-'(unicode|ansi)'}
+m_debugtype=${input_option_debugtype:-'(debug|release)'}
 m_flavour=${input_option_flavour:+-$input_option_flavour}
 m_flavour=${input_option_flavour:+-$input_option_flavour}
-m_flavour=${m_flavour:-${input_option_flavour-(-[^-]+)?}}
-m_version=${input_option_version:-[0-9]+\.[0-9]+}
-m_linkage=${input_option_linkage-(-static)?}
+m_flavour=${m_flavour:-${input_option_flavour-'(-[^-]+)?'}}
+m_version=${input_option_version:-'[0-9]+\.[0-9]+'}
+m_linkage=${input_option_linkage-'(-static)?'}
 
 
-configmask="^$(get_mask)$"
+configmask="^`get_mask`$"
 
 
 # Dump the user specification in debug mode.
 
 
 # Dump the user specification in debug mode.
@@ -450,11 +439,11 @@ fi
 # find_eligible_delegates _mask
 # Outputs all the config files installed which match the
 # (extended regex) _mask passed as an argument.
 # 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 _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
 
 # count_fields _word
 # Returns the number of IFS split fields in _word
@@ -462,11 +451,15 @@ count_fields()      { return $#; }
 
 # count_delegates _mask
 # Return the number of eligible config files that match _mask
 
 # count_delegates _mask
 # Return the number of eligible config files that match _mask
-count_delegates()   { count_fields $(find_eligible_delegates $1); }
+count_delegates()   { count_fields `find_eligible_delegates $1`; }
 
 # is_set _variablename
 # Returns true if $_variablename is initialised.
 
 # is_set _variablename
 # Returns true if $_variablename is initialised.
-is_set()            { [ "x$(eval echo \"\${$1-unset}\")" != "xunset" ]; }
+is_set()            { [ "x`eval echo \"\\\${$1-unset}\"`" != "xunset" ]; }
+
+# not _cmd _args...
+# true iff _cmd is false
+not()               { if "$@"; then false; else true; fi; }
 
 # do_find_best_delegate _unbound-options
 # The real worker part of find_best_delegate below.  Recurses though all
 
 # do_find_best_delegate _unbound-options
 # The real worker part of find_best_delegate below.  Recurses though all
@@ -499,22 +492,22 @@ do_find_best_delegate()
         decho "  $_fbd_indent---> unbound options: $*"
     fi
 
         decho "  $_fbd_indent---> unbound options: $*"
     fi
 
-    for i; do
+    for i do
 
         if [ "x$WXDEBUG" = "xverbose" ]; then
 
         if [ "x$WXDEBUG" = "xverbose" ]; then
-            decho "  ${_fbd_indent}binding '$i' with '$(remove_field $i $*)' still free"
+            decho "  ${_fbd_indent}binding '$i' with '`remove_field $i $*`' still free"
             [ -z "$_pruned" ] || decho "  ${_fbd_indent}  --- pruned: $_pruned ---"
         fi
 
         if (
             eval m_$i=\$this_$i
             [ -z "$_pruned" ] || decho "  ${_fbd_indent}  --- pruned: $_pruned ---"
         fi
 
         if (
             eval m_$i=\$this_$i
-            _mask="^$(get_mask)$"
+            _mask="^`get_mask`$"
 
             if [ "x$WXDEBUG" = "xverbose" ]; then
                 decho "  ${_fbd_indent}  checking: $_mask"
                 count_delegates "$_mask"
                 decho "  $_fbd_indent  $? eligible delegates"
 
             if [ "x$WXDEBUG" = "xverbose" ]; then
                 decho "  ${_fbd_indent}  checking: $_mask"
                 count_delegates "$_mask"
                 decho "  $_fbd_indent  $? eligible delegates"
-                for d in $(find_eligible_delegates "$_mask"); do
+                for d in `find_eligible_delegates "$_mask"`; do
                     decho "  ${_fbd_indent}    $d"
                 done
             fi 
                     decho "  ${_fbd_indent}    $d"
                 done
             fi 
@@ -523,14 +516,14 @@ do_find_best_delegate()
             _still_eligible=$?
 
             if [ $_still_eligible -eq 1 ]; then
             _still_eligible=$?
 
             if [ $_still_eligible -eq 1 ]; then
-                echo $(find_eligible_delegates "$_mask")
+                echo `find_eligible_delegates "$_mask"`
                 return
             fi
 
             [ "x$WXDEBUG" != "xfindprogress" ] || printf "." 1>&2
 
             [ $_still_eligible -gt 1 ] && [ $# -gt 1 ] &&
                 return
             fi
 
             [ "x$WXDEBUG" != "xfindprogress" ] || printf "." 1>&2
 
             [ $_still_eligible -gt 1 ] && [ $# -gt 1 ] &&
-                do_find_best_delegate $(remove_field $i $*)
+                do_find_best_delegate `remove_field $i $*`
            )
         then
 
            )
         then
 
@@ -542,7 +535,7 @@ do_find_best_delegate()
                 decho "  ${_fbd_indent}pruning: $i"
                 _pruned="${_pruned:+$_pruned }$i"
             fi
                 decho "  ${_fbd_indent}pruning: $i"
                 _pruned="${_pruned:+$_pruned }$i"
             fi
-            set $(remove_field $i $*)
+            set `remove_field $i $*`
 
         fi
 
 
         fi
 
@@ -596,11 +589,11 @@ find_legacy_configs()
 # This assumes no matching new style config has been found.
 find_best_legacy_config()
 {
 # This assumes no matching new style config has been found.
 find_best_legacy_config()
 {
-    _legacy_configs=$(find_legacy_configs)
+    _legacy_configs=`find_legacy_configs`
     if [ -n "$_legacy_configs" ]; then
     if [ -n "$_legacy_configs" ]; then
-        _legacy_mask=$(get_legacy_mask)
+        _legacy_mask=`get_legacy_mask`
         for d in $_legacy_configs; do
         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
                 echo "$d"
                 return
             fi
@@ -625,8 +618,8 @@ config_spec="$0 $*"
 if [ -n "$output_option_list" ]; then
 
     _remains_in_prefix=$installed_configs
 if [ -n "$output_option_list" ]; then
 
     _remains_in_prefix=$installed_configs
-    _delegates=$(find_eligible_delegates $configmask)
-    _best_delegate=$(find_best_delegate)
+    _delegates=`find_eligible_delegates $configmask`
+    _best_delegate=`find_best_delegate`
 
     if [ "x$WXDEBUG" = "xverbose" ]; then
         decho
 
     if [ "x$WXDEBUG" = "xverbose" ]; then
         decho
@@ -637,7 +630,7 @@ if [ -n "$output_option_list" ]; then
     fi
 
     for d in $_delegates; do
     fi
 
     for d in $_delegates; do
-        _remains_in_prefix=$(remove_field $d $_remains_in_prefix)
+        _remains_in_prefix=`remove_field $d $_remains_in_prefix`
     done
 
     echo
     done
 
     echo
@@ -649,7 +642,7 @@ if [ -n "$output_option_list" ]; then
         echo "  Default config ${this_exec_prefix+in $this_exec_prefix }will be used for output"
 
         if match_field "$this_config" $_delegates ; then
         echo "  Default config ${this_exec_prefix+in $this_exec_prefix }will be used for output"
 
         if match_field "$this_config" $_delegates ; then
-            _delegates=$(remove_field $this_config $_delegates)
+            _delegates=`remove_field $this_config $_delegates`
         else
             echo "  though it is not installed in: $prefix"
             if [ -n "$_best_delegate" ] && [ "x$_best_delegate" != "x$this_config" ]; then
         else
             echo "  though it is not installed in: $prefix"
             if [ -n "$_best_delegate" ] && [ "x$_best_delegate" != "x$this_config" ]; then
@@ -665,7 +658,7 @@ if [ -n "$output_option_list" ]; then
 
     elif [ -z "$_delegates" ]; then
 
 
     elif [ -z "$_delegates" ]; then
 
-        _last_chance=$(find_best_legacy_config)
+        _last_chance=`find_best_legacy_config`
         if [ -n "$_last_chance" ]; then
 
             echo "  Specification matches legacy config: $_last_chance"
         if [ -n "$_last_chance" ]; then
 
             echo "  Specification matches legacy config: $_last_chance"
@@ -689,7 +682,7 @@ if [ -n "$output_option_list" ]; then
         echo " to choose between alternate matches."
     fi
 
         echo " to choose between alternate matches."
     fi
 
-    _delegates=$(remove_field "$_best_delegate" $_delegates)
+    _delegates=`remove_field "$_best_delegate" $_delegates`
 
     if [ -n "$_delegates" ]; then
         echo
 
     if [ -n "$_delegates" ]; then
         echo
@@ -706,12 +699,12 @@ if [ -n "$output_option_list" ]; then
         done
     fi
 
         done
     fi
 
-    _legacy_configs=$(find_legacy_configs)
+    _legacy_configs=`find_legacy_configs`
     if [ -n "$_legacy_configs" ]; then
         echo
         echo "  Legacy configs available in $prefix:"
         for d in $_legacy_configs; do
     if [ -n "$_legacy_configs" ]; then
         echo
         echo "  Legacy configs available in $prefix:"
         for d in $_legacy_configs; do
-            echo "    ${d%-config}"
+            echo "    $d" | sed 's/-config$//'
         done
     fi
 
         done
     fi
 
@@ -725,7 +718,7 @@ fi
 # certain, can this config satisfy the user specification?
 # --------------------------------------------------------------
 
 # certain, can this config satisfy the user specification?
 # --------------------------------------------------------------
 
-if ! user_mask_fits "$this_config" ; then
+if not user_mask_fits "$this_config" ; then
 
     # No?  Then lets see if it knows anybody who can.
     # But first, just be sure someone hasn't typo'd us into a loop.
 
     # No?  Then lets see if it knows anybody who can.
     # But first, just be sure someone hasn't typo'd us into a loop.
@@ -750,17 +743,17 @@ if ! user_mask_fits "$this_config" ; then
     if [ -n "$WXDEBUG" ]; then
         decho "  must delegate to an alternate config"
         decho "  potential delegates ($_numdelegates):"
     if [ -n "$WXDEBUG" ]; then
         decho "  must delegate to an alternate config"
         decho "  potential delegates ($_numdelegates):"
-        for i in $(find_eligible_delegates "$configmask"); do
+        for i in `find_eligible_delegates "$configmask"`; do
             decho "    $i"
         done
     fi
 
     if [ $_numdelegates -eq 0 ]; then
 
             decho "    $i"
         done
     fi
 
     if [ $_numdelegates -eq 0 ]; then
 
-        _last_chance=$(find_best_legacy_config)
+        _last_chance=`find_best_legacy_config`
         if [ -n "$_last_chance" ]; then
 
         if [ -n "$_last_chance" ]; then
 
-            for arg; do
+            for arg do
                 case "$arg" in
                     --prefix*|--exec-prefix*|               \
                     --version|--release|--basename|         \
                 case "$arg" in
                     --prefix*|--exec-prefix*|               \
                     --version|--release|--basename|         \
@@ -812,7 +805,7 @@ if ! user_mask_fits "$this_config" ; then
 
         [ -z "$WXDEBUG" ] || decho "  must prune the list of eligible delegates"
 
 
         [ -z "$WXDEBUG" ] || decho "  must prune the list of eligible delegates"
 
-        best_delegate=$(find_best_delegate)
+        best_delegate=`find_best_delegate`
 
         if [ -n "$best_delegate" ]; then
             
 
         if [ -n "$best_delegate" ]; then
             
@@ -830,7 +823,7 @@ if ! user_mask_fits "$this_config" ; then
         decho " *** Error: Specification is ambiguous"
         decho "            as $config_spec"
         decho " Use additional feature options to choose between:"
         decho " *** Error: Specification is ambiguous"
         decho "            as $config_spec"
         decho " Use additional feature options to choose between:"
-        for i in $(find_eligible_delegates "$configmask"); do
+        for i in `find_eligible_delegates "$configmask"`; do
             decho "  $i"
         done
         decho
             decho "  $i"
         done
         decho
@@ -840,11 +833,11 @@ if ! user_mask_fits "$this_config" ; then
 
     if [ -n "$WXDEBUG" ]; then
         decho "  using the only suitable delegate"
 
     if [ -n "$WXDEBUG" ]; then
         decho "  using the only suitable delegate"
-        decho "--> $wxconfdir/$(find_eligible_delegates $configmask) $*"
+        decho "--> $wxconfdir/`find_eligible_delegates $configmask` $*"
     fi
 
     export WXCONFIG_DELEGATED=yes
     fi
 
     export WXCONFIG_DELEGATED=yes
-    $wxconfdir/$(find_eligible_delegates $configmask) $*
+    $wxconfdir/`find_eligible_delegates $configmask` $*
     exit
 fi
 
     exit
 fi
 
@@ -868,16 +861,25 @@ libdir="@libdir@"
 bindir="@bindir@"
 
 # Trivial queries we can answer now.
 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_cc"            ] || echo "@CC@"
+[ -z "$output_option_cxx"           ] || echo "@CXX@"
+[ -z "$output_option_ld"            ] || echo "@EXE_LINKER@"
+[ -z "$flag_option_selected_config" ] || echo "$this_config"
+
+
+# --rezflags is deprecated and disabled (2005/11/29)
+if [ -n "$output_option_rezflags" ]; then
+    echo "@true"
+    decho "Warning: --rezflags, along with Mac OS classic resource building" \
+          "is deprecated.  You should remove this from your Makefile and" \
+         "build .app bundles instead."
+fi
 
 
 # The rest are going to need a little more work.
 
 
 # The rest are going to need a little more work.
@@ -904,7 +906,7 @@ if [ -n "$input_option_utility" ]; then
     # like the libs, but work with what we've got for now.
     is_cross || _util="$exec_prefix/utils/$input_option_utility/$input_option_utility"
 
     # like the libs, but work with what we've got for now.
     is_cross || _util="$exec_prefix/utils/$input_option_utility/$input_option_utility"
 
-    if ! is_installed && [ -x "$_util" ]; then
+    if not is_installed && [ -x "$_util" ]; then
         is_static || _preload="eval LD_LIBRARY_PATH=$exec_prefix/lib"
         echo $_preload $_util
         exit
         is_static || _preload="eval LD_LIBRARY_PATH=$exec_prefix/lib"
         echo $_preload $_util
         exit
@@ -939,13 +941,14 @@ fi
 # Additional configuration for individual library components.
 ldflags_gl="@LDFLAGS_GL@"
 
 # Additional configuration for individual library components.
 ldflags_gl="@LDFLAGS_GL@"
 
-ldlibs_base="@WXCONFIG_EXTRALIBS@"
+ldlibs_base="@WXCONFIG_LIBS@"
 ldlibs_core="@EXTRALIBS_GUI@"
 ldlibs_gl="@OPENGL_LIBS@"
 ldlibs_html="@EXTRALIBS_HTML@"
 ldlibs_xml="@EXTRALIBS_XML@"
 ldlibs_odbc="@EXTRALIBS_ODBC@"
 ldlibs_adv="@EXTRALIBS_SDL@"
 ldlibs_core="@EXTRALIBS_GUI@"
 ldlibs_gl="@OPENGL_LIBS@"
 ldlibs_html="@EXTRALIBS_HTML@"
 ldlibs_xml="@EXTRALIBS_XML@"
 ldlibs_odbc="@EXTRALIBS_ODBC@"
 ldlibs_adv="@EXTRALIBS_SDL@"
+ldlibs_stc="@EXTRALIBS_STC@"
 
 
 # lib_flags_for _liblist
 
 
 # lib_flags_for _liblist
@@ -963,7 +966,7 @@ lib_flags_for()
 
     is_cross && _target="-${target}"
 
 
     is_cross && _target="-${target}"
 
-    for lib; do
+    for lib do
 
         # We evidently can't trust people not to duplicate things in
         # configure, or to keep them in any sort of sane order overall,
 
         # We evidently can't trust people not to duplicate things in
         # configure, or to keep them in any sort of sane order overall,
@@ -981,7 +984,7 @@ lib_flags_for()
         # for sloppy work elsewhere though and @GUI_TK_LIBRARY should
         # be fixed.
 
         # for sloppy work elsewhere though and @GUI_TK_LIBRARY should
         # be fixed.
 
-        for f in $(eval echo \"\$ldflags_$lib\"); do
+        for f in `eval echo \"\\\$ldflags_$lib\"`; do
             match_field "$f" $_all_ldflags || _all_ldflags="$_all_ldflags $f"
         done
 
             match_field "$f" $_all_ldflags || _all_ldflags="$_all_ldflags $f"
         done
 
@@ -995,7 +998,7 @@ lib_flags_for()
 
         if is_static; then
             _wxlibs="$_wxlibs ${libdir}/lib${_libname}.a"
 
         if is_static; then
             _wxlibs="$_wxlibs ${libdir}/lib${_libname}.a"
-            for f in $(eval echo \"\$ldlibs_$lib\"); do
+            for f in `eval echo \"\\\$ldlibs_$lib\"`; do
 
                 # Only propagate duplicate -libraries to their latest
                 # possible position.  Do not eliminate any other
 
                 # Only propagate duplicate -libraries to their latest
                 # possible position.  Do not eliminate any other
@@ -1006,11 +1009,10 @@ lib_flags_for()
                 # will let the more heinous bugs in configure shake out.
                 # We should maybe filter *.a here too, but not unless
                 # we have to.
                 # will let the more heinous bugs in configure shake out.
                 # We should maybe filter *.a here too, but not unless
                 # we have to.
-                if echo "$f" | grep ^-l > /dev/null 2>&1 ; then
-                    _all_libs="$(remove_field $f $_all_libs) $f"
-                else
-                    _all_libs="$_all_libs $f"
-                fi
+                case "$f" in
+                  -l*)  _all_libs="`remove_field $f $_all_libs` $f"     ;;
+                    *)  _all_libs="$_all_libs $f"                       ;;
+                esac
 
             done
         else
 
             done
         else
@@ -1044,7 +1046,7 @@ link_deps_for()
 
     is_cross && _target="-${target}"
 
 
     is_cross && _target="-${target}"
 
-    for lib; do
+    for lib do
         if match_field "$lib" @CORE_BASE_LIBS@ ; then
             _libname="@WX_LIBRARY_BASENAME_NOGUI@"
         else
         if match_field "$lib" @CORE_BASE_LIBS@ ; then
             _libname="@WX_LIBRARY_BASENAME_NOGUI@"
         else
@@ -1062,7 +1064,7 @@ link_deps_for()
 # Sanity check the list of libs the user provided us, if any.
 # --------------------------------------------------------------
 
 # Sanity check the list of libs the user provided us, if any.
 # --------------------------------------------------------------
 
-wx_libs=$(echo "$input_parameters" | tr ',' ' ')
+wx_libs=`echo "$input_parameters" | tr ',' ' '`
 
 [ -z "$WXDEBUG" ] || decho "  user supplied libs: '$wx_libs'"
 
 
 [ -z "$WXDEBUG" ] || decho "  user supplied libs: '$wx_libs'"
 
@@ -1070,15 +1072,15 @@ if is_monolithic; then
 
     # Core libs are already built into the blob.
     for i in std @CORE_GUI_LIBS@ @CORE_BASE_LIBS@; do
 
     # Core libs are already built into the blob.
     for i in std @CORE_GUI_LIBS@ @CORE_BASE_LIBS@; do
-        wx_libs=$(remove_field $i $wx_libs)
+        wx_libs=`remove_field $i $wx_libs`
     done
 
     done
 
-    wx_libs="@WXCONFIG_LDFLAGS_GUI@ $(lib_flags_for $wx_libs)"
+    wx_libs="@WXCONFIG_LDFLAGS_GUI@ `lib_flags_for $wx_libs`"
 
     # We still need the core lib deps for a static build though
     if is_static; then
         link_deps="${libdir}/libwx_@TOOLCHAIN_NAME@.a" 
 
     # We still need the core lib deps for a static build though
     if is_static; then
         link_deps="${libdir}/libwx_@TOOLCHAIN_NAME@.a" 
-        wx_libs="$wx_libs $link_deps $ldlibs_core @LIBS@"
+        wx_libs="$wx_libs $link_deps $ldlibs_core $ldlibs_base"
     else
         wx_libs="$wx_libs -lwx_@TOOLCHAIN_NAME@"
     fi
     else
         wx_libs="$wx_libs -lwx_@TOOLCHAIN_NAME@"
     fi
@@ -1093,11 +1095,11 @@ else    # MONOLITHIC = 0
     elif match_field std $wx_libs; then
         # Bubble any libs that were already specified to the end
         # of the list and ensure static linking order is retained.
     elif match_field std $wx_libs; then
         # Bubble any libs that were already specified to the end
         # of the list and ensure static linking order is retained.
-        wx_libs=$(remove_field std $wx_libs)
+        wx_libs=`remove_field std $wx_libs`
         for i in @CORE_GUI_LIBS@ @CORE_BASE_LIBS@; do
         for i in @CORE_GUI_LIBS@ @CORE_BASE_LIBS@; do
-            wx_libs="$(remove_field $i $wx_libs) $i"
+            wx_libs="`remove_field $i $wx_libs` $i"
         done
         done
-    elif ! match_field base $wx_libs ; then
+    elif not match_field base $wx_libs ; then
         wx_libs="$wx_libs base"
     fi
 
         wx_libs="$wx_libs base"
     fi
 
@@ -1112,9 +1114,9 @@ else    # MONOLITHIC = 0
     done
 
     if is_static; then
     done
 
     if is_static; then
-        link_deps=$(link_deps_for $wx_libs)
+        link_deps=`link_deps_for $wx_libs`
     fi
     fi
-    wx_libs="$_guildflags $(lib_flags_for $wx_libs)"
+    wx_libs="$_guildflags `lib_flags_for $wx_libs`"
 fi
 
 
 fi
 
 
@@ -1137,13 +1139,13 @@ else
     _include_cppflags="-I${includedir} -I${prefix}/contrib/include"
 fi
 
     _include_cppflags="-I${includedir} -I${prefix}/contrib/include"
 fi
 
-_cppflags=$(echo "-I${libdir}/wx/include/@TOOLCHAIN_FULLNAME@" $_include_cppflags "@WXDEBUG_DEFINE@" "@TOOLCHAIN_DEFS@" "@TOOLCHAIN_DLL_DEFS@" $_gui_cppflags "@WXCONFIG_INCLUDE@" "@WX_LARGEFILE_FLAGS@" "@GCC_PRAGMA_FLAGS@")  
+_cppflags=`echo "-I${libdir}/wx/include/@TOOLCHAIN_FULLNAME@" $_include_cppflags "@WXCONFIG_CPPFLAGS@" $_gui_cppflags`
 
 # now without further ado, we can answer these too.
 [ -z "$output_option_cppflags" ] || echo $_cppflags
 
 # now without further ado, we can answer these too.
 [ -z "$output_option_cppflags" ] || echo $_cppflags
-[ -z "$output_option_cflags"   ] || echo $_cppflags "@CODE_GEN_FLAGS@"
-[ -z "$output_option_cxxflags" ] || echo $_cppflags "@CODE_GEN_FLAGS@" "@CODE_GEN_FLAGS_CXX@"
-[ -z "$output_option_gl_libs"  ] || echo $(lib_flags_for gl)
+[ -z "$output_option_cflags"   ] || echo $_cppflags "@WXCONFIG_CFLAGS@"
+[ -z "$output_option_cxxflags" ] || echo $_cppflags "@WXCONFIG_CXXFLAGS@"
+[ -z "$output_option_gl_libs"  ] || echo `lib_flags_for gl`
 [ -z "$output_option_linkdeps" ] || echo $link_deps
 
 if [ -n "$output_option_libs" ]; then
 [ -z "$output_option_linkdeps" ] || echo $link_deps
 
 if [ -n "$output_option_libs" ]; then
@@ -1158,6 +1160,70 @@ if [ -n "$output_option_libs" ]; then
     echo $_ldflags "@LDFLAGS@" $_rpath $wx_libs "@DMALLOC_LIBS@"
 fi
 
     echo $_ldflags "@LDFLAGS@" $_rpath $wx_libs "@DMALLOC_LIBS@"
 fi
 
+
+# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+#
+# Beyond here reside only machine or tool specific workarounds
+# that require knowlege not obtainable prior to this comment.
+#
+# Please.  Avoid addding things here, wx-config should avoid
+# hard coding tool specific details.  Do not use things here
+# as an example of other things that should be here,  These
+# shouldn't be here either.  This is a place of last resort
+# for interim workarounds.  I can but stress as strongly as
+# the censor will allow, there are only bad examples of things
+# that belong at this level of abstraction to follow.  It is
+# a limbo for glitches awaiting the Next Design Repair.  Ok.
+#
+# With that firmly in mind, our debut dilemma is:
+
+# Resource compilers.  An elusive term that covers some pretty
+# dissimilar concepts on various platforms.  The good news is,
+# each platform has only one definition of 'resource', compiled
+# or not, and so we can abstract that neatly to return a platform
+# specific invocation of the appropriate tool.  The bad news is,
+# windres (at least) requires knowledge of the wx header files
+# location(s) that cannot be predicted reliably before the call to
+# wx-config is made.  Currently for all known resource compilers,
+# we can simply return a command and some salient configuration
+# options in response to a request for --rescomp.  So here we
+# top up the options for any tools that may require information
+# that was only just determined in the last few machine cycles,
+# then output the necessary incantation for the platform.
+#
+# Most things should already be constant by the time configure
+# has run.  Do not add anything here that is already known there.
+
+if [ -n "$output_option_rescomp" ]; then
+
+    case "@RESCOMP@" in
+      *windres|wrc)
+        # Note that with late model windres, we could just insert
+       # _include_cppflags here, but use the old notation for now
+       # as it is more universally accepted.
+        if is_installed; then
+            echo "@RESCOMP@ --include-dir" \
+                           "${includedir}/wx-@WX_RELEASE@@WX_FLAVOUR@" \
+                           "@WXCONFIG_RESFLAGS@"
+        else
+            echo "@RESCOMP@ --include-dir ${includedir}" \
+                           "--include-dir ${prefix}/contrib/include" \
+                          "@WXCONFIG_RESFLAGS@"
+        fi
+        ;;
+
+      # neither rez not emxbind have any specific needs from
+      # us, so just output what was determined by configure.
+      *)
+        echo @RESCOMP@ @WXCONFIG_RESFLAGS@
+        ;;
+    esac
+
+fi
+
+#
+# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
 # And so that's it, we're done.  Have a nice build.
 
 exit 0
 # And so that's it, we're done.  Have a nice build.
 
 exit 0