]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
fixed another typo
[wxWidgets.git] / configure.in
index 21099a736f5ed483897ae41f77fd77a1f0ba46f7..cb11a6970f920eb1cf451fbfe760b74e3a69c2ad 100644 (file)
@@ -234,15 +234,10 @@ case "${host}" in
   ;;
 
   *-*-cygwin* | *-*-mingw32* )
-    USE_UNIX=0
-    USE_WIN32=1
+    dnl MBN: some of the defines have been moved after toolkit detection
+    dnl      because for wxMotif/wxGTK/wxX11 to build on Cygwin
+    dnl      USE_UNIX  must be set and not USE_WIN32
     SO_SUFFIX=dll
-    AC_DEFINE(__WIN32__)
-    AC_DEFINE(__WIN95__)
-    AC_DEFINE(__WINDOWS__)
-    AC_DEFINE(__GNUWIN32__)
-    AC_DEFINE(STRICT)
-    AC_DEFINE(WINVER, 0x0400)
     PROGRAM_EXT=".exe"
     RESCOMP=windres
     DEFAULT_DEFAULT_wxUSE_MSW=1
@@ -254,6 +249,8 @@ case "${host}" in
     AC_DEFINE(__DOS__)
     PROGRAM_EXT=".exe"
     DEFAULT_DEFAULT_wxUSE_MGL=1
+    dnl DJGPP needs explicit -lstdc++ for some reason (VS: mayb some versions only?)
+    LIBS="$LIBS -lstdc++"
   ;;
 
   *-pc-os2_emx | *-pc-os2-emx )
@@ -284,11 +281,6 @@ case "${host}" in
     AC_MSG_ERROR(unknown system type ${host}.)
 esac
 
-if test "$USE_UNIX" = 1 ; then
-    wxUSE_UNIX=yes
-    AC_DEFINE(__UNIX__)
-fi
-
 dnl ---------------------------------------------------------------------------
 dnl command line options for configure
 dnl ---------------------------------------------------------------------------
@@ -400,7 +392,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_PROTOCOL_FTP=no
   DEFAULT_wxUSE_PROTOCOL_FILE=no
   DEFAULT_wxUSE_URL=no
-  
+
   DEFAULT_wxUSE_COMMONDLGS=no
   DEFAULT_wxUSE_CHOICEDLG=no
   DEFAULT_wxUSE_COLOURDLG=no
