]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Reverted wxString members to const wxChar * for struct BugsGridData
[wxWidgets.git] / configure.in
index 17f158dfd95fbfbfe70b24f7a8ae40bb631c50b1..a6a88b32f87a11b08ae7e5628c8fa00fd39288fc 100644 (file)
@@ -409,7 +409,7 @@ dnl WX_INTERFACE_AGE = 0
 
 WX_MAJOR_VERSION_NUMBER=2
 WX_MINOR_VERSION_NUMBER=1
-WX_RELEASE_NUMBER=13
+WX_RELEASE_NUMBER=14
 
 WX_INTERFACE_AGE=0
 WX_BINARY_AGE=0
@@ -475,6 +475,8 @@ DEFAULT_DEFAULT_wxUSE_MSW=0
 DEFAULT_DEFAULT_wxUSE_WINE=0
 DEFAULT_DEFAULT_wxUSE_PM=0
 
+PROGRAM_EXT=
+
 dnl to support a new system, you need to add its canonical name (as determined
 dnl by config.sub or specified by the configure command line) to this "case"
 dnl and also define the shared library flags below - search for
@@ -626,6 +628,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
+  DEFAULT_wxUSE_BURNT_NAME=no
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
@@ -694,6 +697,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_PROGRESSDLG=no
   DEFAULT_wxUSE_MINIFRAME=no
   DEFAULT_wxUSE_HTML=no
+  DEFAULT_wxUSE_FILESYSTEM=no
   DEFAULT_wxUSE_FS_INET=no
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
@@ -714,6 +718,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_LISTBOX=no
   DEFAULT_wxUSE_LISTCTRL=no
   DEFAULT_wxUSE_NOTEBOOK=no
+  DEFAULT_wxUSE_PLOT=no
   DEFAULT_wxUSE_RADIOBOX=no
   DEFAULT_wxUSE_RADIOBTN=no
   DEFAULT_wxUSE_SASH=no
@@ -742,6 +747,7 @@ else
   DEFAULT_wxUSE_THREADS=yes
 
   DEFAULT_wxUSE_SHARED=yes
+  DEFAULT_wxUSE_BURNT_NAME=no
   DEFAULT_wxUSE_OPTIMISE=yes
   DEFAULT_wxUSE_PROFILE=no
   DEFAULT_wxUSE_NO_DEPS=no
@@ -810,6 +816,7 @@ else
   DEFAULT_wxUSE_PROGRESSDLG=yes
   DEFAULT_wxUSE_MINIFRAME=yes
   DEFAULT_wxUSE_HTML=yes
+  DEFAULT_wxUSE_FILESYSTEM=yes
   DEFAULT_wxUSE_FS_INET=yes
   DEFAULT_wxUSE_FS_ZIP=yes
   DEFAULT_wxUSE_BUSYINFO=yes
@@ -825,11 +832,12 @@ else
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_NEW_GRID=no
+  DEFAULT_wxUSE_NEW_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
   DEFAULT_wxUSE_NOTEBOOK=yes
+  DEFAULT_wxUSE_PLOT=yes
   DEFAULT_wxUSE_RADIOBOX=yes
   DEFAULT_wxUSE_RADIOBTN=yes
   DEFAULT_wxUSE_SASH=yes
@@ -920,6 +928,7 @@ dnl compile options
 dnl ---------------------------------------------------------------------------
 
 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
+WX_ARG_ENABLE(burnt_name,  [  --enable-burnt_name     create set name in shared library ], wxUSE_BURNT_NAME)
 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
 
