X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3a922bb4bd8dbcb04e31e324648c2912e167e0cd..9ed0d735d588f42485461ea526596436c4c6ad4b:/wx-config.in diff --git a/wx-config.in b/wx-config.in index 7c9760b903..74ba23e94d 100755 --- a/wx-config.in +++ b/wx-config.in @@ -4,15 +4,38 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ exec_prefix_set=no 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@ + +# 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 <<EOF -Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] - [--libs] [--gl-libs] [--cppflags] [--cflags] [--cxxflags] +Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--release] + [--basename] [--static] [--libs] [--gl-libs] + [--cppflags] [--cflags] [--cxxflags] [--ldflags] [--rezflags] [--cc] [--cxx] [--ld] wx-config returns configuration information about the installed @@ -20,6 +43,18 @@ version of wxWindows. It may be used to query its version and installation directories and also retrieve the C and C++ compilers and linker which were used for its building and the corresponding flags. + +Ordinarily it should be installed to the appropriate system location +along with the headers and library files, but it is also possible to +use it to enable builds with an uninstalled wxWindows version for +package building and bleeding edge developers. To do so, use it like +this: + +\${wx_builddir}/wx-config --prefix=\${wx_srcdir} --exec-prefix=\${wx_builddir} + +Note that any other options supplied must come *after* the prefix +specification for it to take effect. + EOF exit $1 @@ -27,14 +62,38 @@ EOF cppflags() { - if test "${cross_compiling}" != "yes" \ - -a @includedir@ != /usr/include \ - -a @includedir@ != /usr/include/c++ ; + # we should never specify -I/usr/include on the compiler command line: this + # is at best useless and at worst breaks compilation on the systems where + # the system headers are non-ANSI because gcc works around this by storing + # the ANSI-fied versions of them in its private directory which is searched + # after all the directories on the cmd line. + # + # the situation is a bit more complicated with -I/usr/local/include: again, + # it shouldn't be specified with gcc which looks there by default anyhow + # and gives warnings (at least 3.1 does) if it is specified explicitly -- + # but this -I switch *is* needed for the other compilers + # + # note that we assume that if we use GNU cc we also use GNU c++ and vice + # 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++" \ + -a \( "${GCC}" != "yes" \ + -o "@includedir@" != "/usr/local/include" \) \ + -a \( "${cross_compiling}" != "yes" \ + -o "@includedir@" != "/usr/${target}/include" \) ; then - includes=-I@includedir@ + includes=" -I@includedir@" + fi + + 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@ + else + echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @TOOLCHAIN_DLL_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@ fi - includes="-I@libdir@/wx/include/@TOOLCHAIN_NAME@ $includes" - echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @WXCONFIG_INCLUDE@ } if test $# -eq 0; then @@ -48,6 +107,11 @@ while test $# -gt 0; do esac case $1 in + --inplace) + prefix=`makeabs $srcdir` + exec_prefix=`makeabs $builddir` + exec_prefix_set=yes + ;; --prefix=*) prefix=$optarg if test $exec_prefix_set = no ; then @@ -67,6 +131,17 @@ while test $# -gt 0; do --version) echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@.@WX_RELEASE_NUMBER@ ;; + --release) + # Should echo @WX_RELEASE@ instead, but that doesn't seem to be replaced after + # configure has run on this file. + echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@ + ;; + --basename) + echo @WX_LIBRARY_BASENAME@ + ;; + --static) + static_flag=yes + ;; --cppflags) cppflags ;; @@ -76,16 +151,34 @@ while test $# -gt 0; do --cxxflags) echo `cppflags` @CODE_GEN_FLAGS@ @CODE_GEN_FLAGS_CXX@ ;; + --ldflags) + echo @LDFLAGS_EXE@ + ;; + --rezflags) + echo @MACRESWXCONFIG@ + ;; --libs) - if test "${cross_compiling}" != "yes" \ - -a @libdir@ != /usr/lib ; + if test "@libdir@" != "/usr/lib" \ + -a \( "${cross_compiling}" != "yes" \ + -o "@libdir@" != "/usr/${target}/lib" \) ; then libs="-L@libdir@" fi - echo $libs @WXCONFIG_LIBS@ @EXTRA_LIBS@ + + if test $static_flag = yes ; then + echo "$libs @LDFLAGS@ @WXCONFIG_RPATH@ @libdir@/@WXCONFIG_LIBS_STATIC@ @EXTRALIBS_GUI@ @LIBS@ @DMALLOC_LIBS@" + else + echo $libs @LDFLAGS@ @WXCONFIG_RPATH@ @WXCONFIG_LIBS@ @DMALLOC_LIBS@ + fi + ;; --gl-libs) - echo @WXCONFIG_LIBS_GL@ + if test $static_flag = yes -a "x" != "x@WXCONFIG_LIBS_STATIC_GL@" ; then + gllibs="@libdir@/@WXCONFIG_LIBS_STATIC_GL@" + else + gllibs="@WXCONFIG_LIBS_GL@" + fi + echo @LDFLAGS_GL@ $gllibs ;; --cc) echo $CC