DEFAULT_wxUSE_STATLINE=no
DEFAULT_wxUSE_STATUSBAR=yes
DEFAULT_wxUSE_TABDIALOG=no
+ DEFAULT_wxUSE_TOGGLEBTN=no
DEFAULT_wxUSE_TOOLBAR=no
DEFAULT_wxUSE_TOOLBAR_NATIVE=no
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
DEFAULT_wxUSE_STATLINE=yes
DEFAULT_wxUSE_STATUSBAR=yes
DEFAULT_wxUSE_TABDIALOG=no
+ DEFAULT_wxUSE_TOGGLEBTN=yes
DEFAULT_wxUSE_TOOLBAR=yes
DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard classes], 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)
dnl TODO: doesn't work yet
WX_ARG_ENABLE(wxtree, [ --enable-wxtree make wxTree library], wxUSE_WXTREE)
DEFAULT_wxUSE_STATLINE=yes
DEFAULT_wxUSE_STATUSBAR=yes
DEFAULT_wxUSE_TAB_DIALOG=yes
+ DEFAULT_wxUSE_TOGGLEBTN=yes
DEFAULT_wxUSE_TOOLBAR=yes
DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
DEFAULT_wxUSE_STATLINE=no
DEFAULT_wxUSE_STATUSBAR=no
DEFAULT_wxUSE_TAB_DIALOG=no
+ DEFAULT_wxUSE_TOGGLEBTN=no
DEFAULT_wxUSE_TOOLBAR=no
DEFAULT_wxUSE_TOOLBAR_NATIVE=no
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE)
WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR)
WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TABDIALOG)
+WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN)
WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR)
WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
TOOLKIT=
TOOLKIT_INCLUDE=
-GUIOBJS=
-COMMONOBJS=
-GENERICOBJS=
-
GUI_TK_LIBRARY=
GUI_TK_LINK=
fi
TOOLKIT=MSW
-
- GUIOBJS="\$(MSW_GUIOBJS)"
- GUIHEADERS="\$(MSW_HEADERS)"
- COMMONOBJS="\$(MSW_COMMONOBJS)"
- GENERICOBJS="\$(MSW_GENERICOBJS)"
- UNIXOBJS=
GUIDIST=MSW_DIST
dnl we should calculate these
dnl else
dnl GUI_TK_LIBRARY="$GTK_LIBS -lgthread"
dnl fi
- TOOLKIT=GTK
AFMINSTALL=afminstall
-
- GUIOBJS="\$(GTK_GUIOBJS)"
- GUIHEADERS="\$(GTK_HEADERS)"
- COMMONOBJS="\$(GTK_COMMONOBJS)"
- GENERICOBJS="\$(GTK_GENERICOBJS)"
- GUIDEPS="\$(GTK_GUIDEPS)"
- COMMONDEPS="\$(GTK_COMMONDEPS)"
- GENERICDEPS="\$(GTK_GENERICDEPS)"
- UNIXOBJS="\$(UNIX_OBJS)"
- UNIXDEPS="\$(UNIX_DEPS)"
+ TOOLKIT=GTK
GUIDIST=GTK_DIST
dnl test for XIM support in libgdk
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
WXWINE=1
TOOLKIT=MSW
-
- GUIHEADERS="\$(MSW_HEADERS)"
- GUIOBJS="\$(MSW_GUIOBJS)"
- COMMONOBJS="\$(MSW_COMMONOBJS)"
- GENERICOBJS="\$(MSW_GENERICOBJS)"
- GUIDEPS="\$(MSW_GUIDEPS)"
- COMMONDEPS="\$(MSW_COMMONDEPS)"
- GENERICDEPS="\$(MSW_GENERICDEPS)"
- UNIXOBJS="\$(UNIX_OBJS)"
- UNIXDEPS="\$(UNIX_DEPS)"
GUIDIST=MSW_DIST
fi
GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11"
GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
TOOLKIT=MOTIF
-
- GUIHEADERS="\$(MOTIF_HEADERS)"
- GUIOBJS="\$(MOTIF_GUIOBJS)"
- COMMONOBJS="\$(MOTIF_COMMONOBJS)"
- GENERICOBJS="\$(MOTIF_GENERICOBJS)"
- GUIDEPS="\$(MOTIF_GUIDEPS)"
- COMMONDEPS="\$(MOTIF_COMMONDEPS)"
- GENERICDEPS="\$(MOTIF_GENERICDEPS)"
- UNIXOBJS="\$(UNIX_OBJS)"
- UNIXDEPS="\$(UNIX_DEPS)"
GUIDIST=MOTIF_DIST
fi
if test "$wxUSE_MAC" = 1; then
TOOLKIT=MAC
- UNIXOBJS="\$(UNIX_OBJS)"
- UNIXDEPS="\$(UNIX_DEPS)"
- GUIDIST=MAC_DIST
+ dnl we can't call this MAC_DIST or autoconf thinks its a macro
+ GUIDIST=MACX_DIST
fi
if test "$wxUSE_PM" = 1; then
TOOLKIT=PM
-
- GUIOBJS="\$(PM_GUIOBJS)"
- GUIHEADERS="\$(PM_HEADERS)"
- COMMONOBJS="\$(PM_COMMONOBJS)"
- GENERICOBJS="\$(PM_GENERICOBJS)"
- GUIDEPS="\$(PM_GUIDEPS)"
- COMMONDEPS="\$(PM_COMMONDEPS)"
- GENERICDEPS="\$(PM_GENERICDEPS)"
- UNIXOBJS=
- UNIXDEPS=
GUIDIST=GTK_DIST
fi
ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(OGLOBJS)"
dnl ODBC objects are Unix only
- if test "$TOOLKIT" != "MSW"; then
- if test "$wxUSE_ODBC" = "yes" ; then
- ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
- fi
+ if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then
+ ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
fi
if test "$wxUSE_LIBJPEG" = "yes" ; then
dnl distribute only wxBase sources/headers
GUIDIST="BASE_DIST"
DISTDIR="wxBase"
-
- dnl Apple MAC OS X specific extras
- if test "$USE_UNIX" = 1 ; then
- ALL_OBJECTS="${ALL_OBJECTS} dl_macosx.o"
- ALL_DEPFILES="${ALL_DEPFILES} dl_macosx.d"
- fi
fi
dnl the name of the (libtool) library
fi
;;
*-*-darwin* )
- SHARED_LD="libtool -dynamic -o"
+ SHARED_LD="${CXX} -dynamic -dylib -o"
PIC_FLAG="-fPIC"
if test "$wxUSE_OPENGL" = "yes"; then
WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
WX_ALL="CREATE_LINKS"
fi
+ dnl the name of the shared library
+ WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.dylib"
+ WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.dylib"
+ dnl the name of the links to the shared library
+ WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.${WX_CURRENT}.dylib"
+ WX_LIBRARY_LINK2="lib${WX_LIBRARY}-${WX_RELEASE}.dylib"
+ WX_LIBRARY_LINK3="lib${WX_LIBRARY}.dylib"
+ WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.${WX_CURRENT}.dylib"
+ WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.dylib"
+ WX_LIBRARY_LINK3_GL="lib${WX_LIBRARY}_gl.dylib"
;;
*-*-osf* )
SHARED_LD="${CXX} -shared -o"
dnl "int main() {" in the beginning of the code and "; return 0; }" at the
dnl end...
+dnl if we fail to find vsnprintf, also try for _vsnprintf as that is what
+dnl we'll find under MSW if it exists.
+
+dnl final note: AC_TRY_COMPILE will only be executed if there is nothing in
+dnl the cache so we have to do AC_DEFINE(HAVE_VSNPRINTF) below and not inside
+dnl it or the symbol wouldn't be defined for the 2nd and subsequent configure
+dnl runs
+
dnl check for vsnprintf() - a safe version of vsprintf()
AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
[
vsnprintf(s, 42, fmt, argp);
va_end(argp);
], [
- AC_DEFINE(HAVE_VSNPRINTF)
wx_cv_func_vsnprintf=yes
], [
- AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
- wx_cv_func_vsnprintf=no
+ AC_TRY_COMPILE([
+ #include <stdio.h>
+ #include <stdarg.h>
+ ], [
+ int wx_test_vsnprintf(const char *, ...);
+
+ wx_test_vsnprintf("%s");
+ return 0;
+ }
+
+ int wx_test_vsnprintf(const char *fmt, ...)
+ {
+ char *s;
+
+ va_list argp;
+ va_start(argp, fmt);
+ _vsnprintf(s, 42, fmt, argp);
+ va_end(argp);
+ ], [
+ wx_cv_func_vsnprintf=yes
+ ], [
+ wx_cv_func_vsnprintf=no
+ ])
])
])
+if test "$wx_cv_func_vsnprintf" = yes; then
+ AC_DEFINE(HAVE_VSNPRINTF)
+else
+ AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
+fi
+
dnl check for vsscanf()
AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
[
vsscanf("42", fmt, argp);
va_end(argp);
], [
- AC_DEFINE(HAVE_VSSCANF)
wx_cv_func_vsscanf=yes
], [
wx_cv_func_vsscanf=no
])
])
+if test "$wx_cv_func_vsscanf" = yes; then
+ AC_DEFINE(HAVE_VSSCANF)
+fi
+
AC_LANG_RESTORE
dnl the following tests are for Unix(like) systems only
dnl AIX calls the library libpthreads - thanks IBM!
if test "$USE_AIX" = 1; then
THREADS_LIB=pthreads
+ elif test "$USE_MAC" = 1; then
+ THREADS_LIB=cc_dynamic
else
THREADS_LIB=pthread
fi
pthread_cleanup_pop(0);
], [
wx_cv_func_pthread_cleanup_push=yes
- AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
], [
wx_cv_func_pthread_cleanup_push=no
])
])
+ if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
+ AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
+ fi
+
+ dnl mutexattr_t initialization is done in quite different ways on different
+ dnl platforms, so check for a few things:
+ dnl
+ dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
+ dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
+ dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
+ dnl defined, we do it by directly assigned
+ dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
+
+#ifdef HAVE_PTHREAD_MUTEXATTR_T
+#elif defined(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
+
+ AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
+ [
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ ], [
+ wx_cv_type_pthread_mutexattr_t=yes
+ ], [
+ wx_cv_type_pthread_mutexattr_t=no
+ ]
+ )
+ ])
+
+ if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
+ AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
+ else
+ dnl don't despair, there may be another way to do it
+ AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
+ wx_cv_type_pthread_rec_mutex_init,
+ [
+ AC_TRY_COMPILE([#include <pthread.h>],
+ [
+ pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+ ], [
+ wx_cv_type_pthread_rec_mutex_init=yes
+ ], [
+ wx_cv_type_pthread_rec_mutex_init=no
+ ]
+ )
+ ])
+ if test "$wx_cv_type_pthread_rec_mutex_init"="yes"; then
+ AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
+ else
+ dnl this may break code working elsewhere, so at least warn about it
+ AC_MSG_WARN([wxMutex won't be recursive on this platform])
+ fi
+ fi
+
THREADS_LINK="-l$THREADS_LINK"
dnl building MT programs under Solaris with the native compiler requires -mt
if test "$wxUSE_THREADS" = "yes"; then
AC_DEFINE(wxUSE_THREADS)
- dnl must define _REENTRANT for multithreaded code
- CFLAGS="${CFLAGS} -D_REENTRANT"
- CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+ dnl must define _REENTRANT for multithreaded code except for Mac OS X
+ if test "$wxUSE_MAC" = "0"; then
+ CFLAGS="${CFLAGS} -D_REENTRANT"
+ CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
+ fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
else
fi
if test "$wxUSE_MAC" = 1 ; then
- TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -DTARGET_CARBON"
+ TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__POWERPC__ -DTARGET_CARBON"
TOOLKIT_INCLUDE="${TOOLKIT_INCLUDE}"
fi
DEP_INFO_FLAGS=
CODE_GEN_FLAGS=
+CODE_GEN_FLAGS_CXX=
if test "$GCC" = yes ; then
if test "$wxUSE_NO_RTTI" = "yes" ; then
- CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-rtti"
+ CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS -fno-rtti"
fi
if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
- CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-exceptions"
+ CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS -fno-exceptions"
fi
if test "$wxUSE_PERMISSIVE" = "yes" ; then
CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
)
fi
-fi
-dnl if !MSW
+dnl this test may be appropriate if building under cygwin
+dnl right now I'm assuming it also uses the winsock stuff
+dnl like mingw does.. -- RL
if test "$wxUSE_SOCKETS" = "yes" ; then
dnl determine the type of third argument for getsockname
fi
fi
+fi
+dnl if !MSW
+
if test "$wxUSE_SOCKETS" = "yes" ; then
AC_DEFINE(wxUSE_SOCKETS)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
AC_DEFINE(wxUSE_ODBC)
WXODBCFLAG="-D_IODBC_"
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
- IODBCOBJS="\$(IODBC_OBJS)"
-else
- IODBCOBJS=
fi
dnl ----------------------------------------------------------------
wxUSE_DRAG_AND_DROP=no
fi
+ if test "$wxUSE_MAC" = 1; then
+ AC_MSG_WARN([Drag and drop is not yet supported under Mac OS X])
+ wxUSE_DRAG_AND_DROP=no
+ fi
+
if test "$USE_WIN32" = 1; then
dnl check for ole headers and disable DnD if not present (earlier
dnl versions of mingw32 don't have them)
+
AC_CHECK_HEADERS(ole2.h)
- if test "x$HAVE_OLE2_H" = x ; then
+
+ dnl for some reason this test always fails here??
+ dnl if test "x$HAVE_OLE2_H" != x ; then
+ dnl this one does the right thing though
+ if test "$ac_cv_header_ole2_h" = "yes" ; then
+ if test "$GCC" = yes ; then
+ ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
+ ALL_DEPFILES="$ALL_DEPFILES \$(OLEDEPS)"
+ CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"
+ LIBS="$LIBS -lole32 -luuid"
+
+ dnl metafiles need the ole code, right?? if not this
+ dnl doesn't need to be in here.
+ 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
+ else
AC_MSG_WARN(Drag and drop disabled because OLE headers not found)
wxUSE_DRAG_AND_DROP=no
fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
fi
+if test "$wxUSE_TOGGLEBTN" = "yes"; then
+ AC_DEFINE(wxUSE_TOGGLEBTN)
+fi
+
if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
wxUSE_TOOLBAR="yes"
dnl AC_DEFINE(wxUSE_WXTREE)
dnl fi
-if test "$wxUSE_METAFILE" = "yes"; then
- AC_DEFINE(wxUSE_METAFILE)
-fi
-
if test "$wxUSE_DIRDLG" = "yes"; then
if test "$wxUSE_CONSTRAINTS" != "yes"; then
AC_MSG_WARN(wxDirDialog requires constraints so it won't be compiled without them)
dnl note that we always link with -lm except for Mac OS X
dnl extended.c uses floor() and is always linked in
if test "$USE_MAC" = 1 ; then
- EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -framework System"
+ EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -Llib -lxpm -framework Carbon -framework System"
CFLAGS="${CFLAGS} -fpascal-strings"
CPPFLAGS="${CPPFLAGS} -fpascal-strings"
else
AC_SUBST(PIC_FLAG)
AC_SUBST(DEP_INFO_FLAGS)
AC_SUBST(CODE_GEN_FLAGS)
+AC_SUBST(CODE_GEN_FLAGS_CXX)
AC_SUBST(BURNT_LIBRARY_NAME)
AC_SUBST(BURNT_LIBRARY_NAME_GL)
AC_SUBST(WX_TARGET_LIBRARY_SONAME)
AC_SUBST(WXCONFIG_INCLUDE)
dnl what to compile
-AC_SUBST(GUIHEADERS)
-AC_SUBST(GUIOBJS)
-AC_SUBST(COMMONOBJS)
-AC_SUBST(GENERICOBJS)
-AC_SUBST(GUIDEPS)
-AC_SUBST(COMMONDEPS)
-AC_SUBST(GENERICDEPS)
-AC_SUBST(IODBCOBJS)
-AC_SUBST(UNIXOBJS)
-AC_SUBST(UNIXDEPS)
AC_SUBST(ALL_OBJECTS)
AC_SUBST(ALL_DEPFILES)
dnl the debian build process wants setup.h in the lib subdir so we
dnl can pretend wxWin is already installed, so we *copy* it there
-
+
if test ! -d lib; then
mkdir lib
fi
mkdir lib/wx/include/wx/${TOOLKIT_NAME}
fi
if test -f setup.h; then
- cp -f setup.h lib/wx/include/wx/${TOOLKIT_NAME}/setup.h
+ cp -fp setup.h lib/wx/include/wx/${TOOLKIT_NAME}/setup.h
fi
dnl *move* setup.h to its final place
mkdir include/wx/${TOOLKIT_DIR}
fi
if test -f setup.h; then
- mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
+ cp -fp setup.h include/wx/${TOOLKIT_DIR}/setup.h
fi
],