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=1
WX_REVISION=0
WX_AGE=0
USE_NETBSD=
USE_VMS=
USE_ULTRIX=
-USE_CYGWIN=
-USE_MINGW=
USE_DATA_GENERAL=
dnl on some platforms xxx_r() functions are declared inside "#ifdef
dnl the list of all available toolkits
dnl
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
-ALL_TOOLKITS="CYGWIN GTK MAC MGL MINGW MOTIF PM WINE"
+ALL_TOOLKITS="GTK MAC MGL MOTIF MSW PM WINE"
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_OPTIMISE=no
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
- DEFAULT_wxUSE_NO_RTTI=no
- DEFAULT_wxUSE_NO_EXCEPTIONS=no
+ DEFAULT_wxUSE_NO_RTTI=yes
+ DEFAULT_wxUSE_NO_EXCEPTIONS=yes
DEFAULT_wxUSE_PERMISSIVE=no
DEFAULT_wxUSE_DEBUG_FLAG=yes
DEFAULT_wxUSE_DEBUG_INFO=yes
DEFAULT_wxUSE_OPTIMISE=yes
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
- DEFAULT_wxUSE_NO_RTTI=no
- DEFAULT_wxUSE_NO_EXCEPTIONS=no
+ DEFAULT_wxUSE_NO_RTTI=yes
+ DEFAULT_wxUSE_NO_EXCEPTIONS=yes
DEFAULT_wxUSE_PERMISSIVE=no
DEFAULT_wxUSE_DEBUG_FLAG=no
DEFAULT_wxUSE_DEBUG_INFO=no
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(cygwin, [ --with-cygwin use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1])
-AC_ARG_WITH(mingw, [ --with-mingw use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW 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" CACHE_MGL=1 TOOLKIT_GIVEN=1])
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_MINGW:-0} + ${wxUSE_CYGWIN:-0} \
- + ${wxUSE_MGL:-0}`
+ + ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0}`
dnl Allow wxUSE_PM only for OS/2 with EMX.
dnl Path separator; ':' for unix.
dnl install checks
dnl defines INSTALL with the appropriate command
AC_PROG_INSTALL
+case "${host}" in
+
+ dnl The other BSD's should probably go in here too, since this is
+ dnl to workaround a strange static lib BSDism.
+ dnl Mac OS X install seems to ignore -p option...
+ powerpc-*-darwin* )
+ INSTALL_PROGRAM="cp -fp"
+ INSTALL_DATA="cp -fp"
+ ;;
+ *)
+ ;;
+esac
dnl strip command
dnl defines STRIP as strip or nothing if not found
if test "$wxUSE_REGEX" = "sys" ; then
AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
else
- AC_MSG_WARN([system regex library not found, will compile built-in version instead])
+ AC_MSG_WARN([system regex library not found, will use built-in instead])
wxUSE_REGEX=builtin
fi
else
if test "$wxUSE_ZLIB" = "sys" ; then
AC_MSG_ERROR([system zlib compression library not found! Use --with-zlib=builtin to use built-in version])
else
- AC_MSG_WARN([system zlib compression library not found, will compile built-in version instead])
+ AC_MSG_WARN([system zlib compression library not found, will use built-in instead])
wxUSE_ZLIB=builtin
fi
else
dnl for the check below to have a chance to succeed, we must already have
dnl libz somewhere
if test "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
- AC_MSG_WARN([system png library doesn't work without system zlib, will compile built-in instead])
+ AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
wxUSE_LIBPNG=builtin
fi
if test "$wxUSE_LIBPNG" = "sys" ; then
AC_MSG_ERROR([system png library not found! Use --with-libpng=builtin to use built-in version])
else
- AC_MSG_WARN([system png library not found, will compile built-in version instead])
+ AC_MSG_WARN([system png library not found, will use built-in instead])
wxUSE_LIBPNG=builtin
fi
else
if test "$wxUSE_LIBJPEG" = "sys" ; then
AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
else
- AC_MSG_WARN([system jpeg library not found, will compile built-in version instead])
+ AC_MSG_WARN([system jpeg library not found, will use built-in instead])
wxUSE_LIBJPEG=builtin
fi
else
if test "$wxUSE_LIBTIFF" = "sys" ; then
AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
else
- AC_MSG_WARN([system tiff library not found, will compile built-in version instead])
+ AC_MSG_WARN([system tiff library not found, will use built-in instead])
wxUSE_LIBTIFF=builtin
fi
else
if test "$wxUSE_FREETYPE" = "sys" ; then
AC_MSG_ERROR([system freetype library not found! Use --with-freetype=builtin to use built-in version])
else
- AC_MSG_WARN([system freetype library not found, will compile built-in version instead])
+ AC_MSG_WARN([system freetype library not found, will use built-in instead])
wxUSE_FREETYPE=builtin
fi
else
AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
])
- dnl check if can use _WIN_IE macro
- AC_CACHE_CHECK([if w32api has good enough MSIE support], wx_cv_w32api_win_ie,
+ dnl check if can use _WIN32_IE macro
+ AC_CACHE_CHECK([if w32api has good enough MSIE support], wx_cv_w32api_win32_ie,
[
AC_TRY_COMPILE([#include <w32api.h>],
[
#error You need w32api 1.1 or newer
#endif
], [
- wx_cv_w32api_win_ie=yes
- CPPFLAGS="$CPPFLAGS -D_WIN_IE=0x400"
+ wx_cv_w32api_win32_ie=yes
], [
- wx_cv_w32api_win_ie=no
+ wx_cv_w32api_win32_ie=no
])
])
+ if test "$wx_cv_w32api_win32_ie" = "yes" ; then
+ CPPFLAGS="$CPPFLAGS -D_WIN32_IE=0x400"
+ fi
dnl --- FIXME: This is still a somewhat random list of libs,
dnl --- some of them should probably be included conditionally.
LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
- dnl Cygwin doesn't link these by default
- if test "$wxUSE_CYGWIN" = 1; then
- LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
- fi
+ case "${host}" in
+ *-*-cygwin* )
+ dnl Cygwin doesn't include these by default
+ LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
+ TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
+ esac
dnl add extra odbc libs if we have compiled in odbc
if test "$wxUSE_ODBC" = "yes" ; then
LIBS="$LIBS -lodbc32 -lole32 -loleaut32"
fi
- dnl -mwindows is needed to avoid that spawning of a console window
- dnl This probably doesn't belong here.. The user may actually *want*
- dnl a console window. People should add this to their own app makefiles
- dnl instead. Unless someone cries murder about it, expect this to
- dnl disappear from here soon.
- if test "$wxUSE_MINGW" = 1; then
- LDFLAGS="$LDFLAGS -mwindows"
- fi
-
RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
fi
WXGTK127=
WXGTK20=
- if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
+ if test "$wxUSE_MSW" = 1 ; then
TOOLKIT=MSW
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* )
+ EXTRA_LIBS="$EXTRA_LIBS -Wl,--subsystem,windows -mwindows"
+ esac
fi
if test "$wxUSE_GTK" = 1; then
dnl stupid GTK+ AM macros produce their own messages, so we
dnl have to pass to the next line
gtk_version_cached=0
- AC_MSG_RESULT("")
+ AC_MSG_RESULT()
wx_cv_lib_gtk=
if test "x$wxUSE_GTK2" = "xyes"; then
mgl_lib_type=""
if test "$wxUSE_DEBUG_FLAG" = yes ; then
- if test -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.a ; 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 ; 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.])
dnl ---------------------------------------------------------------------------
if test "$wxUSE_OPENGL" = "yes"; then
if test "$wxUSE_MAC" = 1; then
- AC_DEFINE(wxUSE_OPENGL)
- AC_DEFINE(wxUSE_GLCANVAS)
OPENGL_LIBS="-framework OpenGL -framework AGL"
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
else
+ dnl check for OpenGL libs availability first
AC_CHECK_HEADER(GL/gl.h, [
- AC_DEFINE(wxUSE_OPENGL)
- AC_DEFINE(wxUSE_GLCANVAS)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
AC_CHECK_LIB(GL, glFlush, [
OPENGL_LIBS="-lGL -lGLU"
- ],[
- AC_CHECK_LIB(MesaGL, glFlush, [
+ ], [
+ AC_CHECK_LIB(MesaGL, glFlush, [
OPENGL_LIBS="-lMesaGL -lMesaGLU"
- ],)
- ],)
- ],wxUSE_OPENGL=0)
+ ])
+ ])
+ ])
+
+ if test "x$OPENGL_LIBS" = "x"; then
+ dnl it should be an error and not a warning because OpenGL is not on
+ dnl by default and so if it had been explicitely requested, we
+ dnl shouldn't just fall back to compiling the library without it
+ AC_MSG_ERROR(OpenGL libraries not available)
+ fi
+ fi
+
+ if test "$wxUSE_OPENGL" = "yes"; then
+ AC_DEFINE(wxUSE_OPENGL)
+ AC_DEFINE(wxUSE_GLCANVAS)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
fi
fi
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
fi
-if test "$wxUSE_CYGWIN" = 1 ; then
- TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
+lib_unicode_suffix=
+if test "$wxUSE_UNICODE" = "yes"; then
+ lib_unicode_suffix=u
fi
lib_debug_suffix=
if test "$wxUSE_DEBUG_FLAG" = "yes"; then
lib_debug_suffix=d
- TOOLCHAIN_NAME="${TOOLCHAIN_NAME}d"
fi
-TOOLCHAIN_NAME="${TOOLKIT_DIR}${WIDGET_SET}${lib_debug_suffix}-${WX_RELEASE}"
-TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${WIDGET_SET}${lib_debug_suffix}_gl-${WX_RELEASE}"
+TOOLCHAIN_NAME="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
+TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
if test "$cross_compiling" = "yes"; then
TOOLCHAIN_NAME="${TOOLCHAIN_NAME}-${host_alias}"
WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
-dnl define which libs wx-config should link.
-WXCONFIG_LIBS="-l${WX_LIBRARY}"
-
-if test "$wxUSE_OPENGL" = "yes"; then
- WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} $OPENGL_LIBS"
-fi
-
-dnl the name of the static library
-WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
-WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
-
dnl the name of the shared library
WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
WX_RESOURCES_MACOSX="lib${WX_LIBRARY}.rsrc"
WX_RESOURCES_MACOSX_COMPILED="lib${WX_LIBRARY}.r"
+case "${host}" in
+ *-*-cygwin* | *-*-mingw32* )
+
+ dnl If we are cross compiling we want to use the 'full' unix type name for the
+ dnl lib, but for a native install use the windows style naming convention.
+ dnl (excepting again that we strip the ELF style version numbers off it).
+
+ dnl FIXME: is this GL stuff actually even used for wxMSW? should it be??
+
+ if test "$cross_compiling" != "yes"; then
+ WX_LIBRARY="wxmsw${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
+ WX_LIBRARY_GL="wxmsw_gl${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
+ WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
+ WX_LIBRARY_NAME_SHARED_GL="${WX_LIBRARY_GL}.${SO_SUFFIX}"
+ else
+ WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
+ WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
+ fi
+
+esac
+
+dnl the name of the static library
+WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
+WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
+
+dnl define which libs wx-config should link.
+WXCONFIG_LIBS="-l${WX_LIBRARY}"
+
+if test "$wxUSE_OPENGL" = "yes"; then
+ WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} $OPENGL_LIBS"
+fi
+
+
dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
if test "$wxUSE_SHARED" = "yes"; then
;;
*-*-cygwin* | *-*-mingw32* )
- SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_NAME_STATIC} -o"
+
+ WX_LIBRARY_IMPORTLIB="${WX_LIBRARY_NAME_SHARED}.a"
+
+ SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_IMPORTLIB} -o"
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DWXUSINGDLL=1"
- WXMSW_DLL_DEFINES="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
+
+ PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
dnl install shared libs without symlinks
if test "$wxUSE_OPENGL" = "yes"; then
else
WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
fi
- dnl -fPIC is not required for mingw build -- all code is already
- dnl position independent
- PIC_FLAG=
;;
*-pc-os2_emx | *-pc-os2-emx )
AC_TYPE_UID_T
dnl check for wchar_t
+dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
[
- AC_TRY_COMPILE([#include <wchar.h>],
+ AC_TRY_COMPILE(
+ [
+ #ifdef HAVE_WCHAR_H
+ # include <wchar.h>
+ #endif
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
+ ],
[
wchar_t wc, *ws;
wc = L'a';
AC_CHECK_SIZEOF(long long, 0)
dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
-dnl wchar_t an AC_CHECK_SIZEOF only includes stdio.h
+dnl wchar_t and AC_CHECK_SIZEOF only includes stdio.h
dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
[
AC_DEFINE(wxUSE_HELP)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
- if test "$USE_WIN32" = 1; then
+ if test "$wxUSE_MSW" = 1; then
if test "$wxUSE_MS_HTML_HELP" = "yes"; then
AC_CHECK_HEADER(htmlhelp.h,
[
dnl check for ole headers and disable a few features requiring it if not
dnl present (earlier versions of mingw32 don't have ole2.h)
-if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
- -o "$wxUSE_CLIPBOARD" = "yes" \
- -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
+if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
+ -o "$wxUSE_CLIPBOARD" = "yes" \
+ -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
AC_CHECK_HEADERS(ole2.h)
if test "$ac_cv_header_ole2_h" = "yes" ; then
wxUSE_DATAOBJ=no
fi
- dnl this is for MSW only, so we test for it inside "if USE_WIN32"
if test "$wxUSE_METAFILE" = "yes"; then
AC_DEFINE(wxUSE_METAFILE)
dnl
dnl note that we always link with -lm except for Mac OS X
dnl extended.c uses floor() and is always linked in
-EXTRA_LIBS="$LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -lm"
+EXTRA_LIBS="$EXTRA_LIBS $LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -lm"
if test "$wxUSE_MAC" = 1 ; then
EXTRA_LIBS="$EXTRA_LIBS -framework Carbon -framework System"
AC_SUBST(WX_RELEASE_NUMBER)
AC_SUBST(WX_LIBRARY_NAME_STATIC)
AC_SUBST(WX_LIBRARY_NAME_SHARED)
+AC_SUBST(WX_LIBRARY_IMPORTLIB)
AC_SUBST(WX_TARGET_LIBRARY)
AC_SUBST(WX_LIBRARY_LINK1)
AC_SUBST(WX_LIBRARY_LINK2)
AC_SUBST(TOOLCHAIN_DEFS)
dnl wx-config options
+AC_SUBST(host_alias)
AC_SUBST(cross_compiling)
AC_SUBST(WXCONFIG_LIBS)
AC_SUBST(WXCONFIG_LIBS_GL)
AC_SUBST(EXTRADEFS)
AC_SUBST(LIBS)
AC_SUBST(LD_LIBS)
-AC_SUBST(WXMSW_DLL_DEFINES)
dnl additional resurces settings
AC_SUBST(RESCOMP)