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 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
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
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
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_NORMALIZED_PS_FONTS=no
DEFAULT_wxUSE_POSTSCRIPT=no
- DEFAULT_wxUSE_X_RESOURCES=no
DEFAULT_wxUSE_CLIPBOARD=no
DEFAULT_wxUSE_TOOLTIPS=no
DEFAULT_wxUSE_DRAG_AND_DROP=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_IFF=no
DEFAULT_wxUSE_XPM=no
DEFAULT_wxUSE_ICO_CUR=no
+ DEFAULT_wxUSE_ACCESSIBILITY=no
else
DEFAULT_wxUSE_UNIVERSAL=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_NORMALIZED_PS_FONTS=yes
DEFAULT_wxUSE_POSTSCRIPT=yes
- DEFAULT_wxUSE_X_RESOURCES=no
DEFAULT_wxUSE_CLIPBOARD=yes
DEFAULT_wxUSE_TOOLTIPS=yes
DEFAULT_wxUSE_DRAG_AND_DROP=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
DEFAULT_wxUSE_PNM=yes
DEFAULT_wxUSE_XPM=yes
DEFAULT_wxUSE_ICO_CUR=yes
+ DEFAULT_wxUSE_ACCESSIBILITY=no
fi
dnl WX_ARG_WITH should be used to select whether an external package will be
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(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_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
-WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
+WX_ARG_SYS_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
dnl ---------------------------------------------------------------------------
dnl compile options
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)
-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)
+WX_ARG_ENABLE(prologio, [ --enable-prologio not available; see contrib], wxUSE_PROLOGIO)
+WX_ARG_ENABLE(resources, [ --enable-resources not available; see contrib], wxUSE_RESOURCES)
dnl ---------------------------------------------------------------------------
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)
WX_ARG_ENABLE(joystick, [ --enable-joystick use wxJoystick (Linux only)], wxUSE_JOYSTICK)
WX_ARG_ENABLE(metafile, [ --enable-metafiles use wxMetaFile (Windows only)], wxUSE_METAFILE)
WX_ARG_ENABLE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
+WX_ARG_ENABLE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
dnl ---------------------------------------------------------------------------
dnl support for image formats that do not rely on external library
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_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
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
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(
+ [AC_TRY_RUN(
+ dnl zlib.h defines ZLIB_VERSION="x.y.z"
[
- dnl zlib.h defines ZLIB_VERSION="x.y.z"
#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");
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: 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
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=no,
dnl cross-compiling: test (later) if we have any png.h
unset ac_cv_header_png_h
- )
+ )]
)
AC_CHECK_HEADER(png.h)
dnl --- some of them should probably be included conditionally.
LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
+ if test "$wxUSE_ACCESSIBILITY" = "yes" ; then
+ LIBS="$LIBS -loleacc"
+ fi
+
case "${host}" in
*-*-cygwin* )
dnl Cygwin doesn't include these by default
esac
dnl add extra odbc libs if we have compiled in odbc
+ if test "$wxUSE_ODBC" = "sys" ; then
+ wxUSE_ODBC = "yes"
+ fi
if test "$wxUSE_ODBC" = "yes" ; then
LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
+ AC_DEFINE(wxUSE_ODBC)
fi
+ dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw.
RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
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"
TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
)
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,
[
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
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"
AC_MSG_WARN([OS/2 threads are not yet supported... disabled])
wxUSE_THREADS="no"
fi
dnl Optional libraries included when system library is not used
dnl ---------------------------------------------------------------------------
-dnl ODBC objects are Unix only
-if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
+
+dnl ----------------------------------------------------------------
+dnl iODBC support
+dnl ----------------------------------------------------------------
+
+IODBC_C_SRC=""
+
+
+dnl ODBC is handled seperately for MSW
+if test "$TOOLKIT" != "MSW" ; then
+
+ if test "$wxUSE_ODBC" != "no" ; then
+ AC_DEFINE(wxUSE_ODBC)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
+
+ dnl is this still necessary in 2.5?
+ WXODBCFLAG="-D_IODBC_"
+
+
+ if test "$wxUSE_ODBC" = "sys" ; then
+ dnl This is not ideal we really ough to use the unixodbc-config
+ dnl or iodbc-config if they exist.
+
+ AC_CHECK_HEADER(sql.h)
+ AC_SEARCH_LIBS(SQLAllocEnv,iodbc unixodbc odbc , , [
+ wxUSE_ODBC=builtin;
+ AC_MSG_WARN( [ can't find system Odbc library falling back to builtin ])
+ ] )
+ fi
+ dnl Not "no" either...
+ if test "$wxUSE_ODBC" != "sys" ; then
+ ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
+ fi
+
+ fi
+
fi
if test "$wxUSE_REGEX" = "builtin" ; then
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_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
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
MACRESCOMP="emxbind -ep"
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
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} "
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
AC_CACHE_CHECK([what is the type of the third argument of getsockname],
wx_cv_type_getsockname3,
[
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
-
AC_TRY_COMPILE(
[
#include <sys/types.h>
getsockname(0, 0, &len);
],
wx_cv_type_getsockname3=socklen_t,
- AC_TRY_COMPILE(
- [
- #include <sys/types.h>
- #include <sys/socket.h>
- ],
- [
- size_t len;
- getsockname(0, 0, &len);
- ],
- wx_cv_type_getsockname3=size_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>
],
[
- int len;
+ size_t len;
getsockname(0, 0, &len);
],
- wx_cv_type_getsockname3=int,
- wx_cv_type_getsockname3=unknown
+ wx_cv_type_getsockname3=size_t,
+ AC_TRY_COMPILE(
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ int len;
+ getsockname(0, 0, &len);
+ ],
+ wx_cv_type_getsockname3=int,
+ wx_cv_type_getsockname3=unknown
+ )
)
- )
- )
- AC_LANG_RESTORE
+ CFLAGS="$CFLAGS_OLD"
+ ]
+ )
])
if test "$wx_cv_type_getsockname3" = "unknown"; then
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
AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
fi
-
-dnl ----------------------------------------------------------------
-dnl iODBC support
-dnl ----------------------------------------------------------------
-
-IODBC_C_SRC=""
-if test "$wxUSE_ODBC" = "yes" ; then
- AC_DEFINE(wxUSE_ODBC)
- WXODBCFLAG="-D_IODBC_"
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
-fi
-
dnl ----------------------------------------------------------------
dnl Register PostScript options for makefiles and setup.h
dnl ----------------------------------------------------------------
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
fi
-if test "$wxUSE_PROLOGIO" = "yes" ; then
- AC_DEFINE(wxUSE_PROLOGIO)
- ALL_OBJECTS="$ALL_OBJECTS parser.o"
-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
-
-if test "$wxUSE_X_RESOURCES" = "yes"; then
- AC_DEFINE(wxUSE_X_RESOURCES)
+if test "$wxUSE_PROLOGIO" = "yes" -o "$wxUSE_RESOURCES" = "yes"; then
+ AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
fi
dnl ---------------------------------------------------------------------------
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_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
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)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
fi
+if test "$wxUSE_ACCESSIBILITY" = "yes"; then
+ AC_DEFINE(wxUSE_ACCESSIBILITY)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
+fi
+
if test "$wxUSE_MENUS" = "yes"; then
AC_DEFINE(wxUSE_MENUS)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
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(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 " regex ${wxUSE_REGEX}"
echo " tiff ${wxUSE_LIBTIFF-none}"
echo " zlib ${wxUSE_ZLIB}"
+echo " odbc ${wxUSE_ODBC}"
echo ""