@@ -973,6 +982,7 @@ WX_ARG_ENABLE(wcsrtombs,     [  --enable-wcsrtombs      use wcsrtombs instead of
 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
 WX_ARG_ENABLE(joystick,      [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
 WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
 WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
@@ -1042,7 +1052,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_NEW_GRID=no
+  DEFAULT_wxUSE_NEW_GRID=yes
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
@@ -1147,6 +1157,7 @@ WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUS
 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
+WX_ARG_ENABLE(plot,        [  --enable-plot           use wxPlot], wxUSE_PLOT)
 
 dnl ---------------------------------------------------------------------------
 dnl support for image formats that do not rely on external library
@@ -1208,7 +1219,6 @@ case "${host}" in
   *)
     PATH_IFS=':'
     LEX_STEM="lex.yy"
-    PROGRAM_EXT=
   ;;
 esac
 
@@ -1514,7 +1524,17 @@ fi
 if test "$wxUSE_GTK" = 1; then
     dnl avoid calling AM_PATH_GTK twice, so check first for the newer version
     dnl and only then, if it wasn't found, for an older one
-    AM_PATH_GTK(1.2.3, WXGTK12=1, AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.3 or above?))
+    AM_PATH_GTK(1.2.3, WXGTK12=1)
+
+    if test "$WXGTK12" != 1; then
+        AC_MSG_ERROR([
+            Please check that gtk-config is in path, the directory
+            where GTK+ libraries are installed (returned by
+            'gtk-config --libs' command) is in LD_LIBRARY_PATH or
+            equivalent variable and GTK+ is version 1.2.3 or above.
+        ])
+    fi
+
 dnl it doesn't really work with 1.3.0 now...
 dnl    AM_PATH_GTK(1.3.0,
 dnl        WXGTK13=1,
@@ -1554,9 +1574,8 @@ dnl    fi
     UNIXDEPS="\$(UNIX_DEPS)"
     GUIDIST=GTK_DIST
 
-dnl test for XIM support in libgdk
-AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
-
+    dnl test for XIM support in libgdk
+    AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
 fi
 
 if test "$wxUSE_WINE" = 1; then
@@ -1650,40 +1669,100 @@ if test "$wxUSE_MOTIF" = 1; then
     dnl        AC_MSG_ERROR(please set LDFLAGS to contain the location of libX11)
     dnl    fi
 
+    COMPILED_X_PROGRAM=0
+
     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)
     else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+        AC_TRY_COMPILE(
+            [
+                #include <Xm/Xm.h>
+            ],
+            [
+                int version;
+
+                version = xmUseVersion;
+            ],
+            [
+                AC_MSG_RESULT(found in default search path)
+                COMPILED_X_PROGRAM=1
+            ],
+            [
+                AC_MSG_RESULT(no)
+                AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+            ]
+        )
     fi
 
-    AC_MSG_CHECKING(for Motif/Lesstif library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
-    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)
+    if test "$COMPILED_X_PROGRAM" = 0; then
+        AC_MSG_CHECKING(for Motif/Lesstif library)
+        WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
+        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
+            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
+            dnl it might happen that we found headers in one of the standard
+            dnl paths but the libs are elsewhere - we do need to try to
+            dnl compile a sample program then here
+            AC_TRY_COMPILE(
+                [
+                    #include <Xm/Xm.h>
+                ],
+                [
+                    int version;
 
-    AC_MSG_CHECKING(for Xt library)
-    WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
-    if test "$ac_find_libraries" != "" ; then
-        WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
-        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
-        AC_MSG_RESULT(found at $ac_find_libraries)
-    else
-        AC_MSG_RESULT(no)
-        AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
+                    version = xmUseVersion;
+                ],
+                [
+                    AC_MSG_RESULT(found in default search path)
+                    COMPILED_X_PROGRAM=1
+                ],
+                [
+                    AC_MSG_RESULT(no)
+                    AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+                ]
+            )
+        fi
     fi
 
+    dnl we don't need this as we used AC_PATH_XTRA above which does it for us
+    dnl
+    dnl dnl if we already compiled a sample program, X libs are surely there
+    dnl if test "$COMPILED_X_PROGRAM" = 0; then
+    dnl     AC_MSG_CHECKING(for Xt library)
+    dnl     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
+    dnl     if test "$ac_find_libraries" != "" ; then
+    dnl         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+    dnl         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
+    dnl         AC_MSG_RESULT(found at $ac_find_libraries)
+    dnl     else
+    dnl         AC_TRY_COMPILE
+    dnl         (
+    dnl             [
+    dnl                 #include <X11/Intrinsic.h>
+    dnl             ],
+    dnl             [
+    dnl                 char *p;
+    dnl                 p = XtMalloc(5);
+    dnl             ],
+    dnl             [
+    dnl                 AC_MSG_RESULT(found in default search path)
+    dnl                 COMPILED_X_PROGRAM=1
+    dnl             ],
+    dnl             [
+    dnl                 AC_MSG_RESULT(no)
+    dnl                 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
+    dnl             ]
+    dnl         )
+    dnl     fi
+    dnl fi
+
     XPM_LINK=""
     AC_MSG_CHECKING(for Xpm library)
     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
@@ -1694,8 +1773,26 @@ if test "$wxUSE_MOTIF" = 1; then
         AC_DEFINE(wxHAVE_LIB_XPM)
         AC_MSG_RESULT(found at $ac_find_libraries)
     else
-        AC_MSG_RESULT(no)
-        AC_MSG_WARN(library will be compiled without support for images in XPM format)
+        AC_TRY_COMPILE(
+            [
+                #include <X11/xpm.h>
+            ],
+            [
+                int version;
+
+                version = XpmLibraryVersion();
+            ],
+            [
+               XPM_LINK="-lXpm "
+               AC_DEFINE(wxHAVE_LIB_XPM)
+                AC_MSG_RESULT(found in default search path)
+                COMPILED_X_PROGRAM=0
+            ],
+            [
+                AC_MSG_RESULT(no)
+                AC_MSG_WARN(library will be compiled without support for images in XPM format)
+            ]
+        )
     fi
 
     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11 -lm"
@@ -1736,16 +1833,24 @@ else
     TOOLKIT_DIR="os2"
 fi
 
-dnl the symbol which allows conditional compilation for the given toolkit
-TOOLKIT_DEF="-D__WX${TOOLKIT}__"
+    dnl the symbol which allows conditional compilation for the given toolkit
+    TOOLKIT_DEF="-D__WX${TOOLKIT}__"
 
-dnl the name of the (libtool) library
-WX_LIBRARY="wx_${TOOLKIT_DIR}"
+    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) \$(IODBCOBJS)"
+    ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS)"
+
+    dnl ODBC objects are Unix only
+    if test "$TOOLKIT" != "MSW"; then
+        if test "$wxUSE_ODBC" = "yes" ; then
+            ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
+        fi
+    fi
+
     if test "$wxUSE_LIBJPEG" = "yes" ; then
