]> git.saurik.com Git - wxWidgets.git/blobdiff - wx-config.in
Rebaked everything with bakefile 0.2.6 after wxRibbon merge.
[wxWidgets.git] / wx-config.in
index 6cabef88d43e8354d1f2e395ed784d1a33a08026..748c8856fb4068ff4b15eaa712acc93d4eb1f35a 100755 (executable)
@@ -45,23 +45,24 @@ usage()
 
  wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--release] [--version-full]
            [--list] [--selected-config] [--host=HOST] [--toolkit=TOOLKIT]
 
  wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--release] [--version-full]
            [--list] [--selected-config] [--host=HOST] [--toolkit=TOOLKIT]
-           [--universal[=yes|no]] [--unicode[=yes|no]] [--debug[=yes|no]]
-           [--static[=yes|no]] [--version[=VERSION]] [--basename]
-           [--cc] [--cxx] [--cppflags [base]] [--cxxflags [base]] [--cflags]
+           [--universal[=yes|no]] [--unicode[=yes|no]] [--static[=yes|no]]
+           [--version[=VERSION]] [--basename] [--cc] [--cxx]
+           [--cppflags [base]] [--cxxflags [base]] [--cflags]
            [--rescomp] [--linkdeps] [--ld] [--utility=UTIL]
            [--libs [LIBS...]] [--optional-libs [LIBS...]]
 
     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, --cxxflags, --cflags,
            [--rescomp] [--linkdeps] [--ld] [--utility=UTIL]
            [--libs [LIBS...]] [--optional-libs [LIBS...]]
 
     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, --cxxflags, --cflags,
-  and --libs options.
+  and --libs options. And you may query the properties of this configuration
+  using --query-{host,toolkit,widgetset,chartype,version,linkage}.
 
     If multiple builds of wxWidgets  are available,  you can use the 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
+  --prefix, --host, --toolkit, --unicode, --static, --universal or --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.
 
     The LIBS arguments (comma or space separated) may be used to specify the
   static libraries for your makefile link rule dependencies.
 
     The LIBS arguments (comma or space separated) may be used to specify the
@@ -72,7 +73,8 @@ usage()
   list  below.  The  --optional-libs parameter should be followed by  a list
   of  libs that should be linked to, but only if they are available.
 
   list  below.  The  --optional-libs parameter should be followed by  a list
   of  libs that should be linked to, but only if they are available.
 
-  Available libraries in this build are : @BUILT_WX_LIBS@
+  Available libraries in this build are:
+  @BUILT_WX_LIBS@
 
 EOF
 
 
 EOF
 
@@ -112,7 +114,7 @@ EGREP="@EGREP@"
 # configs to this one.  Options earlier in the list should be more crucial
 # to match well than those that follow.  Options specified by the user will
 # always take precedence and are not subject to any partial ordering here.
 # configs to this one.  Options earlier in the list should be more crucial
 # to match well than those that follow.  Options specified by the user will
 # always take precedence and are not subject to any partial ordering here.
-wxconfig_schema="host toolkit widgetset chartype debugtype flavour version linkage"
+wxconfig_schema="host toolkit widgetset chartype flavour version linkage"
 
 # Options that are expected to generate some output.
 wxconfig_output_options="prefix exec_prefix
 
 # Options that are expected to generate some output.
 wxconfig_output_options="prefix exec_prefix
@@ -133,6 +135,10 @@ wxconfig_output_options="prefix exec_prefix
 wxconfig_input_options="prefix exec_prefix utility $wxconfig_schema"
 
 # Input options that accept only a yes or no argument.
 wxconfig_input_options="prefix exec_prefix utility $wxconfig_schema"
 
 # Input options that accept only a yes or no argument.
+#
+# Notice that this includes "debug" but it is done only for compatibility, this
+# options (i.e. --debug[=yes] or --debug=no) is completely ignored as there is
+# no distinction between debug and release builds in wx any more
 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.
@@ -265,6 +271,15 @@ for arg do
         fi
         ;;
 
         fi
         ;;
 
+    --query-*)
+        _name=`echo $arg | sed 's/^--query-//'`
+        if match_field "$_name" $wxconfig_schema
+        then
+            query_options="${query_options:+$query_options }$_name"
+            continue
+        fi
+        ;;
+
     --*)
         _name=`option_name $arg`
         if validate_arg wxconfig flag   "$_name" yes ||
     --*)
         _name=`option_name $arg`
         if validate_arg wxconfig flag   "$_name" yes ||
@@ -284,8 +299,14 @@ for arg do
         elif [ "$_name" = "optional_libs" ]; then
             optional_libs_parameters="${optional_libs_parameters:+$optional_libs_parameters }$arg"
         else
         elif [ "$_name" = "optional_libs" ]; then
             optional_libs_parameters="${optional_libs_parameters:+$optional_libs_parameters }$arg"
         else
