X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/88ac883a0d005437c97a60d8195bd5e4719b1154..50ef440170c9fd2f55940782ab7e091ca87dc01e:/wx-config.in diff --git a/wx-config.in b/wx-config.in index 53fa71a9c8..878c325284 100755 --- a/wx-config.in +++ b/wx-config.in @@ -3,13 +3,101 @@ 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@ +cross_compiling=@cross_compiling@ +target=@host_alias@ +static_flag=@STATIC_FLAG@ -usage="\ -Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--libs] [--cflags]" +# 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] [--static] + [--libs] [--gl-libs] + [--cppflags] [--cflags] [--cxxflags] [--ldflags] [--rezflags] + [--cc] [--cxx] [--ld] + +wx-config returns configuration information about the installed +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 +} + +cppflags() +{ + # 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@" + 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 +} if test $# -eq 0; then - echo "${usage}" 1>&2 - exit 1 + usage 1 1>&2 fi while test $# -gt 0; do @@ -19,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 @@ -36,26 +129,60 @@ while test $# -gt 0; do echo $exec_prefix ;; --version) - echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@ + echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@.@WX_RELEASE_NUMBER@ + ;; + --static) + static_flag=yes + ;; + --cppflags) + cppflags ;; --cflags) - if test @includedir@ != /usr/include ; then - if test @includedir@ != /usr/include/c++ ; then - includes=-I@includedir@ - fi - fi - includes="$includes -I@datadir@/@PACKAGE@/include/wx" - echo $includes @WXDEBUG_DEFINE@ @TOOLKIT_DEF@ @TOOLKIT_INCLUDE@ + echo `cppflags` @CODE_GEN_FLAGS@ + ;; + --cxxflags) + echo `cppflags` @CODE_GEN_FLAGS@ @CODE_GEN_FLAGS_CXX@ + ;; + --ldflags) + echo @LDFLAGS_EXE@ + ;; + --rezflags) + echo @MACRESWXCONFIG@ ;; --libs) - if test @libdir@ != /usr/lib ; then - libs="-L@libdir@" + if test "@libdir@" != "/usr/lib" \ + -a \( "${cross_compiling}" != "yes" \ + -o "@libdir@" != "/usr/${target}/lib" \) ; + then + libs="-L@libdir@" + fi + + if test $static_flag = yes ; then + echo "$libs @LDFLAGS@ @WXCONFIG_RPATH@ @libdir@/@WXCONFIG_LIBS_STATIC@ @LIBS@ @DMALLOC_LIBS@" + else + echo $libs @LDFLAGS@ @WXCONFIG_RPATH@ @WXCONFIG_LIBS@ @DMALLOC_LIBS@ + fi + + ;; + --gl-libs) + 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 $libs -lwx_@WX_LIBRARY@ @EXTRA_LIBS@ + echo @LDFLAGS_GL@ $gllibs + ;; + --cc) + echo $CC + ;; + --cxx) + echo $CXX + ;; + --ld) + echo $LD ;; *) - echo "${usage}" 1>&2 - exit 1 + usage 1 1>&2 ;; esac shift