dnl Process this file with autoconf to produce a configure script.
AC_REVISION($Id$)dnl
-AC_PREREQ(2.57)
+AC_PREREQ(2.58)
dnl ---------------------------------------------------------------------------
dnl
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])
dnl When making releases do:
dnl
-dnl WX_RELEASE_NUMBER += 1
+dnl wx_release_number += 1
dnl
-dnl ..and update WX_CURRENT, WX_RELEASE and WX_AGE according to the
+dnl ..and update WX_CURRENT, WX_REVISION and WX_AGE according to the
dnl following rules:
dnl
dnl If any changes have been made to the public interface, that is if any
dnl The resulting library name will be of the form:
dnl libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
-WX_MAJOR_VERSION_NUMBER=2
-WX_MINOR_VERSION_NUMBER=5
-WX_RELEASE_NUMBER=2
+wx_major_version_number=2
+wx_minor_version_number=5
+wx_release_number=3
+wx_subrelease_number=3
-WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
-WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
+WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
+WX_VERSION=$WX_RELEASE.$wx_release_number
+WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
-WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$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 ------------------------------------------------------------------------
AC_DEFINE(TARGET_CARBON)
DEFAULT_DEFAULT_wxUSE_MAC=1
;;
+ powerpc-apple-macos* )
+ dnl Classic Mac OS (< X)
+ USE_UNIX=0
+ dnl For some reason the test that should be cross-compiler capable fails
+ dnl However, there is no doubt that MacOS PowerPC is big endian.
+ ac_cv_c_bigendian=yes
+ SO_SUFFIX=shlib
+ dnl AC_DEFINE(TARGET_CARBON)
+ dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
+ DEFAULT_DEFAULT_wxUSE_MAC=1
+ ;;
*-*-beos* )
dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
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_MENUS=no
DEFAULT_wxUSE_MINIFRAME=no
DEFAULT_wxUSE_HTML=no
+ DEFAULT_wxUSE_XRC=no
DEFAULT_wxUSE_WEBKIT=no
DEFAULT_wxUSE_FILESYSTEM=no
DEFAULT_wxUSE_FS_INET=no
DEFAULT_wxUSE_CHECKBOX=no
DEFAULT_wxUSE_CHECKLST=no
DEFAULT_wxUSE_CHOICE=no
+ DEFAULT_wxUSE_CHOICEBOOK=no
DEFAULT_wxUSE_COMBOBOX=no
DEFAULT_wxUSE_DISPLAY=no
DEFAULT_wxUSE_GAUGE=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
DEFAULT_wxUSE_MENUS=yes
DEFAULT_wxUSE_MINIFRAME=yes
DEFAULT_wxUSE_HTML=yes
+ DEFAULT_wxUSE_XRC=yes
DEFAULT_wxUSE_WEBKIT=yes
DEFAULT_wxUSE_FILESYSTEM=yes
DEFAULT_wxUSE_FS_INET=yes
DEFAULT_wxUSE_CHECKBOX=yes
DEFAULT_wxUSE_CHECKLST=yes
DEFAULT_wxUSE_CHOICE=yes
+ DEFAULT_wxUSE_CHOICEBOOK=yes
DEFAULT_wxUSE_COMBOBOX=yes
DEFAULT_wxUSE_DISPLAY=yes
DEFAULT_wxUSE_GAUGE=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)
WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML)
WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP)
+WX_ARG_ENABLE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC)
WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI)
DEFAULT_wxUSE_CHECKBOX=yes
DEFAULT_wxUSE_CHECKLISTBOX=yes
DEFAULT_wxUSE_CHOICE=yes
+ DEFAULT_wxUSE_CHOICEBOOK=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_CHECKBOX=no
DEFAULT_wxUSE_CHECKLISTBOX=no
DEFAULT_wxUSE_CHOICE=no
+ DEFAULT_wxUSE_CHOICEBOOK=no
DEFAULT_wxUSE_GAUGE=no
DEFAULT_wxUSE_GRID=no
DEFAULT_wxUSE_IMAGLIST=no
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)
WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX)
WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE)
+WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK)
WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX)
WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY)
WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
fi
+dnl ---------------------------------------------------------------------------
+dnl flavour support
+dnl ---------------------------------------------------------------------------
+
+dnl Should this be --enable? I flip-flopped a couple of times and this seems
+dnl in the spirit if not the letter, we have gtk-prefix and the like in this group.
+dnl It doesn't actually change anything but the output file names.
+AC_ARG_WITH(flavour, [ --with-flavour=NAME specify a name to identify this build], [WX_FLAVOUR="$withval"])
+
dnl ---------------------------------------------------------------------------
dnl some win32 settings
dnl ---------------------------------------------------------------------------
VENDOR="custom"
fi
-dnl General settings (needed for GUI and non-GUI compilations alike).
-dnl Path separator; ':' for unix, ';' for OS/2
-case "${host}" in
- *-pc-os2_emx | *-pc-os2-emx )
- PATH_IFS=';'
- ;;
- *)
- PATH_IFS=':'
- ;;
-esac
dnl for GUI only
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 "$build" != "$host" ; then
- if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX"; then
+ if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX" = 1; 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
+ elif test "x$CC" '!=' "x"; then
+ echo "You set CC, I assume you know what you are doing."
else
AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
fi
AC_LANG_RESTORE
-dnl check if compiler includes /usr/local/include in
-dnl default include files search path.
-AC_MSG_CHECKING([for /usr/local/include in default include path])
-GCC_SEARCHES_USR_LOCAL_INCLUDE="no"
-if test "$GCC" = "yes" ; then
- echo | gcc -v -x c++ -E - 2>&1 | sed -n '/^#include </,$p' | \
- sed -n '1,/End of search list\./p' | \
- grep '^ */usr/local/include$' 2>&1 /dev/null \
- && GCC_SEARCHES_USR_LOCAL_INCLUDE="yes"
-fi
-AC_MSG_RESULT([$GCC_SEARCHES_USR_LOCAL_INCLUDE])
-
dnl ranlib command
dnl defines RANLIB with the appropriate command
AC_PROG_RANLIB
INSTALL=`pwd`/${INSTALL} ;;
esac
-dnl HP-UX install doesn't handle the "-d" switch so don't use it there
-case ${host} in
- *-hp-hpux* )
- INSTALL_DIR="mkdir"
- ;;
-
- *) INSTALL_DIR="$INSTALL -d"
- ;;
-esac
-
case "${host}" in
)
])
- if test x"$ac_cv_string_strcasecmp" = "xyes"; then
+ if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
else
AC_MSG_ERROR([No case-insensitive string comparison function found.])
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);
+ }
+ int main()
+ {
+ foo("hi", 17);
+ return 0;
+ }],
+ 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
else
WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
fi
+ dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
+ AC_FUNC_FSEEKO
+ if test "$ac_cv_sys_largefile_source" != no; then
+ WX_LARGEFILE_FLAGS="$WX_LARGEFILE_FLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
+ fi
CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
fi
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
dnl -mwindows causes a heap of other default gui libs to be linked in.
- dnl FIXME: If cygwin needs this, please push it above, if not, please
- dnl remove this comment :-)
case "${host}" in
*-*-mingw32* )
WXCONFIG_LDFLAGS_GUI="$LDFLAGS -Wl,--subsystem,windows -mwindows"
esac
if test "$WXGTK20" = 1; then
- if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
- PKG_CHECK_MODULES(PANGOFT2, pangoft2,
- [
- CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
- 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"
LIBS="$LIBS $GTK_LIBS"
+
AC_CHECK_FUNCS([pango_font_family_is_monospace])
+
+ dnl test if we have at least GTK+ 2.4:
+ AC_MSG_CHECKING([if GTK+ is version >= 2.4])
+ AC_TRY_COMPILE([
+ #include <gtk/gtk.h>
+ ],
+ [
+ #if !GTK_CHECK_VERSION(2,4,0)
+ #error "Not GTK+ 2.4"
+ #endif
+ ],
+ [
+ AC_DEFINE(__WXGTK24__)
+ AC_MSG_RESULT([yes])
+ ],
+ [
+ AC_MSG_RESULT([no])
+ ])
+
CFLAGS="$save_CFLAGS"
LIBS="$save_LIBS"
else
)
PKG_CHECK_MODULES(PANGOXFT, pangoxft,
[
+ AC_DEFINE(HAVE_PANGO_XFT)
CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
],
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11"
fi
- TOOLKIT_VPATH="\${top_srcdir}/src/x11"
TOOLKIT=X11
GUIDIST=X11_DIST
fi
CFLAGS=$save_CFLAGS
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
- TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo${PATH_IFS}\${top_srcdir}/src/x11"
TOOLKIT=MOTIF
GUIDIST=MOTIF_DIST
fi
AC_MSG_RESULT([none])
fi
- CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+ if test "x$wxUSE_UNIX" = "xyes"; then
+ CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon"
+ else
+ dnl platform.h needs TARGET_CARBON before setup.h
+ CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON"
+ fi
- TOOLKIT_VPATH="\${top_srcdir}/src/mac/carbon${PATH_IFS}\${top_srcdir}/src/mac/carbon/morefilex"
TOOLKIT=MAC
dnl we can't call this MAC_DIST or autoconf thinks its a macro
GUIDIST=MACX_DIST
fi
if test "$wxUSE_COCOA" = 1; then
- TOOLKIT_VPATH="\${top_srcdir}/src/cocoa"
TOOLKIT=COCOA
GUIDIST=COCOA_DIST
fi
TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
fi
- dnl misc other files depending on the port
- PORT_FILES="\${top_srcdir}/src/\$(TOOLKITDIR)/files.lst"
-
if test "$wxUSE_UNIVERSAL" = "yes"; then
- ALL_OBJECTS="\$(GUI_LOWLEVEL_OBJS) \${UNIVOBJS}"
-
- dnl ALL_SOURCES and ALL_HEADERS shouldn't include really all sources
- dnl and headers as some/most are not needed for wxUniv but I don't
- dnl have time to add GUI_LOWLEVEL_SOURCES/HEADERS stuff now (TODO!)
- ALL_SOURCES="\$(ALL_SOURCES) \${UNIV_SOURCES}"
- ALL_HEADERS="\$(ALL_HEADERS) \${UNIV_HEADERS}"
-
- PORT_FILES="${PORT_FILES} \${top_srcdir}/src/univ/files.lst"
- if test "$wxUSE_X11" = 1; then
- TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}${PATH_IFS}\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes"
- else
- TOOLKIT_VPATH="\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes${PATH_IFS}\${top_srcdir}/src/${TOOLKIT_DIR}"
- fi
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
WIDGET_SET=univ
- else
- ALL_OBJECTS="\$(GUIOBJS)"
- ALL_SOURCES="\$(ALL_SOURCES)"
- ALL_HEADERS="\$(ALL_HEADERS)"
- fi
-
- ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
-
- if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
- fi
-
- if test "$wxUSE_HTML" = "yes"; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(HTMLOBJS)"
- fi
-
- if test "$wxUSE_LIBJPEG" = "builtin" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
- fi
- if test "$wxUSE_LIBTIFF" = "builtin" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
- fi
- if test "$wxUSE_LIBPNG" = "builtin" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
fi
dnl distribute samples/demos/utils with GUI versions
dnl the sources, their dependenices and the headers
if test "$USE_WIN32" = 1 ; then
- ALL_OBJECTS="\${BASE_OBJS} \${BASE_MSW_OBJS}"
- TOOLKIT_VPATH="\${top_srcdir}/src/msw"
-
dnl yes, the toolkit for wxBase on win32 is actually MSW
dnl wxBase on unix does not need a 'TOOLKIT' defined.
TOOLKIT="MSW"
- else
- ALL_OBJECTS="\${BASE_OBJS} \${BASE_UNIX_OBJS}"
- TOOLKIT_VPATH="\${top_srcdir}/src/unix"
fi
- ALL_SOURCES="\$(ALL_SOURCES)"
- ALL_HEADERS="\$(ALL_HEADERS)"
-
- PORT_FILES="\${top_srcdir}/src/files.lst"
-
dnl distribute only wxBase sources/headers
GUIDIST="BASE_DIST"
DISTDIR="wxBase"
fi
fi
-if test "$wxUSE_REGEX" = "builtin" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
-fi
-if test "$wxUSE_ZLIB" = "builtin" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
-fi
dnl ---------------------------------------------------------------------------
dnl wxDisplay Sanity checks
dnl ---------------------------------------------------------------------------
dnl DirectDraw / Multimon for MSW
dnl ---------------------------------------------------------------------------
- AC_CHECK_HEADERS([multimon.h ddraw.h], [], [
- wxUSE_DISPLAY="no"
- AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
- ] )
+ AC_CHECK_HEADERS([multimon.h ddraw.h], [],
+ [
+ wxUSE_DISPLAY="no"
+ AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay])
+ ],
+ [#include <windows.h>])
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])
+ ],
+ [#include <windows.h>])
+
+ if test "$wxUSE_DIRECTSHOW" = "yes"; then
+ AC_DEFINE(wxUSE_DIRECTSHOW)
+ LIBS="$LIBS -lstrmiids"
+ fi
+ fi
+
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
+ AC_DEFINE(wxUSE_MEDIACTRL)
+fi
+
dnl ---------------------------------------------------------------------------
dnl OpenGL libraries
dnl ---------------------------------------------------------------------------
fi
fi
-if test -z "$TOOLKIT_VPATH" ; then
- TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}"
-fi
dnl the symbol which allows conditional compilation for the given toolkit
if test -n "$TOOLKIT" ; then
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
fi
-UNICODE=0
-lib_unicode_suffix=
-wxconfig_filename_unicode="ansi"
-if test "$wxUSE_UNICODE" = "yes"; then
- lib_unicode_suffix=u
- wxconfig_filename_unicode="unicode"
- UNICODE=1
-fi
-
-lib_debug_suffix=
-wxconfig_filename_debug="release"
-DEBUG_FLAG=0
-if test "$wxUSE_DEBUG_FLAG" = "yes"; then
- lib_debug_suffix=d
- wxconfig_filename_debug="debug"
- DEBUG_FLAG=1
-fi
-
-DEBUG_INFO=0
-if test "$wxUSE_DEBUG_INFO" = "yes"; then
- DEBUG_INFO=1
-fi
-
-WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
-
-TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
-TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
-
-WXCONFIG_DATA_FILE="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${wxconfig_filename_unicode}-${wxconfig_filename_debug}-${WX_RELEASE}"
-
-if test "$cross_compiling" = "yes"; then
- TOOLCHAIN_NAME="${TOOLCHAIN_NAME}-${host_alias}"
- TOOLCHAIN_NAME_GL="${TOOLCHAIN_NAME_GL}-${host_alias}"
- WXCONFIG_DATA_FILE="${WXCONFIG_DATA_FILE}-${host_alias}"
- HOST_SUFFIX="-${host_alias}"
-fi
-
-dnl library link name
-WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
-WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
-WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}"
-WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
-
-dnl the name of the shared library
-WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
-WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
-
-dnl the name of the links to the shared library
-WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}"
-WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
-WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}"
-WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
-
-case "${host}" in
- *-*-cygwin* | *-*-mingw32* )
- WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
- WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
- ;;
-
- *-*-darwin* )
- dnl Under Mac OS X, the naming conventions for shared libraries
- dnl are different: the number precedes the suffix.
-
- WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
- WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
-
- WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${WX_CURRENT}.${SO_SUFFIX}"
- WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
- WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${SO_SUFFIX}"
- WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
-
- dnl base name of the resource file for wxMac must be the same
- dnl as library installation base name (-install_name)
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
- WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.${WX_CURRENT}.r"
- WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc"
- fi
- ;;
-esac
-
-dnl the name of the static library
-WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
-WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
-
-dnl define which libs wx-config should link.
-WXCONFIG_LIBS="-l${WX_LIBRARY}"
-WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
-
-if test "$wxUSE_OPENGL" = "yes"; then
- WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}"
- WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
-fi
-
dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
esac
fi
-SHARED=0
if test "$wxUSE_SHARED" = "yes"; then
- SHARED=1
dnl use versioned symbols if available on the platform
WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
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
- SHARED_LD="${CXX} -G -o"
- PIC_FLAG="-KPIC"
SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
+ WXCONFIG_RPATH="-R\$libdir"
fi
;;
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}"
- WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
+ if test $wxUSE_RPATH = "no"; then
+ SAMPLES_RPATH_FLAG=''
+ SAMPLES_RPATH_POSTLINK=''
+ WXCONFIG_RPATH=''
fi
- dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
- WX_TARGET_LIBRARY_TYPE="so"
- INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
+ SHARED=1
+
+else
+
+ config_linkage_component="-static"
+ SHARED=0
+
fi
-dnl do not 'else' this, it may be changed in the above conditional.
-if test "$wxUSE_SHARED" = "no"; then
- dnl give static wxBase and wxMSW build a working install target
- if test "$wxUSE_GUI" = "no" -o "$USE_WIN32" = 1 ; then
- dnl we're here because WX_ALL_INSTALLED is empty, but play safe anyway
- WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
- fi
+UNICODE=0
+lib_unicode_suffix=
+WX_CHARTYPE="ansi"
+if test "$wxUSE_UNICODE" = "yes"; then
+ lib_unicode_suffix=u
+ WX_CHARTYPE="unicode"
+ UNICODE=1
+fi
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
- WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
- fi
+lib_debug_suffix=
+WX_DEBUGTYPE="release"
+DEBUG_FLAG=0
+if test "$wxUSE_DEBUG_FLAG" = "yes"; then
+ lib_debug_suffix=d
+ WX_DEBUGTYPE="debug"
+ DEBUG_FLAG=1
+fi
- if test "$wxUSE_OPENGL" = "yes"; then
- WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_gl"
- WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC} \$(build_libdir)/${WX_LIBRARY_NAME_STATIC_GL}"
- else
- WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC}"
- fi
+WX_FLAVOUR=${WX_FLAVOUR:+-$WX_FLAVOUR}
+WX_LIB_FLAVOUR=`echo $WX_FLAVOUR | tr '-' '_'`
- WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
- WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
+DEBUG_INFO=0
+if test "$wxUSE_DEBUG_INFO" = "yes"; then
+ DEBUG_INFO=1
+fi
- WX_TARGET_LIBRARY_TYPE="a"
- INSTALL_LIBRARY='$(INSTALL_DATA)'
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
- dnl wx-config should assume the --static flag by default if we don't have
- dnl any shared libs anyhow
- STATIC_FLAG="yes"
-else
- STATIC_FLAG="no"
+TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
+
+TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
+
+if test "$cross_compiling" = "yes"; then
+ HOST_SUFFIX="-$host_alias"
+ TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX"
+ TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME"
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${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_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}"
- WX_ALL="${WX_ALL} ${LIBWXMACRES}"
- WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
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 >= 2.8],
+ [
+dnl 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
dnl like mingw does.. -- RL
if test "$TOOLKIT" != "MSW"; then
dnl determine the type of third argument for getsockname
+ dnl This test needs to be done in C++ mode since gsocket.cpp now
+ dnl is C++ code and pointer cast that are possible even without
+ dnl warning in C still fail in C++.
+ AC_LANG_PUSH(C++)
AC_CACHE_CHECK([what is the type of the third argument of getsockname],
wx_cv_type_getsockname3,
[
else
AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
fi
+ dnl Do this again for getsockopt as it may be different
+ AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
+ wx_cv_type_getsockopt5,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ socklen_t len;
+ getsockopt(0, 0, 0, 0, &len);
+ ],
+ wx_cv_type_getsockopt5=socklen_t,
+ [
+ dnl the compiler will compile the version with size_t
+ dnl even if the real type of the last parameter is int
+ dnl but it should give at least a warning about
+ dnl converting between incompatible pointer types, so
+ dnl try to use it to get the correct behaviour at
+ dnl least with gcc (otherwise we'd always use size_t)
+ CFLAGS_OLD="$CFLAGS"
+ if test "$GCC" = yes ; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ size_t len;
+ getsockopt(0, 0, 0, 0, &len);
+ ],
+ wx_cv_type_getsockopt5=size_t,
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ int len;
+ getsockopt(0, 0, 0, 0, &len);
+ ],
+ wx_cv_type_getsockopt5=int,
+ wx_cv_type_getsockopt5=unknown
+ )
+ )
+
+ CFLAGS="$CFLAGS_OLD"
+ ]
+ )
+ ])
+
+ if test "$wx_cv_type_getsockopt5" = "unknown"; then
+ wxUSE_SOCKETS=no
+ AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+ else
+ AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
+ fi
+ AC_LANG_POP
fi
fi
[AC_MSG_RESULT(yes)
CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"])
AC_LANG_RESTORE
- ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
if test "$wxUSE_OLE" = "yes" ; then
AC_DEFINE(wxUSE_OLE)
USES_CONTROLS=1
fi
+if test "$wxUSE_CHOICEBOOK" = "yes"; then
+ AC_DEFINE(wxUSE_CHOICEBOOK)
+ USES_CONTROLS=1
+fi
+
if test "$wxUSE_CHECKBOX" = "yes"; then
AC_DEFINE(wxUSE_CHECKBOX)
USES_CONTROLS=1
fi
fi
if test "$wxUSE_WEBKIT" = "yes"; then
- if test "$wxUSE_MAC" = 1; then
+ if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
old_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -x objective-c++"
AC_CHECK_HEADER([WebKit/HIWebView.h],
fi
fi
+USE_XRC=0
+if test "$wxUSE_XRC" = "yes"; then
+ 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
AC_DEFINE(wxUSE_MENUS)
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
if test "$wxUSE_SPLASH" = "yes"; then
AC_DEFINE(wxUSE_SPLASH)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splash"
fi
if test "$wxUSE_STARTUP_TIPS" = "yes"; then
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
AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
-dnl define the variables used in wx-config
-top_builddir_wxconfig=`pwd`
-
dnl ---------------------------------------------------------------------------
dnl define variables with all built libraries for wx-config
if test "$wxUSE_HTML" = "yes" ; then
CORE_GUI_LIBS="html $CORE_GUI_LIBS"
fi
+if test "$wxUSE_XRC" = "yes" ; then
+ CORE_GUI_LIBS="xrc $CORE_GUI_LIBS"
+fi
if test "$wxUSE_GUI" != "yes"; then
CORE_GUI_LIBS=""
dnl extended.c uses floor() and is always linked in
if test "$wxUSE_MAC" = 1 ; then
- if test "$wxUSE_SOUND" = "yes"; then
- LDFLAGS="$LDFLAGS -framework QuickTime"
+ if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
+ if test "$USE_DARWIN" = 1; then
+ LDFLAGS="$LDFLAGS -framework QuickTime"
+ else
+ LDFLAGS="$LDFLAGS -lQuickTimeLib"
+ fi
+ fi
+ if test "$USE_DARWIN" = 1; then
+ LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
+ else
+ LDFLAGS="$LDFLAGS -lCarbonLib"
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
dnl come first and the one with setup.h should be before $(top_srcdir)/include
dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
dnl CodeWarrior):
-INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_NAME} \
+INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
-I\${top_srcdir}/include $TOOLKIT_INCLUDE"
dnl C/C++ compiler options used to compile wxWidgets
if test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
- CXXWARNINGS="-Wall"
+ CWARNINGS="-Wall"
+ CXXWARNINGS="$CWARNINGS -Wno-ctor-dtor-privacy"
dnl should enable this one day...
dnl CXXWARNINGS="-Wall -Werror"
fi
EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
dnl remove the extra white space from the cc/c++/ld options
-CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS | sed 's/ \\+/ /g'`
-CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
-CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
+CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS`
+CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CWARNINGS`
+CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS`
-LIBS=`echo $LIBS | sed 's/ \+/ /g'`
+LIBS=`echo $LIBS`
EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
EXTRALIBS_XML="$EXPAT_LINK"
EXTRALIBS_HTML="$MSPACK_LINK"
EXTRALIBS_ODBC="$ODBC_LINK"
if test "$wxUSE_GUI" = "yes"; then
- EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK | sed 's/ \+/ /g'`
+ EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK`
fi
if test "$wxUSE_OPENGL" = "yes"; then
EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
fi
for i in $wxconfig_3rdparty ; do
- WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${HOST_SUFFIX}"
+ WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
done
AC_SUBST(VENDOR)
AC_SUBST(OFFICIAL_BUILD)
+AC_SUBST(WX_FLAVOUR)
+AC_SUBST(WX_LIB_FLAVOUR)
AC_SUBST(WXUNIV)
AC_SUBST(MONOLITHIC)
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)
AC_SUBST(DEBUG_FLAG)
-AC_SUBST(SHARED)
TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr "[[A-Z]]" "[[a-z]]"`
AC_SUBST(TOOLKIT_LOWERCASE)
AC_SUBST(TOOLKIT_VERSION)
AC_SUBST(CPPUNIT_CFLAGS)
AC_SUBST(CPPUNIT_LIBS)
+case "$TOOLKIT" in
+ GTK)
+ TOOLKIT_USER="GTK+"
+ if test "$WXGTK20" = 1; then
+ TOOLKIT_USER="$TOOLKIT_USER 2"
+ fi
+ ;;
+
+ *)
+ TOOLKIT_USER=$TOOLKIT_LOWERCASE
+ ;;
+esac
+
AC_BAKEFILE
+if test "$wxUSE_SHARED" = "yes"; then
+
+ dnl We get the shared build linker from bakefile, since it
+ dnl moved all the logic for this out of this file and into
+ dnl its own macro. But it can't decide on whether to return
+ dnl us $(VAR), ${VAR}, or the present expansion of VAR.
+ dnl So normalise and expand everything here now, because its
+ dnl not going to change inside wx-config anyway.
+ sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
+ EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
+
+ dnl Need addtional flag on OS/2, so override bakefiles value
+ dnl (there currently is no suitable variable to which the
+ dnl missing flags could be added, AFAICS. SN, 18.12.2004. )
+ case "${host}" in
+ *-pc-os2_emx | *-pc-os2-emx )
+ SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+ SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
+ cp -p ${srcdir}/src/os2/dllnames.sh .
+ cp -p ${srcdir}/src/os2/dllar.sh .
+ ;;
+ esac
+else
+
+ dnl No bakefile support for static builds, but this should be ok for most.
+ EXE_LINKER="$CXX -o"
+
+fi
GCC_PRAGMA_FLAGS=""
dnl Find out if we have to define NO_GCC_PRAGMA and WX_PRECOMP:
[AC_MSG_RESULT([no])])
fi
;;
+ *-pc-os2_emx | *-pc-os2-emx )
+ dnl GCC versions ported to OS/2 have similar problems with
+ dnl static member of classes in combination with STL and
+ dnl pragma interface/implementation
+ if test "$wxUSE_STL" = "yes"; then
+ AC_MSG_CHECKING([if this gcc version needs -DNO_GCC_PRAGMA])
+ AC_TRY_COMPILE([],
+ [#if !(__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
+ #error "Not GCC 3.2 or greater"
+ #endif
+ ],
+ [GCC_PRAGMA_FLAGS="-DNO_GCC_PRAGMA"
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
+ fi
+ ;;
esac
fi
CPPFLAGS="$GCC_PRAGMA_FLAGS $CPPFLAGS"
dnl only removes the Unix-like part of the introduced line break.
SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
-dnl makefile variables
-AC_SUBST(PATH_IFS)
+dnl subtle bakefile goop.
+dnl Used in wx-config now too, as its STATIC_FLAG with different makeup.
+dnl I wish we would have called it something less likely to clash with
+dnl things though.
+AC_SUBST(SHARED)
dnl global options
-AC_SUBST(WX_MAJOR_VERSION_NUMBER)
-AC_SUBST(WX_MINOR_VERSION_NUMBER)
-AC_SUBST(WX_RELEASE_NUMBER)
-AC_SUBST(WX_LIBRARY_NAME_STATIC)
-AC_SUBST(WX_LIBRARY_NAME_SHARED)
AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
AC_SUBST(WX_LIBRARY_BASENAME_GUI)
-AC_SUBST(WX_LIBRARY_IMPORTLIB)
-AC_SUBST(WX_TARGET_LIBRARY)
-AC_SUBST(WX_LIBRARY_LINK1)
-AC_SUBST(WX_LIBRARY_LINK2)
-AC_SUBST(PROGRAM_EXT)
-
-dnl global gl options
-AC_SUBST(WX_LIBRARY_NAME_STATIC_GL)
-AC_SUBST(WX_LIBRARY_NAME_SHARED_GL)
-AC_SUBST(WX_TARGET_LIBRARY_GL)
-AC_SUBST(WX_LIBRARY_LINK1_GL)
-AC_SUBST(WX_LIBRARY_LINK2_GL)
-
-dnl are we supposed to create the links?
-AC_SUBST(WX_ALL)
-AC_SUBST(WX_ALL_INSTALLED)
-
-AC_SUBST(SHARED_LD)
-AC_SUBST(PIC_FLAG)
-
-AC_SUBST(WX_TARGET_LIBRARY_TYPE)
-
-AC_SUBST(STATIC_FLAG)
dnl debugging options
AC_SUBST(WXDEBUG_DEFINE)
AC_SUBST(WIN32INSTALL)
AC_SUBST(TOOLKIT)
AC_SUBST(TOOLKIT_DIR)
-AC_SUBST(TOOLKIT_VPATH)
AC_SUBST(TOOLCHAIN_NAME)
+AC_SUBST(TOOLCHAIN_FULLNAME)
AC_SUBST(TOOLCHAIN_DEFS)
AC_SUBST(TOOLCHAIN_DLL_DEFS)
dnl wx-config options
-AC_SUBST(top_builddir_wxconfig)
AC_SUBST(host_alias)
AC_SUBST(cross_compiling)
+AC_SUBST(WIDGET_SET)
+AC_SUBST(WX_RELEASE)
+AC_SUBST(WX_VERSION)
+AC_SUBST(WX_SUBVERSION)
+AC_SUBST(WX_CHARTYPE)
+AC_SUBST(WX_DEBUGTYPE)
AC_SUBST(WXCONFIG_EXTRALIBS)
-AC_SUBST(WXCONFIG_LIBS)
-AC_SUBST(WXCONFIG_LIBS_GL)
-AC_SUBST(WXCONFIG_LIBS_STATIC)
-AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
AC_SUBST(WXCONFIG_INCLUDE)
AC_SUBST(WXCONFIG_RPATH)
AC_SUBST(WXCONFIG_LDFLAGS_GUI)
-AC_SUBST(WXCONFIG_DATA_FILE)
AC_SUBST(WX_LARGEFILE_FLAGS)
AC_SUBST(GCC_PRAGMA_FLAGS)
AC_SUBST(CODE_GEN_FLAGS)
AC_SUBST(CODE_GEN_FLAGS_CXX)
-
-dnl the list of files to compile/install
-AC_SUBST(ALL_OBJECTS)
-AC_SUBST(ALL_HEADERS)
-AC_SUBST(ALL_SOURCES)
+AC_SUBST(EXE_LINKER)
dnl distribution vars
AC_SUBST(GUIDIST)
-AC_SUBST(PORT_FILES)
AC_SUBST(DISTDIR)
dnl additional subdirectories where we will build
dnl additional libraries and linker settings
AC_SUBST(LDFLAGS)
AC_SUBST(LDFLAGS_GL)
-AC_SUBST(LDFLAGS_VERSIONING)
-AC_SUBST(LDFLAGS_EXE)
AC_SUBST(OPENGL_LIBS)
AC_SUBST(DMALLOC_LIBS)
AC_SUBST(WX_VERSION_TAG)
dnl other tools
AC_SUBST(GCC)
-AC_SUBST(GCC_SEARCHES_USR_LOCAL_INCLUDE)
AC_SUBST(DLLTOOL)
-AC_SUBST(AS)
-AC_SUBST(NM)
-AC_SUBST(LD)
-AC_SUBST(MAKEINFO)
-AC_SUBST(INSTALL_LIBRARY)
-AC_SUBST(INSTALL_DIR)
dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
dnl - and we do use it)
AC_PROG_MAKE_SET
-dnl move setup.h back if available
-if test -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h; then
- mv -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h setup.h
-fi
-AC_CONFIG_HEADERS([setup.h])
+AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
-dnl create each of the files in the space separated list from the file.in
-dnl (the original file name may be overriden by appending another name after a
-dnl colon)
-AC_CONFIG_FILES([
- wx-config
- wx-config-wrapper
- version-script
- Makefile
- ])
+AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
+ [ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
+ [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
-AC_CONFIG_COMMANDS([default],
- [
- if test ! -d lib; then
- mkdir lib
- fi
- if test ! -d lib/wx; then
- mkdir lib/wx
- fi
- if test ! -d lib/wx/config; then
- mkdir lib/wx/config
- fi
- if test ! -d lib/wx/include; then
- mkdir lib/wx/include
- fi
- if test ! -d lib/wx/include/${TOOLCHAIN_NAME}; then
- mkdir lib/wx/include/${TOOLCHAIN_NAME}
- fi
- if test ! -d lib/wx/include/${TOOLCHAIN_NAME}/wx; then
- mkdir lib/wx/include/${TOOLCHAIN_NAME}/wx
- fi
- if test -f setup.h; then
- mv -f setup.h lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h
- fi
-
- if test -f wx-config; then
- chmod +x wx-config
- mv -f wx-config lib/wx/config/${WXCONFIG_DATA_FILE}
- ( cd lib/wx/config ; ${LN_S} ${WXCONFIG_DATA_FILE} ${TOOLCHAIN_NAME} )
- rm -f wx${TOOLCHAIN_NAME}-config
- ${LN_S} wx-config wx${TOOLCHAIN_NAME}-config
- fi
- if test -f wx-config-wrapper; then
- chmod +x wx-config-wrapper
- mv -f wx-config-wrapper wx-config
- fi
- ],
- [
- TOOLCHAIN_NAME="${TOOLCHAIN_NAME}"
- WXCONFIG_DATA_FILE="${WXCONFIG_DATA_FILE}"
- LN_S="${LN_S}"
- ]
- )
+AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace.in ],
+ [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
+ [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
+
+AC_CONFIG_FILES([ version-script Makefile ])
+
+AC_CONFIG_COMMANDS([ wx-config
+ ],
+ [ rm -f wx-config
+ ${LN_S} lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} wx-config
+ ],
+ [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}"
+ 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 ${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
AC_OUTPUT
-dnl report on what we decided to do
+dnl report how we have been configured
echo
echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
echo ""
-echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_LOWERCASE:-base only}"
+echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_USER:-base only}"
echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITHIC:-yes}"
echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}"
echo " expat ${wxUSE_EXPAT}"
echo " libmspack ${wxUSE_LIBMSPACK}"
echo " sdl ${wxUSE_LIBSDL}"
+echo " gnomeprint ${wxUSE_LIBGNOMEPRINT}"
echo ""