USE_AIX=1
USE_SYSV=1
USE_SVR4=1
+ dnl Irvin Probst <irvin.probst@fr.thalesgroup.com> reports that the shared
+ dnl libraries under AIX have the same suffix as the normal ones
+ SO_SUFFIX=a
AC_DEFINE(__AIX__)
AC_DEFINE(__SYSV__)
AC_DEFINE(__SVR4__)
;;
*-*-cygwin* | *-*-mingw32* )
- USE_UNIX=0
- USE_WIN32=1
+ dnl MBN: some of the defines have been moved after toolkit detection
+ dnl because for wxMotif/wxGTK/wxX11 to build on Cygwin
+ dnl USE_UNIX must be set and not USE_WIN32
SO_SUFFIX=dll
- AC_DEFINE(__WIN32__)
- AC_DEFINE(__WIN95__)
- AC_DEFINE(__WINDOWS__)
- AC_DEFINE(__GNUWIN32__)
- AC_DEFINE(STRICT)
- AC_DEFINE(WINVER, 0x0400)
PROGRAM_EXT=".exe"
RESCOMP=windres
DEFAULT_DEFAULT_wxUSE_MSW=1
AC_DEFINE(__DOS__)
PROGRAM_EXT=".exe"
DEFAULT_DEFAULT_wxUSE_MGL=1
+ dnl DJGPP needs explicit -lstdc++ for some reason (VS: mayb some versions only?)
+ LIBS="$LIBS -lstdc++"
;;
*-pc-os2_emx | *-pc-os2-emx )
AC_MSG_ERROR(unknown system type ${host}.)
esac
-if test "$USE_UNIX" = 1 ; then
- wxUSE_UNIX=yes
- AC_DEFINE(__UNIX__)
-fi
-
dnl ---------------------------------------------------------------------------
dnl command line options for configure
dnl ---------------------------------------------------------------------------
DEFAULT_wxUSE_PROTOCOL_FTP=no
DEFAULT_wxUSE_PROTOCOL_FILE=no
DEFAULT_wxUSE_URL=no
-
+
DEFAULT_wxUSE_COMMONDLGS=no
DEFAULT_wxUSE_CHOICEDLG=no
DEFAULT_wxUSE_COLOURDLG=no
dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
dnl these values manually
for toolkit in `echo $ALL_TOOLKITS`; do
- LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
- if test "x$LINE" != x ; then
+ LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}`
+ if test "x$LINE" != "x" ; then
has_toolkit_in_cache=1
eval "DEFAULT_$LINE"
eval "CACHE_$toolkit=1"
AC_ARG_WITH(wine, [ --with-wine use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=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])
-AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" CACHE_MGL=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(microwin, [ --with-microwin use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(x11, [ --with-x11 use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX)
-AC_ARG_ENABLE(gtk2, [ --enable-gtk2 use GTK+ 2.0 if available (EXPERIMENTAL)],wxUSE_GTK2="yes",wxUSE_GTK2="no")
+WX_ARG_ENABLE(gtk2, [ --enable-gtk2 use GTK+ 2.0 if available (EXPERIMENTAL)], wxUSE_GTK2)
WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
WX_ARG_ENABLE(compat20, [ --enable-compat20 enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2)
WX_ARG_ENABLE(compat22, [ --disable-compat22 disable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
+AC_ARG_ENABLE(rpath, [ --enable-rpath=DIR output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
+
+if test "$wxRPATH_DIR" != "" -a "$wxRPATH_DIR" != "disable"; then
+ WXCONFIG_RPATH="-Wl,-rpath -Wl,$wxRPATH_DIR"
+fi
+
+
dnl ---------------------------------------------------------------------------
dnl (small) optional non GUI classes
dnl ---------------------------------------------------------------------------
1)
;;
0)
- AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
+ AC_MSG_ERROR(Please specify a toolkit -- cannot determine the default for ${host})
;;
*)
- AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
+ AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
esac
dnl cache the wxUSE_<TOOLKIT> values too
AC_MSG_RESULT(base ($host_alias hosted) only)
fi
+dnl ---------------------------------------------------------------------------
+dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
+dnl 'just' a POSIX platform, so the Win32 API must not be available
+dnl ---------------------------------------------------------------------------
+
+dnl (Windows-only piece)
+wants_win32=0
+doesnt_want_win32=0
+case "${host}" in
+ *-*-cygwin*)
+ if test "$wxUSE_MSW" = 1 ; then
+ wants_win32=1
+ else
+ doesnt_want_win32=1
+ fi
+ ;;
+ *-*-mingw*)
+ wants_win32=1
+ ;;
+esac
+
+dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
+dnl take effect on Cygwin/Mingw and not other platforms.
+if test "$wants_win32" = 1 ; then
+ USE_UNIX=0
+ USE_WIN32=1
+ AC_DEFINE(__WIN32__)
+ AC_DEFINE(__WIN95__)
+ AC_DEFINE(__WINDOWS__)
+ AC_DEFINE(__GNUWIN32__)
+ AC_DEFINE(STRICT)
+ AC_DEFINE(WINVER, 0x0400)
+fi
+if test "$doesnt_want_win32" = 1 ; then
+ USE_UNIX=1
+ USE_WIN32=0
+fi
+dnl (end of Windows-only piece)
+
+if test "$USE_UNIX" = 1 ; then
+ wxUSE_UNIX=yes
+ AC_DEFINE(__UNIX__)
+fi
+
dnl ---------------------------------------------------------------------------
dnl Checks for programs
dnl ---------------------------------------------------------------------------
dnl install checks
dnl defines INSTALL with the appropriate command
AC_PROG_INSTALL
+
+dnl make install path absolute (if not already); will fail with MSDOS paths
+case ${INSTALL} in
+ /* ) # Absolute
+ ;;
+ *)
+ INSTALL=`pwd`/${INSTALL} ;;
+esac
+
+
case "${host}" in
dnl The other BSD's should probably go in here too, since this is
dnl needed for making link to setup.h
AC_PROG_LN_S
+dnl ------------------------------------------------------------------------
+dnl Check for headers
+dnl ------------------------------------------------------------------------
+
+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
+ dnl defines HAVE_STRINGS_H
+ AC_CHECK_HEADERS(strings.h)
+fi
+
+dnl defines HAVE_STDLIB_H
+AC_CHECK_HEADERS(stdlib.h)
+dnl defines HAVE_MALLOC_H
+AC_CHECK_HEADERS(malloc.h)
+dnl defines HAVE_UNISTD_H
+AC_CHECK_HEADERS(unistd.h)
+dnl defines HAVE_WCHAR_H
+AC_CHECK_HEADERS(wchar.h)
+
+dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
+if test "$ac_cv_header_wchar_h" != "yes"; then
+ dnl defines HAVE_WCSTR_H
+ AC_CHECK_HEADERS(wcstr.h)
+fi
+
+dnl defines HAVE_FNMATCH_H
+AC_CHECK_HEADERS(fnmatch.h)
+
+if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
+ AC_CHECK_FUNCS(fnmatch)
+fi
+
+dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
+AC_CHECK_HEADERS(langinfo.h)
+
+if test "$wxUSE_GUI" = "yes"; then
+ if test "$wxUSE_UNIX" = "yes"; then
+ dnl defines HAVE_X11_XKBLIB_H
+ AC_CHECK_HEADERS(X11/XKBlib.h)
+ fi
+fi
+
+dnl ---------------------------------------------------------------------------
+dnl Checks for compiler characteristics
+dnl ---------------------------------------------------------------------------
+
+dnl defines const to be empty if c-compiler does not support const fully
+AC_C_CONST
+dnl defines inline to a sensible value for the c-compiler
+AC_C_INLINE
+
+dnl check the sizes of integral types (give some reasonable default values for
+dnl cross-compiling)
+dnl defines the size of certain types of variables in SIZEOF_<TYPE>
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(void *, 4)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+
+case "${host}" in
+ arm-*-linux* )
+ AC_CHECK_SIZEOF(long long, 8)
+ ;;
+ * )
+ AC_CHECK_SIZEOF(long long, 0)
+esac
+
+dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
+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_TRY_RUN(
+ [
+ #ifdef HAVE_WCHAR_H
+ # ifdef __CYGWIN__
+ # include <stddef.h>
+ # endif
+ # include <wchar.h>
+ #endif
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
+ #include <stdio.h>
+ int main()
+ {
+ FILE *f=fopen("conftestval", "w");
+ if (!f) exit(1);
+ fprintf(f, "%i", sizeof(wchar_t));
+ exit(0);
+ }
+ ],
+ wx_cv_sizeof_wchar_t=`cat conftestval`,
+ wx_cv_sizeof_wchar_t=0,
+ wx_cv_sizeof_wchar_t=4
+ )
+])
+
+AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
+
+dnl check for large file support
+AC_SYS_LARGEFILE
+
+dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
+WX_C_BIGENDIAN
+
+dnl check for iostream (as opposed to iostream.h) standard header
+WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
+
+dnl check whether C++ compiler supports bool built-in type
+WX_CPP_BOOL
+
+dnl check whether C++ compiler supports explicit keyword
+WX_CPP_EXPLICIT
+
dnl ---------------------------------------------------------------------------
dnl Define search path for includes and libraries: all headers and libs will be
dnl looked for in all directories of this path
dnl check for glibc version
dnl
dnl VZ: I have no idea why had this check been there originally, but now
-dnl it is only used to get the recursive mutexes under Linux
+dnl we could probably do without it by just always adding _GNU_SOURCE
if test "$USE_LINUX" = 1; then
AC_CACHE_CHECK([for glibc 2.1 or later], wx_cv_lib_glibc21,[
AC_TRY_COMPILE([#include <features.h>],
fi
fi
+dnl we may need _GNU_SOURCE for 2 things:
+dnl
+dnl 1. to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+ (strictly speaking we
+dnl only need _XOPEN_SOURCE=500 but just defining this disables _BSD_SOURCE
+dnl which breaks libtiff compilation, so it is simpler to just define
+dnl _GNU_SOURCE to get everything)
+dnl
+dnl 2. for Unicode functions
+if test "x$wx_cv_lib_glibc21" = "xyes"; then
+ if test "$wxUSE_UNICODE" = "yes" -o "$wxUSE_THREADS" = "yes"; then
+ AC_DEFINE(_GNU_SOURCE)
+ fi
+fi
+
dnl ---------------------------------------------------------------------------
dnl Optional libraries
dnl
PNG_LINK=
if test "$wxUSE_LIBPNG" != "no" ; then
AC_DEFINE(wxUSE_LIBPNG)
-
+
if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
wxUSE_LIBPNG=sys
;;
esac
+ if test "$WXGTK20" = 1; then
+ if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
+ PKG_CHECK_MODULES(PANGOFT2, pangoft2,
+ [
+ CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
+ LIBS="$LIBS $PANGOFT2_LIBS"
+ ],
+ [
+ AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
+ wxUSE_PRINTING_ARCHITECTURE="no"
+ ]
+ )
+ fi
+ fi
+
TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
GUI_TK_LIBRARY="$wx_cv_libs_gtk"
fi
fi
+ wxUSE_UNIVERSAL="yes"
+
TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
TOOLKIT_INCLUDE="-I$MICROWINDOWS/include"
GUI_TK_LIBRARY="-L$MICROWINDOWS/lib -lmwin -lmwengine -mwfonts -mwdrivers -mwinlib"
+ wxUSE_UNIVERSAL="yes"
+
AFMINSTALL=afminstall
TOOLKIT=MICROWIN
GUIDIST=MICROWIN_DIST
-
- TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__ -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
+
+ TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
fi
if test "$wxUSE_X11" = 1; then
)
fi
+ wxUSE_UNIVERSAL="yes"
+
if test "$wxUSE_NANOX" = "yes"; then
TOOLKIT_INCLUDE="-I\$(top_srcdir)/include/wx/x11/nanox -I\$(MICROWIN)/src/include $TOOLKIT_INCLUDE"
TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__NANOX__ -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_GIF_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DLINUX=1 -DUNIX=1 -DUSE_EXPOSURE -DSCREEN_HEIGHT=480 -DSCREEN_WIDTH=640 -DSCREEN_DEPTH=4 -DX11=1"
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)
+ AC_MSG_RESULT(found in $ac_find_includes)
+ WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
+ TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
else
AC_TRY_COMPILE(
[
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)
+ AC_MSG_RESULT(found at $ac_find_libraries)
+ 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
- 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
+ dnl it might happen that we found headers in one of the
+ dnl standard paths but the libs are elsewhere - we do need to
+ dnl try to compile a sample program then here
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+
AC_TRY_COMPILE(
[
#include <Xm/Xm.h>
AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
]
)
+
+ CFLAGS=$save_CFLAGS
fi
fi
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"
+
xpm_link=" -lXpm"
AC_DEFINE(wxHAVE_LIB_XPM)
AC_MSG_RESULT(found at $ac_find_libraries)
else
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+
AC_TRY_COMPILE(
[
#include <X11/xpm.h>
AC_MSG_WARN(library will be compiled without support for images in XPM format)
]
)
+
+ CFLAGS=$save_CFLAGS
fi
- GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link -lXmu -lXext -lXt -lX11"
+ AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
+ libp_link=""
+ libsm_ice_link=""
+ libs_found=0
+ for libp in "" " -lXp"; do
+ if test "$libs_found" = "0"; then
+ for libsm_ice in " -lSM -lICE"; do
+ if test "$libs_found" = "0"; then
+ save_LIBS="$LIBS"
+ LIBS="$GUI_TK_LIBRARY -lXm${xpm_link} ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
+ save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
+
+ AC_TRY_LINK(
+ [
+ #include <Xm/Xm.h>
+ #include <Xm/List.h>
+ ],
+ [
+ XmString string = NULL;
+ Widget w = NULL;
+ int position = 0;
+ XmListAddItem(w, string, position);
+ ],
+ [
+ libp_link="$libp"
+ libsm_ice_link="$libsm_ice"
+ AC_MSG_RESULT(
+ [need${libp_link}${libsm_ice_link}])
+ libs_found=1
+ ], []
+ )
+
+ LIBS="$save_LIBS"
+ CFLAGS=$save_CFLAGS
+ fi
+ done
+ fi
+ done
+
+ if test "$libs_found" = "0"; then
+ AC_MSG_RESULT([can't find the right libraries])
+ AC_MSG_ERROR([can't link a simple motif program])
+ fi
+
+ 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=MOTIF
GUIDIST=MOTIF_DIST
dnl FIXME: is this GL stuff actually even used for wxMSW? should it be??
- if test "$cross_compiling" != "yes"; then
+ if test "$cross_compiling" != "yes" -a "$TOOLKIT_DIR" = "msw"; 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}"
dnl dynamic shared libraries (in order to embed the resources)
if test "$wxUSE_MAC" = 1; then
dnl the name of the resources file for wxMac
- WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r"
+ WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.r"
WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.rsrc"
fi
;;
;;
*-*-aix* )
- SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
+ dnl the abs path below used to be hardcoded here so I guess it must
+ dnl be some sort of standard location under AIX?
+ AC_CHECK_PROG(AIX_CXX_LD, makeC++SharedLib,
+ makeC++SharedLib, /usr/lpp/xlC/bin/makeC++SharedLib)
+
+ SHARED_LD="$(AIX_CXX_LD) -p 0 -o"
;;
*-*-cygwin* | *-*-mingw32* )
fi
fi
-dnl ------------------------------------------------------------------------
-dnl Check for headers
-dnl ------------------------------------------------------------------------
-
-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
- dnl defines HAVE_STRINGS_H
- AC_CHECK_HEADERS(strings.h)
-fi
-
-dnl defines HAVE_STDLIB_H
-AC_CHECK_HEADERS(stdlib.h)
-dnl defines HAVE_MALLOC_H
-AC_CHECK_HEADERS(malloc.h)
-dnl defines HAVE_UNISTD_H
-AC_CHECK_HEADERS(unistd.h)
-dnl defines HAVE_WCHAR_H
-AC_CHECK_HEADERS(wchar.h)
-
-dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
-if test "$ac_cv_header_wchar_h" != "yes"; then
- dnl defines HAVE_WCSTR_H
- AC_CHECK_HEADERS(wcstr.h)
-fi
-
-dnl checking for wctype.h is useless as we need wcslen(), not just wchar_t and
-dnl this function is never provided by it
-dnl AC_CHECK_HEADERS(wctype.h)
-
-dnl defines HAVE_FNMATCH_H
-AC_CHECK_HEADERS(fnmatch.h)
-
-if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
- AC_CHECK_FUNCS(fnmatch)
-fi
-
-dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
-AC_CHECK_HEADERS(langinfo.h)
-
-if test "$wxUSE_GUI" = "yes"; then
- if test "$wxUSE_UNIX" = "yes"; then
- dnl defines HAVE_X11_XKBLIB_H
- AC_CHECK_HEADERS(X11/XKBlib.h)
- fi
-fi
-
dnl ---------------------------------------------------------------------------
dnl Checks for typedefs
dnl ---------------------------------------------------------------------------
AC_DEFINE(HAVE_PW_GECOS)
fi
-dnl ---------------------------------------------------------------------------
-dnl Checks for compiler characteristics
-dnl ---------------------------------------------------------------------------
-
-dnl defines const to be empty if c-compiler does not support const fully
-AC_C_CONST
-dnl defines inline to a sensible value for the c-compiler
-AC_C_INLINE
-
-dnl check the sizes of integral types (give some reasonable default values for
-dnl cross-compiling)
-dnl defines the size of certain types of variables in SIZEOF_<TYPE>
-AC_CHECK_SIZEOF(char, 1)
-AC_CHECK_SIZEOF(short, 2)
-AC_CHECK_SIZEOF(void *, 4)
-AC_CHECK_SIZEOF(int, 4)
-AC_CHECK_SIZEOF(long, 4)
-
-case "${host}" in
- arm-*-linux* )
- AC_CHECK_SIZEOF(long long, 8)
- ;;
- * )
- AC_CHECK_SIZEOF(long long, 0)
-esac
-
-
-dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
-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_TRY_RUN(
- [
- #ifdef HAVE_WCHAR_H
- # ifdef __CYGWIN__
- # include <stddef.h>
- # endif
- # include <wchar.h>
- #endif
- #ifdef HAVE_STDLIB_H
- # include <stdlib.h>
- #endif
- #include <stdio.h>
- int main()
- {
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%i", sizeof(wchar_t));
- exit(0);
- }
- ],
- wx_cv_sizeof_wchar_t=`cat conftestval`,
- wx_cv_sizeof_wchar_t=0,
- wx_cv_sizeof_wchar_t=4
- )
-])
-
-AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
-
-dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
-WX_C_BIGENDIAN
-
-dnl check for iostream (as opposed to iostream.h) standard header
-WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
-
-dnl check whether C++ compiler supports bool built-in type
-WX_CPP_BOOL
-
dnl ---------------------------------------------------------------------------
dnl Check for functions
dnl ---------------------------------------------------------------------------
dnl don't check for wchar_t functions if we haven't got wchar_t itself
-WCHAR_OK=0
if test "$wx_cv_sizeof_wchar_t" != "0"; then
- dnl check for wcslen
+ AC_DEFINE(wxUSE_WCHAR_T)
+
+ dnl check for wcslen in all possible places
+ WCSLEN_FOUND=0
WCHAR_LINK=
- AC_CHECK_FUNCS(wcslen, [
- AC_DEFINE(HAVE_WCSLEN)
- WCHAR_OK=1
- ])
+ AC_CHECK_FUNCS(wcslen, WCSLEN_FOUND=1)
- if test "$WCHAR_OK" = 0; then
+ if test "$WCSLEN_FOUND" = 0; then
if test "$TOOLKIT" = "MSW"; then
- AC_CHECK_LIB(msvcrt, wcslen, [
- AC_DEFINE(HAVE_WCSLEN)
- WCHAR_OK=1
- ])
+ AC_CHECK_LIB(msvcrt, wcslen, WCHAR_OK=1)
else
AC_CHECK_LIB(w, wcslen, [
- AC_DEFINE(HAVE_WCSLEN)
WCHAR_LINK=" -lw"
- WCHAR_OK=1
+ WCSLEN_FOUND=1
])
fi
fi
-fi
-dnl we need at least the definition of wchar_t itself and wcslen() to compile
-dnl with wchar_t support -- turn it off if we don't have this
-if test "$WCHAR_OK" = 1; then
- AC_DEFINE(wxUSE_WCHAR_T)
+ if test "$WCSLEN_FOUND" = 1; then
+ AC_DEFINE(HAVE_WCSLEN)
+ fi
- dnl also try to use wcsrtombs instead of wcstombs which is buggy in old GNU
+ dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
dnl libc versions if possible
AC_CHECK_FUNCS(wcsrtombs)
else
- dnl use built-in wcslen for Darwin (what about other BSD based systems?)
- if test "$USE_DARWIN" = 1; then
- AC_DEFINE(wxUSE_WCHAR_T)
- else
- AC_MSG_WARN([Wide character support is unavailable])
- fi
+ AC_MSG_WARN([Wide character support is unavailable])
fi
dnl check for vprintf/vsprintf() which are GNU extensions
AC_DEFINE(HAVE_VSSCANF)
fi
+if test "$wxUSE_UNICODE" = yes; then
+ dnl look if we have wide char IO functions
+ AC_CHECK_FUNCS(fputwc wprintf vswprintf)
+fi
+
dnl the following tests are for Unix(like) systems only
if test "$TOOLKIT" != "MSW"; then
dnl and finally the userland threads
THREAD_OPTS="-kthread lthread $THREAD_OPTS c_r"
;;
- *-*-darwin*)
+ *-*-darwin* | *-*-cygwin* )
dnl Darwin / Mac OS X just uses -lpthread tested below
+ dnl and so does Cygwin
THREAD_OPTS=""
;;
*-*-aix*)
dnl defined, we do it by directly assigned
dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
- dnl we need _GNU_SOURCE to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+
- dnl (strictly speaking we only need _XOPEN_SOURCE=500 but just defining
- dnl this disables _BSD_SOURCE which breaks libtiff compilation, so it is
- dnl simpler to just define _GNU_SOURCE to get everything)
- if test "x$wx_cv_lib_glibc21" = "xyes"; then
- CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
- fi
-
AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
[
AC_TRY_COMPILE([#include <pthread.h>],
# they had a reason, right??
CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-pcc-struct-return"
fi
+
+ dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
+ dnl 3.0 overflow the table of contents on rs6000 as they create an entry
+ dnl for each subroutine by default -- using the switch below only creates
+ dnl one entry per file instead at the price of minor performance penalty
+ dnl
+ dnl TODO: test for the gcc version here (how?)
+ case "${host}" in
+ powerpc*-*-aix* )
+ CODE_GEN_FLAGS="$CODE_GEN_FLAGS -mminimal-toc"
+ ;;
+ esac
fi
if test "$wxUSE_OPTIMISE" = "no" ; then
dnl VZ: the GUI hooks wxSocket needs are not implemented yet in wxX11
if test "$wxUSE_SOCKETS" = "yes"; then
- if test "$TOOLKIT" = "X11"; then
- AC_MSG_WARN([wxSocket not yet supported under X11... disabled])
+ if test "$wxUSE_MGL" = "1"; then
+ AC_MSG_WARN([wxSocket not yet supported under MGL... disabled])
wxUSE_SOCKETS="no"
fi
fi
if test "$wxUSE_UNICODE" = "yes" ; then
AC_DEFINE(wxUSE_UNICODE)
-
+
if test "$wxUSE_MSW" != 1; then
wxUSE_UNICODE_MSLU=no
fi
fi
if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
- if test "$wxUSE_UNIVERSAL" = "yes"; then
- AC_MSG_WARN(MDI not yet supported for wxUniversal... disabled)
- wxUSE_MDI_ARCHITECTURE=no
- fi
- if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
- AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
- fi
+dnl There is now experimental generic MDI support
+dnl if test "$wxUSE_UNIVERSAL" = "yes"; then
+dnl AC_MSG_WARN(MDI not yet supported for wxUniversal... disabled)
+dnl wxUSE_MDI_ARCHITECTURE=no
+dnl fi
+
+ if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
+ AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
+ fi
fi
if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
if test "$ac_cv_header_ole2_h" = "yes" ; then
if test "$GCC" = yes ; then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
+ AC_TRY_COMPILE([#include <windows.h>
+ #include <ole2.h>],
+ [],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(yes)
+ CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"])
+ AC_LANG_RESTORE
ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
- CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"
LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
AC_DEFINE(wxUSE_OLE)
fi
if test "$wxUSE_CLIPBOARD" = "yes"; then
- AC_DEFINE(wxUSE_CLIPBOARD)
+ if test "$wxUSE_MGL" = 1; then
+ AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
+ wxUSE_CLIPBOARD=no
+ fi
- dnl required by clipboard code in configuration check
- AC_DEFINE(wxUSE_DATAOBJ)
+ if test "$wxUSE_CLIPBOARD" = "yes"; then
+ AC_DEFINE(wxUSE_CLIPBOARD)
+
+ dnl required by clipboard code in configuration check
+ AC_DEFINE(wxUSE_DATAOBJ)
+ fi
fi
if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
wxUSE_DRAG_AND_DROP=no
fi
+ if test "$wxUSE_MGL" = 1; then
+ AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled])
+ wxUSE_DRAG_AND_DROP=no
+ fi
+
if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
AC_DEFINE(wxUSE_DRAG_AND_DROP)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
else
if test "$wxUSE_PM" = 1; then
AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
- else
+ else
AC_DEFINE(wxUSE_POPUPWIN)
USES_CONTROLS=1
if test "$wxUSE_TIPWINDOW" = "yes"; then
if test "$wxUSE_PM" = 1; then
AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
- else
+ else
AC_DEFINE(wxUSE_TIPWINDOW)
fi
fi
if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
+if test "$TOOLKIT" = "MSW"; then
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
+fi
+
fi
if test "$wxUSE_PROTOCOL" = "yes"; then
dnl ipc, mfc, nativdlg, oleauto, ownerdrw
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \
drawing dynamic erase event exec font image \
- minimal richedit rotate widgets"
+ minimal propsize rotate widgets"
dnl this is needed to be able to find AFM files
CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
dnl remove the extra white space from the cc/c++/ld options
-CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
-CXXFLAGS=`echo $CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
+CFLAGS=`echo $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
+CXXFLAGS=`echo $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
LIBS=`echo $LIBS | sed 's/ \+/ /g'`
LDFLAGS="$LDFLAGS $PROFILE"
AC_SUBST(WXCONFIG_LIBS_STATIC)
AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
AC_SUBST(WXCONFIG_INCLUDE)
+AC_SUBST(WXCONFIG_RPATH)
dnl the list of files to compile/install
AC_SUBST(ALL_OBJECTS)