X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6e7b8bcbd7f33dbd4289e7f14223856ab1294e19..cc096b11ea824104eff93744eb7ef7072510e5ac:/configure.in diff --git a/configure.in b/configure.in index 8ecd5207bf..92343b8535 100644 --- a/configure.in +++ b/configure.in @@ -369,6 +369,7 @@ DEBUG_CONFIGURE=0 if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_UNIVERSAL=no DEFAULT_wxUSE_STL=no + DEFAULT_wxUSE_EXTENDED_RTTI=no DEFAULT_wxUSE_NANOX=no @@ -466,7 +467,6 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no - DEFAULT_wxUSE_RESOURCES=no DEFAULT_wxUSE_CONSTRAINTS=no DEFAULT_wxUSE_IPC=no DEFAULT_wxUSE_HELP=no @@ -505,6 +505,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_RICHTEXT=no DEFAULT_wxUSE_XRC=no DEFAULT_wxUSE_AUI=no + DEFAULT_wxUSE_STC=no DEFAULT_wxUSE_WEBKIT=no DEFAULT_wxUSE_FILESYSTEM=no DEFAULT_wxUSE_FS_INET=no @@ -535,6 +536,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_DISPLAY=no DEFAULT_wxUSE_DETECT_SM=no DEFAULT_wxUSE_DIRPICKERCTRL=no + DEFAULT_wxUSE_EDITABLELISTBOX=no DEFAULT_wxUSE_FILEPICKERCTRL=no DEFAULT_wxUSE_FONTPICKERCTRL=no DEFAULT_wxUSE_GAUGE=no @@ -575,6 +577,8 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_UNICODE=no DEFAULT_wxUSE_UNICODE_MSLU=no + DEFAULT_wxUSE_UNICODE_UTF8=auto + DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no DEFAULT_wxUSE_WCSRTOMBS=no DEFAULT_wxUSE_PALETTE=no @@ -594,6 +598,7 @@ if test $DEBUG_CONFIGURE = 1; then else DEFAULT_wxUSE_UNIVERSAL=no DEFAULT_wxUSE_STL=no + DEFAULT_wxUSE_EXTENDED_RTTI=no DEFAULT_wxUSE_NANOX=no @@ -690,7 +695,6 @@ else DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes - DEFAULT_wxUSE_RESOURCES=no DEFAULT_wxUSE_CONSTRAINTS=yes DEFAULT_wxUSE_IPC=yes DEFAULT_wxUSE_HELP=yes @@ -729,6 +733,7 @@ else DEFAULT_wxUSE_RICHTEXT=yes DEFAULT_wxUSE_XRC=yes DEFAULT_wxUSE_AUI=yes + DEFAULT_wxUSE_STC=yes DEFAULT_wxUSE_WEBKIT=yes DEFAULT_wxUSE_FILESYSTEM=yes DEFAULT_wxUSE_FS_INET=yes @@ -759,6 +764,7 @@ else DEFAULT_wxUSE_DISPLAY=yes DEFAULT_wxUSE_DETECT_SM=yes DEFAULT_wxUSE_DIRPICKERCTRL=yes + DEFAULT_wxUSE_EDITABLELISTBOX=yes DEFAULT_wxUSE_FILEPICKERCTRL=yes DEFAULT_wxUSE_FONTPICKERCTRL=yes DEFAULT_wxUSE_GAUGE=yes @@ -799,6 +805,8 @@ else DEFAULT_wxUSE_UNICODE=no DEFAULT_wxUSE_UNICODE_MSLU=yes + DEFAULT_wxUSE_UNICODE_UTF8=auto + DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no DEFAULT_wxUSE_WCSRTOMBS=no DEFAULT_wxUSE_PALETTE=yes @@ -909,6 +917,7 @@ WX_ARG_ENABLE(shared, [ --enable-shared create shared library code 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) WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL) +WX_ARG_ENABLE(extended_rtti, [ --enable-extended_rtti use extended RTTI (XTI)], wxUSE_EXTENDED_RTTI) if test "$USE_OS2" = "1"; then DEFAULT_wxUSE_OMF=no WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF) @@ -984,6 +993,8 @@ WX_ARG_ENABLE(log, [ --enable-log use logging system], wxU WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG) WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU) +WX_ARG_ENABLE_PARAM(utf8, [ --enable-utf8 use UTF-8 representation for strings (Unix only)], wxUSE_UNICODE_UTF8) +WX_ARG_ENABLE(utf8only, [ --enable-utf8only only support UTF-8 locales in UTF-8 build (Unix only)], wxUSE_UNICODE_UTF8_LOCALE) WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM) WX_ARG_ENABLE(std_string, [ --enable-std_string use standard C++ string classes], wxUSE_STD_STRING) @@ -1029,6 +1040,7 @@ WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], w WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP) WX_ARG_ENABLE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC) WX_ARG_ENABLE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI) +WX_ARG_ENABLE(stc, [ --enable-stc use wxStyledTextCtrl library], wxUSE_STC) WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS) WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE) WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI) @@ -1049,13 +1061,6 @@ dnl VZ: these options seem to be always on, if someone wants to change it please dnl WX_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts], dnl wxUSE_NORMALIZED_PS_FONTS) dnl WX_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table], dnl wxUSE_AFM_FOR_POSTSCRIPT) -dnl --------------------------------------------------------------------------- -dnl resources -dnl --------------------------------------------------------------------------- - -WX_ARG_ENABLE(prologio, [ --enable-prologio not available; see contrib], wxUSE_PROLOGIO) -WX_ARG_ENABLE(resources, [ --enable-resources not available; see contrib], wxUSE_RESOURCES) - dnl --------------------------------------------------------------------------- dnl IPC &c dnl --------------------------------------------------------------------------- @@ -1202,6 +1207,7 @@ WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class WX_ARG_ENABLE(dirpicker, [ --enable-dirpicker use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL) WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY) WX_ARG_ENABLE(detect_sm, [ --enable-detect_sm use code to detect X11 session manager], wxUSE_DETECT_SM) +WX_ARG_ENABLE(editablebox, [ --enable-editablebox use wxEditableListBox class], wxUSE_EDITABLELISTBOX) WX_ARG_ENABLE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL) WX_ARG_ENABLE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL) WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) @@ -1464,6 +1470,13 @@ dnl see CFLAGS line above CXXFLAGS=${CXXFLAGS:=} AC_BAKEFILE_PROG_CXX +dnl configure always sets CXX to something as it falls back to g++ even if no +dnl C++ compiler was found, but we prefer to abort now with a clear error +dnl message rather than give errors about all tests failures below +if test "$CXX" = "g++" -a "$GXX" != "yes"; then + AC_MSG_ERROR([C++ compiler is needed to build wxWidgets]) +fi + dnl ranlib command dnl defines RANLIB with the appropriate command AC_PROG_RANLIB @@ -1858,6 +1871,9 @@ if test "$USE_UNIX" = 1 ; then AC_CHECK_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()]) fi +dnl defines HAVE_SYS_EPOLL_H - for epoll mainloop implementation in wxbase +AC_CHECK_HEADERS(sys/epoll.h) + dnl --------------------------------------------------------------------------- dnl Checks for compiler characteristics dnl --------------------------------------------------------------------------- @@ -1870,7 +1886,6 @@ 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_ -AC_CHECK_SIZEOF(char, 1) AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(void *, 4) AC_CHECK_SIZEOF(int, 4) @@ -1922,6 +1937,7 @@ dnl checks needed to define wxVaCopy AC_CACHE_CHECK([for va_copy], wx_cv_func_va_copy, [ + AC_LANG_PUSH(C++) AC_LINK_IFELSE([ #include void foo(char *f, ...) @@ -1940,6 +1956,7 @@ AC_CACHE_CHECK([for va_copy], wx_cv_func_va_copy=yes, wx_cv_func_va_copy=no ) + AC_LANG_POP() ] ) @@ -3826,6 +3843,23 @@ else DISTDIR="wxBase" fi + +dnl --------------------------------------------------------------------------- +dnl UTF-8 support +dnl --------------------------------------------------------------------------- + +dnl If UTF-8 support wasn't explicitly enabled or disabled, enable it only +dnl for ports where it makes sense by default (GTK+, DirectFB): +if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "auto" ; then + if test "$TOOLKIT" = "DFB" ; then + wxUSE_UNICODE_UTF8=yes + elif test "$TOOLKIT" = "GTK" -a "$WXGTK20" = "1" ; then + wxUSE_UNICODE_UTF8=yes + else + wxUSE_UNICODE_UTF8=no + fi +fi + dnl --------------------------------------------------------------------------- dnl Optional libraries included when system library is not used dnl --------------------------------------------------------------------------- @@ -4691,7 +4725,11 @@ if test "$wxUSE_FILE" = "yes"; then WX_CHECK_FUNCS(fsync) fi +dnl at least under IRIX with mipsPro the C99 round() function is available when +dnl building using the C compiler but not when using C++ one +AC_LANG_PUSH(C++) WX_CHECK_FUNCS(round,,,[#include ]) +AC_LANG_POP() dnl the following tests are for Unix(like) systems only if test "$TOOLKIT" != "MSW"; then @@ -5015,37 +5053,6 @@ WX_CHECK_FUNCS(fdopen) fi -dnl if !MSW - - -dnl ------------------------------------------ -dnl Checks specific to contrib libs (MMedia) -dnl ------------------------------------------ - -dnl Check for ESD: -EXTRALIBS_ESD= -AC_CHECK_LIB(esd, esd_close, [ - AC_CHECK_HEADER([esd.h], [ - EXTRALIBS_ESD="-lesd" - ], - [], - [ ]) -]) -AC_SUBST(EXTRALIBS_ESD) - -dnl check for known CD-ROM interface -AC_MSG_CHECKING([for known CD-ROM interface]) -AC_TRY_COMPILE([#ifdef __linux__ - #include - #else - /* For Solaris */ - #include - #endif - ], - [struct cdrom_tocentry entry, old_entry;], - [AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)], - [AC_MSG_RESULT([no])]) dnl =========================================================================== dnl Now we have all the info we need - use it! @@ -5309,6 +5316,10 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then AC_DEFINE(HAVE_PTHREAD_CANCEL), AC_MSG_WARN([wxThread::Kill() will not work properly])) + AC_CHECK_FUNC(pthread_mutex_timedlock, + AC_DEFINE(HAVE_PTHREAD_MUTEX_TIMEDLOCK), + AC_MSG_WARN([wxMutex::LockTimeout() will not work])) + AC_CHECK_FUNC(pthread_attr_setstacksize, AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)) @@ -5737,6 +5748,10 @@ if test "$wxUSE_STL" = "yes"; then AC_DEFINE(wxUSE_STL) fi +if test "$wxUSE_EXTENDED_RTTI" = "yes"; then + AC_DEFINE(wxUSE_EXTENDED_RTTI) +fi + if test "$wxUSE_APPLE_IEEE" = "yes"; then AC_DEFINE(wxUSE_APPLE_IEEE) fi @@ -5785,8 +5800,6 @@ if test "$USE_UNIX" = "1" ; then if test "$ac_cv_header_sys_soundcard" = "yes"; then AC_DEFINE(HAVE_SYS_SOUNDCARD_H) - else - DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia" fi fi @@ -6331,6 +6344,12 @@ if test "$wxUSE_SOCKETS" = "yes" ; then AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt], wx_cv_type_getsockopt5, [ + dnl Note that the rules for compatibility of pointers + dnl are somewhat different between C and C++, so code + dnl that fails in C++ may not even give a warning about + dnl converting between incompatible pointer types in C. + dnl So this test needs to be done in C++ mode. + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -6342,12 +6361,6 @@ if test "$wxUSE_SOCKETS" = "yes" ; then ], wx_cv_type_getsockopt5=socklen_t, [ - dnl Note that the rules for compatibility of pointers - dnl are somewhat different between C and C++, so code - dnl that fails in C++ may not even give a warning about - dnl converting between incompatible pointer types in C. - dnl So this test needs to be done in C++ mode. - AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -6371,9 +6384,9 @@ if test "$wxUSE_SOCKETS" = "yes" ; then wx_cv_type_getsockopt5=unknown ) ) - AC_LANG_POP() ] ) + AC_LANG_POP() ]) if test "$wx_cv_type_getsockopt5" = "unknown"; then @@ -6512,6 +6525,14 @@ if test "$wxUSE_UNICODE" = "yes" ; then fi fi +if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "yes"; then + AC_DEFINE(wxUSE_UNICODE_UTF8) + + if test "$wxUSE_UNICODE_UTF8_LOCALE" = "yes"; then + AC_DEFINE(wxUSE_UTF8_LOCALE_ONLY) + fi +fi + if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF) fi @@ -6583,9 +6604,6 @@ if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing" fi -if test "$wxUSE_PROLOGIO" = "yes" -o "$wxUSE_RESOURCES" = "yes"; then - AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only]) -fi dnl --------------------------------------------------------------------------- dnl wxMetafile availability @@ -6887,6 +6905,12 @@ if test "$wxUSE_LISTCTRL" = "yes"; then fi fi +if test "$wxUSE_EDITABLELISTBOX" = "yes"; then + AC_DEFINE(wxUSE_EDITABLELISTBOX) + USES_CONTROLS=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS editlbox" +fi + if test "$wxUSE_NOTEBOOK" = "yes"; then AC_DEFINE(wxUSE_NOTEBOOK) USES_CONTROLS=1 @@ -7165,6 +7189,13 @@ if test "$wxUSE_AUI" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui" fi +USE_STC=0 +if test "$wxUSE_STC" = "yes"; then + AC_DEFINE(wxUSE_STC) + USE_STC=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS stc" +fi + if test "$wxUSE_MENUS" = "yes"; then AC_DEFINE(wxUSE_MENUS) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu" @@ -7481,6 +7512,9 @@ fi if test "$wxUSE_AUI" = "yes" ; then CORE_GUI_LIBS="aui $CORE_GUI_LIBS" fi +if test "$wxUSE_STC" = "yes" ; then + CORE_GUI_LIBS="stc $CORE_GUI_LIBS" +fi if test "$wxUSE_GUI" != "yes"; then CORE_GUI_LIBS="" @@ -7530,7 +7564,7 @@ if test "$wxUSE_GUI" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \ dynamic erase event exec font image minimal mobile \ mobile/wxedit mobile/styles propsize render \ - rotate shaped vscroll widgets" + rotate shaped svg taborder vscroll widgets" if test "$wxUSE_MONOLITHIC" != "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console" @@ -7607,7 +7641,7 @@ CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \ C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS" CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS ` -CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS ` +CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $C_AND_CXX_FLAGS $CXXFLAGS ` dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config dnl only stuff to it @@ -7635,6 +7669,7 @@ EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS" EXTRALIBS_XML="$EXPAT_LINK" EXTRALIBS_HTML="$MSPACK_LINK" EXTRALIBS_ODBC="$ODBC_LINK" +EXTRALIBS_STC="-lwxscintilla${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}" if test "$wxUSE_GUI" = "yes"; then EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT` fi @@ -7738,6 +7773,7 @@ AC_SUBST(WXUNIV) AC_SUBST(MONOLITHIC) AC_SUBST(USE_PLUGINS) AC_SUBST(LIBS) +AC_SUBST(CXXWARNINGS) AC_SUBST(EXTRALIBS) AC_SUBST(EXTRALIBS_XML) AC_SUBST(EXTRALIBS_HTML) @@ -8084,23 +8120,18 @@ dnl resembles an installed wx in prefix=$builddir. It is troublesome dnl though in this form because AC_CONFIG_LINKS will fail for directories dnl on platforms that do not have symlinks. dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ]) -dnl AC_CONFIG_LINKS([ contrib/include ]) if test "$wxWITH_SUBDIRS" != "no"; then -dnl Configure samples, contrib etc. directories, but only if they are present: +dnl Configure samples, demos etc. directories, but only if they are present: if test "$wxUSE_GUI" = "yes"; then - SUBDIRS="samples demos utils contrib" + SUBDIRS="samples demos utils" else dnl we build wxBase only - dnl there are no wxBase programs in contrib nor demos + dnl there are no wxBase programs in demos SUBDIRS="samples utils" fi dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"]) -if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then - DISABLED_CONTRIB="$DISABLED_CONTRIB net" -fi - for subdir in `echo $SUBDIRS`; do if test -d ${srcdir}/${subdir} ; then if test "$wxUSE_GUI" = "yes"; then @@ -8116,7 +8147,7 @@ for subdir in `echo $SUBDIRS`; do else dnl assume that everything compiles for utils &c dnl any that shouldn't be built can be added to - dnl DISABLED_UTILS, DISABLED_CONTRIB or DISABLED_DEMOS + dnl DISABLED_UTILS, DISABLED_DEMOS disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`; eval "disabled=\$$disabled_var" disabled=/`echo X $disabled | sed 's@ @/|/@g'`/ @@ -8160,7 +8191,16 @@ echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITH echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}" echo " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}" -echo " Should wxWidgets be compiled in Unicode mode? ${wxUSE_UNICODE:-no}" +echo -n " Should wxWidgets support Unicode? ${wxUSE_UNICODE:-no}" +if test "$wxUSE_UNICODE" = "yes"; then + if test "$wxUSE_UNICODE_UTF8" = "yes"; then + echo " (using UTF-8)" + else + echo " (using wchar_t)" + fi +else + echo +fi echo " What level of wxWidgets compatibility should be enabled?" echo " wxWidgets 2.6 ${WXWIN_COMPATIBILITY_2_6:-no}"