X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1d22ad7e9101d0c6be68fde3580aeafd8c7788e..2862acdeb75e148c6215e5e7793a8fdbb22c4b61:/wx-config.in diff --git a/wx-config.in b/wx-config.in index 2a1a40ef68..878c325284 100755 --- a/wx-config.in +++ b/wx-config.in @@ -4,11 +4,31 @@ 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=no +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() { @@ -23,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 @@ -30,21 +62,37 @@ EOF 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 "@includedir@" != "/usr/local/include" \ + -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" + includes="-I@libdir@/wx/include/@TOOLCHAIN_NAME@$includes" if test $static_flag = yes ; then - echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @WXCONFIG_INCLUDE@ + echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@ else - echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @TOOLCHAIN_DLL_DEFS@ @WXCONFIG_INCLUDE@ + echo $includes @WXDEBUG_DEFINE@ @TOOLCHAIN_DEFS@ @TOOLCHAIN_DLL_DEFS@ @WXCONFIG_INCLUDE@ @WX_LARGEFILE_FLAGS@ fi } @@ -59,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 @@ -94,7 +147,7 @@ while test $# -gt 0; do echo @LDFLAGS_EXE@ ;; --rezflags) - echo @LIBWXMACRESWXCONFIG@ + echo @MACRESWXCONFIG@ ;; --libs) if test "@libdir@" != "/usr/lib" \ @@ -117,7 +170,7 @@ while test $# -gt 0; do else gllibs="@WXCONFIG_LIBS_GL@" fi - echo @LDFLAGS_GL@ "$gllibs" + echo @LDFLAGS_GL@ $gllibs ;; --cc) echo $CC