X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9f41d601565ed8fef859133519e90e8793dc7372..9df06f5b696cde13b1220ae6ec60dc6f32d2ab6f:/configure.in diff --git a/configure.in b/configure.in index c1523424e6..7f37257f62 100644 --- a/configure.in +++ b/configure.in @@ -40,7 +40,7 @@ AC_DEFUN(WX_PATH_FIND_LIBRARIES, ac_find_libraries= for ac_dir in $1; do - for ac_extension in a so sl; do + for ac_extension in a so sl dylib; do if test -f "$ac_dir/lib$2.$ac_extension"; then ac_find_libraries=$ac_dir break 2 @@ -393,6 +393,7 @@ USE_SUNOS= USE_ALPHA= USE_OSF= USE_BSD= +USE_DARWIN= USE_FREEBSD= USE_OPENBSD= USE_NETBSD= @@ -556,9 +557,9 @@ case "${host}" in *-*-darwin* ) USE_BSD=1 - USE_MAC=1 - AC_DEFINE(__MAC__) + USE_DARWIN=1 AC_DEFINE(__BSD__) + AC_DEFINE(__DARWIN__) AC_DEFINE(__UNIX__) DEFAULT_DEFAULT_wxUSE_MAC=1 ;; @@ -634,6 +635,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_GUI=yes DEFAULT_wxUSE_CONTROLS=no + DEFAULT_wxUSE_REGEX=no DEFAULT_wxUSE_ZLIB=no DEFAULT_wxUSE_LIBPNG=no DEFAULT_wxUSE_LIBJPEG=no @@ -686,10 +688,12 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_CONSTRAINTS=no DEFAULT_wxUSE_IPC=no DEFAULT_wxUSE_HELP=no + DEFAULT_wxUSE_MS_HTML_HELP=no DEFAULT_wxUSE_WXHTML_HELP=no DEFAULT_wxUSE_WXTREE=no DEFAULT_wxUSE_METAFILE=no DEFAULT_wxUSE_MIMETYPE=no + DEFAULT_wxUSE_SYSTEM_OPTIONS=yes DEFAULT_wxUSE_COMMONDLGS=no DEFAULT_wxUSE_CHOICEDLG=no @@ -787,6 +791,7 @@ else DEFAULT_wxUSE_GUI=yes + DEFAULT_wxUSE_REGEX=yes DEFAULT_wxUSE_ZLIB=yes DEFAULT_wxUSE_LIBPNG=yes DEFAULT_wxUSE_LIBJPEG=yes @@ -839,10 +844,12 @@ else DEFAULT_wxUSE_CONSTRAINTS=yes DEFAULT_wxUSE_IPC=yes DEFAULT_wxUSE_HELP=yes + DEFAULT_wxUSE_MS_HTML_HELP=yes DEFAULT_wxUSE_WXHTML_HELP=yes DEFAULT_wxUSE_WXTREE=yes DEFAULT_wxUSE_METAFILE=yes DEFAULT_wxUSE_MIMETYPE=yes + DEFAULT_wxUSE_SYSTEM_OPTIONS=yes DEFAULT_wxUSE_COMMONDLGS=yes DEFAULT_wxUSE_CHOICEDLG=yes @@ -968,6 +975,7 @@ fi dnl for GUI only WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC) +WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX) WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB) WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC) @@ -1048,6 +1056,7 @@ WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals and pass t WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE) +WX_ARG_ENABLE(system_options, [ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) dnl --------------------------------------------------------------------------- dnl "big" options (i.e. those which change a lot of things throughout the library) @@ -1064,6 +1073,7 @@ dnl --------------------------------------------------------------------------- WX_ARG_ENABLE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE) WX_ARG_ENABLE(help, [ --enable-help use help subsystem], wxUSE_HELP) +WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], wxUSE_MS_HTML_HELP) WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML) WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP) WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS) @@ -1582,25 +1592,24 @@ if test "$wxUSE_GUI" = "yes"; then WXWINE= if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then - if test "$cross_compiling" = "yes" ; then - dnl mingw32 will find them even if they're not in one of standard paths - AC_MSG_WARN(skipping windows.h check for cross-compilation) - else - AC_MSG_CHECKING(for Windows headers) - WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h) - if test "$ac_find_includes" != "" ; then - AC_MSG_RESULT(found $ac_find_includes) - TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes" - else - AC_MSG_RESULT(no) - AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h) - fi - fi + AC_CHECK_HEADER(windows.h, [], + [ + AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h) + ]) INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw" + + dnl VZ: my mingw32 doesn't define WINVER which means that __WIN95__ is + dnl not defined in wx/defs.h and all kinds of things break so I + dnl add it here + dnl + dnl if newer versions of mingw32 do define it, we should + dnl explicitly test for this + CXXFLAGS="${CXXFLAGS} -DWINVER=0x0400" + dnl --- Quick & Dirty ; link against most/all libraries dnl --- This will bloat the executable, but it'll work for now... - LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32" + LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32" dnl add extra odbc libs if we have compiled in odbc if test "$wxUSE_ODBC" = "yes" ; then @@ -2027,6 +2036,12 @@ equivalent variable and GTK+ is version 1.2.3 or above. fi fi + dnl REGEX_INCLUDE is only set if we want regex support and if we use our + dnl own sources and not the system library + if test "x$REGEX_INCLUDE" != "x" ; then + ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)" + fi + if test "$wxUSE_LIBJPEG" = "yes" ; then ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)" fi @@ -2077,6 +2092,9 @@ else dnl this may be (almost) unneccesary for wxBase now we use TOOLKIT_NAME TOOLKIT_DIR="base" + dnl well, we have to set it to something... + TOOLKIT_VPATH="." + dnl the base name of the library and wxXXX-config files if test "$wxUSE_DEBUG_FLAG" = "yes"; then TOOLKIT_NAME="${TOOLKIT_DIR}d" @@ -2090,6 +2108,12 @@ else ALL_OBJECTS="\$(BASE_OBJS) \$(BASE_UNIX_OBJS)" ALL_DEPFILES="\$(BASE_DEPS) \$(BASE_UNIX_DEPS)" + dnl REGEX_INCLUDE is only set if we want regex support and if we use our + dnl own sources and not the system library + if test "x$REGEX_INCLUDE" != "x" ; then + ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)" + fi + if test "$wxUSE_ZLIB" = "yes" ; then ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)" fi @@ -2097,7 +2121,7 @@ else dnl building wxBase only WX_LIBRARY="wx_${TOOLKIT_NAME}" - PORT_FILES="src/files.lst" + PORT_FILES="\${top_srcdir}/src/files.lst" RPM_FILES="src/rpmfiles.lst" RPM_SPEC="wxBase.spec" @@ -2230,6 +2254,9 @@ if test "$wxUSE_SHARED" = "yes"; then fi ;; *-*-darwin* ) + TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__DARWIN__ -D__POWERPC__" + CFLAGS="${CFLAGS} -fno-common" + CPPFLAGS="${CPPFLAGS} -fno-common" SHARED_LD="${CXX} -dynamiclib -o" PIC_FLAG="-dynamic -fPIC" if test "$wxUSE_OPENGL" = "yes"; then @@ -2239,8 +2266,10 @@ if test "$wxUSE_SHARED" = "yes"; then WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS" WX_ALL="CREATE_LINKS" fi - dnl add the resources target - WX_ALL="${WX_ALL} ./lib/lib${WX_LIBRARY}-${WX_RELEASE}.r" + dnl add the resources target for wxMac + if test "$wxUSE_MAC" = 1 ; then + WX_ALL="${WX_ALL} ./lib/lib${WX_LIBRARY}-${WX_RELEASE}.r" + fi dnl the name of the shared library WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.dylib.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}" WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.dylib.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}" @@ -2369,6 +2398,10 @@ if test "$wxUSE_GUI" = "yes"; then fi fi +if test "$USE_WIN32" = 1; then + AC_CHECK_HEADERS(w32api.h) +fi + dnl --------------------------------------------------------------------------- dnl Checks for typedefs dnl --------------------------------------------------------------------------- @@ -2756,7 +2789,7 @@ if test "$USE_BEOS" = 1; then HAVE_SOME_SLEEP_FUNC=1 fi -if test "$USE_MAC" = 1; then +if test "$USE_DARWIN" = 1; then dnl Mac OS X has both nanosleep and usleep dnl but only usleep is defined in unistd.h AC_DEFINE(HAVE_USLEEP) @@ -3036,8 +3069,8 @@ fi if test "$wxUSE_THREADS" = "yes"; then AC_DEFINE(wxUSE_THREADS) - dnl must define _REENTRANT for multithreaded code except for Mac OS X - if test "$wxUSE_MAC" = "0"; then + dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X + if test "$USE_DARWIN" != 1; then CFLAGS="${CFLAGS} -D_REENTRANT" CXXFLAGS="${CXXFLAGS} -D_REENTRANT" fi @@ -3076,9 +3109,9 @@ if test "$WXWINE" = 1 ; then fi if test "$wxUSE_MAC" = 1 ; then - TOOLKIT_DEF="${TOOLKIT_DEF} -D__UNIX__ -D__POWERPC__ -DTARGET_CARBON" - CFLAGS="${CFLAGS} -fno-common -fpascal-strings" - CPPFLAGS="${CPPFLAGS} -cpp-precomp -fno-common -fpascal-strings" + TOOLKIT_DEF="${TOOLKIT_DEF} -DTARGET_CARBON" + CFLAGS="${CFLAGS} -fpascal-strings" + CPPFLAGS="${CPPFLAGS} -cpp-precomp -fpascal-strings" AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez) AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez) RESCOMP=${REZ} @@ -3180,6 +3213,26 @@ dnl --------------------------------------------------------------------------- dnl Optional libraries dnl --------------------------------------------------------------------------- +REGEX_INCLUDE= +if test "$wxUSE_REGEX" != "no"; then + dnl according to Unix 98 specs, regcomp() is in libc but I believe that + dnl on some old systems it may be in libregex - check for it too? + AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp)) + + if test "x$ac_cv_func_regcomp" != "xyes"; then + dnl we were asked to use the system version of regex lib only but it + dnl is not available + if test "$wxUSE_REGEX" = "sys"; then + AC_MSG_ERROR([system regex library not found! Use --with-regex to use the built-in regex library.]) + fi + + dnl fallback to the built in code + REGEX_INCLUDE="-I\${top_srcdir}/src/regex" + fi + + AC_DEFINE(wxUSE_REGEX) +fi + ZLIB_INCLUDE= if test "$wxUSE_ZLIB" = "yes" -o "$wxUSE_ZLIB" = "sys" ; then AC_DEFINE(wxUSE_ZLIB) @@ -3295,17 +3348,23 @@ if test "$wxUSE_FREETYPE" = "yes" -o "$wxUSE_FREETYPE" = "sys" ; then fi if test "$wxUSE_OPENGL" = "yes"; then - AC_CHECK_HEADER(GL/gl.h, [ + if test "$wxUSE_MAC" = 1; then AC_DEFINE(wxUSE_OPENGL) AC_DEFINE(wxUSE_GLCANVAS) - AC_CHECK_LIB(GL, glFlush, [ - OPENGL_LINK="-lGL -lGLU" - ],[ - AC_CHECK_LIB(MesaGL, glFlush, [ - OPENGL_LINK="-lMesaGL -lMesaGLU" - ],) - ],) - ],wxUSE_OPENGL=0) + OPENGL_LINK="-framework OpenGL -framework AGL" + else + AC_CHECK_HEADER(GL/gl.h, [ + AC_DEFINE(wxUSE_OPENGL) + AC_DEFINE(wxUSE_GLCANVAS) + AC_CHECK_LIB(GL, glFlush, [ + OPENGL_LINK="-lGL -lGLU" + ],[ + AC_CHECK_LIB(MesaGL, glFlush, [ + OPENGL_LINK="-lMesaGL -lMesaGLU" + ],) + ],) + ],wxUSE_OPENGL=0) + fi fi dnl --------------------------------------------------------------------------- @@ -3484,10 +3543,10 @@ if test "$wxUSE_DATETIME" = "yes"; then ], [ int tz; - tz = __timezone; + tz = timezone; ], [ - wx_cv_var_timezone=__timezone + wx_cv_var_timezone=timezone ], [ AC_TRY_COMPILE( @@ -3508,10 +3567,10 @@ if test "$wxUSE_DATETIME" = "yes"; then ], [ int tz; - tz = timezone; + tz = __timezone; ], [ - wx_cv_var_timezone=timezone + wx_cv_var_timezone=__timezone ], AC_MSG_ERROR(no timezone variable) ) @@ -3726,8 +3785,8 @@ if test "$TOOLKIT" != "MSW"; then HAVE_DL_FUNCS=0 HAVE_SHL_FUNCS=0 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then - if test "$USE_MAC" = 1; then - dnl Mac OS X needs dl_macosx.c to be compiled in to fake dlopen/dlerror + if test "$USE_DARWIN" = 1; then + dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X HAVE_DL_FUNCS=1 else dnl the test is a bit complicated because we check for dlopen() both with @@ -3868,8 +3927,27 @@ if test "$wxUSE_HELP" = "yes"; then AC_DEFINE(wxUSE_HELP) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help" + if test "$USE_WIN32" = 1; then + if test "$wxUSE_MS_HTML_HELP" = "yes"; then + AC_DEFINE(wxUSE_MS_HTML_HELP) + AC_CHECK_HEADER(htmlhelp.h, + [ + AC_DEFINE(wxUSE_MS_HTML_HELP) + ], + [ + AC_MSG_WARN(MS HTML Help cannot be used without htmlhelp.h so it won't be compiled without it) + wxUSE_MS_HTML_HELP=no + ]) + fi + fi + if test "$wxUSE_WXHTML_HELP" = "yes"; then + if test "$wxUSE_HTML" = "yes"; then AC_DEFINE(wxUSE_WXHTML_HELP) + else + AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled) + wxUSE_WXHTML_HELP=no + fi fi fi @@ -3942,6 +4020,7 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then ALL_DEPFILES="$ALL_DEPFILES \$(OLEDEPS)" CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks" LIBS="$LIBS -lole32 -luuid" + AC_DEFINE(wxUSE_OLE) dnl metafiles need the ole code, right?? if not this dnl doesn't need to be in here. @@ -4209,8 +4288,12 @@ if test "$wxUSE_TREECTRL" = "yes"; then fi if test "$wxUSE_POPUPWIN" = "yes"; then - AC_DEFINE(wxUSE_POPUPWIN) - USES_CONTROLS=1 + if test "$wxUSE_MAC" = 1; then + AC_MSG_WARN(Popup window is not yet supported under Mac OS) + else + AC_DEFINE(wxUSE_POPUPWIN) + USES_CONTROLS=1 + fi fi if test "$USES_CONTROLS" = 1; then @@ -4244,6 +4327,10 @@ if test "$wxUSE_MIMETYPE" = "yes"; then AC_DEFINE(wxUSE_MIMETYPE) fi +if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then + AC_DEFINE(wxUSE_SYSTEM_OPTIONS) +fi + if test "$wxUSE_MINIFRAME" = "yes"; then AC_DEFINE(wxUSE_MINIFRAME) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram" @@ -4372,7 +4459,7 @@ 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" -if test "$USE_MAC" = 1 ; then +if test "$wxUSE_MAC" = 1 ; then EXTRA_LIBS="$EXTRA_LIBS -framework Carbon -framework System" fi if test "$wxUSE_GUI" = "yes"; then @@ -4384,7 +4471,9 @@ dnl makefile system without libtool LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS" dnl all -I options we must pass to the compiler -INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $FREETYPE_INCLUDE $TOOLKIT_INCLUDE" +INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include \ +$REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE \ +$FREETYPE_INCLUDE $TOOLKIT_INCLUDE" dnl wxGTK does not need TOOLKIT includes in wx-config if test "$wxUSE_GTK" = 1; then @@ -4569,11 +4658,12 @@ if test "$wxUSE_GUI" = "yes"; then wx_cv_path_ifs=$PATH_IFS wx_cv_program_ext=$PROGRAM_EXT wx_cv_target_library=$WX_TARGET_LIBRARY + wx_cv_target_library_gl=$WX_TARGET_LIBRARY_GL wx_cv_target_libtype=$WX_TARGET_LIBRARY_TYPE dnl we need to export them because passing them through cache won't dnl work when cache=/dev/null (which is default for autoconf 2.50) export wx_cv_path_samplesubdirs wx_cv_path_ifs wx_cv_program_ext \ - wx_cv_target_library wx_cv_target_libtype + wx_cv_target_library wx_cv_target_library_gl wx_cv_target_libtype AC_CONFIG_SUBDIRS(demos samples utils contrib) fi dnl from wxUSE_GUI