]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
1. made wxBase compile/link/run again under Unix
[wxWidgets.git] / configure.in
index 5eb7e82736518451cb91d066311352d393dd5658..d71e25eff030e28d63067470e01a0692a0f52626 100644 (file)
@@ -446,7 +446,7 @@ dnl WX_INTERFACE_AGE = 0
 
 WX_MAJOR_VERSION_NUMBER=2
 WX_MINOR_VERSION_NUMBER=1
-WX_RELEASE_NUMBER=0
+WX_RELEASE_NUMBER=10
 
 WX_INTERFACE_AGE=0
 WX_BINARY_AGE=0
@@ -465,6 +465,7 @@ dnl ------------------------------------------------------------------------
 
 dnl assume Unix
 USE_UNIX=1
+USE_WIN32=0
 USE_LINUX=
 USE_SGI=
 USE_HPUX=
@@ -583,6 +584,7 @@ case "${host}" in
 
   *-*-cygwin32* )
     USE_UNIX=0
+    USE_WIN32=1
     AC_DEFINE(__WIN32__)
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
@@ -593,6 +595,7 @@ case "${host}" in
   ;;
   *-*-mingw32* )
     USE_UNIX=0
+    USE_WIN32=1
     AC_DEFINE(__WIN32__)
     AC_DEFINE(__WIN95__)
     AC_DEFINE(__WINDOWS__)
@@ -774,7 +777,7 @@ else
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
   DEFAULT_wxUSE_LIBJPEG=yes
-  DEFAULT_wxUSE_ODBC=no
+  DEFAULT_wxUSE_ODBC=yes
 
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_FILE=yes
@@ -1510,7 +1513,12 @@ if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
     dnl --- Quick & Dirty ; link against most/all libraries
     dnl --- This will bloat the executable, but it'll work for now...
-    LIBS="$LIBS  -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
+    LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
+
+    dnl -mwindows is needed to avoid that spawning of a console window
+    if test "$wxUSE_MINGW" = 1; then
+        LDFLAGS="$LDFLAGS -mwindows"
+    fi
 
     TOOLKIT=MSW
 
@@ -1526,10 +1534,7 @@ fi
 if test "$wxUSE_GTK" = 1; then
     dnl avoid calling AM_PATH_GTK twice, so check first for the newer version and
     dnl only then, if it wasn't found, for an older one
-    AM_PATH_GTK(1.2.0, WXGTK12=1)
-    if test "$WXGTK12" != 1; then
-       AM_PATH_GTK(1.0.0, , AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.X or 1.0.X?))
-    fi
+    AM_PATH_GTK(1.2.1, WXGTK12=1, AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?))
 
     TOOLKIT_INCLUDE="$GTK_CFLAGS"
     GUI_TK_LIBRARY="$GTK_LIBS"
@@ -1598,18 +1603,30 @@ if test "$wxUSE_WINE" = 1; then
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
-    dnl find the X11 include and library files
-    dnl   defines x_includes and x_libraries
-    AC_PATH_XTRA
-
-    if test "$no_x" = "yes"; then
-      AC_MSG_ERROR(X11 libraries not found, aborting)
+    AC_MSG_CHECKING(for X11 headers)
+    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
+    if test "$ac_find_includes" != "" ; then
+        AC_MSG_RESULT(found $ac_find_includes)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
     fi
 
-    TOOLKIT_INCLUDE="$X_CFLAGS"
-    GUI_TK_LIBRARY="$X_LIBS"
+    AC_MSG_CHECKING(for X11 libraries)
+    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, X11)
+    if test "$ac_find_libraries" != "" ; then
+        WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
+        WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
+
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
+        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
+        AC_MSG_RESULT(found at $ac_find_libraries)
+    else
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+    fi
 
-    AC_MSG_CHECKING(for Motif/Lesstif includes)
+    AC_MSG_CHECKING(for Motif/Lesstif headers)
     WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
     if test "$ac_find_includes" != "" ; then
         AC_MSG_RESULT(found $ac_find_includes)
@@ -1624,7 +1641,7 @@ if test "$wxUSE_MOTIF" = 1; then
         WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
         WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
 
-        CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
         TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
         AC_MSG_RESULT(found at $ac_find_libraries)
     else
