]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Win16 BC++ makefile fixes, other v. small fixes
[wxWidgets.git] / configure.in
index beb244140e7e1893859751be1f6a934ba4c4c8da..0aaf2a5e4a5c6651ecb533b9c94f2a67fdbc0d7f 100644 (file)
@@ -51,6 +51,7 @@ dnl
 #include <gtk/gtk.h>
 #include <gtk/gtkfeatures.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 int
 main ()
@@ -288,6 +289,52 @@ AC_DEFUN(WX_ARG_CACHE_FLUSH,
           mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
         ])
 
+dnl this macro checks for a three-valued command line --with argument:
+dnl   possible arguments are 'yes', 'no', or 'sys'
+dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
+AC_DEFUN(WX_ARG_SYS_WITH,
+        [
+          AC_MSG_CHECKING("for --with-$1")
+          no_cache=0
+          AC_ARG_WITH($1, $2,
+                      [
+                        if test "$withval" = yes; then
+                          ac_cv_use_$1='$3=yes'
+                        elif test "$withval" = no; then
+                          ac_cv_use_$1='$3=no'
+                        elif test "$withval" = sys; then
+                          ac_cv_use_$1='$3=sys'
+                        else
+                          AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no or sys])
+                        fi
+                      ],
+                      [
+                        LINE=`grep "$3" ${wx_arg_cache_file}`
+                        if test "x$LINE" != x ; then
+                          eval "DEFAULT_$LINE"
+                        else
+                          no_cache=1
+                        fi
+
+                        ac_cv_use_$1='$3='$DEFAULT_$3
+                      ])
+
+          eval "$ac_cv_use_$1"
+          if test "$no_cache" != 1; then
+            echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
+          fi
+
+          if test "$$3" = yes; then
+            AC_MSG_RESULT(yes)
+          elif test "$$3" = no; then
+            AC_MSG_RESULT(no)
+          elif test "$$3" = sys; then
+            AC_MSG_RESULT(system version)
+          else
+            AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no or sys])
+          fi
+        ])
+
 dnl this macro checks for a command line argument and caches the result
 dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
 AC_DEFUN(WX_ARG_WITH,
@@ -395,6 +442,7 @@ dnl ---------------------------------------------------------------------------
 dnl the file passed to AC_INIT should be specific to our package
 AC_INIT(wx-config.in)
 
+dnl sets build, host, target variables and the same with _alias
 AC_CANONICAL_SYSTEM
 
 dnl When making releases do:
@@ -654,6 +702,7 @@ if test $DEBUG_CONFIGURE = 1; then
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
+  DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_FILE=no
   DEFAULT_wxUSE_TEXTFILE=no
@@ -774,6 +823,7 @@ else
   DEFAULT_wxUSE_ODBC=no
   DEFAULT_wxUSE_OPENGL=no
 
+  DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
   DEFAULT_wxUSE_STD_IOSTREAM=no
   DEFAULT_wxUSE_FILE=yes
   DEFAULT_wxUSE_TEXTFILE=yes
@@ -909,16 +959,16 @@ AC_ARG_WITH(gtk-prefix,    [  --with-gtk-prefix=PFX   Prefix where GTK is instal
 AC_ARG_WITH(gtk-exec-prefix, [  --with-gtk-exec-prefix=PFX  Exec prefix where GTK is installed],
             gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
 
-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_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
+WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
+WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
 
 fi
 dnl for GUI only
 
 WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
-WX_ARG_WITH(zlib,          [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
+WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
 
 dnl ====================
@@ -960,15 +1010,11 @@ dnl ---------------------------------------------------------------------------
 WX_ARG_ENABLE(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
 WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
 
-dnl can't use sockets without GUI so far
-if test "$wxUSE_GUI" = "yes"; then
 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
-else
-wxUSE_SOCKETS=no
-fi
 
-WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
+
+WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
 WX_ARG_ENABLE(timedate,      [  --enable-timedate       use date/time classes], wxUSE_TIMEDATE)
 WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
@@ -989,6 +1035,8 @@ WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP fil
 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)
 
+WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
+
 dnl ---------------------------------------------------------------------------
 dnl "big" options (i.e. those which change a lot of things throughout the library)
 dnl ---------------------------------------------------------------------------
@@ -1265,17 +1313,16 @@ AC_CACHE_SAVE
 
 dnl cross-compiling support: we're cross compiling if the build system is
 dnl different from the target one (assume host and target be always the same)
-if eval "test $host != $build"; then
-  if eval "test $host_alias != NONE"; then
+if test "$build" != "$host" ; then
     CC=$host_alias-gcc
     CXX=$host_alias-c++
     AR=$host_alias-ar
     RANLIB=$host_alias-ranlib
     DLLTOOL=$host_alias-dlltool
+    RESCOMP=$host_alias-windres
     LD=$host_alias-ld
     NM=$host_alias-nm
     STRIP=$host_alias-strip
-  fi
 fi
 
 dnl C-compiler checks
@@ -1490,7 +1537,8 @@ WXWINE=
 
 if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
     if test "$cross_compiling" = "yes" ; then
-        AC_MSG_WARN(Cross compiling --- skipping windows.h check)
+        dnl mingw32 will find them even if they're not in one of standard paths
+        AC_MSG_WARN(skipping windows.h check for cross-compilation)
     else
         AC_MSG_CHECKING(for Windows headers)
         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
@@ -1508,6 +1556,11 @@ if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
     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"
 
+       dnl add extra odbc libs if we have compiled in odbc
+       if test "$wxUSE_ODBC" = "yes" ; then
+               LIBS="$LIBS -lodbc32 -lole32 -loleaut32"
+       fi
+       
     dnl -mwindows is needed to avoid that spawning of a console window
     if test "$wxUSE_MINGW" = 1; then
         LDFLAGS="$LDFLAGS -mwindows"
@@ -1521,6 +1574,18 @@ if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
     GENERICOBJS="\$(MSW_GENERICOBJS)"
     UNIXOBJS=
     GUIDIST=MSW_DIST
+
+    dnl we should calculate these
+    RCINCSWITCH="--include-dir"
+    RCDEFSWITCH="--define"
+    RCPREPROCESSOR="--preprocessor \"\$(CC) -c -E -xc-header -DRC_INVOKED\""
+    RCINPUTSWITCH="-i"
+    RCOUTPUTSWITCH="-o"
+    RESFLAGS="$RCPREPROCESSOR $RCINCSWITCH \$(top_srcdir)/include $RCINCSWITCH \$(top_srcdir)/\$(program_dir) $RCDEFSWITCH __WIN32__ $RCDEFSWITCH __WIN95__ $RCDEFSWITCH __GNUWIN32__"
+
+    dnl set optinal RES_PROGRAM_OPT to RES_PROGRAM
+    RESPROGRAM="\$(RES_PROGRAM)"
+
 fi
 
 if test "$wxUSE_GTK" = 1; then
@@ -1615,7 +1680,7 @@ if test "$wxUSE_WINE" = 1; then
         AC_MSG_ERROR(no)
     fi
 
-    GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -lm"
+    GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     WXWINE=1
     TOOLKIT=MSW
@@ -1797,7 +1862,7 @@ if test "$wxUSE_MOTIF" = 1; then
         )
     fi
 
-    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11 -lm"
+    GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11"
     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
     TOOLKIT=MOTIF
 
@@ -1882,6 +1947,10 @@ else
     ALL_OBJECTS="\$(BASE_OBJS) \${BASE_UNIX_OBJS}"
     ALL_DEPFILES="\${BASE_DEPS} \${BASE_UNIX_DEPS}"
 
+    if test "$wxUSE_ZLIB" = "yes" ; then
+        ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
+    fi
+
     dnl building wxBase only
     WX_LIBRARY="wxbase"
 
@@ -1935,7 +2004,11 @@ if test "$wxUSE_SHARED" = "yes"; then
         fi
         WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl"
         WX_LIBRARY_NAME_SHARED_GL="libwx_${TOOLKIT_DIR}_gl.sl"
-        WX_ALL=${WX_LIBRARY_NAME_SHARED}
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL="${WX_LIBRARY_NAME_SHARED} ${WX_LIBRARY_NAME_SHARED_GL}"
+        else
+            WX_ALL="${WX_LIBRARY_NAME_SHARED}"
+        fi
       ;;
 
       dnl in fact, these settings are for any platform using gcc
@@ -1946,8 +2019,13 @@ if test "$wxUSE_SHARED" = "yes"; then
             BURNT_LIBRARY_NAME="-Wl,-soname,${WX_LIBRARY_LINK1}"
             BURNT_LIBRARY_NAME_GL="-Wl,-soname,${WX_LIBRARY_LINK1_GL}"
         fi
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
+            WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
+        else
+            WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
+            WX_ALL="CREATE_LINKS"
+        fi
       ;;
       *-*-irix5* | *-*-irix6* )
         if test "$GCC" = yes ; then
@@ -1956,8 +2034,13 @@ if test "$wxUSE_SHARED" = "yes"; then
         else
            SHARED_LD="${CXX} -shared -o"
         fi
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
+            WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
+        else
+            WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
+            WX_ALL="CREATE_LINKS"
+        fi
       ;;
       *-*-solaris2* )
         if test "$GCC" = yes ; then
@@ -1967,8 +2050,13 @@ if test "$wxUSE_SHARED" = "yes"; then
             SHARED_LD="${CXX} -G -o"
             PIC_FLAG="-KPIC"
         fi
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
+        if test "$wxUSE_OPENGL" = "yes"; then
+            WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
+            WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
+        else
+            WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
+            WX_ALL="CREATE_LINKS"
+        fi
       ;;
       *-*-sunos4* )
         SHARED_LD="${CC} -shared -o"
@@ -2038,11 +2126,14 @@ if test "$wxUSE_SHARED" = "yes"; then
         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
         WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
     fi
+    dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
+    WX_TARGET_LIBRARY_TYPE="so"
 else
     dnl set target to static
     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
     WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
     WX_ALL="${WX_LIBRARY_NAME_STATIC}"
+    WX_TARGET_LIBRARY_TYPE="a"
 fi
 
 dnl ------------------------------------------------------------------------
@@ -2061,8 +2152,10 @@ dnl defines HAVE_FNMATCH_H
 AC_CHECK_HEADERS(fnmatch.h)
 
 if test "$wxUSE_GUI" = "yes"; then
-    dnl defines HAVE_X11_XKBLIB_H
-    AC_CHECK_HEADERS(X11/XKBlib.h)
+    if test "$wxUSE_UNIX" = "yes"; then
+        dnl defines HAVE_X11_XKBLIB_H
+        AC_CHECK_HEADERS(X11/XKBlib.h)
+    fi
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -2095,7 +2188,6 @@ AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
              ],
              [
                 wx_cv_struct_pw_gecos=yes
-                AC_DEFINE(HAVE_PW_GECOS)
              ],
              [
                 wx_cv_struct_pw_gecos=no
@@ -2104,6 +2196,10 @@ AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
     ]
 )
 