-            # These are unattached args and signify an error
-            input_parameters="${input_parameters:+$input_parameters }$arg"
+            # normally anything here are unattached arguments and signify an
+            # error but for compatibility with the 2.8 wx-config and,
+            # especially, configure scripts generated using 2.8 wxwin.m4 and
+            # hence doing `wx-config --version base,std`, we ignore anything
+            # following this option, just as 2.8 version used to do
+            if [ "$_name" != "version" ]; then
+                input_parameters="${input_parameters:+$input_parameters }$arg"
+            fi
         fi
         continue
         ;;
         fi
         continue
         ;;
@@ -300,14 +321,7 @@ done
 
 check_yesno_option universal widgetset univ
 check_yesno_option unicode chartype unicode ansi
 
 check_yesno_option universal widgetset univ
 check_yesno_option unicode chartype unicode ansi
-check_yesno_option debug debugtype debug release
-check_yesno_option static linkage '-static'
-
-# Display error for unknown input parameters
-if [ $input_parameters ]; then
-    decho "Extra unknown input parameters : $input_parameters"
-    exit 1
-fi
+check_yesno_option static linkage static
 
 # Dump everything we just read in debug mode.
 if [ -n "$WXDEBUG" ]; then
 
 # Dump everything we just read in debug mode.
 if [ -n "$WXDEBUG" ]; then
@@ -332,6 +346,7 @@ if [ -n "$WXDEBUG" ]; then
     for o in $output_options; do
         decho "    $o = `eval echo \"\\\$output_option_$o\"`"
     done
     for o in $output_options; do
         decho "    $o = `eval echo \"\\\$output_option_$o\"`"
     done
+    decho "  query options     = $query_options"
 
 fi
 
 
 fi
 
@@ -343,13 +358,13 @@ fi
 # --------------------------------------------------------------
 
 # get_mask [ _hash ]
 # --------------------------------------------------------------
 
 # get_mask [ _hash ]
