]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
compilation fix
[wxWidgets.git] / configure.in
index c2193d6fee428cb2bc1e5c3767d8a7ae926add3f..9a9b0e2c882eb9376b00fe92dd1e22b7fcfb24c8 100644 (file)
@@ -49,6 +49,7 @@ dnl checks the results of gtk-config to some extent)
 dnl
     AC_TRY_RUN([
 #include <gtk/gtk.h>
+#include <gtk/gtkfeatures.h>
 #include <stdio.h>
 
 int
@@ -61,6 +62,13 @@ main ()
      exit(1);
    }
 
+   if ((GTK_MAJOR_VERSION != gtk_major_version) ||
+       (GTK_MINOR_VERSION != gtk_minor_version) ||
+       (GTK_MICRO_VERSION != gtk_micro_version)) {
+     printf("Headers vs. library version mismatch!\n");
+     exit(1);
+   }
+
    if (gtk_minor_version == 1) return FALSE;
 
    return !((gtk_major_version > major) ||
@@ -223,51 +231,6 @@ AC_DEFUN(WX_CPP_BOOL,
   fi
 ])
 
-dnl ---------------------------------------------------------------------------
-dnl WX_CPP_SIZE_T_IS_NOT_INT checks whether size_t and int are different types,
-dnl i.e. whether we may overload operator[] on its argument type
-dnl ---------------------------------------------------------------------------
-
-AC_DEFUN(WX_CPP_SIZE_T_IS_NOT_INT,
-[
-  AC_CACHE_CHECK([if size_t and int are different types], wx_cv_cpp_sizet_not_int,
-  [
-    AC_LANG_SAVE
-    AC_LANG_CPLUSPLUS
-
-    AC_TRY_RUN([
-        #include <stdlib.h>
-
-        class S
-        {
-        public:
-          S(char *s) { m_s = s; }
-
-          char operator[](size_t n) const { return m_s[n]; }
-          char operator[](int n) const { return m_s[n]; }
-
-        private:
-          char *m_s;
-        };
-
-        int main()
-        {
-            S s("dummy");
-            size_t n1 = 2;
-            int n2 = 3;
-
-            return s[n1] == s[n2];
-        }
-      ],
-      AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) wx_cv_cpp_sizet_not_int=yes,
-      wx_cv_cpp_sizet_not_int=no,
-      wx_cv_cpp_sizet_not_int=no
-    )
-
-    AC_LANG_RESTORE
-  ])
-])
-
 dnl ---------------------------------------------------------------------------
 dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
 dnl ---------------------------------------------------------------------------
@@ -446,7 +409,7 @@ dnl WX_INTERFACE_AGE = 0
 
 WX_MAJOR_VERSION_NUMBER=2
 WX_MINOR_VERSION_NUMBER=1
-WX_RELEASE_NUMBER=10
+WX_RELEASE_NUMBER=12
 
 WX_INTERFACE_AGE=0
 WX_BINARY_AGE=0
@@ -485,6 +448,11 @@ USE_CYGWIN=
 USE_MINGW=
 USE_DATA_GENERAL=
 
+dnl on some platforms xxx_r() functions are declared inside "#ifdef
+dnl _REENTRANT" and it's easier to just define this symbol for these platforms
+dnl than checking it during run-time
+NEEDS_D_REENTRANT_FOR_R_FUNCS=0
+
 dnl the list of all available toolkits
 ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE"
 
@@ -507,6 +475,7 @@ case "${host}" in
   *-hp-hpux* )
     USE_HPUX=1
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
+    NEEDS_D_REENTRANT_FOR_R_FUNCS=1
     AC_DEFINE(__HPUX__)
   ;;
   *-*-linux* )
@@ -534,6 +503,7 @@ case "${host}" in
     AC_DEFINE(__SOLARIS__)
     AC_DEFINE(__SVR4__)
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
+    NEEDS_D_REENTRANT_FOR_R_FUNCS=1
   ;;
   *-*-sunos4* )
     USE_SUN=1
@@ -582,18 +552,7 @@ case "${host}" in
     DEFAULT_DEFAULT_wxUSE_MOTIF=1
   ;;
 