+if test "$wx_cv_struct_pw_gecos" = "yes"; then
+    AC_DEFINE(HAVE_PW_GECOS)
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl Checks for compiler characteristics
 dnl ---------------------------------------------------------------------------
@@ -2202,6 +2298,16 @@ AC_LANG_RESTORE
 dnl under MSW we always have Sleep()
 if test "$TOOLKIT" != "MSW"; then
 
+dnl check for POSIX signals if we need them
+if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
+    AC_CHECK_FUNCS(sigaction)
+
+    if test "$ac_cv_func_sigaction" = "no"; then
+        AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
+        wxUSE_ON_FATAL_EXCEPTION=no
+    fi
+fi
+
 dnl check for vfork() (even if it's the same as fork() in modern Unices)
 AC_CHECK_FUNCS(vfork)
 
@@ -2239,9 +2345,15 @@ fi
 dnl check for uname (POSIX) and gethostname (BSD)
 AC_CHECK_FUNCS(uname gethostname, break)
 
-dnl check for MT-safe version of strtok
+dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler
+dnl but not for C++ one - hence change language)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
 AC_CHECK_FUNCS(strtok_r)
 
+AC_LANG_RESTORE
+
 dnl check for inet_addr and inet_aton (these may live either in libc, or in
 dnl libnsl or libresolv)
 INET_LINK=