-# Construct a config filename mask from a psuedo-hash of component variables.
+# Construct a config filename mask from a pseudo-hash of component variables.
 # The optional argument is the prefix of the hash to use.  If not specified
 # this will return a mask derived from the command line options that were used.
 get_mask()
 {
     [ $# -gt 0 ] || set m
 # The optional argument is the prefix of the hash to use.  If not specified
 # this will return a mask derived from the command line options that were used.
 get_mask()
 {
     [ $# -gt 0 ] || set m
-    eval echo "\${$1_host}\${$1_toolkit}\${$1_widgetset}-\${$1_chartype}-\${$1_debugtype}\${$1_linkage}-\${$1_version}\${$1_flavour}"
+    eval echo "\${$1_host:+\$$1_host-}\${$1_toolkit}\${$1_widgetset}-\${$1_chartype}\${$1_linkage:+-\$$1_linkage}-\${$1_version}\${$1_flavour}"
 }
 
 # Returns true if this script is for a cross compiled config.
 }
 
 # Returns true if this script is for a cross compiled config.
@@ -367,28 +382,27 @@ is_cross && target="@host_alias@"
 
 # Define a pseudo-hash to contain the specification of this wx-config
 # instance and its associated library.
 
 # Define a pseudo-hash to contain the specification of this wx-config
 # instance and its associated library.
-this_host="${target:+${target}-}"
+this_host="${target:+${target}}"
 this_toolkit="@TOOLKIT_DIR@@TOOLKIT_VERSION@"
 this_widgetset="@WIDGET_SET@"
 this_chartype="@WX_CHARTYPE@"
 this_toolkit="@TOOLKIT_DIR@@TOOLKIT_VERSION@"
 this_widgetset="@WIDGET_SET@"
 this_chartype="@WX_CHARTYPE@"
-this_debugtype="@WX_DEBUGTYPE@"
 this_flavour="@WX_FLAVOUR@"
 this_version="@WX_RELEASE@"
 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.
 m_host=${input_option_host:+"${input_option_host}-?"}
 # Extract the user specification from the options parsed.
 m_host=${input_option_host:+"${input_option_host}-?"}
-m_host=${m_host:-${input_option_host-$this_host}}
+m_host=${m_host:-$this_host}
 m_toolkit=${input_option_toolkit:-'[^-]+'}
 m_widgetset=${input_option_widgetset-'(univ)?'}
 m_chartype=${input_option_chartype:-'(unicode|ansi)'}
 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=${m_flavour:-${input_option_flavour-'(-[^-]+)?'}}
 m_version=${input_option_version:-'[0-9]+\.[0-9]+'}
 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_linkage=${input_option_linkage-'?(static)?'}
 
 configmask="^`get_mask`$"
 
 
 configmask="^`get_mask`$"
 
@@ -405,7 +419,6 @@ if [ -n "$WXDEBUG" ]; then
     decho "  m_toolkit    = '$m_toolkit'"
     decho "  m_widgetset  = '$m_widgetset'"
     decho "  m_chartype   = '$m_chartype'"
     decho "  m_toolkit    = '$m_toolkit'"
     decho "  m_widgetset  = '$m_widgetset'"
     decho "  m_chartype   = '$m_chartype'"
-    decho "  m_debugtype  = '$m_debugtype'"
     decho "  m_flavour    = '$m_flavour'"
     decho "  m_version    = '$m_version'"
     decho "  m_linkage    = '$m_linkage'"
     decho "  m_flavour    = '$m_flavour'"
     decho "  m_version    = '$m_version'"
     decho "  m_linkage    = '$m_linkage'"
@@ -591,8 +604,7 @@ get_legacy_mask()
 {
     [ $# -gt 0 ] || set m
     eval [ "x\${$1_chartype}" != "xunicode" ] || _unicode_flag=u
 {
     [ $# -gt 0 ] || set m
     eval [ "x\${$1_chartype}" != "xunicode" ] || _unicode_flag=u
-    eval [ "x\${$1_debugtype}" != "xdebug" ] || _debug_flag=d
-    eval echo "wx\${$1_toolkit}${_unicode_flag}${_debug_flag}-\${$1_version}\${$1_host}-config"
+    eval echo "wx\${$1_toolkit}${_unicode_flag}-\${$1_version}\${$1_host}-config"
 }
 
 # find_legacy_configs
 }
 
 # find_legacy_configs
@@ -799,7 +811,8 @@ if not user_mask_fits "$this_config" ; then
                 decho "--> $prefix/bin/$_last_chance $_legacy_args"
             fi
 
                 decho "--> $prefix/bin/$_last_chance $_legacy_args"
             fi
 
-            export WXCONFIG_DELEGATED=yes
+            WXCONFIG_DELEGATED=yes
+            export WXCONFIG_DELEGATED
             $prefix/bin/$_last_chance $_legacy_args
             exit
 
             $prefix/bin/$_last_chance $_legacy_args
             exit
 
@@ -838,7 +851,8 @@ EOF
                 decho "--> $wxconfdir/$best_delegate $*"
             fi
 
                 decho "--> $wxconfdir/$best_delegate $*"
             fi
 
-            export WXCONFIG_DELEGATED=yes
+            WXCONFIG_DELEGATED=yes
+            export WXCONFIG_DELEGATED
             $wxconfdir/$best_delegate $*
             exit
         fi
             $wxconfdir/$best_delegate $*
             exit
         fi
@@ -860,7 +874,8 @@ EOF
         decho "--> $wxconfdir/`find_eligible_delegates $configmask` $*"
     fi
 
         decho "--> $wxconfdir/`find_eligible_delegates $configmask` $*"
     fi
 
-    export WXCONFIG_DELEGATED=yes
+    WXCONFIG_DELEGATED=yes
+    export WXCONFIG_DELEGATED
     $wxconfdir/`find_eligible_delegates $configmask` $*
     exit
 fi
     $wxconfdir/`find_eligible_delegates $configmask` $*
     exit
 fi
@@ -896,6 +911,9 @@ bindir="@bindir@"
 [ -z "$output_option_ld"            ] || echo "@CXX@ -o"
 [ -z "$flag_option_selected_config" ] || echo "$this_config"
 
 [ -z "$output_option_ld"            ] || echo "@CXX@ -o"
 [ -z "$flag_option_selected_config" ] || echo "$this_config"
 
+for q in $query_options; do
+    eval echo "\$this_$q"
+done
 
 # --rezflags is deprecated and disabled (2005/11/29)
 if [ -n "$output_option_rezflags" ]; then
 
 # --rezflags is deprecated and disabled (2005/11/29)
 if [ -n "$output_option_rezflags" ]; then
@@ -1185,7 +1203,7 @@ fi
 if is_installed; then
     _include_cppflags="-I${includedir}/wx-@WX_RELEASE@@WX_FLAVOUR@"
 else
 if is_installed; then
     _include_cppflags="-I${includedir}/wx-@WX_RELEASE@@WX_FLAVOUR@"
 else
-    _include_cppflags="-I${includedir} -I${prefix}/contrib/include"
+    _include_cppflags="-I${includedir}"
 fi
 
 _cppflags=`echo "-I${libdir}/wx/include/@TOOLCHAIN_FULLNAME@" $_include_cppflags "@WXCONFIG_CPPFLAGS@" $_gui_cppflags`
 fi
 
 _cppflags=`echo "-I${libdir}/wx/include/@TOOLCHAIN_FULLNAME@" $_include_cppflags "@WXCONFIG_CPPFLAGS@" $_gui_cppflags`
@@ -1262,7 +1280,6 @@ if [ -n "$output_option_rescomp" ]; then
                            "@WXCONFIG_RESFLAGS@"
         else
             echo "@RESCOMP@ --include-dir ${includedir}" \
                            "@WXCONFIG_RESFLAGS@"
         else
             echo "@RESCOMP@ --include-dir ${includedir}" \
-                           "--include-dir ${prefix}/contrib/include" \
                            "@WXCONFIG_RESFLAGS@"
         fi
         ;;
                            "@WXCONFIG_RESFLAGS@"
         fi
         ;;