]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Committing in .
[wxWidgets.git] / configure.in
index 1d0d86a3945ea153fd09f3d387be3bace4d6a2ea..bde4a0e0f95f2047ccc1a017bc1ef021930d04c2 100644 (file)
@@ -442,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:
@@ -701,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
@@ -821,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
@@ -1007,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)
@@ -1036,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 ---------------------------------------------------------------------------
@@ -1312,7 +1313,7 @@ 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 test "$cross_compiling" = "yes" ; then
+if test "$build" != "$host" ; then
     CC=$host_alias-gcc
     CXX=$host_alias-c++
     AR=$host_alias-ar
@@ -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)
@@ -1678,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
@@ -1860,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
 
@@ -1945,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"
 
@@ -2120,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 ------------------------------------------------------------------------
@@ -2143,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 ---------------------------------------------------------------------------
@@ -2177,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
@@ -2186,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 ---------------------------------------------------------------------------
@@ -2284,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)
 
@@ -2321,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=
@@ -2747,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
@@ -3020,26 +3054,31 @@ dnl ---------------------------------------------------------------------------
 dnl Joystick support
 dnl ---------------------------------------------------------------------------
 
+if test "$wxUSE_GUI" = "yes"; then
+
 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
-    AC_MSG_WARN(Joystick not supported yb this system, disabled)
+    wxUSE_JOYSTICK=no
+    AC_MSG_WARN(Joystick not supported by this system, disabled)
   fi
 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
 
+fi
+dnl if wxUSE_GUI
+
 dnl ------------------------------------------------------------------------
 dnl DLL support
 dnl ------------------------------------------------------------------------
@@ -3204,6 +3243,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
 
@@ -3514,7 +3557,10 @@ dnl ---------------------------------------------------------------------------
 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"
+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 $PNG_LINK $JPEG_LINK $TIFF_LINK"
 fi
@@ -3524,7 +3570,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 -I\${top_srcdir}/contrib/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_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
@@ -3603,6 +3649,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)
@@ -3692,6 +3739,7 @@ if test "$wxUSE_GUI" = "yes"; then
     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