@@ -1636,7 +1653,7 @@ if test "$wxUSE_MOTIF" = 1; then
     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
     if test "$ac_find_libraries" != "" ; then
         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
-        CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
         AC_MSG_RESULT(found at $ac_find_libraries)
     else
         AC_MSG_RESULT(no)
@@ -1648,7 +1665,7 @@ if test "$wxUSE_MOTIF" = 1; then
     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
     if test "$ac_find_libraries" != "" ; then
         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
-        CHECK_LINK="$GUI_TK_LIBRARY $ac_path_to_link"
+        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
         XPM_LINK="-lXpm "
         AC_DEFINE(wxHAVE_LIB_XPM)
         AC_MSG_RESULT(found at $ac_find_libraries)
@@ -1682,7 +1699,7 @@ dnl the name of the (libtool) library
 WX_LIBRARY="wx_${TOOLKIT_DIR}"
 
     dnl the sources, their dependenices and the headers
-    ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(JPEGOBJS) \$(PNGOBJS) \$(ZLIBOBJS)"
+    ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(JPEGOBJS) \$(PNGOBJS) \$(ZLIBOBJS) \$(IODBCOBJS)"
     ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS)"
     ALL_HEADERS="\$(GUIHEADERS) \$(HTML_HEADERS) \$(UNIX_HEADERS) \$(PROTOCOL_HEADERS) \$(GENERIC_HEADERS) \$(WX_HEADERS)"
 else
@@ -1718,14 +1735,16 @@ WX_ALL=
 WX_ALL_INSTALLED=
 
 if test "$wxUSE_SHARED" = "yes"; then
-    dnl set target to shared
-    WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
-
     case "${host}" in
       *-hp-hpux* )
+        if test "$GCC" = yes ; then
+            SHARED_LD="${CC} -shared -o"
+            PIC_FLAG="-fPIC"
+        else
+            SHARED_LD="${CXX} -b -o"
+            PIC_FLAG="+Z"
+        fi
         WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl"
-        SHARED_LD="${CXX} -b -o"
-        PIC_FLAG="+Z"
         WX_ALL=${WX_LIBRARY_NAME_SHARED}
       ;;
       *-*-linux* )
@@ -1805,6 +1824,10 @@ if test "$wxUSE_SHARED" = "yes"; then
         AC_MSG_ERROR(unknown system type ${host}.)
     esac
 
+    dnl set target to shared if not explicitly chose static before
+    if test "x$WX_TARGET_LIBRARY" = "x"; then
+        WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
+    fi
 else
     dnl set target to static
     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
@@ -1948,6 +1971,8 @@ AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
 
 AC_LANG_RESTORE
 
+if test "$USE_UNIX" = 1; then
+
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
@@ -1974,6 +1999,9 @@ AC_CHECK_FUNCS(inet_addr)
 AC_CHECK_FUNCS(inet_aton)
 AC_CHECK_LIB(resolv, inet_aton)
 
+fi
+dnl Unix
+
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
 dnl ===========================================================================
@@ -2104,6 +2132,13 @@ if test "$wxUSE_THREADS" = "yes"; then
   CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
 
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
+else
+  dnl on some systems, _REENTRANT should bedefined if we want to use any _r()
+  dnl functions - add tests for other functions here as well
+  if test "$ac_cv_func_strtok_r" = "yes"; then
+    CFLAGS="${CFLAGS} -D_REENTRANT"
+    CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+  fi
 fi
 
 if test "$WXGTK12" = 1 ; then
@@ -2334,14 +2369,9 @@ if test "$wxUSE_LONGLONG" = "yes"; then
 fi
 
 if test "$wxUSE_SOCKETS" = "yes" ; then