-        ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"  
+        ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
     fi
     if test "$wxUSE_LIBTIFF" = "yes" ; then
         ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
@@ -1757,19 +1862,34 @@ WX_LIBRARY="wx_${TOOLKIT_DIR}"
         ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
     fi
     ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS)"
-    ALL_HEADERS="\$(GUIHEADERS) \$(HTML_HEADERS) \$(UNIX_HEADERS) \$(PROTOCOL_HEADERS) \$(GENERIC_HEADERS) \$(WX_HEADERS)"
-else
-    dnl leave all TOOLKIT_XXX vars empty
 
+    PORT_FILES="src/\$(TOOLKITDIR)/files.lst"
+    RPM_FILES="src/\$(TOOLKITDIR)/rpmfiles.lst"
+    RPM_SPEC="wx\$(TOOLKIT).spec"
+
+    dnl distribute samples/demos/utils with GUI versions
+    GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
+    DISTDIR="wx\$(TOOLKIT)"
+else
     USE_GUI=0
 
+    TOOLKIT_DIR="base"
+    TOOLKIT_DEF="-D__WXBASE__"
+
     dnl the sources, their dependenices and the headers
-    ALL_OBJECTS="\$(BASE_OBJS)"
-    ALL_DEPFILES="\${BASE_DEPS}"
-    ALL_HEADERS="\${BASE_HEADERS}"
+    ALL_OBJECTS="\$(BASE_OBJS) \${BASE_UNIX_OBJS}"
+    ALL_DEPFILES="\${BASE_DEPS} \${BASE_UNIX_DEPS}"
 
     dnl building wxBase only
     WX_LIBRARY="wxbase"
+
+    PORT_FILES="src/files.lst"
+    RPM_FILES="src/rpmfiles.lst"
+    RPM_SPEC="wxBase.spec"
+
+    dnl distribute only wxBase sources/headers
+    GUIDIST="BASE_DIST"
+    DISTDIR="wxBase"
 fi
 
 dnl the name of the (libtool) library
@@ -1815,7 +1935,9 @@ if test "$wxUSE_SHARED" = "yes"; then
         PIC_FLAG="-fPIC"
         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
         WX_ALL="CREATE_LINKS"
