X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4c51a665c649f7579fb39e62070cef4f66b3210d..65fb4b3a4f18e1d8b58ac92d50d4cc7f81f03783:/wx-config.in?ds=sidebyside diff --git a/wx-config.in b/wx-config.in index d1dd47920b..261e024e9b 100755 --- a/wx-config.in +++ b/wx-config.in @@ -245,6 +245,9 @@ check_yesno_option() } +MAC_FRAMEWORK= +MAC_FRAMEWORK_PREFIX= + # Now we are ready to find out what the user wants from us. # -------------------------------------------------------------- @@ -1032,6 +1035,41 @@ ldlibs_adv="@EXTRALIBS_SDL@" ldlibs_stc="@EXTRALIBS_STC@" +# Order the libraries passed to us correctly for static linking. +# +# While the libraries order doesn't matter when linking dynamically, we must +# put the libraries depending on other libraries in front of their dependencies +# when linking statically or the dependencies wouldn't be resolved by the +# standard UNIX linkers. +order_libs() +{ + if is_static; then + for lib do + # Distinguish between the libraries that may need to be moved to + # the end of the list (because other ones may depend on them) and + # those that can be output immediately because no other libraries + # depend on them. + case "$lib" in + base|core|html|xml|adv) eval "use_$lib=1" ;; + *) libs="$libs $lib" ;; + esac + done + + # Add the libraries that we postponed adding above. + # Order of the checks here is important. + [ -z "$use_html" ] || libs="$libs html" + [ -z "$use_adv" ] || libs="$libs adv" + [ -z "$use_core" ] || libs="$libs core" + [ -z "$use_xml" ] || libs="$libs xml" + [ -z "$use_base" ] || libs="$libs base" + else + # No need to order them. + libs="$@" + fi + + echo $libs +} + # lib_flags_for _liblist # This function returns a list of flags suitable to return with the # output of --libs for all of the libraries in _liblist. You can @@ -1171,6 +1209,7 @@ if is_monolithic; then wx_libs=`remove_field $i $wx_libs` done + wx_libs=`order_libs $wx_libs` wx_libs="@WXCONFIG_LDFLAGS_GUI@ `lib_flags_for $wx_libs`" # We still need the core lib deps for a static build though @@ -1217,6 +1256,7 @@ else # MONOLITHIC = 0 if is_static; then link_deps=`link_deps_for $wx_libs` fi + wx_libs=`order_libs $wx_libs` wx_libs="$_guildflags `lib_flags_for $wx_libs`" fi @@ -1263,6 +1303,15 @@ if [ -n "$output_option_libs" ]; then [ "x$libdir" = "x/usr/lib" ] || _ldflags="-L$libdir" + if [ -n "$MAC_FRAMEWORK" ]; then + wx_libs="-framework $MAC_FRAMEWORK" + if [ -n "$MAC_FRAMEWORK_PREFIX" ]; then + _ldflags="-F$MAC_FRAMEWORK_PREFIX" + else + _ldflags="" + fi + fi + is_installed || [ -n "$flag_option_no_rpath" ] || _rpath="@WXCONFIG_RPATH@" echo $_ldflags "@WXCONFIG_LDFLAGS@" $_rpath $wx_libs "@DMALLOC_LIBS@"