X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ffef10f672148b13bb6f362c0f38e3ca8c1206ef..eecdb0007ff012f7da0da0c9b1a17b372e24fa12:/wx-config.in diff --git a/wx-config.in b/wx-config.in index c5f47c0ad8..f1a8a541b5 100755 --- a/wx-config.in +++ b/wx-config.in @@ -14,7 +14,7 @@ is_monolithic="@MONOLITHIC@" cross_compiling="@cross_compiling@" target="@host_alias@" static_flag="@STATIC_FLAG@" - +inplace_flag="no" # Misc configuration variables: @@ -47,6 +47,7 @@ TOOLCHAIN_DEFS="@TOOLCHAIN_DEFS@" TOOLCHAIN_DLL_DEFS="@TOOLCHAIN_DLL_DEFS@" WXCONFIG_INCLUDE="@WXCONFIG_INCLUDE@" WX_LARGEFILE_FLAGS="@WX_LARGEFILE_FLAGS@" +GCC_PRAGMA_FLAGS="@GCC_PRAGMA_FLAGS@" CODE_GEN_FLAGS="@CODE_GEN_FLAGS@" CODE_GEN_FLAGS_CXX="@CODE_GEN_FLAGS_CXX@" LDFLAGS_EXE="@LDFLAGS_EXE@" @@ -64,7 +65,9 @@ CORE_GUI_LIBS="@CORE_GUI_LIBS@" ldlibs_base="@WXCONFIG_EXTRALIBS@" ldlibs_core="@EXTRALIBS_GUI@" ldlibs_xml="@EXTRALIBS_XML@" +ldlibs_html="@EXTRALIBS_HTML@" ldlibs_odbc="@EXTRALIBS_ODBC@" +ldlibs_adv="@EXTRALIBS_SDL@" ldflags_gl="@LDFLAGS_GL@" ldlibs_gl="@OPENGL_LIBS@" @@ -140,55 +143,49 @@ get_ldflags_gui() echo $flags_to_ret } -# return the absolute path prepending builddir to it if needed -makeabs() -{ - path=$1 - # TODO: this only works under Unix and even there it could be - # enhanced to remove ".." and "." - if [ `echo $path | sed 's/^\(.\).*/\1/'` != "/" ]; then - if [ $path = "." ]; then - path=$builddir - else - path="$builddir/$path" - fi - fi - - echo $path -} - usage() { cat <&2 fi + +# handle libraries list: + +libs_list="" + +for arg in $*; do + case "$arg" in + -*) + ;; + *) + libs_list="$libs_list `echo "$arg" | tr ',' ' '`" + ;; + esac +done + +if test "x$libs_list" = "x" ; then + if test "$is_monolithic" = "0" ; then + # link against all libs if none given explicitly: + libs_list="$CORE_GUI_LIBS $CORE_BASE_LIBS" + fi +else + # always add wxBase, any wxApp needs it: + libs_list="$libs_list base" +fi + +# determine if at least one gui lib was used: +nogui_flag="yes" +for i in $libs_list; do + case $i in + base|net) + ;; + *) + nogui_flag="no" + ;; + esac +done + + +# handle options: + while test $# -gt 0; do case "$1" in -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; @@ -243,10 +269,7 @@ while test $# -gt 0; do case $1 in --inplace) - prefix=`makeabs $srcdir` - exec_prefix=`makeabs $builddir` - exec_prefix_set=yes - update_prefixes + inplace_flag=yes ;; --prefix=*) prefix=$optarg @@ -291,22 +314,10 @@ while test $# -gt 0; do echo ${LDFLAGS_EXE} ;; --rezflags) - echo ${MACRESWXCONFIG} + echo `eval echo ${MACRESWXCONFIG}` ;; - --libs*) - # find if the argument was --libs=list,of,libs or --libs: - if test "x$optarg" = "x" ; then - if test "$is_monolithic" = "0" ; then - # link against all libs if none given explicitly: - libs_list="$CORE_GUI_LIBS $CORE_BASE_LIBS" - fi - else - libs_list=`echo "$optarg" | tr ',' ' '` - # always add wxBase, any wxApp needs it: - libs_list="$libs_list base" - fi - + --libs) # include install directory only if it is not default: if test "${libdir}" != "/usr/lib" \ -a \( "${cross_compiling}" != "yes" \ @@ -315,12 +326,14 @@ while test $# -gt 0; do libs="-L${libdir}" fi + # it's simpler to avoid handling "base" itself at all as we add it in the + # end to the list of libraries anyhow # in monolithic build, link against the main library: if test "$is_monolithic" = "1" ; then # filter out core libs, leave only contrib in libs_list: newlist= for i in $libs_list ; do - if isinlist $i $CORE_BASE_LIBS $CORE_GUI_LIBS ; then + if isinlist $i $CORE_GUI_LIBS $CORE_BASE_LIBS; then libs_list="" # do nothing else newlist="$newlist $i" @@ -336,6 +349,33 @@ while test $# -gt 0; do echo $libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${WXCONFIG_LIBS} ${DMALLOC_LIBS} fi else + # we may need to replace "std" alias with its expansion + newlist= + hadstd=0 + for i in $libs_list; do + case $i in + std) + hadstd=1 + ;; + + base) + # if we have std, we're going to add base anyhow, avoid + # having it twice in the end + if [ $hadstd = 0 ]; then + newlist="$newlist $i" + fi + ;; + + *) + newlist="$newlist $i" + ;; + esac + done + libs_list="$newlist" + if [ $hadstd = 1 ]; then + libs_list="$libs_list $CORE_GUI_LIBS $CORE_BASE_LIBS" + fi + # in multilib mode, link against all sublibraries: wxlibs=`output_libs $libs_list` guildflags=`get_ldflags_gui $libs_list` @@ -355,7 +395,11 @@ while test $# -gt 0; do --ld) echo $LD ;; - *) + --help|-h) + usage 1 1>&2 + ;; + -*) + # unrecognized flag is error usage 1 1>&2 ;; esac