]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Possible fix for DestroyWindow message in MDI apps (call DestroyChildren in destructor)
[wxWidgets.git] / configure.in
index 4afa70dd39036e9792f0bcd898cdd8c60188c805..f97b4b45c3da216f8c3e5350f204a50a1e1331c7 100644 (file)
@@ -51,6 +51,7 @@ dnl
 #include <gtk/gtk.h>
 #include <gtk/gtkfeatures.h>
 #include <stdio.h>
+#include <stdlib.h>
 
 int
 main ()
@@ -441,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:
@@ -957,7 +959,7 @@ AC_ARG_WITH(gtk-exec-prefix, [  --with-gtk-exec-prefix=PFX  Exec prefix where GT
 
 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_WITH(libtiff,       [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
+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
@@ -1311,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
@@ -1536,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)
@@ -1554,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"
@@ -1567,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
@@ -1981,7 +2000,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
@@ -1992,10 +2015,12 @@ 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"
-        if test "$USE_GUI" = 1; then
-            WX_ALL="$WX_ALL 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* )
@@ -2005,10 +2030,12 @@ if test "$wxUSE_SHARED" = "yes"; then
         else
            SHARED_LD="${CXX} -shared -o"
         fi
-        WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
-        WX_ALL="CREATE_LINKS"
-        if test "$USE_GUI" = 1; then
-            WX_ALL="$WX_ALL 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* )
@@ -2019,8 +2046,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"
@@ -2113,8 +2145,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 ---------------------------------------------------------------------------
@@ -2291,9 +2325,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=
@@ -2603,7 +2643,7 @@ if test "$wxUSE_LIBPNG" = "yes" -o "$wxUSE_LIBPNG" = "sys" ; then
                                  [-lz -lm])
                    )
     if test "x$PNG_LINK" = "x" ; then
-        AC_MSG_ERROR(system png library not found! Use --with-png=yes to use built-in libpng)
+        AC_MSG_ERROR(system png library not found! Use --with-libpng=yes to use the built-in libpng)
     fi
   fi
 
@@ -2619,15 +2659,26 @@ if test "$wxUSE_LIBJPEG" = "yes" -o "$wxUSE_LIBJPEG" = "sys" ; then
     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-jpeg=yes to use built-in one)
+        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
@@ -3455,8 +3506,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 ---------------------------------------------------------------------------
@@ -3468,7 +3526,7 @@ GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $TOOLKIT_LINK"
 dnl all additional libraries (except wxWindows itself) we link with
 EXTRA_LIBS="$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 $PNG_LINK $JPEG_LINK"
+    EXTRA_LIBS="$EXTRA_LIBS $GUILIBS $PNG_LINK $JPEG_LINK $TIFF_LINK"
 fi
 
 dnl all the libraries needed to link wxWindows programs when using the
@@ -3603,6 +3661,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)
@@ -3623,10 +3696,13 @@ 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
+    AC_CONFIG_SUBDIRS(demos samples utils contrib)
 fi
 dnl from wxUSE_GUI