@@ -2517,28 +2629,76 @@ dnl Optional libraries
 dnl ---------------------------------------------------------------------------
 
 ZLIB_INCLUDE=
-if test "$wxUSE_ZLIB" = "yes" ; then
+if test "$wxUSE_ZLIB" = "yes" -o "$wxUSE_ZLIB" = "sys" ; then
   AC_DEFINE(wxUSE_ZLIB)
-  ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
+  if test "$wxUSE_ZLIB" = "yes" ; then
+    ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
+  else
+    ZLIB_LINK=
+    AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, deflate, ZLIB_LINK="-lz"))
+    if test "x$ZLIB_LINK" = "x" ; then
+        AC_MSG_ERROR(system zlib compression library not found! Use --with-zlib=yes to use built-in zlib)
+    fi
+  fi
 fi
 
 PNG_INCLUDE=
-if test "$wxUSE_LIBPNG" = "yes" ; then
+if test "$wxUSE_LIBPNG" = "yes" -o "$wxUSE_LIBPNG" = "sys" ; then
   AC_DEFINE(wxUSE_LIBPNG)
-  PNG_INCLUDE="-I\${top_srcdir}/src/png"
+  dnl for the check below to have a chance to succeed, we must already have
+  dnl libz somewhere
+  if test "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
+    AC_MSG_WARN([--with-libpng=sys doesn't work without --with-zlib=sys, will compile the built-in libpng instead])
+    wxUSE_LIBPNG=yes
+  fi
+
+  if test "$wxUSE_LIBPNG" = "yes" ; then
+    PNG_INCLUDE="-I\${top_srcdir}/src/png"
+  else
+    PNG_LINK=
+    AC_CHECK_HEADER(png.h,
+                    AC_CHECK_LIB(png, png_check_sig,
+                                 PNG_LINK="-lpng",
+                                 ,
+                                 [-lz -lm])
+                   )
+    if test "x$PNG_LINK" = "x" ; then
+        AC_MSG_ERROR(system png library not found! Use --with-libpng=yes to use the built-in libpng)
+    fi
+  fi
+
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
 fi
 
 JPEG_INCLUDE=
-if test "$wxUSE_LIBJPEG" = "yes" ; then
+if test "$wxUSE_LIBJPEG" = "yes" -o "$wxUSE_LIBJPEG" = "sys" ; then
   AC_DEFINE(wxUSE_LIBJPEG)
-  JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
+  if test "$wxUSE_LIBJPEG" = "yes" ; then
+    JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
+  else
+    JPEG_LINK=
+    AC_CHECK_HEADER(jpeglib.h, AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK="-ljpeg"))
+    if test "x$JPEG_LINK" = "x" ; then
+        AC_MSG_ERROR(system jpeg library not found! Use --with-libjpeg=yes to use the built-in one)
+    fi
+  fi
 fi
 
 TIFF_INCLUDE=
-if test "$wxUSE_LIBTIFF" = "yes" ; then
+if test "$wxUSE_LIBTIFF" = "yes" -o "$wxUSE_LIBTIFF" = "sys" ; then
   AC_DEFINE(wxUSE_LIBTIFF)
-  TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
+  if test "$wxUSE_LIBTIFF" = "yes" ; then  
+    TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
+  else
+    TIFF_LINK=
+    AC_CHECK_HEADER(tiffio.h, AC_CHECK_LIB(tiff, TIFFError,
+                                           TIFF_LINK="-ltiff",
+                                           ,
+                                           -lm))
+    if test "x$TIFF_LINK" = "x" ; then
+        AC_MSG_ERROR(system tiff library not found! Use --with-libtiff=yes to use the built-in one)
+    fi
+  fi
 fi
 
 if test "$wxUSE_OPENGL" = "yes"; then
@@ -2617,6 +2777,10 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then
   AC_DEFINE(wxUSE_ZIPSTREAM)
 fi
 
+if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
+  AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
+fi
+
 if test "$wxUSE_BUSYINFO" = "yes"; then
   AC_DEFINE(wxUSE_BUSYINFO)
 fi
@@ -2893,11 +3057,11 @@ dnl ---------------------------------------------------------------------------
 dnl under MSW we always have joystick support
 if test "$TOOLKIT" != "MSW"; then
 
-if test "$wxUSE_JOYSTICK" = 1; then
+if test "$wxUSE_JOYSTICK" = "yes"; 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
-    wxUSE_JOYSTICK=0
+    wxUSE_JOYSTICK=no
     AC_MSG_WARN(Joystick not supported yb this system, disabled)
   fi
 fi
@@ -2905,7 +3069,7 @@ fi
 fi
 dnl if !MSW
 
-if test "$wxUSE_JOYSTICK" = 1; then
+if test "$wxUSE_JOYSTICK" = "yes"; then
     AC_DEFINE(wxUSE_JOYSTICK)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
 fi
@@ -3074,6 +3238,10 @@ dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
 dnl ---------------------------------------------------------------------------
 
 if test "$wxUSE_IPC" = "yes"; then
+    if test "$wxUSE_SOCKETS" != "yes"; then
+        AC_MSG_WARN(wxWindows IPC classes require sockets, disabled)
+    fi
+
     AC_DEFINE(wxUSE_IPC)
 fi
 
@@ -3366,8 +3534,15 @@ dnl ---------------------------------------------------------------------------
 dnl get the string with OS info - used by wxGetOsDescription()
 dnl ---------------------------------------------------------------------------
 
-OSINFO=`uname -s -r -m`
-OSINFO="\"$OSINFO\""
+if test "$cross_compiling" = "yes"; then
+    dnl Use best guess from host as we can't use uname when cross compiling
+    OSINFO="\"$host\""
+else
+    dnl attualy work out OS version
+    OSINFO=`uname -s -r -m`
+    OSINFO="\"$OSINFO\""
+fi
+
 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
 
 dnl ---------------------------------------------------------------------------
@@ -3377,9 +3552,12 @@ dnl ---------------------------------------------------------------------------
 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $TOOLKIT_LINK"
 
 dnl all additional libraries (except wxWindows itself) we link with
-EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK"
+dnl
+dnl note that we always link with -lm - extended.c uses floor() and is always
+dnl linked in
+EXTRA_LIBS="-lm $LIBS $ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK"
 if test "$wxUSE_GUI" = "yes"; then
-    EXTRA_LIBS="$EXTRA_LIBS $GUILIBS"
+    EXTRA_LIBS="$EXTRA_LIBS $GUILIBS $PNG_LINK $JPEG_LINK $TIFF_LINK"
 fi
 
 dnl all the libraries needed to link wxWindows programs when using the
@@ -3466,6 +3644,7 @@ AC_SUBST(DEP_INFO_FLAGS)
 AC_SUBST(CODE_GEN_FLAGS)
 AC_SUBST(BURNT_LIBRARY_NAME)
 AC_SUBST(BURNT_LIBRARY_NAME_GL)
+AC_SUBST(WX_TARGET_LIBRARY_TYPE)
 
 dnl debugging options
 AC_SUBST(WXDEBUG_DEFINE)
@@ -3514,6 +3693,21 @@ AC_SUBST(EXTRADEFS)
 AC_SUBST(LIBS)
 AC_SUBST(LD_LIBS)
 
+dnl additional resurces settings
+AC_SUBST(RCINPUTSWITCH)
+AC_SUBST(RCOUTPUTSWITCH)
+AC_SUBST(RESPROGRAM)
+AC_SUBST(RESCOMP)
+AC_SUBST(RESFLAGS)
+
+dnl These seam to be missing
+AC_SUBST(DLLTOOL)
+AC_SUBST(AS)
+AC_SUBST(NM)
+AC_SUBST(LD)
+AC_SUBST(MAKEINFO)
+
+
 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
 dnl - and we do use it)
@@ -3534,10 +3728,14 @@ AC_CONFIG_HEADER(setup.h:setup.h.in)
 
 dnl some more GUI only things
 if test "$wxUSE_GUI" = "yes"; then
-    dnl we need to pass SAMPLES_SUBDIRS to the configure in
+    dnl we need to pass SAMPLES_SUBDIRS (and some other) 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)
+    wx_cv_path_ifs=$PATH_IFS
+    wx_cv_program_ext=$PROGRAM_EXT
+    wx_cv_target_library=$WX_TARGET_LIBRARY
+    wx_cv_target_libtype=$WX_TARGET_LIBRARY_TYPE
+    AC_CONFIG_SUBDIRS(demos samples utils contrib)
 fi
 dnl from wxUSE_GUI