]> git.saurik.com Git - wxWidgets.git/blobdiff - wx-config.in
corrected getting FSRef associated with the POSIX path in wxString
[wxWidgets.git] / wx-config.in
index af75d05c1c76d9f19b6f8de1a796051266913abb..2a4f02956f5e54808d63fb98ba5fbf75470881b6 100755 (executable)
@@ -4,22 +4,33 @@ prefix=@prefix@
 exec_prefix=@exec_prefix@
 exec_prefix_set=no
 CC="@CC@"
+GCC="@GCC@"
 CXX="@CXX@"
 LD="@SHARED_LD@"
 cross_compiling=@cross_compiling@
+target=@host_alias@
+static_flag=@STATIC_FLAG@
+inplace_flag=no
 
 usage()
 {
     cat <<EOF
-Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version]
-                 [--libs] [--gl-libs] [--cppflags] [--cflags] [--cxxflags] [--rezflags]
+Usage: wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--static]
+                 [--libs] [--gl-libs]
+                 [--cppflags] [--cflags] [--cxxflags] [--ldflags] [--rezflags]
                  [--cc] [--cxx] [--ld]
+                 [--inplace]
 
 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.
+
+The --inplace flag allows wx-config to be used from the wxWindows
+build directory and output flags to use the uninstalled version of
+the headers and libs in the build directory.  (Currently configure
+must be invoked via a full path name for this to work correctly.)
 EOF
 
     exit $1
@@ -27,14 +38,42 @@ 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
+
+    if test $inplace_flag = yes ; then
+       includes="-I$inplace_builddir/lib/wx/include/@TOOLCHAIN_NAME@ -I$inplace_include"
+    else
+       includes="-I@libdir@/wx/include/@TOOLCHAIN_NAME@$includes"
+    fi
+
+    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
@@ -67,6 +106,9 @@ while test $# -gt 0; do
     --version)
       echo @WX_MAJOR_VERSION_NUMBER@.@WX_MINOR_VERSION_NUMBER@.@WX_RELEASE_NUMBER@
       ;;
+    --static)
+      static_flag=yes
+      ;;
     --cppflags)
       cppflags
       ;;
@@ -76,19 +118,41 @@ while test $# -gt 0; do
     --cxxflags)
       echo `cppflags` @CODE_GEN_FLAGS@ @CODE_GEN_FLAGS_CXX@
       ;;
+    --ldflags)
+      echo @LDFLAGS_EXE@
+      ;;
     --rezflags)
       echo @LIBWXMACRESWXCONFIG@
       ;;
     --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 $inplace_flag = yes ; then
+         libs="-L$inplace_builddir/lib"
+      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)
-      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
+      if test $inplace_flag = yes ; then
+         libdir="-L$inplace_builddir/lib"
+      fi
+      echo @LDFLAGS_GL@ $libdir $gllibs
       ;;
     --cc)
       echo $CC
@@ -99,6 +163,11 @@ while test $# -gt 0; do
     --ld)
       echo $LD
       ;;
+    --inplace)
+      inplace_flag=yes
+      inplace_builddir=`dirname $0`
+      inplace_include=@top_srcdir@/include
+      ;;
     *)
       usage 1 1>&2
       ;;