-  *-*-cygwin32* )
-    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)
-    DEFAULT_DEFAULT_wxUSE_MSW=1
-  ;;
-  *-*-mingw32* )
+  *-*-cygwin32* | *-*-mingw32* )
     USE_UNIX=0
     USE_WIN32=1
     AC_DEFINE(__WIN32__)
@@ -665,6 +624,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
   DEFAULT_wxUSE_LIBJPEG=no
+  DEFAULT_wxUSE_LIBTIFF=no
   DEFAULT_wxUSE_ODBC=no
 
   DEFAULT_wxUSE_STD_IOSTREAM=no
@@ -737,6 +697,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_SCROLLBAR=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
+  DEFAULT_wxUSE_SPINCTRL=no
   DEFAULT_wxUSE_SPLITTER=no
   DEFAULT_wxUSE_STATBMP=no
   DEFAULT_wxUSE_STATBOX=no
@@ -777,6 +738,7 @@ else
   DEFAULT_wxUSE_ZLIB=yes
   DEFAULT_wxUSE_LIBPNG=yes
   DEFAULT_wxUSE_LIBJPEG=yes
+  DEFAULT_wxUSE_LIBTIFF=yes
   DEFAULT_wxUSE_ODBC=yes
 
   DEFAULT_wxUSE_STD_IOSTREAM=no
@@ -838,7 +800,7 @@ else
   DEFAULT_wxUSE_COMBOBOX=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_NEW_GRID=yes
+  DEFAULT_wxUSE_NEW_GRID=no
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
@@ -849,6 +811,7 @@ else
   DEFAULT_wxUSE_SCROLLBAR=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
+  DEFAULT_wxUSE_SPINCTRL=yes
   DEFAULT_wxUSE_SPLITTER=yes
   DEFAULT_wxUSE_STATBMP=yes
   DEFAULT_wxUSE_STATBOX=yes
@@ -900,6 +863,7 @@ if test "$wxUSE_GUI" = "no"; then
   DEFAULT_wxUSE_ZLIB=no
   DEFAULT_wxUSE_LIBPNG=no
   DEFAULT_wxUSE_LIBJPEG=no
+  DEFAULT_wxUSE_LIBTIFF=no
   DEFAULT_wxUSE_SOCKETS=no
   DEFAULT_wxUSE_JOYSTICK=no
   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
@@ -931,13 +895,13 @@ if test "$wxUSE_GUI" = "no"; then
   DEFAULT_wxUSE_FS_ZIP=no
   DEFAULT_wxUSE_BUSYINFO=no
   DEFAULT_wxUSE_ZIPSTREAM=no
-  DEFAULT_wxUSE_VALIDATORS=yes
+  DEFAULT_wxUSE_VALIDATORS=no
   DEFAULT_wxUSE_ACCEL=no
   DEFAULT_wxUSE_CARET=no
   DEFAULT_wxUSE_BMPBUTTON=no
   DEFAULT_wxUSE_CHECKBOX=no
   DEFAULT_wxUSE_CHECKLST=no
-  DEFAULT_wxUSE_CHOICE=yes
+  DEFAULT_wxUSE_CHOICE=no
   DEFAULT_wxUSE_COMBOBOX=no
   DEFAULT_wxUSE_GAUGE=no
   DEFAULT_wxUSE_GRID=no
@@ -952,11 +916,12 @@ if test "$wxUSE_GUI" = "no"; then
   DEFAULT_wxUSE_SCROLLBAR=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
+  DEFAULT_wxUSE_SPINCTRL=no
   DEFAULT_wxUSE_SPLITTER=no
   DEFAULT_wxUSE_STATBMP=no
   DEFAULT_wxUSE_STATBOX=no
   DEFAULT_wxUSE_STATLINE=no
-  DEFAULT_wxUSE_STATUSBAR=yes
+  DEFAULT_wxUSE_STATUSBAR=no
   DEFAULT_wxUSE_TABDIALOG=no
   DEFAULT_wxUSE_TOOLBAR=no
   DEFAULT_wxUSE_TREECTRL=no
