dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.5.2], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.5.3], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
wx_major_version_number=2
wx_minor_version_number=5
-wx_release_number=2
-wx_subrelease_number=9
+wx_release_number=3
+wx_subrelease_number=3
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
-WX_CURRENT=2
+WX_CURRENT=3
WX_REVISION=0
-WX_AGE=0
+WX_AGE=3
dnl ------------------------------------------------------------------------
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_NO_RTTI=no
DEFAULT_wxUSE_NO_EXCEPTIONS=no
+ DEFAULT_wxUSE_RPATH=yes
DEFAULT_wxUSE_PERMISSIVE=no
DEFAULT_wxUSE_DEBUG_FLAG=yes
DEFAULT_wxUSE_DEBUG_INFO=yes
DEFAULT_wxUSE_LIBXPM=no
DEFAULT_wxUSE_LIBMSPACK=no
DEFAULT_wxUSE_LIBSDL=no
+ DEFAULT_wxUSE_LIBGNOMEPRINT=no
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
DEFAULT_wxUSE_TEXTBUFFER=no
DEFAULT_wxUSE_TEXTFILE=no
DEFAULT_wxUSE_SOUND=no
+ DEFAULT_wxUSE_MEDIACTRL=no
+ DEFAULT_wxUSE_DIRECTSHOW=no
DEFAULT_wxUSE_INTL=no
DEFAULT_wxUSE_CONFIG=no
DEFAULT_wxUSE_FONTMAP=no
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_NO_RTTI=no
DEFAULT_wxUSE_NO_EXCEPTIONS=no
+ DEFAULT_wxUSE_RPATH=yes
DEFAULT_wxUSE_PERMISSIVE=no
DEFAULT_wxUSE_DEBUG_FLAG=no
DEFAULT_wxUSE_DEBUG_INFO=no
DEFAULT_wxUSE_LIBXPM=yes
DEFAULT_wxUSE_LIBMSPACK=yes
DEFAULT_wxUSE_LIBSDL=no
+ DEFAULT_wxUSE_LIBGNOMEPRINT=no
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
DEFAULT_wxUSE_TEXTBUFFER=yes
DEFAULT_wxUSE_TEXTFILE=yes
DEFAULT_wxUSE_SOUND=yes
+ DEFAULT_wxUSE_MEDIACTRL=no
+ DEFAULT_wxUSE_DIRECTSHOW=no
DEFAULT_wxUSE_INTL=yes
DEFAULT_wxUSE_CONFIG=yes
DEFAULT_wxUSE_FONTMAP=yes
WX_ARG_ENABLE(universal, [ --enable-universal use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
-AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
-AC_ARG_WITH(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" TOOLKIT_GIVEN=1])
+AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM)
WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL)
+WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under Unix], wxUSE_LIBGNOMEPRINT)
WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
fi
WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWidgets 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
-AC_ARG_ENABLE(rpath, [ --enable-rpath=DIR output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
-
-if test "$wxRPATH_DIR" != "" -a "$wxRPATH_DIR" != "disable" -a "$wxRPATH_DIR" != "no"; then
- WXCONFIG_RPATH="-Wl,-rpath -Wl,$wxRPATH_DIR"
-fi
+WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH)
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER)
WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND)
+WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL)
WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], wxUSE_ZIPSTREAM)
DEFAULT_wxUSE_TIPWINDOW=no
fi
-## FIXME: This is a blatant hack
-if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
- wxUSE_PRINTING_ARCHITECTURE=no
- wxUSE_DRAG_AND_DROP=no
- DEFAULT_wxUSE_TOOLTIPS=no
- DEFAULT_wxUSE_DRAGIMAGE=no
-fi
-
WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON)
WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
+dnl checks needed to define wxVaCopy
+AC_CACHE_CHECK([for va_copy],
+ wx_cv_func_va_copy,
+ [
+ AC_LINK_IFELSE([
+ #include <stdarg.h>
+ void foo(char *f, ...)
+ {
+ va_list ap1, ap2;
+ va_start(ap1, f);
+ va_copy(ap2, ap1);
+ va_end(ap2);
+ va_end(ap1);
+ }],
+ wx_cv_func_va_copy=yes,
+ wx_cv_func_va_copy=no
+ )
+ ]
+)
+
+if test $wx_cv_func_va_copy = "yes"; then
+ AC_DEFINE(HAVE_VA_COPY)
+else
+ dnl try to understand how can we copy va_lists
+ AC_CACHE_CHECK([if va_list can be copied by value],
+ wx_cv_type_va_list_lvalue,
+ [
+ AC_RUN_IFELSE([
+ #include <stdarg.h>
+ int foo(char *f, ...)
+ {
+ va_list ap1, ap2;
+ va_start(ap1, f);
+ ap2 = ap1;
+ if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
+ return 1;
+ va_end(ap2);
+ va_end(ap1);
+ return 0;
+ }
+ int main()
+ {
+ return foo("hi", 17);
+ }],
+ wx_cv_type_va_list_lvalue=yes,
+ wx_cv_type_va_list_lvalue=no,
+ dnl assume most common case for cross-compiling...
+ wx_cv_type_va_list_lvalue=yes
+ )
+ ]
+ )
+
+ if test $wx_cv_type_va_list_lvalue != "yes"; then
+ dnl we suppose that the only thing which can't be copied like this
+ dnl are arrays... only experience will show whether this is really true
+ AC_DEFINE(VA_LIST_IS_ARRAY)
+ fi
+fi
+
dnl check for large file support
AC_SYS_LARGEFILE
dnl check whether C++ compiler supports C++ casts
AC_CXX_CONST_CAST
+AC_CXX_REINTERPRET_CAST
AC_CXX_STATIC_CAST
dnl check various STL features
WXGTK20=
WXGPE=
+ if test "$wxUSE_COCOA" = 1 ; then
+ if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes"; then
+ AC_MSG_WARN([Printing not supported under wxCocoa yet, disabled])
+ wxUSE_PRINTING_ARCHITECTURE=no
+ fi
+ if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
+ AC_MSG_WARN([Drag and Drop not supported under wxCocoa yet, disabled])
+ wxUSE_DRAG_AND_DROP=no
+ fi
+ if test "$wxUSE_DRAGIMAGE" = "yes"; then
+ AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
+ wxUSE_DRAGIMAGE=no
+ fi
+ fi
+
if test "$wxUSE_MSW" = 1 ; then
TOOLKIT=MSW
GUIDIST=MSW_DIST
esac
if test "$WXGTK20" = 1; then
- if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
- PKG_CHECK_MODULES(PANGOFT2, pangoft2,
- [
- CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
- # FIXME: GTK_LIBS already has a lot of what this is
- # about to add, but we go ahead and just add
- # it all again anyway.
- # This is not a good way to manage things. And simply
- # uniq'ing the list later is hardly better.
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
- ],
- [
- AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
- wxUSE_PRINTING_ARCHITECTURE="no"
- ]
- )
- fi
-
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
GUIDIST=MACX_DIST
dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
dnl are different, so they need different names:
- dnl FIXME: If we can do it like this, please do, and we can remove
- dnl BASEPORT from bakefiles and elsewhere
- WX_FLAVOUR="carbon${WX_FLAVOUR:+_$WX_FLAVOUR}"
+ WXBASEPORT="_carbon"
fi
if test "$wxUSE_COCOA" = 1; then
fi
fi
+dnl ---------------------------------------------------------------------------
+dnl wxMediaCtrl
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_MEDIACTRL" = "yes"; then
+ if test "$wxUSE_MSW" = 1; then
+dnl ---------------------------------------------------------------------------
+dnl DirectShow MSW
+dnl ---------------------------------------------------------------------------
+ wxUSE_DIRECTSHOW="yes"
+ AC_CHECK_HEADERS([dshow.h], [], [
+ wxUSE_DIRECTSHOW="no"
+ AC_MSG_WARN([DirectShow not installed; consider installing the DirectX7 SDK or higher])
+ ] )
+
+ if test "$wxUSE_DIRECTSHOW" = "yes"; then
+ AC_DEFINE(wxUSE_DIRECTSHOW)
+ LIBS="$LIBS -lstrmiids"
+ fi
+ fi
+
+ AC_DEFINE(wxUSE_MEDIACTRL)
+fi
+
dnl ---------------------------------------------------------------------------
dnl OpenGL libraries
dnl ---------------------------------------------------------------------------
case "${host}" in
*-*-linux* | *-*-gnu* )
SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
+ WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
;;
*-*-solaris2* )
[
AC_MSG_RESULT([yes])
SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
- ],
- [
+ WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
+ ],[
AC_MSG_RESULT([no])
AC_MSG_CHECKING([if the linker accepts -R])
LDFLAGS="$saveLdflags -Wl,-R,/"
AC_TRY_LINK(
[],[],
[
- AC_MSG_RESULT([yes])
- SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"],
- [
+ AC_MSG_RESULT([yes])
+ SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
+ WXCONFIG_RPATH="-Wl,-R,\$libdir"
+ ],[
AC_MSG_RESULT([no])
])
])
LDFLAGS="$saveLdflags"
else
SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
+ WXCONFIG_RPATH="-R\$libdir"
fi
;;
;;
esac
-fi
-dnl do not 'else' this, it may be changed in the above conditional.
-if test "$wxUSE_SHARED" = "no"; then
+ if test $wxUSE_RPATH = "no"; then
+ SAMPLES_RPATH_FLAG=''
+ SAMPLES_RPATH_POSTLINK=''
+ WXCONFIG_RPATH=''
+ fi
+
+ SHARED=1
+
+else
+
config_linkage_component="-static"
SHARED=0
-else
- SHARED=1
+
fi
dnl library link name
dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
dnl If we ever need to do that, we won't need to keep these.
-WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
dnl base name of the resource file for wxMac must be the same
dnl as library installation base name (-install_name)
- WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${WX_CURRENT}.r"
- WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${WX_CURRENT}.rsrc"
+ WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
+ WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
dnl add the resources target for wxMac
LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
fi
else
dnl default value is to (silently) do nothing in the makefile
- MACSETFILE="@#"
- MACRESWXCONFIG="#"
+ MACSETFILE="@true"
+ MACRESWXCONFIG="@true"
dnl confusingly, wxOS2 also uses MACRESCOMP in its post-link step
if test "$wxUSE_PM" = 1; then
MACRESCOMP="emxbind -ep"
else
- MACRESCOMP="@#"
+ MACRESCOMP="@true"
fi
fi
dnl defines uid_t and gid_t if not already defined
AC_TYPE_UID_T
+dnl sets HAVE_SSIZE_T if ssize_t is defined
+AC_CHECK_TYPES(ssize_t)
+
dnl check what exactly size_t is on this machine - this is necessary to avoid
dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
AC_LANG_SAVE
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
fi
+if test "$WXGTK20" = 1; then
+ if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+ if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
+
+ PKG_CHECK_MODULES(LIBGNOMEPRINTUI, libgnomeprintui-2.2,
+ [
+ EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
+ CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS"
+ AC_DEFINE(wxUSE_LIBGNOMEPRINT)
+ ],
+ [
+ AC_MSG_WARN([libgnomeprintui not found, library will use standard PostScript printing])
+ wxUSE_LIBGNOMEPRINT="no"
+ ]
+ )
+ fi
+ fi
+fi
+
+
if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
AC_DEFINE(wxUSE_CMDLINE_PARSER)
fi
USE_XRC=0
if test "$wxUSE_XRC" = "yes"; then
- AC_DEFINE(wxUSE_XRC)
- USE_XRC=1
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
+ if test "$wxUSE_XML" != "yes"; then
+ AC_MSG_WARN([XML library not built, XRC resources disabled])
+ wxUSE_XRC=no
+ else
+ AC_DEFINE(wxUSE_XRC)
+ USE_XRC=1
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
+ fi
fi
if test "$wxUSE_MENUS" = "yes"; then
if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
- "$TOOLKIT" = "MOTIF"; then
+ "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
fi
fi
fi
dnl ---------------------------------------------------------------------------
-dnl get the string with OS info - used by wxGetOsDescription()
+dnl get the string with OS info - used by wxGetOsDescription() on MacOS X
dnl ---------------------------------------------------------------------------
if test "$cross_compiling" = "yes"; then
dnl extended.c uses floor() and is always linked in
if test "$wxUSE_MAC" = 1 ; then
- if test "$wxUSE_SOUND" = "yes"; then
+ if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
LDFLAGS="$LDFLAGS -framework QuickTime"
fi
+ if test "$USE_DARWIN" = 1; then
+ LDFLAGS="$LDFLAGS -framework IOKit"
+ fi
LDFLAGS="$LDFLAGS -framework Carbon -framework Cocoa -framework System"
fi
if test "$wxUSE_COCOA" = 1 ; then
- LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
+ LDFLAGS="$LDFLAGS -framework Cocoa"
fi
dnl FIXME: should this be covered by the conditional above
AC_SUBST(EXTRALIBS_OPENGL)
AC_SUBST(EXTRALIBS_SDL)
AC_SUBST(WITH_PLUGIN_SDL)
+AC_SUBST(EXTRALIBS_GNOMEPRINT)
AC_SUBST(UNICODE)
AC_SUBST(BUILD)
AC_SUBST(DEBUG_INFO)
LN_S="${LN_S}"
])
+dnl This would give us us build dir that in every significant way
+dnl resembles an installed wx in prefix=$builddir. It is troublesome
+dnl though in this form because AC_CONFIG_LINKS will fail for directories
+dnl on platforms that do not have symlinks.
+dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
+dnl AC_CONFIG_LINKS([ contrib/include ])
+
dnl Configure samples, contrib etc. directories, but only if they are present:
if test "$wxUSE_GUI" = "yes"; then
if test ${subdir} = "samples"; then
makefiles="samples/Makefile.in samples/console/Makefile.in"
elif test ${subdir} = "utils"; then
- makefiles="utils/HelpGen/Makefile.in \
- utils/HelpGen/src/Makefile.in \
- utils/tex2rtf/Makefile.in \
- utils/tex2rtf/src/Makefile.in"
+ makefiles=""
+ for util in HelpGen tex2rtf ; do
+ if test -d $srcdir/utils/$util ; then
+ makefiles="utils/$util/Makefile.in \
+ utils/$util/src/Makefile.in \
+ $makefiles"
+ fi
+ done
else dnl assume that everything compiles for tests
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
fi
echo " expat ${wxUSE_EXPAT}"
echo " libmspack ${wxUSE_LIBMSPACK}"
echo " sdl ${wxUSE_LIBSDL}"
+echo " gnomeprint ${wxUSE_LIBGNOMEPRINT}"
echo ""