dnl the file passed to AC_INIT should be specific to our package
AC_INIT(wx-config.in)
+AC_CANONICAL_SYSTEM
+
+dnl When making releases do:
+dnl
+dnl WX_RELEASE_NUMBER += 1
+dnl WX_INTERFACE_AGE += 1
dnl WX_BINARY_AGE += 1
dnl
dnl if any functions have been added, do:
WX_MAJOR_VERSION_NUMBER=2
WX_MINOR_VERSION_NUMBER=1
-WX_RELEASE_NUMBER=13
+WX_RELEASE_NUMBER=14
WX_INTERFACE_AGE=0
WX_BINARY_AGE=0
DEFAULT_DEFAULT_wxUSE_WINE=0
DEFAULT_DEFAULT_wxUSE_PM=0
+PROGRAM_EXT=
+
dnl to support a new system, you need to add its canonical name (as determined
dnl by config.sub or specified by the configure command line) to this "case"
dnl and also define the shared library flags below - search for
DEFAULT_wxUSE_THREADS=yes
DEFAULT_wxUSE_SHARED=yes
+ DEFAULT_wxUSE_BURNT_NAME=no
DEFAULT_wxUSE_OPTIMISE=yes
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_LISTBOX=no
DEFAULT_wxUSE_LISTCTRL=no
DEFAULT_wxUSE_NOTEBOOK=no
+ DEFAULT_wxUSE_PLOT=no
DEFAULT_wxUSE_RADIOBOX=no
DEFAULT_wxUSE_RADIOBTN=no
DEFAULT_wxUSE_SASH=no
DEFAULT_wxUSE_THREADS=yes
DEFAULT_wxUSE_SHARED=yes
+ DEFAULT_wxUSE_BURNT_NAME=no
DEFAULT_wxUSE_OPTIMISE=yes
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_COMBOBOX=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
- DEFAULT_wxUSE_NEW_GRID=no
+ DEFAULT_wxUSE_NEW_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_LISTBOX=yes
DEFAULT_wxUSE_LISTCTRL=yes
DEFAULT_wxUSE_NOTEBOOK=yes
+ DEFAULT_wxUSE_PLOT=yes
DEFAULT_wxUSE_RADIOBOX=yes
DEFAULT_wxUSE_RADIOBTN=yes
DEFAULT_wxUSE_SASH=yes
dnl ---------------------------------------------------------------------------
WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED)
+WX_ARG_ENABLE(burnt_name, [ --enable-burnt_name create set name in shared library ], wxUSE_BURNT_NAME)
WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_GAUGE=yes
DEFAULT_wxUSE_GRID=yes
- DEFAULT_wxUSE_NEW_GRID=no
+ DEFAULT_wxUSE_NEW_GRID=yes
DEFAULT_wxUSE_IMAGLIST=yes
DEFAULT_wxUSE_LISTBOX=yes
DEFAULT_wxUSE_LISTCTRL=yes
WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
+WX_ARG_ENABLE(plot, [ --enable-plot use wxPlot], wxUSE_PLOT)
dnl ---------------------------------------------------------------------------
dnl support for image formats that do not rely on external library
*)
PATH_IFS=':'
LEX_STEM="lex.yy"
- PROGRAM_EXT=
;;
esac
dnl AC_MSG_ERROR(please set LDFLAGS to contain the location of libX11)
dnl fi
+ COMPILED_X_PROGRAM=0
+
AC_MSG_CHECKING(for Motif/Lesstif headers)
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
if test "$ac_find_includes" != "" ; then
AC_MSG_RESULT(found $ac_find_includes)
else
- AC_MSG_RESULT(no)
- AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+ AC_TRY_COMPILE(
+ [
+ #include <Xm/Xm.h>
+ ],
+ [
+ int version;
+
+ version = xmUseVersion;
+ ],
+ [
+ AC_MSG_RESULT(found in default search path)
+ COMPILED_X_PROGRAM=1
+ ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
+ ]
+ )
fi
- AC_MSG_CHECKING(for Motif/Lesstif library)
- WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
- if test "$ac_find_libraries" != "" ; then
- WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
- WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
+ if test "$COMPILED_X_PROGRAM" = 0; then
+ AC_MSG_CHECKING(for Motif/Lesstif library)
+ WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
+ if test "$ac_find_libraries" != "" ; then
+ WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
+ WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
- TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
- AC_MSG_RESULT(found at $ac_find_libraries)
- else
- AC_MSG_RESULT(no)
- AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
- fi
+ GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
+ TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
+ AC_MSG_RESULT(found at $ac_find_libraries)
+ else
+ dnl it might happen that we found headers in one of the standard
+ dnl paths but the libs are elsewhere - we do need to try to
+ dnl compile a sample program then here
+ AC_TRY_COMPILE(
+ [
+ #include <Xm/Xm.h>
+ ],
+ [
+ int version;
- AC_MSG_CHECKING(for Xt library)
- WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
- if test "$ac_find_libraries" != "" ; then
- WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
- AC_MSG_RESULT(found at $ac_find_libraries)
- else
- AC_MSG_RESULT(no)
- AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
+ version = xmUseVersion;
+ ],
+ [
+ AC_MSG_RESULT(found in default search path)
+ COMPILED_X_PROGRAM=1
+ ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
+ ]
+ )
+ fi
fi
+ dnl we don't need this as we used AC_PATH_XTRA above which does it for us
+ dnl
+ dnl dnl if we already compiled a sample program, X libs are surely there
+ dnl if test "$COMPILED_X_PROGRAM" = 0; then
+ dnl AC_MSG_CHECKING(for Xt library)
+ dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
+ dnl if test "$ac_find_libraries" != "" ; then
+ dnl WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
+ dnl GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
+ dnl AC_MSG_RESULT(found at $ac_find_libraries)
+ dnl else
+ dnl AC_TRY_COMPILE
+ dnl (
+ dnl [
+ dnl #include <X11/Intrinsic.h>
+ dnl ],
+ dnl [
+ dnl char *p;
+ dnl p = XtMalloc(5);
+ dnl ],
+ dnl [
+ dnl AC_MSG_RESULT(found in default search path)
+ dnl COMPILED_X_PROGRAM=1
+ dnl ],
+ dnl [
+ dnl AC_MSG_RESULT(no)
+ dnl AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
+ dnl ]
+ dnl )
+ dnl fi
+ dnl fi
+
XPM_LINK=""
AC_MSG_CHECKING(for Xpm library)
WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
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)
+ AC_TRY_COMPILE(
+ [
+ #include <X11/xpm.h>
+ ],
+ [
+ int version;
+
+ version = XpmLibraryVersion();
+ ],
+ [
+ XPM_LINK="-lXpm "
+ AC_DEFINE(wxHAVE_LIB_XPM)
+ AC_MSG_RESULT(found in default search path)
+ COMPILED_X_PROGRAM=0
+ ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN(library will be compiled without support for images in XPM format)
+ ]
+ )
fi
GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11 -lm"
WX_LIBRARY="wx_${TOOLKIT_DIR}"
dnl the sources, their dependenices and the headers
- ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(IODBCOBJS)"
+ ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS)"
+
+ dnl ODBC objects are Unix only
+ if test "$TOOLKIT" != "MSW"; then
+ if test "$wxUSE_ODBC" = "yes" ; then
+ ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
+ fi
+ fi
+
if test "$wxUSE_LIBJPEG" = "yes" ; then
ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
fi
PIC_FLAG="-fPIC"
WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
WX_ALL="CREATE_LINKS"
- dnl BURNT_LIBRARY_NAME="-Wl,-soname -Wl,${WX_LIBRARY_NAME_SHARED}"
+ if test "$wxUSE_BURNT_NAME" = "yes" ; then
+ BURNT_LIBRARY_NAME="-Wl,-soname -Wl,${WX_LIBRARY_NAME_SHARED}"
+ fi
;;
*-*-irix5* | *-*-irix6* )
if test "$GCC" = yes ; then
AC_LANG_RESTORE
-if test "$USE_UNIX" = 1; then
+dnl under MSW we always have Sleep()
+if test "$TOOLKIT" != "MSW"; then
dnl check for vfork() (even if it's the same as fork() in modern Unices)
AC_CHECK_FUNCS(vfork)
fi
fi
-dnl Unix
+dnl if !MSW
dnl ===========================================================================
dnl Now we have all the info we need - use it!
dnl thread support for Unix (always available under Win32)
dnl ---------------------------------------------------------------------------
-if test "$USE_UNIX" = 1; then
+dnl under MSW we always have thread support
+if test "$TOOLKIT" != "MSW"; then
dnl the code below:
dnl defines THREADS_OBJ which contains the object files to build
THREADS_LINK="-l$THREADS_LINK"
fi
-dnl from if USE_UNIX
+dnl from if !MSW
fi
if test "$wxUSE_THREADS" = "yes"; then
if test "$wxUSE_MEM_TRACING" = "yes" ; then
AC_DEFINE(wxUSE_MEMORY_TRACING)
AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
+ AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
fi
AC_DEFINE(wxUSE_LONGLONG)
fi
+if test "$wxUSE_PLOT" = "yes"; then
+ AC_DEFINE(wxUSE_PLOT)
+fi
+
if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
AC_DEFINE(wxUSE_DIALUP_MANAGER)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
- dnl check for localtime (POSIX), gettimeofday (SVr4, BSD 4.3) and ftime
- dnl (V7, BSD 4.3)
- AC_CHECK_FUNCS(localtime gettimeofday ftime, break)
+ dnl check for localtime (it's POSIX, but the check can do no harm...)
+ AC_CHECK_FUNCS(localtime)
if test "$ac_cv_func_localtime" = "yes"; then
AC_CACHE_CHECK(for tm_gmtoff in struct tm,
wx_cv_struct_tm_has_gmtoff=no
)
])
- elif test "$ac_cv_func_gettimeofday" = "yes"; then
+ fi
+
+ dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
+ dnl function to be used for high resolution timers
+ AC_CHECK_FUNCS(gettimeofday ftime, break)
+
+ if test "$ac_cv_func_gettimeofday" = "yes"; then
AC_CACHE_CHECK([whether gettimeofday takes two arguments],
wx_cv_func_gettimeofday_has_2_args,
[
dnl wxSocket
dnl ------------------------------------------------------------------------
+dnl under MSW we always have sockets
+if test "$TOOLKIT" != "MSW"; then
+
if test "$wxUSE_SOCKETS" = "yes"; then
dnl under Solaris, socket functions live in -lsocket
AC_CHECK_FUNC(socket,,
)
fi
+fi
+dnl if !MSW
+
if test "$wxUSE_SOCKETS" = "yes" ; then
- AC_LANG_SAVE
- AC_LANG_CPLUSPLUS
dnl determine the type of third argument for getsockname
- AC_MSG_CHECKING(the type of the third argument of getsockname)
- AC_TRY_COMPILE(
- [#include <sys/socket.h>],
- [socklen_t len; getsockname(0, 0, &len);],
- AC_DEFINE(SOCKLEN_T, socklen_t) AC_MSG_RESULT(socklen_t),
- AC_TRY_COMPILE(
- [#include <sys/socket.h>],
- [size_t len; getsockname(0, 0, &len);],
- AC_DEFINE(SOCKLEN_T, size_t) AC_MSG_RESULT(size_t),
+ 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/socket.h>],
- [int len; getsockname(0, 0, &len);],
- AC_DEFINE(SOCKLEN_T, int) AC_MSG_RESULT(int),
- AC_MSG_RESULT(unknown)
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ socklen_t len;
+ 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,
+ 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
+ AC_LANG_RESTORE
+ ])
+
+ if test "$wx_cv_type_getsockname3" = "unknown"; then
+ wxUSE_SOCKETS=no
+ AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
+ else
+ AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
+ fi
+fi
+
+if test "$wxUSE_SOCKETS" = "yes" ; then
AC_DEFINE(wxUSE_SOCKETS)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
dnl Joystick support
dnl ---------------------------------------------------------------------------
+dnl under MSW we always have joystick support
+if test "$TOOLKIT" != "MSW"; then
+
if test "$wxUSE_JOYSTICK" = 1; then
dnl joystick support is only for Linux 2.1.x or greater
AC_CHECK_HEADERS(linux/joystick.h)
- if test "$ac_cv_header_linux_joystick_h" = "yes"; then
+ if test "$ac_cv_header_linux_joystick_h" != "yes"; then
+ wxUSE_JOYSTICK=0
+ AC_MSG_WARN(Joystick not supported yb this system, disabled)
+ fi
+fi
+
+fi
+dnl if !MSW
+
+if test "$wxUSE_JOYSTICK" = 1; then
AC_DEFINE(wxUSE_JOYSTICK)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
- fi
fi
dnl ------------------------------------------------------------------------
dnl DLL support
dnl ------------------------------------------------------------------------
+dnl under MSW we always have LoadLibrary/GetProcAddress
+if test "$TOOLKIT" != "MSW"; then
+
HAVE_DL_FUNCS=0
HAVE_SHL_FUNCS=0
if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
fi
fi
+fi
+dnl if !MSW
+
if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
AC_DEFINE(wxUSE_DYNLIB_CLASS)
else
AC_DEFINE(wxUSE_GAUGE)
fi
-if test "$wxUSE_GRID" = "yes"; then
- AC_DEFINE(wxUSE_GRID)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
-fi
-
if test "$wxUSE_NEW_GRID" = "yes"; then
+ wxUSE_GRID="yes"
AC_DEFINE(wxUSE_NEW_GRID)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
fi
+if test "$wxUSE_GRID" = "yes"; then
+ AC_DEFINE(wxUSE_GRID)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
+fi
+
if test "$wxUSE_IMAGLIST" = "yes"; then
AC_DEFINE(wxUSE_IMAGLIST)
fi
if test "$wxUSE_STATUSBAR" = "yes"; then
AC_DEFINE(wxUSE_STATUSBAR)
+
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
fi
if test "$wxUSE_TABDIALOG" = "yes"; then
if test "$GXX" = yes ; then
dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
CXXWARNINGS="-Wall"
- dnl FIXME: there is one weird warning in docview.h:71 which prevents me from
- dnl doing this... (VZ)
+ dnl should enable this one day...
dnl CXXWARNINGS="-Wall -Werror"
fi
EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
font fractal image minimal richedit"
dnl this is needed to be able to find AFM files
- CPPFLAGS="$CPPFLAGS \$(EXTRADEFS)"
+ CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
else
SAMPLES_SUBDIRS=""
fi
dnl
dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
dnl in this list - hence uniq. But normally, this shouldn't be needed!
-dnl Unfortunately, there is a bug in OS/2's tr, such that
+dnl
+dnl Unfortunately, there is a bug in OS/2's tr, such that
dnl tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
dnl only removes the Unix-like part of the introduced line break.
SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
dnl - and we do use it)
AC_PROG_MAKE_SET
+dnl move setup.h back if available
+if test -d include; then
+ if test -d include/wx; then
+ if test -d include/wx/${TOOLKIT_DIR}; then
+ if test -f include/wx/${TOOLKIT_DIR}/setup.h; then
+ mv -f include/wx/${TOOLKIT_DIR}/setup.h setup.h
+ fi
+ fi
+ fi
+fi
+
AC_CONFIG_HEADER(setup.h:setup.h.in)
dnl some more GUI only things
])
dnl It's needed in glcanvas/Makefile.in so we even have to subst this hack!
- GL_TOOLKIT_DIR=$wx_cv_PATH_glcanvas
+ GL_TOOLKIT_DIR=$wx_cv_path_glcanvas
AC_SUBST(GL_TOOLKIT_DIR)
+ dnl another hack: we need to pass SAMPLES_SUBDIRS to the configure in
+ dnl samples and the only way to do it is, again, use the cache
+ wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS
AC_CONFIG_SUBDIRS(demos samples utils)
fi
dnl from wxUSE_GUI
],
[
chmod +x wx-config
+
+ dnl the debian installer wants setup.h to be in the lib subdir
+ dnl so we *copy* it there
+
+ if test ! -d lib; then
+ mkdir lib
+ fi
+ if test ! -d lib/wx; then
+ mkdir lib/wx
+ fi
+ if test ! -d lib/wx/include; then
+ mkdir lib/wx/include
+ fi
+ if test ! -d lib/wx/include/wx; then
+ mkdir lib/wx/include/wx
+ fi
+ if test ! -d lib/wx/include/wx/${TOOLKIT_DIR}; then
+ mkdir lib/wx/include/wx/${TOOLKIT_DIR}
+ fi
+ if test -f setup.h; then
+ cp -f setup.h lib/wx/include/wx/${TOOLKIT_DIR}/setup.h
+ fi
+
+ dnl *move* setup.h to its final place
+
if test ! -d include; then
mkdir include
fi
if test -f setup.h; then
mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
fi
+
],
[
TOOLKIT_DIR="${TOOLKIT_DIR}"