@@ -980,6 +945,7 @@ WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (www.l
 WX_ARG_WITH(zlib,          [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
 WX_ARG_WITH(libpng,        [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
 WX_ARG_WITH(libjpeg,       [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
+WX_ARG_WITH(libtiff,       [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
 
@@ -1105,7 +1071,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_CHOICE=yes
   DEFAULT_wxUSE_GAUGE=yes
   DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_NEW_GRID=yes
+  DEFAULT_wxUSE_NEW_GRID=no
   DEFAULT_wxUSE_IMAGLIST=yes
   DEFAULT_wxUSE_LISTBOX=yes
   DEFAULT_wxUSE_LISTCTRL=yes
@@ -1116,6 +1082,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then
   DEFAULT_wxUSE_SCROLLBAR=yes
   DEFAULT_wxUSE_SLIDER=yes
   DEFAULT_wxUSE_SPINBTN=yes
+  DEFAULT_wxUSE_SPINCTRL=yes
   DEFAULT_wxUSE_SPLITTER=yes
   DEFAULT_wxUSE_STATBMP=yes
   DEFAULT_wxUSE_STATBOX=yes
@@ -1146,6 +1113,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then
   DEFAULT_wxUSE_SCROLLBAR=no
   DEFAULT_wxUSE_SLIDER=no
   DEFAULT_wxUSE_SPINBTN=no
+  DEFAULT_wxUSE_SPINCTRL=no
   DEFAULT_wxUSE_SPLITTER=no
   DEFAULT_wxUSE_STATBMP=no
   DEFAULT_wxUSE_STATBOX=no
@@ -1177,6 +1145,7 @@ WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], w
 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
+WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
 WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class], wxUSE_SPLITTER)
 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
@@ -1397,7 +1366,16 @@ dnl Define search path for includes and libraries: all headers and libs will be
 dnl looked for in all directories of this path
 dnl ---------------------------------------------------------------------------
 
+dnl notice that /usr/include should not be in this list, otherwise it breaks
+dnl compilation on Solaris/gcc because standard headers are included instead
+dnl of the gcc ones (correction: it *is* needed for broken AIX compiler - but
+dnl do put it last!)
+dnl
+dnl Also try to put all directories which may contain X11R6 before those which
+dnl may contain X11R5/4 - we want to use R6 on machines which have both!
 SEARCH_INCLUDE="\
+    /usr/local/include        \
+                              \
     /usr/Motif-1.2/include    \
     /usr/Motif-2.1/include    \
                               \
@@ -1408,16 +1386,15 @@ SEARCH_INCLUDE="\
                               \
     /usr/Motif1.2/include     \
     /usr/dt/include           \
+    /usr/openwin/include      \
+                              \
     /usr/include/Xm           \
                               \
     /usr/X11R6/include        \
+    /usr/X11R6.4/include      \
     /usr/X11R5/include        \
     /usr/X11R4/include        \
                               \
-    /usr/X11R6/lib            \
-    /usr/X11R5/lib            \
-    /usr/X11R4/lib            \
-                              \
     /usr/include/X11R6        \
     /usr/include/X11R5        \
     /usr/include/X11R4        \
@@ -1439,9 +1416,6 @@ SEARCH_INCLUDE="\
     /usr/x386/include         \
     /usr/XFree86/include/X11  \
                               \
-    /usr/include              \
-    /usr/local/include        \
-                              \
     /usr/include/gtk          \
     /usr/local/include/gtk    \
     /usr/include/glib         \
@@ -1459,9 +1433,9 @@ SEARCH_INCLUDE="\
     /usr/local/x11r5/include  \
     /usr/lpp/Xamples/include  \
                               \
-    /usr/openwin/include      \
     /usr/openwin/share/include \
-    "
+                               \
+    /usr/include"
 
 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
 
@@ -1548,7 +1522,12 @@ if test "$wxUSE_GTK" = 1; then
     COMMONDEPS="\$(GTK_COMMONDEPS)"
     GENERICDEPS="\$(GTK_GENERICDEPS)"
     UNIXOBJS="\$(UNIX_OBJS)"
+    UNIXDEPS="\$(UNIX_DEPS)"
     GUIDIST=GTK_DIST
+
+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
@@ -1599,33 +1578,47 @@ if test "$wxUSE_WINE" = 1; then
     COMMONDEPS="\$(MSW_COMMONDEPS)"
     GENERICDEPS="\$(MSW_GENERICDEPS)"
     UNIXOBJS="\$(UNIX_OBJS)"
+    UNIXDEPS="\$(UNIX_DEPS)"
     GUIDIST=MSW_DIST
 fi
 
 if test "$wxUSE_MOTIF" = 1; then
-    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
-
-    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)
+    dnl use standard macros to check for X headers/libs, this brings support
+    dnl for the standard configure options --x-includes and --x-libraries
+    AC_PATH_XTRA
 
-        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)
+    if test "$no_x" = "yes"; then
+        AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
     fi
 
+    GUI_TK_LIBRARY="$X_LIBS"
+    TOOLKIT_INCLUDE="$X_CFLAGS"
+
+    dnl manual check for X11 headers/libs
+    dnl
+    dnl    AC_MSG_CHECKING(for X11 headers)
+    dnl    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
+    dnl    if test "$ac_find_includes" != "" ; then
+    dnl        AC_MSG_RESULT(found $ac_find_includes)
+    dnl    else
+    dnl        AC_MSG_RESULT(no)
+    dnl        AC_MSG_ERROR(please set CFLAGS to contain the location of X11/Intrinsic.h)
+    dnl    fi
+    dnl
+    dnl    AC_MSG_CHECKING(for X11 libraries)
+    dnl    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, X11)
+    dnl    if test "$ac_find_libraries" != "" ; then
+    dnl        WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
+    dnl        WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
+    dnl
+    dnl        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
+    dnl        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
+    dnl        AC_MSG_RESULT(found at $ac_find_libraries)
+    dnl    else
+    dnl        AC_MSG_RESULT(no)
+    dnl        AC_MSG_ERROR(please set LDFLAGS to contain the location of libX11)
+    dnl    fi
+
     AC_MSG_CHECKING(for Motif/Lesstif headers)
     WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
     if test "$ac_find_includes" != "" ; then
@@ -1674,7 +1667,7 @@ if test "$wxUSE_MOTIF" = 1; then
         AC_MSG_WARN(library will be compiled without support for images in XPM format)
     fi
 
-    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXt -lX11 -lm"
+    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11 -lm"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
 
@@ -1686,6 +1679,7 @@ if test "$wxUSE_MOTIF" = 1; then
     COMMONDEPS="\$(MOTIF_COMMONDEPS)"
     GENERICDEPS="\$(MOTIF_GENERICDEPS)"
     UNIXOBJS="\$(UNIX_OBJS)"
+    UNIXDEPS="\$(UNIX_DEPS)"
     GUIDIST=MOTIF_DIST
 fi
 
@@ -1699,7 +1693,19 @@ 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) \$(IODBCOBJS)"
+    ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(IODBCOBJS)"
+    if test "$wxUSE_LIBJPEG" = "yes" ; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"  
+    fi
+    if test "$wxUSE_LIBTIFF" = "yes" ; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
+    fi
+    if test "$wxUSE_LIBPNG" = "yes" ; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
+    fi
+    if test "$wxUSE_ZLIB" = "yes" ; then
+        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
@@ -1733,16 +1739,19 @@ SHARED_LD=
 PIC_FLAG=
 WX_ALL=
 WX_ALL_INSTALLED=
+BURNT_LIBRARY_NAME=
 
 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 -fPIC -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* )
@@ -1750,6 +1759,7 @@ 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}"
       ;;
       *-*-irix5* | *-*-irix6* )
         if test "$GCC" = yes ; then
