X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3ea8b5c0911d40db69a1f715f24491d22f3193d..ea172e69cfb23ce2072bb999f4cba4c021d77b8e:/wx-config.in?ds=sidebyside diff --git a/wx-config.in b/wx-config.in index 339883adb8..c5f47c0ad8 100755 --- a/wx-config.in +++ b/wx-config.in @@ -1,36 +1,82 @@ #!/bin/sh -# Generic configuration variables: -prefix=@prefix@ -exec_prefix=@exec_prefix@ -exec_prefix_set=no +# ------------------------------------------------------------------------- +# Configured settings: +# ------------------------------------------------------------------------- + +# Version and build type information: + +WX_MAJOR_VERSION_NUMBER="@WX_MAJOR_VERSION_NUMBER@" +WX_MINOR_VERSION_NUMBER="@WX_MINOR_VERSION_NUMBER@" +WX_RELEASE_NUMBER="@WX_RELEASE_NUMBER@" +release="@WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@" +is_monolithic="@MONOLITHIC@" +cross_compiling="@cross_compiling@" +target="@host_alias@" +static_flag="@STATIC_FLAG@" + + +# Misc configuration variables: + +update_prefixes() +{ + includedir="@includedir@" + libdir="@libdir@" +} +prefix="@prefix@" +exec_prefix="@exec_prefix@" +update_prefixes + CC="@CC@" GCC="@GCC@" CXX="@CXX@" LD="@SHARED_LD@" -srcdir=@top_srcdir@ -builddir=@top_builddir_wxconfig@ -cross_compiling=@cross_compiling@ -target=@host_alias@ -static_flag=@STATIC_FLAG@ -basename_nogui=@WX_LIBRARY_BASENAME_NOGUI@ -basename_gui=@WX_LIBRARY_BASENAME_GUI@ -release=@WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@ -is_monolithic=@MONOLITHIC@ +srcdir="@top_srcdir@" +builddir="@top_builddir_wxconfig@" +basename_nogui="@WX_LIBRARY_BASENAME_NOGUI@" +basename_gui="@WX_LIBRARY_BASENAME_GUI@" + +TOOLCHAIN_NAME="@TOOLCHAIN_NAME@" +LDFLAGS="@LDFLAGS@" +WXCONFIG_RPATH="@WXCONFIG_RPATH@" +DMALLOC_LIBS="@DMALLOC_LIBS@" +WXCONFIG_LIBS="@WXCONFIG_LIBS@" +WXCONFIG_LIBS_STATIC="@WXCONFIG_LIBS_STATIC@" +WXDEBUG_DEFINE="@WXDEBUG_DEFINE@" +TOOLCHAIN_DEFS="@TOOLCHAIN_DEFS@" +TOOLCHAIN_DLL_DEFS="@TOOLCHAIN_DLL_DEFS@" +WXCONFIG_INCLUDE="@WXCONFIG_INCLUDE@" +WX_LARGEFILE_FLAGS="@WX_LARGEFILE_FLAGS@" +CODE_GEN_FLAGS="@CODE_GEN_FLAGS@" +CODE_GEN_FLAGS_CXX="@CODE_GEN_FLAGS_CXX@" +LDFLAGS_EXE="@LDFLAGS_EXE@" +MACRESWXCONFIG="@MACRESWXCONFIG@" +EXTRALIBS_GUI="@EXTRALIBS_GUI@" +LIBS="@LIBS@" +WXCONFIG_LDFLAGS_GUI="@WXCONFIG_LDFLAGS_GUI@" # Linker flags for sublibraries: -CORE_BASE_LIBS="xml net base" -CORE_GUI_LIBS="html core" -ldlibs_base="@LIBS@" +CORE_BASE_LIBS="@CORE_BASE_LIBS@" +CORE_GUI_LIBS="@CORE_GUI_LIBS@" + +ldlibs_base="@WXCONFIG_EXTRALIBS@" ldlibs_core="@EXTRALIBS_GUI@" ldlibs_xml="@EXTRALIBS_XML@" +ldlibs_odbc="@EXTRALIBS_ODBC@" ldflags_gl="@LDFLAGS_GL@" ldlibs_gl="@OPENGL_LIBS@" + +# ------------------------------------------------------------------------- +# Script code: +# ------------------------------------------------------------------------- + +exec_prefix_set=no + # is $1 among the rest of arguments? isinlist() { @@ -47,10 +93,14 @@ isinlist() # (does not handle monolithic/multilib): output_libs() { + if test "$cross_compiling" = "yes" ; then + target_tag="-${target}" + fi + all_libs="" all_ldflags="" wxlibs="" - + for lib in $* ; do eval xlibs=\$ldlibs_$lib eval xflags=\$ldflags_$lib @@ -59,19 +109,37 @@ output_libs() else basename=$basename_gui fi + if test $lib = "base" ; then + libname="$basename" + else + libname="${basename}_${lib}" + fi all_ldflags="$all_ldflags $xflags" if test $static_flag = yes ; then - wxlibs="$wxlibs @libdir@/lib${basename}_${lib}-${release}.a" + wxlibs="$wxlibs ${libdir}/lib${libname}-${release}${target_tag}.a" all_libs="$all_libs $xlibs" else - wxlibs="$wxlibs -l${basename}_${lib}-${release}" + wxlibs="$wxlibs -l${libname}-${release}${target_tag}" fi done echo $all_ldflags $wxlibs $all_libs } +# output $(WXCONFIG_LDFLAGS_GUI) if any of libs passed as arguments is GUI +# library, nothing otherwise: +get_ldflags_gui() +{ + flags_to_ret="" + for lib in $* ; do + if isinlist $lib $CORE_GUI_LIBS ; then + flags_to_ret="$WXCONFIG_LDFLAGS_GUI" + fi + done + echo $flags_to_ret +} + # return the absolute path prepending builddir to it if needed makeabs() { @@ -120,6 +188,8 @@ specification for it to take effect. wxWindows libraries to link against. This list can include both core and contrib libraries. +--gl-libs option is deprecated, used --libs=gl instead. + EOF exit $1 @@ -142,22 +212,22 @@ cppflags() # versa, i.e. this won't work (either for --cflags or --cxxflags) if GNU C # compiler and non-GNU C++ compiler are used or vice versa -- we'll fix # this when/if anybody complains about it - if test "@includedir@" != "/usr/include" \ - -a "@includedir@" != "/usr/include/c++" \ + if test "${includedir}" != "/usr/include" \ + -a "${includedir}" != "/usr/include/c++" \ -a \( "${GCC}" != "yes" \ - -o "@includedir@" != "/usr/local/include" \) \ + -o "${includedir}" != "/usr/local/include" \) \ -a \( "${cross_compiling}" != "yes" \ - -o "@includedir@" != "/usr/${target}/include" \) ; + -o "${includedir}" != "/usr/${target}/include" \) ; then - includes=" -I@includedir@" + includes=" -I${includedir}" fi - includes="-I@libdir@/wx/include/@TOOLCHAIN_NAME@$includes" + includes="-I${libdir}/wx/include/${TOOLCHAIN_NAME}$includes" if test $static_flag = yes ; then - echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@ + echo $includes ${WXDEBUG_DEFINE} ${TOOLCHAIN_DEFS} ${WXCONFIG_INCLUDE} ${WX_LARGEFILE_FLAGS} else - echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @TOOLCHAIN_DLL_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@ + echo $includes ${WXDEBUG_DEFINE} ${TOOLCHAIN_DEFS} ${TOOLCHAIN_DLL_DEFS} ${WXCONFIG_INCLUDE} ${WX_LARGEFILE_FLAGS} fi } @@ -176,12 +246,14 @@ while test $# -gt 0; do prefix=`makeabs $srcdir` exec_prefix=`makeabs $builddir` exec_prefix_set=yes + update_prefixes ;; --prefix=*) prefix=$optarg if test $exec_prefix_set = no ; then exec_prefix=$optarg fi + update_prefixes ;; --prefix) echo $prefix @@ -189,18 +261,19 @@ while test $# -gt 0; do --exec-prefix=*) exec_prefix=$optarg exec_prefix_set=yes + update_prefixes ;; --exec-prefix) echo $exec_prefix ;; --version) - echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@.@WX_RELEASE_NUMBER@ + echo ${WX_MAJOR_VERSION_NUMBER}.${WX_MINOR_VERSION_NUMBER}.${WX_RELEASE_NUMBER} ;; --release) echo $release ;; --basename) - echo $basename + echo $basename_gui ;; --static) static_flag=yes @@ -209,16 +282,16 @@ while test $# -gt 0; do cppflags ;; --cflags) - echo `cppflags` @CODE_GEN_FLAGS@ + echo `cppflags` ${CODE_GEN_FLAGS} ;; --cxxflags) - echo `cppflags` @CODE_GEN_FLAGS@ @CODE_GEN_FLAGS_CXX@ + echo `cppflags` ${CODE_GEN_FLAGS} ${CODE_GEN_FLAGS_CXX} ;; --ldflags) - echo @LDFLAGS_EXE@ + echo ${LDFLAGS_EXE} ;; --rezflags) - echo @MACRESWXCONFIG@ + echo ${MACRESWXCONFIG} ;; --libs*) @@ -230,14 +303,16 @@ while test $# -gt 0; do fi else libs_list=`echo "$optarg" | tr ',' ' '` + # always add wxBase, any wxApp needs it: + libs_list="$libs_list base" fi # include install directory only if it is not default: - if test "@libdir@" != "/usr/lib" \ + if test "${libdir}" != "/usr/lib" \ -a \( "${cross_compiling}" != "yes" \ - -o "@libdir@" != "/usr/${target}/lib" \) ; + -o "${libdir}" != "/usr/${target}/lib" \) ; then - libs="-L@libdir@" + libs="-L${libdir}" fi # in monolithic build, link against the main library: @@ -252,18 +327,19 @@ while test $# -gt 0; do fi done libs_list="$newlist" - + # output link flags: contrib_libs=`output_libs $libs_list` if test $static_flag = yes ; then - echo "$libs @LDFLAGS@ @WXCONFIG_RPATH@ $contrib_libs @libdir@/@WXCONFIG_LIBS_STATIC@ @EXTRALIBS_GUI@ @LIBS@ @DMALLOC_LIBS@" + echo "$libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${libdir}/${WXCONFIG_LIBS_STATIC} ${EXTRALIBS_GUI} ${LIBS} ${DMALLOC_LIBS}" else - echo $libs @LDFLAGS@ @WXCONFIG_RPATH@ $contrib_libs @WXCONFIG_LIBS@ @DMALLOC_LIBS@ + echo $libs ${LDFLAGS} ${WXCONFIG_LDFLAGS_GUI} ${WXCONFIG_RPATH} $contrib_libs ${WXCONFIG_LIBS} ${DMALLOC_LIBS} fi else # in multilib mode, link against all sublibraries: wxlibs=`output_libs $libs_list` - echo $libs @LDFLAGS@ @WXCONFIG_RPATH@ $wxlibs @DMALLOC_LIBS@ + guildflags=`get_ldflags_gui $libs_list` + echo $libs ${LDFLAGS} ${guildflags} ${WXCONFIG_RPATH} $wxlibs ${DMALLOC_LIBS} fi ;;