-        dnl BURNT_LIBRARY_NAME="-Wl,-soname -Wl,${WX_LIBRARY_NAME_SHARED}"
+        if test "$wxUSE_BURNT_NAME" = "yes" ; then
+            BURNT_LIBRARY_NAME="-Wl,-soname,${WX_LIBRARY_LINK1}"
+        fi
       ;;
       *-*-irix5* | *-*-irix6* )
         if test "$GCC" = yes ; then
@@ -2056,14 +2178,15 @@ AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
                 AC_DEFINE(HAVE_VSSCANF)
                 wx_cv_func_vsscanf=yes
              ],
-             wx_cv_func_vsscanf=no,
-             wx_cv_func_vsscanf=no
+                wx_cv_func_vsscanf=no,
+                wx_cv_func_vsscanf=no
              )
 ])
 
 AC_LANG_RESTORE
 
-if test "$USE_UNIX" = 1; then
+dnl under MSW we always have Sleep()
+if test "$TOOLKIT" != "MSW"; then
 
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
@@ -2133,7 +2256,7 @@ if test "x$INET_LINK" != "x"; then
 fi
 
 fi
-dnl Unix
+dnl if !MSW
 
 dnl ===========================================================================
 dnl Now we have all the info we need - use it!
@@ -2146,7 +2269,8 @@ dnl ---------------------------------------------------------------------------
 dnl thread support for Unix (always available under Win32)
 dnl ---------------------------------------------------------------------------
 
-if test "$USE_UNIX" = 1; then
+dnl under MSW we always have thread support
+if test "$TOOLKIT" != "MSW"; then
 
 dnl the code below:
 dnl   defines THREADS_OBJ which contains the object files to build
@@ -2259,7 +2383,7 @@ if test "$wxUSE_THREADS" = "yes" ; then
   THREADS_LINK="-l$THREADS_LINK"
 fi
 
-dnl from if USE_UNIX
+dnl from if !MSW
 fi
 
 if test "$wxUSE_THREADS" = "yes"; then
@@ -2326,6 +2450,7 @@ fi
 if test "$wxUSE_MEM_TRACING" = "yes" ; then
     AC_DEFINE(wxUSE_MEMORY_TRACING)
     AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
+    AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
 fi
 
@@ -2464,6 +2589,10 @@ if test "$wxUSE_FILE" = "yes"; then
   AC_DEFINE(wxUSE_FILE)
 fi
 
+if test "$wxUSE_FILESYSTEM" = "yes"; then
+  AC_DEFINE(wxUSE_FILESYSTEM)
+fi
+
 if test "$wxUSE_FS_INET" = "yes"; then
   AC_DEFINE(wxUSE_FS_INET)
 fi
@@ -2518,6 +2647,10 @@ if test "$wxUSE_LONGLONG" = "yes"; then
   AC_DEFINE(wxUSE_LONGLONG)
 fi
 
+if test "$wxUSE_PLOT" = "yes"; then
+  AC_DEFINE(wxUSE_PLOT)
+fi
+
 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
   AC_DEFINE(wxUSE_DIALUP_MANAGER)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
@@ -2586,9 +2719,8 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
     AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
 
-    dnl check for localtime (POSIX), gettimeofday (SVr4, BSD 4.3) and ftime
-    dnl (V7, BSD 4.3)
-    AC_CHECK_FUNCS(localtime gettimeofday ftime, break)
+    dnl check for localtime (it's POSIX, but the check can do no harm...)
+    AC_CHECK_FUNCS(localtime)
 
     if test "$ac_cv_func_localtime" = "yes"; then
         AC_CACHE_CHECK(for tm_gmtoff in struct tm,
@@ -2609,7 +2741,13 @@ if test "$wxUSE_TIMEDATE" = "yes"; then
                 wx_cv_struct_tm_has_gmtoff=no
             )
         ])