-    if test "$wxUSE_THREADS" = "yes" ; then
-        AC_DEFINE(wxUSE_SOCKETS)
-        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
-        INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
-    else
-        AC_MSG_WARN(Socket classes require --with-threads and won't be compiled without it)
-        wxUSE_SOCKETS=0
-    fi
+    AC_DEFINE(wxUSE_SOCKETS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
+    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
 fi
 
 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
@@ -2367,15 +2397,15 @@ if test "$wxUSE_SOCKETS" = "yes"; then
     AC_MSG_CHECKING(the type of the third argument of getsockname)
     AC_TRY_COMPILE(
         [#include <sys/socket.h>],
-        [socklen_t len; getsockname(0, NULL, &len);],
+        [socklen_t len; getsockname(0, 0, &len);],
         AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
            AC_TRY_COMPILE(
             [#include <sys/socket.h>],
-            [size_t len; getsockname(0, NULL, &len);],
+            [size_t len; getsockname(0, 0, &len);],
             AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
             AC_TRY_COMPILE(
                 [#include <sys/socket.h>],
-                [int len; getsockname(0, NULL, &len);],
+                [int len; getsockname(0, 0, &len);],
                 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
             AC_MSG_RESULT(unknown)
         )
@@ -2467,8 +2497,12 @@ dnl ----------------------------------------------------------------
 
 IODBC_C_SRC=""
 if test "$wxUSE_ODBC" = "yes" ; then
-  AC_DEFINE(wxUSE_ODBC)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
+    AC_DEFINE(wxUSE_ODBC)
+    WXODBCFLAG="-D_IODBC_"
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
+    IODBCOBJS="\$(IODBC_OBJS)"
+else
+    IODBCOBJS=
 fi
 
 dnl ----------------------------------------------------------------
@@ -2561,10 +2595,21 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
         wxUSE_DRAG_AND_DROP=no
     fi
 
+    if test "$USE_WIN32" = 1; then
+        dnl check for ole headers and disable DnD if not present (earlier
+        dnl versions of mingw32 don't have them)
+        AC_CHECK_HEADERS(ole2.h)
+        if test "x$HAVE_OLE2_H" = x ; then
+            AC_MSG_WARN(Drag and drop disabled because OLE headers not found)
+            wxUSE_DRAG_AND_DROP=no
+        fi
+    fi
+
     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
         AC_DEFINE(wxUSE_DRAG_AND_DROP)
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
     fi
+
 fi
 
 if test "$wxUSE_SPLINES" = "yes" ; then
@@ -2823,7 +2868,7 @@ if test "$GXX" = yes ; then
     dnl        doing this... (VZ)
     dnl CXXWARNINGS="-Wall -Werror"
 fi
-EXTRA_CFLAGS="$WXDEBUG $PROFILE $OPTIMISE $INCLUDES"
+EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
 
 CPPFLAGS="-I\${top_srcdir}/include $CPPFLAGS"
 CFLAGS="$CFLAGS $EXTRA_CFLAGS"
@@ -2886,6 +2931,7 @@ AC_SUBST(GENERICOBJS)
 AC_SUBST(GUIDEPS)
 AC_SUBST(COMMONDEPS)
 AC_SUBST(GENERICDEPS)
+AC_SUBST(IODBCOBJS)
 AC_SUBST(UNIXOBJS)
 AC_SUBST(UNIXDEPS)
 AC_SUBST(ALL_OBJECTS)
@@ -2938,25 +2984,32 @@ AC_OUTPUT([
             samples/checklst/Makefile
             samples/config/Makefile
             samples/controls/Makefile
+            samples/db/Makefile
             samples/dialogs/Makefile
             samples/docview/Makefile
             samples/docvwmdi/Makefile
             samples/dnd/Makefile
             samples/drawing/Makefile
-            samples/dynamic/Makefile
+            samples/forty/Makefile
+            samples/fractal/Makefile
             samples/image/Makefile
             samples/internat/Makefile
             samples/layout/Makefile
             samples/listctrl/Makefile
             samples/mdi/Makefile
             samples/minifram/Makefile
-            samples/minimal/Makefile
+           samples/minimal/Makefile
+            samples/nettest/Makefile
             samples/newgrid/Makefile
             samples/notebook/Makefile
+            samples/png/Makefile
             samples/printing/Makefile
-            samples/proplist/Makefile
+           samples/proplist/Makefile
+            samples/richedit/Makefile
+            samples/resource/Makefile
             samples/sashtest/Makefile
             samples/scroll/Makefile
+            samples/scrollsub/Makefile
             samples/splitter/Makefile
             samples/text/Makefile
             samples/thread/Makefile