dnl libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
WX_MAJOR_VERSION_NUMBER=2
-WX_MINOR_VERSION_NUMBER=3
-WX_RELEASE_NUMBER=4
+WX_MINOR_VERSION_NUMBER=5
+WX_RELEASE_NUMBER=0
WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER
-WX_CURRENT=2
+WX_CURRENT=0
WX_REVISION=0
WX_AGE=0
dnl Check platform (host system)
dnl ------------------------------------------------------------------------
-dnl assume Unix
+dnl OS (assume Unix)
USE_UNIX=1
USE_WIN32=0
USE_DOS=0
USE_BEOS=0
USE_MAC=0
-USE_LINUX=
-USE_SGI=
-USE_HPUX=
-USE_SYSV=
-USE_SVR4=
+dnl Unix kind
USE_AIX=
-USE_SUN=
-USE_SOLARIS=
-USE_SUNOS=
-USE_ALPHA=
-USE_OSF=
USE_BSD=
USE_DARWIN=
USE_FREEBSD=
-USE_OPENBSD=
+USE_HPUX=
+USE_LINUX=
USE_NETBSD=
+USE_OPENBSD=
+USE_OSF=
+USE_SGI=
+USE_SOLARIS=
+USE_SUN=
+USE_SUNOS=
+USE_SVR4=
+USE_SYSV=
USE_VMS=
USE_ULTRIX=
-USE_DATA_GENERAL=
+USE_UNIXWARE=
+
+dnl hardware platform
+USE_ALPHA=
dnl on some platforms xxx_r() functions are declared inside "#ifdef
dnl _REENTRANT" and it's easier to just define this symbol for these platforms
dnl the list of all available toolkits
dnl
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
-ALL_TOOLKITS="GTK MAC MGL MICROWIN MOTIF MSW PM WINE X11"
+ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11"
dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
dnl which are either yes or no
+DEFAULT_wxUSE_COCOA=0
DEFAULT_wxUSE_GTK=0
DEFAULT_wxUSE_MAC=0
DEFAULT_wxUSE_MGL=0
DEFAULT_wxUSE_MOTIF=0
DEFAULT_wxUSE_MSW=0
DEFAULT_wxUSE_PM=0
-DEFAULT_wxUSE_WINE=0
DEFAULT_wxUSE_X11=0
dnl these are the values which are really default for the given platform -
dnl they're not cached and are only used if no --with-toolkit was given *and*
dnl nothing was found in the cache
+DEFAULT_DEFAULT_wxUSE_COCOA=0
DEFAULT_DEFAULT_wxUSE_GTK=0
DEFAULT_DEFAULT_wxUSE_MAC=0
DEFAULT_DEFAULT_wxUSE_MGL=0
DEFAULT_DEFAULT_wxUSE_MOTIF=0
DEFAULT_DEFAULT_wxUSE_MSW=0
DEFAULT_DEFAULT_wxUSE_PM=0
-DEFAULT_DEFAULT_wxUSE_WINE=0
DEFAULT_DEFAULT_wxUSE_X11=0
PROGRAM_EXT=
dnl
dnl Both archive libraries and shared libraries on AIX have an .a
dnl extension. This will explain why you can't link with an .so and
- dnl why it works with the name changed to .a.
+ dnl why it works with the name changed to .a.
SO_SUFFIX=a
AC_DEFINE(__AIX__)
AC_DEFINE(__SYSV__)
DEFAULT_DEFAULT_wxUSE_MOTIF=1
;;
+ *-*-*UnixWare*)
+ USE_SYSV=1
+ USE_SVR4=1
+ USE_UNIXWARE=1
+ AC_DEFINE(__UNIXWARE__)
+ ;;
+
*-*-cygwin* | *-*-mingw32* )
dnl MBN: some of the defines have been moved after toolkit detection
dnl because for wxMotif/wxGTK/wxX11 to build on Cygwin
AC_DEFINE(__BSD__)
AC_DEFINE(__DARWIN__)
AC_DEFINE(__POWERPC__)
+ AC_DEFINE(TARGET_CARBON)
DEFAULT_DEFAULT_wxUSE_MAC=1
;;
DEFAULT_wxUSE_STD_IOSTREAM=no
DEFAULT_wxUSE_CMDLINE_PARSER=no
DEFAULT_wxUSE_DATETIME=no
- DEFAULT_wxUSE_TIMEDATE=no
DEFAULT_wxUSE_TIMER=no
DEFAULT_wxUSE_STOPWATCH=no
DEFAULT_wxUSE_FILE=no
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
- DEFAULT_wxUSE_PROLOGIO=no
DEFAULT_wxUSE_RESOURCES=no
DEFAULT_wxUSE_CONSTRAINTS=no
DEFAULT_wxUSE_IPC=no
DEFAULT_wxUSE_CHECKLST=no
DEFAULT_wxUSE_CHOICE=no
DEFAULT_wxUSE_COMBOBOX=no
+ DEFAULT_wxUSE_DISPLAY=no
DEFAULT_wxUSE_GAUGE=no
DEFAULT_wxUSE_GRID=no
- DEFAULT_wxUSE_NEW_GRID=no
DEFAULT_wxUSE_IMAGLIST=no
DEFAULT_wxUSE_LISTBOX=no
DEFAULT_wxUSE_LISTCTRL=no
DEFAULT_wxUSE_NOTEBOOK=no
- DEFAULT_wxUSE_PROPSHEET=no
DEFAULT_wxUSE_RADIOBOX=no
DEFAULT_wxUSE_RADIOBTN=no
DEFAULT_wxUSE_SASH=no
DEFAULT_wxUSE_STD_IOSTREAM=no
DEFAULT_wxUSE_CMDLINE_PARSER=yes
DEFAULT_wxUSE_DATETIME=yes
- DEFAULT_wxUSE_TIMEDATE=no
DEFAULT_wxUSE_TIMER=yes
DEFAULT_wxUSE_STOPWATCH=yes
DEFAULT_wxUSE_FILE=yes
DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
- DEFAULT_wxUSE_PROLOGIO=no
DEFAULT_wxUSE_RESOURCES=no
DEFAULT_wxUSE_CONSTRAINTS=yes
DEFAULT_wxUSE_IPC=yes
DEFAULT_wxUSE_CHECKLST=yes
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_COMBOBOX=yes
+ DEFAULT_wxUSE_DISPLAY=no
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
- DEFAULT_wxUSE_NEW_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_LISTBOX=yes
DEFAULT_wxUSE_LISTCTRL=yes
DEFAULT_wxUSE_NOTEBOOK=yes
- DEFAULT_wxUSE_PROPSHEET=yes
DEFAULT_wxUSE_RADIOBOX=yes
DEFAULT_wxUSE_RADIOBTN=yes
DEFAULT_wxUSE_SASH=yes
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(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" 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])
AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
WX_ARG_ENABLE(compat20, [ --enable-compat20 enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2)
-WX_ARG_ENABLE(compat22, [ --disable-compat22 disable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2, disable)
+WX_ARG_ENABLE(compat22, [ --enable-compat22 enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
+WX_ARG_ENABLE(compat24, [ --disable-compat24 disable wxWindows 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"])
WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME)
-WX_ARG_ENABLE(timedate, [ --enable-timedate use obsolete wxDate/wxTime classes], wxUSE_TIMEDATE)
WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH)
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)
dnl resources
dnl ---------------------------------------------------------------------------
-WX_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library], wxUSE_PROLOGIO)
+dnl WX_ARG_ENABLE(prologio, [ --enable-prologio use Prolog IO library], wxUSE_PROLOGIO)
WX_ARG_ENABLE(resources, [ --enable-resources use wxWindows resources], wxUSE_RESOURCES)
WX_ARG_ENABLE(xresources, [ --enable-xresources use X resources for save (default for gtk+)], wxUSE_X_RESOURCES)
dnl IPC &c
dnl ---------------------------------------------------------------------------
-WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard classes], wxUSE_CLIPBOARD)
+WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard class], wxUSE_CLIPBOARD)
WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
WX_ARG_ENABLE(metafile, [ --enable-metafile use win32 metafiles], wxUSE_METAFILE)
-WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout classes], wxUSE_TREELAYOUT)
+dnl WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout class], wxUSE_TREELAYOUT)
dnl ---------------------------------------------------------------------------
dnl optional GUI controls (in alphabetical order except the first one)
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
- DEFAULT_wxUSE_NEW_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_LISTBOX=yes
DEFAULT_wxUSE_LISTCTRL=yes
DEFAULT_wxUSE_NOTEBOOK=yes
- DEFAULT_wxUSE_PROPSHEET=yes
DEFAULT_wxUSE_RADIOBOX=yes
DEFAULT_wxUSE_RADIOBTN=yes
DEFAULT_wxUSE_SASH=yes
DEFAULT_wxUSE_CHOICE=no
DEFAULT_wxUSE_GAUGE=no
DEFAULT_wxUSE_GRID=no
- DEFAULT_wxUSE_NEW_GRID=no
DEFAULT_wxUSE_IMAGLIST=no
DEFAULT_wxUSE_LISTBOX=no
DEFAULT_wxUSE_LISTCTRL=no
DEFAULT_wxUSE_NOTEBOOK=no
- DEFAULT_wxUSE_PROPSHEET=no
DEFAULT_wxUSE_RADIOBOX=no
DEFAULT_wxUSE_RADIOBTN=no
DEFAULT_wxUSE_SASH=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_HELP=no
+ wxUSE_CLIPBOARD=no
+ wxUSE_DRAG_AND_DROP=no
+ wxUSE_DATAOBJ=no
+ DEFAULT_wxUSE_TOOLBAR_NATIVE=no
+ DEFAULT_wxUSE_GAUGE=no
+ DEFAULT_wxUSE_SCROLLBAR=no
+ DEFAULT_wxUSE_SLIDER=no
+ DEFAULT_wxUSE_COMBOBOX=no
+ DEFAULT_wxUSE_CALCTRL=no
+ DEFAULT_wxUSE_SPINBTN=no
+ DEFAULT_wxUSE_SPINCTRL=no
+ DEFAULT_wxUSE_TOOLTIPS=no
+ DEFAULT_wxUSE_COLOURDLG=no
+ DEFAULT_wxUSE_DRAGIMAGE=no
+ DEFAULT_wxUSE_FINDREPLDLG=no
+ DEFAULT_wxUSE_FONTDLG=no
+ DEFAULT_wxUSE_GRID=no
+ DEFAULT_wxUSE_NUMBERDLG=no
+ DEFAULT_wxUSE_PROGRESSDLG=no
+ DEFAULT_wxUSE_SASH=no
+ DEFAULT_wxUSE_SPLITTER=no
+ DEFAULT_wxUSE_WIZARDDLG=no
+ DEFAULT_wxUSE_SPLITTER=no
+ DEFAULT_wxUSE_STARTUP_TIPS=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(combobox, [ --enable-combobox use wxComboBox classes], wxUSE_COMBOBOX)
+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)
WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
-WX_ARG_ENABLE(newgrid, [ --enable-newgrid use new wxGrid class], wxUSE_NEW_GRID)
WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST)
WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX)
WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL)
WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK)
-WX_ARG_ENABLE(propsheet, [ --enable-propsheet use wxPropertySheet class], wxUSE_PROPSHEET)
WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX)
WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN)
WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH)
AC_MSG_CHECKING(for toolkit)
+# In Wine, we need to default to MSW, not GTK or MOTIF
+if test "$wxUSE_WINE" = "yes"; then
+ DEFAULT_DEFAULT_wxUSE_GTK=0
+ DEFAULT_DEFAULT_wxUSE_MOTIF=0
+ DEFAULT_DEFAULT_wxUSE_MSW=1
+fi
+
if test "$wxUSE_GUI" = "yes"; then
if test "$USE_BEOS" = 1; then
dnl we suppose that expr is available (maybe there is a better way to do
dnl this? what about using ALL_TOOLKITS? TODO)
- NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_MAC:-0} \
- + ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} + ${wxUSE_X11:-0}`
+ NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \
+ + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} \
+ + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
dnl Allow wxUSE_PM only for OS/2 with EMX.
case "${host}" in
;;
esac
+dnl ---------------------------------------------------------------------------
+dnl Wine is a virtual platform, we need to patch things up a bit
+dnl ---------------------------------------------------------------------------
+if test "$wxUSE_WINE" = "yes"; then
+ wants_win32=1
+ dnl FIXME: we should do a better job of testing for these
+ CC=winegcc
+ CXX=wineg++
+ RESCOMP=wrc
+fi
+
dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
dnl take effect on Cygwin/Mingw and not other platforms.
if test "$wants_win32" = 1 ; then
dnl defines INSTALL with the appropriate command
AC_PROG_INSTALL
-dnl make install path absolute (if not already); will fail with MSDOS paths
+dnl make install path absolute (if not already);
+dnl will fail with (some) MSDOS paths
case ${INSTALL} in
/* ) # Absolute
;;
+ ?:* ) # Drive letter, considered as absolute.
+ ;;
*)
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
dnl test for strings.h needed under AIX, but do not check for it wxMac as
dnl it exists but is only a simple redirection to string.h and it is in
dnl conflict with Strings.h in FlatCarbon headers
-if test "$wxUSE_MAC" != 1; then
+if test "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then
dnl defines HAVE_STRINGS_H
AC_CHECK_HEADERS(strings.h)
fi
dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
AC_CHECK_HEADERS(langinfo.h)
+case "${host}" in
+ *-pc-os2_emx | *-pc-os2-emx )
+ dnl Explicitly link -lintl if langinfo.h is available.
+ if test $ac_cv_header_langinfo_h = "yes"; then
+ LIBS="$LIBS -lintl"
+ fi
+ ;;
+esac
+
if test "$wxUSE_GUI" = "yes"; then
if test "$wxUSE_UNIX" = "yes"; then
dnl defines HAVE_X11_XKBLIB_H
dnl check whether C++ compiler supports explicit keyword
WX_CPP_EXPLICIT
+dnl check whether C++ compiler supports C++ casts
+AC_CXX_CONST_CAST
+
dnl ---------------------------------------------------------------------------
dnl Define search path for includes and libraries: all headers and libs will be
dnl looked for in all directories of this path
if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
dnl according to Unix 98 specs, regcomp() is in libc but I believe that
dnl on some old systems it may be in libregex - check for it too?
- AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp))
+ AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp)])
if test "x$ac_cv_func_regcomp" != "xyes"; then
if test "$wxUSE_REGEX" = "sys" ; then
AC_DEFINE(wxUSE_ZLIB)
if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
- dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is known
- dnl to not work) and although I don't know which is the minimal
- dnl required version it's safer to test for 1.1.4 as it fixes a
- dnl security problem in 1.1.3 -- and hopefully nobody has anything
- dnl more ancient (1.1.3 was released in July 1998) anyow
- AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
- AC_TRY_RUN(
- [
+ dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we
+ dnl should still use it because hopefully (can someone confirm this?)
+ dnl Apple did fix the security problem in it and not using the system
+ dnl library results in a whole bunch of warnings when linking with
+ dnl Carbon framework
+ if test "$USE_DARWIN" = 1; then
+ system_zlib_h_ok="yes"
+ else
+ dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is
+ dnl known to not work) and although I don't know which is
+ dnl the minimal required version it's safer to test for 1.1.4 as
+ dnl it fixes a security problem in 1.1.3 -- and hopefully nobody
+ dnl has anything more ancient (1.1.3 was released in July 1998)
+ dnl anyhow
+ AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
+ [AC_TRY_RUN(
dnl zlib.h defines ZLIB_VERSION="x.y.z"
- #include <zlib.h>
- #include <stdio.h>
+ [
+ #include <zlib.h>
+ #include <stdio.h>
- dnl don't use the brackets as quotes, we need them
- changequote(,)
- int main()
- {
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%s",
- ZLIB_VERSION[0] == '1' &&
- (ZLIB_VERSION[2] > '1' ||
- (ZLIB_VERSION[2] == '1' &&
- ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
- exit(0);
- }
- changequote([,])
- ],
- ac_cv_header_zlib_h=`cat conftestval`,
- ac_cv_header_zlib_h=no,
- dnl cross-compiling: test if we have any zlib.h
- AC_CHECK_HEADER(zlib.h)
+ int main()
+ {
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%s",
+ ZLIB_VERSION[0] == '1' &&
+ (ZLIB_VERSION[2] > '1' ||
+ (ZLIB_VERSION[2] == '1' &&
+ ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
+ exit(0);
+ }
+ ],
+ ac_cv_header_zlib_h=`cat conftestval`,
+ ac_cv_header_zlib_h=no,
+ dnl cross-compiling: don't have an answer, try later
+ unset ac_cv_header_zlib_h
+ )]
)
- )
+ dnl If the test above did not come up with a value (e.g. cross
+ dnl compiling) then this should give a definitive answer
+ AC_CHECK_HEADER(zlib.h)
- if test "$ac_cv_header_zlib_h" = "yes"; then
+ system_zlib_h_ok=$ac_cv_header_zlib_h
+ fi
+
+ if test "$system_zlib_h_ok" = "yes"; then
AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz")
fi
dnl libpng version 0.9 is known to not work, if an even newer
dnl version is required, just bump it up in the test below
AC_CACHE_CHECK([for png.h > 0.90], ac_cv_header_png_h,
- AC_TRY_RUN(
+ [AC_TRY_RUN(
+ dnl png.h defines PNG_LIBPNG_VER=number
[
- dnl png.h defines PNG_LIBPNG_VER=number
#include <png.h>
#include <stdio.h>
],
ac_cv_header_png_h=`cat conftestval`,
ac_cv_header_png_h=no,
- dnl cross-compiling: test if we have any png.h
- AC_CHECK_HEADER(png.h)
- )
+ dnl cross-compiling: test (later) if we have any png.h
+ unset ac_cv_header_png_h
+ )]
)
+ AC_CHECK_HEADER(png.h)
if test "$ac_cv_header_png_h" = "yes"; then
AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng", , [-lz -lm])
if test "x$PNG_LINK" = "x" ; then
if test "$wxUSE_LIBPNG" = "sys" ; then
- AC_MSG_ERROR([system png library not found! Use --with-libpng=builtin to use built-in version])
+ AC_MSG_ERROR([system png library not found or too old! Use --with-libpng=builtin to use built-in version])
else
- AC_MSG_WARN([png library not found or too old, will use built-in instead])
+ AC_MSG_WARN([system png library not found or too old, will use built-in instead])
wxUSE_LIBPNG=builtin
fi
else
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* )
- LDFLAGS="$LDFLAGS -Wl,--subsystem,windows -mwindows"
- esac
+ dnl All platforms need this, except maybe cygwin
+ LDFLAGS="$LDFLAGS -Wl,--subsystem,windows -mwindows"
fi
if test "$wxUSE_GTK" = 1; then
fi
if test "$wxUSE_MGL" = 1; then
- AC_MSG_CHECKING(for SciTech MGL library)
+ AC_MSG_CHECKING(for SciTech MGL library)
if test "x$MGL_ROOT" = x ; then
AC_MSG_RESULT(not found)
AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
AC_MSG_RESULT($MGL_ROOT)
fi
+ AC_MSG_CHECKING(for libmgl location)
dnl Find MGL library that we want
dnl FIXME_MGL - test for MGL variants for freebsd etc.
case "${host}" in
*-*-linux* )
- mgl_os="linux/gcc/glibc*"
+ if test "x$wxUSE_SHARED" = xyes ; then
+ mgl_os_candidates="linux/gcc/glibc.so linux/gcc/glibc"
+ else
+ mgl_os_candidates="linux/gcc/glibc linux/gcc/glibc.so"
+ fi
;;
*-pc-msdosdjgpp )
- mgl_os=dos32/dj2
+ mgl_os_candidates="dos32/dj2"
;;
*)
AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
esac
mgl_lib_type=""
-
- if test "$wxUSE_DEBUG_FLAG" = yes ; then
- if test -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.a -o \
- -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.so; then
- mgl_lib_type=debug
- fi
- fi
- if test "x$mgl_lib_type" = x ; then
- if test -f $MGL_ROOT/lib/release/$mgl_os/libmgl.a -o \
- -f $MGL_ROOT/lib/release/$mgl_os/libmgl.so; then
- mgl_lib_type=release
- else
- AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
+ mgl_os=""
+
+ for mgl_os_i in $mgl_os_candidates ; do
+ if test "x$mgl_os" = x ; then
+ if test "$wxUSE_DEBUG_FLAG" = yes ; then
+ if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \
+ -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then
+ mgl_lib_type=debug
+ mgl_os=$mgl_os_i
+ fi
+ fi
+ if test "x$mgl_lib_type" = x ; then
+ if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \
+ -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then
+ mgl_lib_type=release
+ mgl_os=$mgl_os_i
+ fi
+ fi
fi
+ done
+
+ if test "x$mgl_os" = x ; then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
fi
+ AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os")
wxUSE_UNIVERSAL="yes"
)
fi
+ AC_CHECK_LIB([Xext], [XShapeQueryExtension],
+ [
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext"
+ wxHAVE_XEXT_LIB=1
+ ],
+ [], [$GUI_TK_LIBRARY -lX11])
+
if test "$wxUSE_UNICODE" = "yes"; then
PKG_CHECK_MODULES(PANGOX, pangox,
[
GUIDIST=X11_DIST
fi
- if test "$wxUSE_WINE" = 1; then
- AC_CHECK_HEADER(windows.h, [],
- [
- AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
- ])
-
- xpm_link=
- AC_MSG_CHECKING(for Xpm library)
- WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
- if test "$ac_find_libraries" != "" ; then
- GUI_TK_LIBRARY="-L$ac_find_libraries"
- xpm_link=" -lXpm"
- AC_DEFINE(wxHAVE_LIB_XPM)
- AC_MSG_RESULT(found at $ac_find_libraries)
- else
- AC_MSG_RESULT(no)
- AC_MSG_WARN(library will be compiled without support for images in XPM format)
- fi
-
- mesa_link=
- AC_MSG_CHECKING(for Mesa library)
- WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
- if test "$ac_find_libraries" != "" ; then
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
- mesa_link=" -lMesaGL"
- AC_MSG_RESULT(found at $ac_find_libraries)
- else
- mesa_link=""
- AC_MSG_RESULT(no)
- AC_MSG_WARN(library will be compiled without Mesa support)
- fi
-
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lwine$mesa_link$xpm_link -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses"
- TOOLKIT=MSW
- GUIDIST=MSW_DIST
- TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXWINE__"
- fi
-
if test "$wxUSE_MOTIF" = 1; then
dnl use standard macros to check for X headers/libs, this brings support
dnl for the standard configure options --x-includes and --x-libraries
AC_MSG_ERROR([can't link a simple motif program])
fi
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+ AC_MSG_CHECKING([for Motif 2])
+ AC_TRY_COMPILE([
+ #include <Xm/Xm.h>
+ ],
+ [
+ #if XmVersion < 2000
+ #error "Not Motif 2"
+ #endif
+ ],
+ [
+ AC_DEFINE(__WXMOTIF20__,1)
+ AC_MSG_RESULT([found])
+ ],
+ [
+ AC_DEFINE(__WXMOTIF20__,0)
+ AC_MSG_RESULT([not found])
+ ])
+ CFLAGS=$save_CFLAGS
+
GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
- TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo"
+ TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo${PATH_IFS}\${top_srcdir}/src/x11"
TOOLKIT=MOTIF
GUIDIST=MOTIF_DIST
+ wxHAVE_XEXT_LIB=1
+ fi
+
+ if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1 &&
+ test "$wxHAVE_XEXT_LIB" = 1; then
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+
+ AC_MSG_CHECKING([for X11/extensions/shape.h])
+ AC_TRY_COMPILE([
+ #include <X11/Xlib.h>
+ #include <X11/extensions/shape.h>
+ ],
+ [
+ int dummy1, dummy2;
+ XShapeQueryExtension((Display*)NULL,
+ (int*)NULL, (int*)NULL);
+ ],
+ [
+ AC_DEFINE(HAVE_XSHAPE)
+ AC_MSG_RESULT([found])
+ ],
+ [
+ AC_MSG_RESULT([not found])
+ ])
+ CFLAGS="$save_CFLAGS"
fi
if test "$wxUSE_MAC" = 1; then
- CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefile -I/Developer/Headers/FlatCarbon"
+ CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon"
- TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefile"
+ TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/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
+
if test "$wxUSE_PM" = 1; then
TOOLKIT=PM
GUIDIST=GTK_DIST
- AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled])
- wxUSE_PROLOGIO="yes"
- wxUSE_RESOURCES="yes"
+dnl AC_MSG_WARN([OS/2 PM requires old resource format, re-enabled])
+dnl wxUSE_PROLOGIO="yes"
+dnl wxUSE_RESOURCES="yes"
AC_MSG_WARN([OS/2 threads are not yet supported... disabled])
- wxUSE_THREADS="no"
+ wxUSE_THREADS="no"
fi
dnl the name of the directory where the files for this toolkit live
dnl ---------------------------------------------------------------------------
if test "$wxUSE_OPENGL" = "yes"; then
- if test "$wxUSE_MAC" = 1; then
+ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
OPENGL_LIBS="-framework OpenGL -framework AGL"
elif test "$wxUSE_MSW" = 1; then
OPENGL_LIBS="-lopengl32 -lglu32"
else
AC_CHECK_HEADER(GL/gl.h,
[
+ found_gl=0
+
AC_MSG_CHECKING([for -lGL])
- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],[GL])
+ WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
if test "$ac_find_libraries" != "" ; then
WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
- if test "$ac_path_to_link" = " -L/usr/lib" ; then
- LDFLAGS_GL="$LDFLAGS"
- else
- LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
+ if test "$ac_path_to_link" != " -L/usr/lib" ; then
+ LDFLAGS_GL="$ac_path_to_link"
fi
- OPENGL_LIBS="-lGL -lGLU"
- AC_MSG_RESULT([yes])
- else
+
+ dnl don't suppose that libGL and libGLU are always in the
+ dnl same directory -- this is not true for some common
+ dnl distributions
+ WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
+ if test "$ac_find_libraries" != "" ; then
+ WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
+ if test "$ac_path_to_link" != " -L/usr/lib" -a \
+ "$ac_path_to_link" != "$LDFLAGS_GL"; then
+ LDFLAGS_GL="$LDFLAGS_GL$ac_path_to_link"
+ fi
+
+ found_gl=1
+ OPENGL_LIBS="-lGL -lGLU"
+ AC_MSG_RESULT([yes])
+ fi
+ fi
+
+ if "$found_gl" != 1; then
AC_MSG_RESULT([no])
AC_MSG_CHECKING([for -lMesaGL])
- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],[MesaGL])
+ WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
if test "$ac_find_libraries" != "" ; then
WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
;;
*-*-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 Under Mac OS X, we should build real frameworks instead of simple
dnl dynamic shared libraries (in order to embed the resources)
if test "$wxUSE_MAC" = 1; then
- dnl the name of the resources file for wxMac
- WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r"
- WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.rsrc"
+ 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="lib${WX_LIBRARY}.${WX_CURRENT}.r"
+ WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc"
fi
;;
esac
dnl "-init _wxWindowsDylibInit" not useful with lazy linking solved
SHARED_LD="\${top_srcdir}/distrib/mac/shared-ld-sh -undefined suppress -flat_namespace -o"
PIC_FLAG="-dynamic -fPIC"
- SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION}"
- SONAME_FLAGS_GL=${SONAME_FLAGS}
+ dnl library installation base name and wxMac resources file base name
+ dnl must be identical in order for the resource file to be found at
+ dnl run time in src/mac/app.cpp
+ SONAME_FLAGS="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION} -install_name \$(libdir)/${WX_LIBRARY_LINK1}"
+ SONAME_FLAGS_GL="-compatibility_version ${WX_RELEASE} -current_version ${WX_VERSION} -install_name \$(libdir)/${WX_LIBRARY_LINK1_GL}"
;;
*-*-aix* )
PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
- dnl install shared libs without symlinks
+ dnl Don't build seperate GL library
+ WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
+ WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
+
if test "$wxUSE_OPENGL" = "yes"; then
- WX_ALL_INSTALLED="preinstall_gl"
- WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
- else
- WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
+ LIBS="${LIBS} ${OPENGL_LIBS}"
fi
;;
WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
fi
- if test "$wxUSE_MAC" = 1; then
+ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
fi
STATIC_FLAG="no"
fi
+dnl default value is to (silently) do nothing in the makefile
+MACRESCOMP="@#"
+MACSETFILE="@#"
+MACRESWXCONFIG="#"
if test "$wxUSE_MAC" = 1; then
dnl add the resources target for wxMac
LIBWXMACRES="\$(top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}"
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)
+ AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
MACOSX_BUNDLE="bundle"
dnl resources are bundled both with shared library and applications
dnl since the carb resource *must* be included in the application
- LIBWXMACRESCOMP="\$(RESCOMP) -t APPL Carbon.r ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
- LIBWXMACRESWXCONFIG="${RESCOMP} -t APPL Carbon.r \${prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+ MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r ${LIBWXMACRES} -o"
+ MACSETFILE="\$(SETFILE)"
+ MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r \$(top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}} -o"
+elif test "$wxUSE_COCOA" = 1; then
+ AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
+ AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
+ AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
+ MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
+ MACSETFILE="\$(SETFILE)"
+ MACRESWXCONFIG="echo -n | ${RESCOMP} -d __DARWIN__ -t APPL \$(top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}} -o"
else
if test "$wxUSE_PM" = 1; then
- LIBWXMACRESCOMP="emxbind -ep \$(BIN_PROGRAM)"
+ MACRESCOMP="emxbind -ep"
fi
fi
AC_TYPE_UID_T
dnl check what exactly size_t is on this machine - this is necessary to avoid
-dnl ambiguos overloads in several places, notably wx/string.h and wx/array.h
+dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CACHE_CHECK([if size_t is unsigned int],
wx_cv_size_t_is_uint,
+ [
dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
dnl methods in a local class (i.e. class inside a function) declaration
wx_cv_size_t_is_uint=no,
wx_cv_size_t_is_uint=yes
)
+ ]
)
if test "$wx_cv_size_t_is_uint" = "yes"; then
AC_LANG_CPLUSPLUS
dnl check for vsnprintf() -- a safe version of vsprintf())
+dnl
+dnl the trouble here is that on some systems (notable HP-UX) this function is
+dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which,
+dnl stupidly, provides a dummy function declaration inside its extension)
+dnl succeeds, even with C++ compiler, but the compilation of wxWindows fails
+dnl
+dnl so we first check if the function is in the library
AC_CHECK_FUNCS(vsnprintf)
+if test "$ac_cv_func_vsnprintf" = "yes"; then
+ dnl yes it is -- now check if it is in the headers
+ AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <stdio.h>
+ #include <stdarg.h>
+ ],
+ [
+ char *buf;
+ va_list ap;
+ vsnprintf(buf, 10u, "%s", ap);
+ ],
+ wx_cv_func_vsnprintf_decl=yes,
+ wx_cv_func_vsnprintf_decl=no
+ )
+ ]
+ )
+
+ if test "$wx_cv_func_vsnprintf_decl" = "yes"; then
+ AC_DEFINE(HAVE_VSNPRINTF_DECL)
+ fi
+fi
+
if test "$wxUSE_UNICODE" = yes; then
dnl also look if we have wide char IO functions
AC_CHECK_FUNCS(fputwc wprintf vswprintf)
+
dnl MinGW has a vswprintf with a different prototype, and
dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
dnl finds it even if it is not declared in some versions...
)
if test "$wx_cv_func_statfs" = "yes"; then
+ wx_cv_type_statvfs_t="struct statfs"
AC_DEFINE(HAVE_STATFS)
else
AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
AC_TRY_COMPILE(
[
- #include <sys/statvfs.h>
+ #include <stddef.h>
+ #include <sys/statvfs.h>
],
[
- long l;
- struct statvfs fs;
- statvfs("/", &fs);
- l = fs.f_bsize;
- l += fs.f_blocks;
- l += fs.f_bavail;
+ statvfs("/", NULL);
],
- [
- wx_cv_func_statvfs=yes
- ],
- [
- wx_cv_func_statvfs=no
- ]
+ wx_cv_func_statvfs=yes,
+ wx_cv_func_statvfs=no
)
)
if test "$wx_cv_func_statvfs" = "yes"; then
- AC_DEFINE(HAVE_STATVFS)
+ dnl we also have to check whether we should use statvfs_t (works under
+ dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice
+ dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit
+ dnl mode both work fine)
+ dnl
+ dnl for this check C++ compiler has to be used as passing incompatible
+ dnl pointers is just a warning and not an error in C
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
+ AC_TRY_COMPILE(
+ [
+ #include <sys/statvfs.h>
+ ],
+ [
+ long l;
+ statvfs_t fs;
+ statvfs("/", &fs);
+ l = fs.f_bsize;
+ l += fs.f_blocks;
+ l += fs.f_bavail;
+ ],
+ wx_cv_type_statvfs_t=statvfs_t,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <sys/statvfs.h>
+ ],
+ [
+ long l;
+ struct statvfs fs;
+ statvfs("/", &fs);
+ l = fs.f_bsize;
+ l += fs.f_blocks;
+ l += fs.f_bavail;
+ ],
+ wx_cv_type_statvfs_t="struct statvfs",
+ wx_cv_type_statvfs_t="unknown"
+ )
+ ]
+ )
+ )
+
+ AC_LANG_RESTORE
+
+ if test "$wx_cv_type_statvfs_t" != "unknown"; then
+ AC_DEFINE(HAVE_STATVFS)
+ fi
else
- AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
+ dnl set it for the test below
+ wx_cv_type_statvfs_t="unknown"
fi
fi
+if test "$wx_cv_type_statvfs_t" != "unknown"; then
+ AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t)
+else
+ AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
+fi
+
dnl check for fcntl() or at least flock() needed by Unix implementation of
dnl wxSingleInstanceChecker
if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
THREADS_CFLAGS=
if test "$wxUSE_THREADS" = "yes" ; then
- if test "$wxUSE_WINE" = 1 ; then
- AC_MSG_WARN([Threads are not supported under WINE... disabled])
- wxUSE_THREADS="no"
- elif test "$USE_BEOS" = 1; then
+ if test "$USE_BEOS" = 1; then
AC_MSG_WARN([BeOS threads are not yet supported... disabled])
wxUSE_THREADS="no"
fi
dnl AIX calls the library libpthreads - thanks IBM!
THREAD_OPTS="pthreads"
;;
+ *-hp-hpux* )
+ dnl HP-UX aCC only gives a warning, not an error about
+ dnl -pthread but it doesn't work and we have to use -lpthread
+ dnl there
+ if test "x$GCC" != "xyes"; then
+ THREAD_OPTS=""
+ fi
+ ;;
+
+ *-*-irix* )
+ dnl gcc under IRIX doesn't seem to like -pthread, but it
+ dnl doesn't give an error for it neither, just a warning
+ dnl message -- but this is still very annoying
+ if test "x$GCC" = "xyes"; then
+ THREAD_OPTS=""
+ fi
+ ;;
+
+ *-*-*UnixWare*)
+ dnl flying by man pages here: Caldera online docs use this
+ if test "x$GCC" != "xyes"; then
+ THREAD_OPTS="-Ethread"
+ fi
+ ;;
esac
dnl simply linking with libpthread should make the test below work but
;;
*-hp-hpux* )
flag="-D_REENTRANT"
+ if test "x$GCC" != "xyes"; then
+ dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
+ flag="$flag -D_RWSTD_MULTI_THREAD"
+ fi
;;
*solaris* | alpha*-osf*)
flag="-D_REENTRANT"
dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
HAVE_PRIOR_FUNCS=0
AC_CHECK_FUNC(pthread_attr_getschedpolicy,
- AC_CHECK_FUNC(pthread_attr_setschedparam,
- AC_CHECK_FUNC(sched_get_priority_max,
+ [AC_CHECK_FUNC(pthread_attr_setschedparam,
+ [AC_CHECK_FUNC(sched_get_priority_max,
HAVE_PRIOR_FUNCS=1,
- AC_CHECK_LIB([posix4], sched_get_priority_max,
+ [AC_CHECK_LIB([posix4], sched_get_priority_max,
[
HAVE_PRIOR_FUNCS=1
POSIX4_LINK=" -lposix4"
],
- )
- )
- )
+ )]
+ )]
+ )]
)
if test "$HAVE_PRIOR_FUNCS" = 1; then
esac
fi
+OPTIMISE=
if test "$wxUSE_OPTIMISE" = "no" ; then
- OPTIMISE=
+ if test "$GCC" = yes ; then
+ dnl use -O0 because compiling with it is faster than compiling with no
+ dnl optimization options at all (at least with g++ 3.2)
+ OPTIMISE="-O0"
+ fi
else
if test "$GCC" = yes ; then
OPTIMISE="-O2"
+
+ dnl VZ: does anybody know what does this do??
case "${host}" in
i586-*-*|i686-*-* )
OPTIMISE="${OPTIMISE} "
fi
fi
+dnl ---------------------------------------------------------------------------
+dnl compatibility level
+dnl ---------------------------------------------------------------------------
+
if test "$WXWIN_COMPATIBILITY_2" = "yes"; then
AC_DEFINE(WXWIN_COMPATIBILITY_2)
WXWIN_COMPATIBILITY_2_2="yes"
fi
-if test "x$WXWIN_COMPATIBILITY_2_2" != "xno"; then
+if test "x$WXWIN_COMPATIBILITY_2_2" = "xyes"; then
AC_DEFINE(WXWIN_COMPATIBILITY_2_2)
+
+ WXWIN_COMPATIBILITY_2_4="yes"
+fi
+
+if test "x$WXWIN_COMPATIBILITY_2_4" != "xno"; then
+ AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
fi
dnl ---------------------------------------------------------------------------
AC_DEFINE(wxUSE_DATETIME)
fi
-if test "$wxUSE_TIMEDATE" = "yes"; then
- AC_DEFINE(wxUSE_TIMEDATE)
-fi
-
if test "$wxUSE_FILE" = "yes"; then
AC_DEFINE(wxUSE_FILE)
fi
fi
fi
- AC_DEFINE(wxUSE_TIMEDATE)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
fi
if test "$wxUSE_GUI" = "yes"; then
- if test "$TOOLKIT" = "MAC"; then
+ if test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
wxUSE_JOYSTICK=no
fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
fi
-if test "$wxUSE_PROLOGIO" = "yes" ; then
- AC_DEFINE(wxUSE_PROLOGIO)
- ALL_OBJECTS="$ALL_OBJECTS parser.o"
-fi
+dnl if test "$wxUSE_PROLOGIO" = "yes" ; then
+dnl AC_DEFINE(wxUSE_PROLOGIO)
+dnl ALL_OBJECTS="$ALL_OBJECTS parser.o"
+dnl fi
-if test "$wxUSE_RESOURCES" = "yes" ; then
- if test "$wxUSE_NANOX" = "yes"; then
- AC_MSG_WARN([Cannot use resource database functions in NanoX])
- else
- AC_DEFINE(wxUSE_RESOURCES)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
- fi
- if test "$wxUSE_PROLOGIO" != "yes" ; then
- ALL_OBJECTS="$ALL_OBJECTS parser.o"
- fi
-fi
+dnl if test "$wxUSE_RESOURCES" = "yes" ; then
+dnl if test "$wxUSE_NANOX" = "yes"; then
+dnl AC_MSG_WARN([Cannot use resource database functions in NanoX])
+dnl else
+dnl AC_DEFINE(wxUSE_RESOURCES)
+dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
+dnl fi
+dnl if test "$wxUSE_PROLOGIO" != "yes" ; then
+dnl ALL_OBJECTS="$ALL_OBJECTS parser.o"
+dnl fi
+dnl fi
if test "$wxUSE_X_RESOURCES" = "yes"; then
AC_DEFINE(wxUSE_X_RESOURCES)
fi
fi
-if test "$wxUSE_WINE" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
- -o "$wxUSE_CLIPBOARD" = "yes" \
- -o "$wxUSE_OLE" = "yes" \
- -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
- AC_CHECK_HEADERS(ole2.h)
-
- if test "$ac_cv_header_ole2_h" = "yes" ; then
- if test "$GCC" = yes ; then
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
- AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
- AC_TRY_COMPILE([#include <windows.h>
- #include <ole2.h>],
- [],
- [AC_MSG_RESULT(no)],
- [AC_MSG_RESULT(yes)
- CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"])
- AC_LANG_RESTORE
- ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
- LIBS=" -lwine_uuid$LIBS"
- AC_DEFINE(wxUSE_OLE)
-
- fi
-
- dnl for OLE clipboard and dnd
- AC_DEFINE(wxUSE_DATAOBJ)
- else
- AC_MSG_WARN([Some features disabled because OLE headers not found])
-
- wxUSE_CLIPBOARD=no
- wxUSE_DRAG_AND_DROP=no
- wxUSE_DATAOBJ=no
- wxUSE_OLE=no
- fi
-
- if test "$wxUSE_METAFILE" = "yes"; then
- AC_DEFINE(wxUSE_METAFILE)
-
- dnl this one should probably be made separately configurable
- AC_DEFINE(wxUSE_ENH_METAFILE)
- fi
-fi
-
if test "$wxUSE_IPC" = "yes"; then
if test "$wxUSE_SOCKETS" != "yes"; then
AC_MSG_WARN(wxWindows IPC classes require sockets... disabled)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
fi
-if test "$wxUSE_GAUGE" = "yes"; then
- AC_DEFINE(wxUSE_GAUGE)
- USES_CONTROLS=1
+if test "$wxUSE_DISPLAY" = "yes"; then
+ AC_DEFINE(wxUSE_DISPLAY)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
fi
-if test "$wxUSE_NEW_GRID" = "yes"; then
- wxUSE_GRID="yes"
- AC_DEFINE(wxUSE_NEW_GRID)
+if test "$wxUSE_GAUGE" = "yes"; then
+ AC_DEFINE(wxUSE_GAUGE)
USES_CONTROLS=1
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
fi
if test "$wxUSE_GRID" = "yes"; then
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
fi
-if test "$wxUSE_PROPSHEET" = "yes"; then
- AC_DEFINE(wxUSE_PROPSHEET)
- USES_CONTROLS=1
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
-fi
+dnl if test "$wxUSE_PROPSHEET" = "yes"; then
+dnl AC_DEFINE(wxUSE_PROPSHEET)
+dnl USES_CONTROLS=1
+dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
+dnl fi
if test "$wxUSE_RADIOBOX" = "yes"; then
AC_DEFINE(wxUSE_RADIOBOX)
fi
if test "$wxUSE_STATLINE" = "yes"; then
- if test "$wxUSE_WINE" = 1 ; then
- AC_MSG_WARN([wxStaticLine is not supported under WINE])
- else
- AC_DEFINE(wxUSE_STATLINE)
- USES_CONTROLS=1
- fi
+ AC_DEFINE(wxUSE_STATLINE)
+ USES_CONTROLS=1
fi
if test "$wxUSE_STATUSBAR" = "yes"; then
fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
- if test "$wxUSE_MAC" = 1; then
+ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
wxUSE_TOGGLEBTN=no
fi
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
else
- if test "$wxUSE_WINE" = 1; then
- AC_MSG_WARN([wxTooltip not supported under WINE... disabled])
+ if test "$wxUSE_UNIVERSAL" = "yes"; then
+ AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
else
- if test "$wxUSE_UNIVERSAL" = "yes"; then
- AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
- else
- AC_DEFINE(wxUSE_TOOLTIPS)
- fi
+ AC_DEFINE(wxUSE_TOOLTIPS)
fi
fi
fi
fi
if test "$wxUSE_POPUPWIN" = "yes"; then
- if test "$wxUSE_MAC" = 1; then
+ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
else
if test "$wxUSE_MOTIF" = 1; then
dnl misc options
dnl ---------------------------------------------------------------------------
-if test "$wxUSE_TREELAYOUT" = "yes"; then
- AC_DEFINE(wxUSE_TREELAYOUT)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay"
-fi
+dnl if test "$wxUSE_TREELAYOUT" = "yes"; then
+dnl AC_DEFINE(wxUSE_TREELAYOUT)
+dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay"
+dnl fi
if test "$wxUSE_DRAGIMAGE" = "yes"; then
AC_DEFINE(wxUSE_DRAGIMAGE)
AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
+dnl define the variables used in wx-config
+top_builddir=`pwd`
+
dnl ---------------------------------------------------------------------------
dnl Output the makefiles and such from the results found above
dnl ---------------------------------------------------------------------------
if test "$wxUSE_MAC" = 1 ; then
LDFLAGS="$LDFLAGS -framework Carbon -framework System"
fi
+if test "$wxUSE_COCOA" = 1 ; then
+ LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
+fi
dnl FIXME: should this be covered by the conditional above
dnl given the -lm comment there? Or should that comment (and
dnl ipc, mfc, nativdlg, oleauto, ownerdrw
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \
drawing dynamic erase event exec font image \
- minimal propsize rotate widgets"
+ minimal propsize rotate shaped widgets"
dnl this is needed to be able to find AFM files
CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
AC_SUBST(TOOLCHAIN_DLL_DEFS)
dnl wx-config options
+AC_SUBST(top_builddir)
AC_SUBST(host_alias)
AC_SUBST(cross_compiling)
AC_SUBST(WXCONFIG_LIBS)
AC_SUBST(DEREZ)
AC_SUBST(MACOSX_BUNDLE)
AC_SUBST(LIBWXMACRES)
-AC_SUBST(LIBWXMACRESCOMP)
-AC_SUBST(LIBWXMACRESWXCONFIG)
+AC_SUBST(MACRESCOMP)
+AC_SUBST(MACSETFILE)
+AC_SUBST(MACRESWXCONFIG)
dnl other tools
AC_SUBST(GCC)
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 itself (this macro is required if SUBDIRS variable is used in Makefile.am
echo " Should wxWindows be linked as a shared library? ${wxUSE_SHARED:-no}"
echo " Should wxWindows be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
+echo " What level of wxWindows compatibility should be enabled?"
+echo " wxWindows 2.0 ${WXWIN_COMPATIBILITY_2:-no}"
+echo " wxWindows 2.2 ${WXWIN_COMPATIBILITY_2_2:-no}"
+echo " wxWindows 2.4 ${WXWIN_COMPATIBILITY_2_4:-yes}"
+
echo " Which libraries should wxWindows use?"
echo " jpeg ${wxUSE_LIBJPEG-none}"
echo " png ${wxUSE_LIBPNG-none}"