-    elif test "$ac_cv_func_gettimeofday" = "yes"; then
+    fi
+
+    dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
+    dnl function to be used for high resolution timers
+    AC_CHECK_FUNCS(gettimeofday ftime, break)
+
+    if test "$ac_cv_func_gettimeofday" = "yes"; then
         AC_CACHE_CHECK([whether gettimeofday takes two arguments],
                        wx_cv_func_gettimeofday_has_2_args,
         [
@@ -2657,6 +2795,9 @@ dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
+dnl under MSW we always have sockets
+if test "$TOOLKIT" != "MSW"; then
+
 if test "$wxUSE_SOCKETS" = "yes"; then
     dnl under Solaris, socket functions live in -lsocket
     AC_CHECK_FUNC(socket,,
@@ -2670,29 +2811,64 @@ if test "$wxUSE_SOCKETS" = "yes"; then
     )
 fi
 
+fi
+dnl if !MSW
+
 if test "$wxUSE_SOCKETS" = "yes" ; then
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
     dnl determine the type of third argument for getsockname
-    AC_MSG_CHECKING(the type of the third argument of getsockname)
-    AC_TRY_COMPILE(
-        [#include <sys/socket.h>],
-        [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, 0, &len);],
-            AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
+    AC_CACHE_CHECK([what is the type of the third argument of getsockname],
+                   wx_cv_type_getsockname3,
+        [
+            AC_LANG_SAVE
+            AC_LANG_CPLUSPLUS
+
             AC_TRY_COMPILE(
-                [#include <sys/socket.h>],
-                [int len; getsockname(0, 0, &len);],
-                AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
-                AC_MSG_RESULT(unknown)
+                [
+                    #include <sys/types.h>
+                    #include <sys/socket.h>
+                ],
+                [
+                    socklen_t len;
+                    getsockname(0, 0, &len);
+                ],
+                wx_cv_type_getsockname3=socklen_t,
+                AC_TRY_COMPILE(
+                    [
+                        #include <sys/types.h>
+                        #include <sys/socket.h>
+                    ],
+                    [
+                        size_t len;
+                        getsockname(0, 0, &len);
+                    ],
+                    wx_cv_type_getsockname3=size_t,
+                    AC_TRY_COMPILE(
+                        [
+                            #include <sys/types.h>
+                            #include <sys/socket.h>
+                        ],
+                        [
+                            int len;
+                            getsockname(0, 0, &len);
+                        ],
+                        wx_cv_type_getsockname3=int,
+                        wx_cv_type_getsockname3=unknown
+                    )
+                )
             )
-        )
-    )
-    AC_LANG_RESTORE
 
+            AC_LANG_RESTORE
+        ])
+
+    if test "$wx_cv_type_getsockname3" = "unknown"; then
+        wxUSE_SOCKETS=no
+        AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+    else
+        AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
+    fi
+fi
+
+if test "$wxUSE_SOCKETS" = "yes" ; then
     AC_DEFINE(wxUSE_SOCKETS)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
@@ -2702,19 +2878,33 @@ dnl ---------------------------------------------------------------------------
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
+dnl under MSW we always have joystick support
+if test "$TOOLKIT" != "MSW"; then
+
 if test "$wxUSE_JOYSTICK" = 1; then
   dnl joystick support is only for Linux 2.1.x or greater
   AC_CHECK_HEADERS(linux/joystick.h)
-  if test "$ac_cv_header_linux_joystick_h" = "yes"; then
+  if test "$ac_cv_header_linux_joystick_h" != "yes"; then
+    wxUSE_JOYSTICK=0
+    AC_MSG_WARN(Joystick not supported yb this system, disabled)
+  fi
+fi
+
+fi
+dnl if !MSW
+
+if test "$wxUSE_JOYSTICK" = 1; then
     AC_DEFINE(wxUSE_JOYSTICK)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
-  fi
 fi
 
 dnl ------------------------------------------------------------------------
 dnl DLL support
 dnl ------------------------------------------------------------------------
 
+dnl under MSW we always have LoadLibrary/GetProcAddress
+if test "$TOOLKIT" != "MSW"; then
+
 HAVE_DL_FUNCS=0
 HAVE_SHL_FUNCS=0
 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
@@ -2754,6 +2944,9 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
     fi
 fi
 
+fi
+dnl if !MSW
+
 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
     AC_DEFINE(wxUSE_DYNLIB_CLASS)
 else
@@ -2948,16 +3141,17 @@ if test "$wxUSE_GAUGE" = "yes"; then
   AC_DEFINE(wxUSE_GAUGE)
 fi
 
-if test "$wxUSE_GRID" = "yes"; then
-  AC_DEFINE(wxUSE_GRID)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
-fi
-
 if test "$wxUSE_NEW_GRID" = "yes"; then
+  wxUSE_GRID="yes"
   AC_DEFINE(wxUSE_NEW_GRID)
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
 fi
 
+if test "$wxUSE_GRID" = "yes"; then
+  AC_DEFINE(wxUSE_GRID)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
+fi
+
 if test "$wxUSE_IMAGLIST" = "yes"; then
     AC_DEFINE(wxUSE_IMAGLIST)
 fi
@@ -3033,6 +3227,8 @@ fi
 
 if test "$wxUSE_STATUSBAR" = "yes"; then
     AC_DEFINE(wxUSE_STATUSBAR)
+
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
 fi
 
 if test "$wxUSE_TABDIALOG" = "yes"; then
@@ -3185,8 +3381,7 @@ dnl C/C++ compiler options used to compile wxWindows
 if test "$GXX" = yes ; then
     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
     CXXWARNINGS="-Wall"
-    dnl FIXME: there is one weird warning in docview.h:71 which prevents me from
-    dnl        doing this... (VZ)
+    dnl should enable this one day...
     dnl CXXWARNINGS="-Wall -Werror"
 fi
 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
@@ -3206,7 +3401,7 @@ if test "$wxUSE_GUI" = "yes"; then
                      font fractal image minimal richedit"
 
     dnl this is needed to be able to find AFM files
-    CPPFLAGS="$CPPFLAGS \$(EXTRADEFS)"
+    CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
 else
     SAMPLES_SUBDIRS=""
 fi
@@ -3215,7 +3410,8 @@ dnl for convenience, sort the samples in alphabetical order
 dnl
 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
-dnl       Unfortunately, there is a bug in OS/2's tr, such that 
+dnl
+dnl       Unfortunately, there is a bug in OS/2's tr, such that
 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
 dnl       only removes the Unix-like part of the introduced line break.
 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
@@ -3272,8 +3468,13 @@ AC_SUBST(UNIXOBJS)
 AC_SUBST(UNIXDEPS)
 AC_SUBST(ALL_OBJECTS)
 AC_SUBST(ALL_DEPFILES)
-AC_SUBST(ALL_HEADERS)
+
+dnl distribution vars
 AC_SUBST(GUIDIST)
+AC_SUBST(PORT_FILES)
+AC_SUBST(DISTDIR)
+AC_SUBST(RPM_SPEC)
+AC_SUBST(RPM_FILES)
 
 dnl additional subdirectories where we will build
 AC_SUBST(SRC_SUBDIRS)
@@ -3295,17 +3496,42 @@ dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
 dnl - and we do use it)
 AC_PROG_MAKE_SET
 
+dnl move setup.h back if available
+if test -d include; then
+    if test -d include/wx; then
+        if test -d include/wx/${TOOLKIT_DIR}; then
+            if test -f include/wx/${TOOLKIT_DIR}/setup.h; then
+                mv -f include/wx/${TOOLKIT_DIR}/setup.h setup.h 
+            fi
+        fi
+    fi
+fi
+            
 AC_CONFIG_HEADER(setup.h:setup.h.in)
 
-dnl Duh! glcanvas/$(TOOLKIT_DIR) doesn't work for msw because some
-dnl genius called it "win"
-if test "${TOOLKIT_DIR}" = "msw" ; then
-  GL_TOOLKIT_DIR="win"
-else
-  GL_TOOLKIT_DIR="${TOOLKIT_DIR}"
+dnl some more GUI only things
+if test "$wxUSE_GUI" = "yes"; then
+    AC_CACHE_CHECK([glcanvas subdirectory to use], wx_cv_path_glcanvas,
+    [
+        dnl Duh! glcanvas/$(TOOLKIT_DIR) doesn't work for msw because some
+        dnl genius called it "win"
+        if test "${TOOLKIT_DIR}" = "msw" ; then
+          wx_cv_path_glcanvas="win"
+        else
+          wx_cv_path_glcanvas="${TOOLKIT_DIR}"
+        fi
+    ])
+
+    dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack!
+    GL_TOOLKIT_DIR=$wx_cv_path_glcanvas
+    AC_SUBST(GL_TOOLKIT_DIR)
+
+    dnl another hack: we need to pass SAMPLES_SUBDIRS to the configure in
+    dnl samples and the only way to do it is, again, use the cache
+    wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS
+    AC_CONFIG_SUBDIRS(demos samples utils)
 fi
-dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack!
-AC_SUBST(GL_TOOLKIT_DIR)
+dnl from wxUSE_GUI
 
 dnl create each of the files in the space separated list from the file.in
 dnl (the original file name may be overriden by appending another name after a
@@ -3316,87 +3542,36 @@ AC_OUTPUT([
             src/makeprog.env
             src/makelib.env
             Makefile
-            demos/Makefile
-            demos/bombs/Makefile
-            demos/dbbrowse/Makefile
-            demos/forty/Makefile
-            demos/fractal/Makefile
-            demos/life/Makefile
-            demos/poem/Makefile
-            samples/Makefile
-            samples/caret/Makefile
-            samples/calendar/Makefile
-            samples/checklst/Makefile
-            samples/config/Makefile
-            samples/controls/Makefile
-            samples/console/Makefile
-            samples/db/Makefile
-            samples/dialogs/Makefile
-            samples/docview/Makefile
-            samples/docvwmdi/Makefile
-            samples/dnd/Makefile
-            samples/drawing/Makefile
-            samples/exec/Makefile
-            samples/font/Makefile
-            samples/grid/Makefile
-            samples/help/Makefile
-            samples/image/Makefile
-            samples/internat/Makefile
-            samples/ipc/Makefile
-            samples/layout/Makefile
-            samples/listctrl/Makefile
-            samples/mdi/Makefile
-            samples/minifram/Makefile
-            samples/minimal/Makefile
-            samples/dialup/Makefile
-            samples/newgrid/Makefile
-            samples/notebook/Makefile
-            samples/png/Makefile
-            samples/printing/Makefile
-            samples/proplist/Makefile
-            samples/propsize/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
-            samples/toolbar/Makefile
-            samples/treectrl/Makefile
-            samples/typetest/Makefile
-            samples/validate/Makefile
-            samples/sockets/Makefile
-            samples/wizard/Makefile
-            samples/html/Makefile
-            samples/html/about/Makefile
-            samples/html/help/Makefile
-            samples/html/printing/Makefile
-            samples/html/helpview/Makefile
-            samples/html/test/Makefile
-            samples/html/zip/Makefile
-            samples/html/virtual/Makefile
-            samples/html/widget/Makefile
-            utils/Makefile
-            utils/wxMMedia2/Makefile
-            utils/wxMMedia2/lib/Makefile
-            utils/wxMMedia2/sample/Makefile
-            utils/glcanvas/Makefile
-            utils/glcanvas/${GL_TOOLKIT_DIR}/Makefile
-            utils/ogl/Makefile
-            utils/ogl/src/Makefile
-            utils/makegen/Makefile
-            utils/HelpGen/Makefile
-            utils/HelpGen/src/Makefile
-            utils/tex2rtf/Makefile
-            utils/tex2rtf/src/Makefile
-            utils/hhp2cached/Makefile
-            utils/dialoged/Makefile
-            utils/dialoged/src/Makefile
           ],
           [
             chmod +x wx-config
+            mv wx-config wx${TOOLKIT_DIR}-config
+            ${LN_S} wx${TOOLKIT_DIR}-config wx-config
+            
+            dnl the debian installer wants setup.h to be in the lib subdir
+            dnl so we *copy* it there
+            
+            if test ! -d lib; then
+              mkdir lib
+            fi
+            if test ! -d lib/wx; then
+              mkdir lib/wx
+            fi
+            if test ! -d lib/wx/include; then
+              mkdir lib/wx/include
+            fi
+            if test ! -d lib/wx/include/wx; then
+              mkdir lib/wx/include/wx
+            fi
+            if test ! -d lib/wx/include/wx/${TOOLKIT_DIR}; then
+              mkdir lib/wx/include/wx/${TOOLKIT_DIR}
+            fi
+            if test -f setup.h; then
+                cp -f setup.h lib/wx/include/wx/${TOOLKIT_DIR}/setup.h
+            fi
+
+            dnl *move* setup.h to its final place
+
             if test ! -d include; then
               mkdir include
             fi
@@ -3409,9 +3584,11 @@ AC_OUTPUT([
             if test -f setup.h; then
                 mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
             fi
+            
           ],
           [
             TOOLKIT_DIR="${TOOLKIT_DIR}"
+            LN_S="${LN_S}"
           ]
          )