]> git.saurik.com Git - wxWidgets.git/blobdiff - wx-config.in
Fix compile error on wxMac
[wxWidgets.git] / wx-config.in
index de7027a77536c94ba449f3590c6b1d1cdf15361d..04b677a1937777802dd67c655b85bc88ad88095c 100755 (executable)
@@ -1,36 +1,85 @@
 #!/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@"
+GCC_SEARCHES_USR_LOCAL_INCLUDE="@GCC_SEARCHES_USR_LOCAL_INCLUDE@"
 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_html="@EXTRALIBS_HTML@"
+ldlibs_odbc="@EXTRALIBS_ODBC@"
+ldlibs_adv="@EXTRALIBS_SDL@"
 
 ldflags_gl="@LDFLAGS_GL@"
 ldlibs_gl="@OPENGL_LIBS@"
 
 
+
+# -------------------------------------------------------------------------
+#                                Script code:
+# -------------------------------------------------------------------------
+
+exec_prefix_set=no
+
 # is $1 among the rest of arguments?
 isinlist()
 {
@@ -47,10 +96,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 +112,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 +191,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
@@ -133,31 +206,34 @@ cppflags()
     # 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
+    # the situation is a bit more complicated with -I/usr/local/include:
+    # it shouldn't be specified with some gcc installations which look there
+    # by default anyhow and give warnings (at least 3.1 does) if it is
+    # specified explicitly --
+    # but this -I switch *is* needed for other gcc installation and for
+    # the other compilers.
+    # So I put a suitable test into configure.in and reuse the result here.
     #
     # 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" \) \
+    if test "${includedir}" != "/usr/include" \
+            -a "${includedir}" != "/usr/include/c++" \
+            -a \( "${GCC_SEARCHES_USR_LOCAL_INCLUDE}" != "yes" \
+                  -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 +252,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 +267,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 +288,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 `eval echo ${MACRESWXCONFIG}`
       ;;
 
     --libs*)
@@ -230,14 +309,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 +333,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 @WXCONFIG_RPATH@ $wxlibs @DMALLOC_LIBS@
+          guildflags=`get_ldflags_gui $libs_list`
+          echo $libs ${LDFLAGS} ${guildflags} ${WXCONFIG_RPATH} $wxlibs ${DMALLOC_LIBS}
       fi
 
       ;;