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
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(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_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)
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)
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,
[
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"
+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"
fi
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
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...
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)
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(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)
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)
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