@@ -1767,7 +1777,7 @@ if test "$wxUSE_SHARED" = "yes"; then
             PIC_FLAG="-fPIC"
         else
             SHARED_LD="${CXX} -G -o"
-            PIC_FLAG="PIC"
+            PIC_FLAG="-KPIC"
         fi
         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
         WX_ALL="CREATE_LINKS"
@@ -1822,6 +1832,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}"
@@ -1895,9 +1909,6 @@ WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
 dnl check whether C++ compiler supports bool built-in type
 WX_CPP_BOOL
 
-dnl check whether overloading on size_t/int parameter works
-WX_CPP_SIZE_T_IS_NOT_INT
-
 dnl check whether we should define _GNU_SOURCE
 WX_GNU_EXTENSIONS
 
@@ -1970,6 +1981,9 @@ 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)
 
+dnl check for timegm() used by datetime.cpp
+AC_CHECK_FUNCS(timegm)
+
 POSIX4_LINK=
 AC_CHECK_FUNCS(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), [
     AC_CHECK_LIB(posix4, nanosleep, [
@@ -1988,10 +2002,32 @@ AC_CHECK_FUNCS(uname gethostname, break)
 dnl check for MT-safe version of strtok
 AC_CHECK_FUNCS(strtok_r)
 
-dnl check for inet_addr, inet_aton, ...
-AC_CHECK_FUNCS(inet_addr)
-AC_CHECK_FUNCS(inet_aton)
-AC_CHECK_LIB(resolv, inet_aton)
+dnl check for inet_addr and inet_aton (these may live either in libc, or in
+dnl libnsl or libresolv)
+INET_LINK=
+AC_CHECK_FUNCS(inet_addr,
+    AC_DEFINE(HAVE_INET_ADDR),
+    [
+        AC_CHECK_LIB(nsl, inet_addr,
+            INET_LINK="nsl",
+            AC_CHECK_LIB(resolv, inet_addr,
+                INET_LINK="resolv"
+            )
+        )
+    ]
+)
+
+AC_CHECK_FUNCS(inet_aton,
+        AC_DEFINE(HAVE_INET_ATON),
+        [
+            dnl only check it in the same lib
+            AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
+        ])
+
+if test "x$INET_LINK" != "x"; then
+    AC_DEFINE(HAVE_INET_ADDR)
+    INET_LINK="-l$INET_LINK"
+fi
 
 fi
 dnl Unix
@@ -2054,6 +2090,8 @@ fi
 
 dnl do other tests only if we are using threads
 if test "$wxUSE_THREADS" = "yes" ; then
+  AC_CHECK_FUNCS(thr_setconcurrency)
+
   dnl define autoconf macro to check for given function in both pthread and
   dnl posix4 libraries
   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
@@ -2126,6 +2164,19 @@ 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
+    AC_MSG_CHECKING(if -D_REENTRANT is needed)
+    if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
+        CFLAGS="${CFLAGS} -D_REENTRANT"
+        CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+        AC_MSG_RESULT(yes)
+    else
+        AC_MSG_RESULT(no)
+    fi
+  fi
 fi
 
 if test "$WXGTK12" = 1 ; then
@@ -2234,6 +2285,12 @@ if test "$wxUSE_LIBJPEG" = "yes" ; then
   JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
 fi
 
+TIFF_INCLUDE=
+if test "$wxUSE_LIBTIFF" = "yes" ; then
+  AC_DEFINE(wxUSE_LIBTIFF)
+  TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
+fi
+
 if test "$wxUSE_OPENGL" = "yes"; then
   AC_CHECK_HEADER(GL/gl.h, [
     AC_CHECK_LIB(GL, glInitNames, [
@@ -2288,11 +2345,6 @@ if test "$wxUSE_APPLE_IEEE" = "yes"; then
   AC_DEFINE(wxUSE_APPLE_IEEE)
 fi
 
-if test "$wxUSE_TIMEDATE" = "yes"; then
-  AC_DEFINE(wxUSE_TIMEDATE)
-  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
-fi
-
 if test "$wxUSE_WAVE" = "yes"; then
   AC_DEFINE(wxUSE_WAVE)
 fi
@@ -2355,14 +2407,9 @@ if test "$wxUSE_LONGLONG" = "yes"; then
   AC_DEFINE(wxUSE_LONGLONG)
 fi
 
-if test "$wxUSE_SOCKETS" = "yes" ; then
-    AC_DEFINE(wxUSE_SOCKETS)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
-    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
-fi
-
 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
   AC_DEFINE(wxUSE_DIALUP_MANAGER)
+  SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS nettest"
 fi
 
 if test "$wxUSE_STREAMS" = "yes" ; then
@@ -2373,11 +2420,96 @@ if test "$wxUSE_SERIAL" = "yes" ; then
   AC_DEFINE(wxUSE_SERIAL)
 fi
 
+dnl ------------------------------------------------------------------------
+dnl time/date functions
+dnl ------------------------------------------------------------------------
+
+if test "$wxUSE_TIMEDATE" = "yes"; then
+    dnl check for localtime (POSIX), gettimeofday (SVr4, BSD 4.3) and ftime
+    dnl (V7, BSD 4.3)
+    AC_CHECK_FUNCS(localtime gettimeofday ftime, break)
+
+    if test "$ac_cv_func_localtime" = "yes"; then
+        AC_CACHE_CHECK(for tm_gmtoff in struct tm,
+                       wx_cv_struct_tm_has_gmtoff,
+        [
+            AC_TRY_COMPILE(
+                [
+                    #include <time.h>
+                ],
+                [
+                    struct tm tm;
+                    tm.tm_gmtoff++;
+                ],
+                [
+                    wx_cv_struct_tm_has_gmtoff=yes
+                    AC_DEFINE(WX_GMTOFF_IN_TM)
+                ],
+                wx_cv_struct_tm_has_gmtoff=no
+            )
+        ])
+    elif test "$ac_cv_func_gettimeofday" = "yes"; then
+        AC_CACHE_CHECK([whether gettimeofday takes two arguments],
+                       wx_cv_func_gettimeofday_has_2_args,
+        [
+            dnl on some _really_ old systems it takes only 1 argument
+            AC_LANG_SAVE
+            AC_LANG_CPLUSPLUS
+
+            AC_TRY_COMPILE(
+                [
+                    #include <sys/time.h>
+                    #include <unistd.h>
+                ],
+                [
+                    struct timeval tv;
+                    struct timezone tz;
+                    gettimeofday(&tv, &tz);
+                ],
+                wx_cv_func_gettimeofday_has_2_args=yes,
+                AC_TRY_COMPILE(
+                    [
+                        #include <sys/time.h>
+                        #include <unistd.h>
+                    ],
+                    [
+                        struct timeval tv;
+                        gettimeofday(&tv);
+                    ],
+                    wx_cv_func_gettimeofday_has_2_args=no,
+                    wx_cv_func_gettimeofday_has_2_args=unknown
+                )
+            )
+            AC_LANG_RESTORE
+        ])
+
+        if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
+            AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
+        fi
+    fi
+
+    AC_DEFINE(wxUSE_TIMEDATE)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
+fi
+
 dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
 
 if test "$wxUSE_SOCKETS" = "yes"; then
+    dnl under Solaris, socket functions live in -lsocket
+    AC_CHECK_FUNC(socket,,
+        AC_CHECK_LIB(socket, socket,
+            INET_LINK="$INET_LINK -lsocket",
+            [
+                AC_MSG_WARN([socket library not found - sockets will be disabled])
+                wxUSE_SOCKETS=no
+            ]
+        )
+    )
+fi
+
+if test "$wxUSE_SOCKETS" = "yes" ; then
     AC_LANG_SAVE
     AC_LANG_CPLUSPLUS
     dnl determine the type of third argument for getsockname
@@ -2394,11 +2526,15 @@ if test "$wxUSE_SOCKETS" = "yes"; then
                 [#include <sys/socket.h>],
                 [int len; getsockname(0, 0, &len);],
                 AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
-            AC_MSG_RESULT(unknown)
-        )
+                AC_MSG_RESULT(unknown)
+            )
         )
     )
     AC_LANG_RESTORE
+
+    AC_DEFINE(wxUSE_SOCKETS)
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wxsocket"
+    INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -2688,7 +2824,7 @@ fi
 
 if test "$wxUSE_SCROLLBAR" = "yes"; then
     AC_DEFINE(wxUSE_SCROLLBAR)
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
 fi
 
 if test "$wxUSE_SLIDER" = "yes"; then
@@ -2699,6 +2835,10 @@ if test "$wxUSE_SPINBTN" = "yes"; then
     AC_DEFINE(wxUSE_SPINBTN)
 fi
 
+if test "$wxUSE_SPINCTRL" = "yes"; then
+    AC_DEFINE(wxUSE_SPINCTRL)
+fi
+
 if test "$wxUSE_SPLITTER" = "yes"; then
     AC_DEFINE(wxUSE_SPLITTER)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
@@ -2828,6 +2968,14 @@ if test "$wxUSE_PNM" = "yes" ; then
   AC_DEFINE(wxUSE_PNM)
 fi
 
+dnl ---------------------------------------------------------------------------
+dnl get the string with OS info - used by wxGetOsDescription()
+dnl ---------------------------------------------------------------------------
+
+OSINFO=`uname -s -r -m`
+OSINFO="\"$OSINFO\""
+AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
+
 dnl ---------------------------------------------------------------------------
 dnl Output the makefiles and such from the results found above
 dnl ---------------------------------------------------------------------------
@@ -2835,7 +2983,7 @@ dnl ---------------------------------------------------------------------------
 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $LIBPNG_LINK $ZLIB_LINK $TOOLKIT_LINK"
 
 dnl all additional libraries (except wxWindows itself) we link with
-EXTRA_LIBS="$LIBS $POSIX4_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK"
+EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK"
 if test "$wxUSE_GUI" = "yes"; then
     EXTRA_LIBS="$EXTRA_LIBS $GUILIBS"
 fi
@@ -2845,7 +2993,7 @@ dnl makefile system without libtool
 LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS"
 
 dnl all -I options we must pass to the compiler
-INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TOOLKIT_INCLUDE"
+INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $TOOLKIT_INCLUDE"
 
 dnl C/C++ compiler options used to compile wxWindows
 if test "$GXX" = yes ; then
@@ -2857,9 +3005,10 @@ if test "$GXX" = yes ; then
 fi
 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
 
-CPPFLAGS="-I\${top_srcdir}/include $CPPFLAGS"
-CFLAGS="$CFLAGS $EXTRA_CFLAGS"
-CXXFLAGS="$CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS"
+CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS | sed 's/ \\+/ /g'`
+CXXFLAGS=`echo $CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
+
+LDFLAGS="$LDFLAGS $PROFILE"
 
 if test "$wxUSE_GUI" = "yes"; then
     dnl TODO add checks that these samples will really compile (i.e. all the
@@ -2868,7 +3017,7 @@ if test "$wxUSE_GUI" = "yes"; then
     dnl TODO some samples are never built so far:
     dnl      mfc, nativdlg, oleauto, ownerdrw, proplist
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
-                     forty fractal image wxpoem"
+                     font forty fractal image minimal richedit wxpoem"
 else
     SAMPLES_SUBDIRS=""
 fi
@@ -2900,6 +3049,7 @@ AC_SUBST(WX_ALL_INSTALLED)
 AC_SUBST(SHARED_LD)
 AC_SUBST(PIC_FLAG)
 AC_SUBST(DEP_INFO_FLAGS)
+AC_SUBST(BURNT_LIBRARY_NAME)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
@@ -2934,7 +3084,8 @@ AC_SUBST(DOCS_SUBDIRS)
 AC_SUBST(SAMPLES_SUBDIRS)
 AC_SUBST(USER_SUBDIRS)
 
-dnl additional libraries
+dnl additional libraries and linker settings
+AC_SUBST(LDFLAGS)
 AC_SUBST(EXTRA_LIBS)
 AC_SUBST(LIBS)
 AC_SUBST(LD_LIBS)
@@ -2971,6 +3122,7 @@ AC_OUTPUT([
             samples/checklst/Makefile
             samples/config/Makefile
             samples/controls/Makefile
+            samples/console/Makefile
             samples/db/Makefile
             samples/dialogs/Makefile
             samples/docview/Makefile
@@ -2978,6 +3130,7 @@ AC_OUTPUT([
             samples/dnd/Makefile
             samples/drawing/Makefile
             samples/forty/Makefile
+            samples/font/Makefile
             samples/fractal/Makefile
             samples/image/Makefile
             samples/internat/Makefile
@@ -2985,17 +3138,18 @@ AC_OUTPUT([
             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
@@ -3010,6 +3164,7 @@ AC_OUTPUT([
             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
@@ -3034,10 +3189,11 @@ AC_OUTPUT([
             if test ! -d include/wx/${TOOLKIT_DIR}; then
               mkdir include/wx/${TOOLKIT_DIR}
             fi
-            cp -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
+            if test -f setup.h; then
+                mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
+            fi
           ],
           [
-            LN_S="${ac_cv_prog_LN_S}"
             TOOLKIT_DIR="${TOOLKIT_DIR}"
           ]
          )