@@ -745,6 +737,13 @@ WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without depe
 WX_ARG_ENABLE(compat20,      [  --enable-compat20       enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2)
 WX_ARG_ENABLE(compat22,      [  --disable-compat22      disable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
 
+AC_ARG_ENABLE(rpath,         [  --enable-rpath=DIR      output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
+
+if test "$wxRPATH_DIR" != "" -a "$wxRPATH_DIR" != "disable"; then
+   WXCONFIG_RPATH="-Wl,-rpath -Wl,$wxRPATH_DIR"
+fi
+
+
 dnl ---------------------------------------------------------------------------
 dnl (small) optional non GUI classes
 dnl ---------------------------------------------------------------------------
@@ -1121,6 +1120,50 @@ else
     AC_MSG_RESULT(base ($host_alias hosted) only)
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
+dnl 'just' a POSIX platform, so the Win32 API must not be available
+dnl ---------------------------------------------------------------------------
+
+dnl (Windows-only piece)
+wants_win32=0
+doesnt_want_win32=0
+case "${host}" in
+  *-*-cygwin*)
+      if test "$wxUSE_MSW" = 1 ; then
+        wants_win32=1
+      else
+        doesnt_want_win32=1
+      fi
+  ;;
+  *-*-mingw*)
+      wants_win32=1
+  ;;
+esac
+
+dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
+dnl     take effect on Cygwin/Mingw and not other platforms.
+if test "$wants_win32" = 1 ; then
+    USE_UNIX=0
+    USE_WIN32=1
+    AC_DEFINE(__WIN32__)
+    AC_DEFINE(__WIN95__)
+    AC_DEFINE(__WINDOWS__)
+    AC_DEFINE(__GNUWIN32__)
+    AC_DEFINE(STRICT)
+    AC_DEFINE(WINVER, 0x0400)
+fi
+if test "$doesnt_want_win32" = 1 ; then
+    USE_UNIX=1
+    USE_WIN32=0
+fi
+dnl (end of Windows-only piece)
+
+if test "$USE_UNIX" = 1 ; then
+    wxUSE_UNIX=yes
+    AC_DEFINE(__UNIX__)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for programs
 dnl ---------------------------------------------------------------------------
@@ -1193,7 +1236,7 @@ dnl   make install path absolute (if not already); will fail with MSDOS paths
 case ${INSTALL} in
   /* ) # Absolute
      ;;
-  *)     
+  *)
      INSTALL=`pwd`/${INSTALL} ;;
 esac
 
@@ -1406,6 +1449,9 @@ WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
 dnl check whether C++ compiler supports bool built-in type
 WX_CPP_BOOL
 
+dnl check whether C++ compiler supports explicit keyword
+WX_CPP_EXPLICIT
+
 dnl ---------------------------------------------------------------------------
 dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
@@ -1608,7 +1654,7 @@ PNG_INCLUDE=
 PNG_LINK=
 if test "$wxUSE_LIBPNG" != "no" ; then
     AC_DEFINE(wxUSE_LIBPNG)
-    
+
     if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
         AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
         wxUSE_LIBPNG=sys
@@ -2194,7 +2240,47 @@ equivalent variable and GTK+ is version 1.2.3 or above.
             )
         fi
 
-        GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link -lXmu -lXext -lXt -lX11"
+        AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
+        libp_link=""
+        libsm_ice_link=""
+        libs_found=0
+        for libp in "" " -lXp"; do
+            if test "$libs_found" = "0"; then
+                for libsm_ice in " -lSM -lICE"; do
+                    if test "$libs_found" = "0"; then                
+                        save_LIBS="$LIBS"
+                        LIBS="$GUI_TK_LIBRARY -lXm${xpm_link} ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
+                        AC_TRY_LINK(
+                            [
+                                #include <Xm/Xm.h>
+                                #include <Xm/List.h>
+                            ],
+                            [
+                                XmString string = NULL;
+                                Widget w = NULL;
+                                int position = 0;
+                                XmListAddItem(w, string, position);
+                            ],
+                            [
+                                libp_link="$libp"
+                                libsm_ice_link="$libsm_ice"
+                                AC_MSG_RESULT(
+                                    [need${libp_link}${libsm_ice_link}])
+                                libs_found=1
+                            ], []
+                        )
+                        LIBS="$save_LIBS"
+                    fi
+                done
+            fi
+        done
+
+        if test "$libs_found" = "0"; then
+            AC_MSG_RESULT([can't find the right libraries])
+            AC_MSG_ERROR([can't link a simple motif program])
+        fi
+
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
         TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo"
         TOOLKIT=MOTIF
         GUIDIST=MOTIF_DIST
@@ -2426,7 +2512,7 @@ case "${host}" in
 
         dnl FIXME: is this GL stuff actually even used for wxMSW?  should it be??
 
-        if test "$cross_compiling" != "yes"; then
+        if test "$cross_compiling" != "yes" -a "$TOOLKIT_DIR" = "msw"; then
             WX_LIBRARY="wxmsw${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
             WX_LIBRARY_GL="wxmsw_gl${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
             WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
@@ -2442,7 +2528,7 @@ case "${host}" in
         dnl dynamic shared libraries (in order to embed the resources)
         if test "$wxUSE_MAC" = 1; then
             dnl the name of the resources file for wxMac
-            WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r" 
+            WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r"
             WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.rsrc"
         fi
         ;;
@@ -3204,8 +3290,9 @@ if test "$TOOLKIT" != "MSW"; then
                 dnl and finally the userland threads
                 THREAD_OPTS="-kthread lthread $THREAD_OPTS c_r"
                 ;;
-          *-*-darwin*)
+          *-*-darwin* | *-*-cygwin* )
                 dnl Darwin / Mac OS X just uses -lpthread tested below
+                dnl and so does Cygwin
                 THREAD_OPTS=""
                 ;;
           *-*-aix*)
@@ -4069,7 +4156,7 @@ fi
 
 if test "$wxUSE_UNICODE" = "yes" ; then
   AC_DEFINE(wxUSE_UNICODE)
-  
+
   if test "$wxUSE_MSW" != 1; then
       wxUSE_UNICODE_MSLU=no
   fi
@@ -4547,7 +4634,7 @@ if test "$wxUSE_POPUPWIN" = "yes"; then
         else
             if test "$wxUSE_PM" = 1; then
                 AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
-            else 
+            else
                 AC_DEFINE(wxUSE_POPUPWIN)
 
                 USES_CONTROLS=1
@@ -4559,7 +4646,7 @@ fi
 if test "$wxUSE_TIPWINDOW" = "yes"; then
     if test "$wxUSE_PM" = 1; then
         AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
-    else 
+    else
         AC_DEFINE(wxUSE_TIPWINDOW)
     fi
 fi
@@ -4932,6 +5019,7 @@ AC_SUBST(WXCONFIG_LIBS_GL)
 AC_SUBST(WXCONFIG_LIBS_STATIC)
 AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
 AC_SUBST(WXCONFIG_INCLUDE)
+AC_SUBST(WXCONFIG_RPATH)
 
 dnl the list of files to compile/install
 AC_SUBST(ALL_OBJECTS)