diff options
author | das <das> | 2005-05-14 20:46:43 (GMT) |
---|---|---|
committer | das <das> | 2005-05-14 20:46:43 (GMT) |
commit | 682791cc06ff9a97bb834ec6e43bbef12687d80a (patch) | |
tree | 8485c76ab6a0159bc2f9c1907dc085c2fc922e72 /unix/tcl.m4 | |
parent | a06d3d0df0e5b9d324676885c38f8b44c09dfa6a (diff) | |
download | tcl-682791cc06ff9a97bb834ec6e43bbef12687d80a.zip tcl-682791cc06ff9a97bb834ec6e43bbef12687d80a.tar.gz tcl-682791cc06ff9a97bb834ec6e43bbef12687d80a.tar.bz2 |
* generic/tclInt.decls:
* generic/tclTest.c:
* generic/tclUtil.c:
* win/tclWin32Dll.c: fixed link error due to direct access by
tclTest.c to the MODULE_SCOPE tclPlatform global: renamed existing
TclWinGetPlatform() accessor to TclGetPlatform() and moved it to
generic code so that it can be used by on all platforms where
MODULE_SCOPE is enforced.
* macosx/tclMacOSXBundle.c:
* unix/tclUnixInit.c:
* unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable
and added test of CoreFoundation availablility to allow building on
ppc64, replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for
availability of Tiger or later OSSpinLockLock API.
* unix/tclUnixNotfy.c:
* unix/Makefile.in:
* macosx/tclMacOSXNotify.c (new file): when CoreFoundation is
available, use new CFRunLoop based notifier: allows easy integration
with other event loops on Mac OS X, in particular the TkAqua Carbon
event loop is now integrated via a standard tcl event source (instead
of TkAqua upon loading having to finalize the exsting notifier and
replace it with its custom version). [Patch 1202052]
* tests/unixNotfy.test: don't run unthreaded tests on Darwin
since notifier may be using threads even in unthreaded core.
* unix/tclUnixPort.h:
* unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning
configure, as Darwin 7 and later realpath is threadsafe.
* macosx/Makefile: enable configure caching.
* unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so
that it can be included more than once without warnings from gcc4.0
(as happens e.g. when including both tclInt.h and tclPort.h)
* macosx/tclMacOSXBundle.c:
* unix/tclUnixChan.c:
* unix/tclLoadDyld.c:
* unix/tclUnixInit.c: fixed gcc 4.0 warnings.
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
* generic/tclIntDecls.h:
* generic/tclIntPlatDecls.h:
* generic/tclStubInit.c: make genstubs
Diffstat (limited to 'unix/tcl.m4')
-rw-r--r-- | unix/tcl.m4 | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/unix/tcl.m4 b/unix/tcl.m4 index bbed997..fc4247f 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -402,6 +402,10 @@ AC_DEFUN(SC_ENABLE_FRAMEWORK, [ AC_MSG_WARN("Frameworks can only be built if --enable-shared is yes") FRAMEWORK_BUILD=0 fi + if test $tcl_corefoundation = no; then + AC_MSG_WARN("Frameworks can only be used when CoreFoundation is available") + FRAMEWORK_BUILD=0 + fi else AC_MSG_RESULT([standard shared library]) FRAMEWORK_BUILD=0 @@ -1406,17 +1410,42 @@ dnl AC_CHECK_TOOL(AR, ar) CC_SEARCH_FLAGS="" LD_SEARCH_FLAGS="" LD_LIBRARY_PATH_VAR="DYLD_LIBRARY_PATH" - PLAT_OBJS="\${MAC_OSX_OBJS}" - PLAT_SRCS="\${MAC_OSX_SRCS}" + PLAT_OBJS='${MAC_OSX_OBJS}' + PLAT_SRCS='${MAC_OSX_SRCS}' TCL_SHLIB_LD_EXTRAS='-compatibility_version ${VERSION} -current_version ${VERSION} -install_name ${DYLIB_INSTALL_DIR}/${TCL_LIB_FILE} -seg1addr 0xa000000' TK_SHLIB_LD_EXTRAS=' -compatibility_version ${VERSION} -current_version ${VERSION} -install_name ${DYLIB_INSTALL_DIR}/${TK_LIB_FILE} -seg1addr 0xb000000 -unexported_symbols_list $$(f=$(TCL_STUB_LIB_FILE).E && nm -gjp $(TCL_BIN_DIR)/$(TCL_STUB_LIB_FILE) | tail +3 > $$f && echo $$f)' - LIBS="$LIBS -framework CoreFoundation" - AC_DEFINE(MAC_OSX_TCL, 1, ["Is this a Mac I see before me?"]) - AC_DEFINE(HAVE_CFBUNDLE, 1, [Do we have access to Mac bundles?]) + AC_MSG_CHECKING([whether to use CoreFoundation]) + AC_ARG_ENABLE(corefoundation, [ --enable-corefoundation use CoreFoundation API [--enable-corefoundation]], + [tcl_corefoundation=$enableval], [tcl_corefoundation=yes]) + AC_MSG_RESULT([$tcl_corefoundation]) + if test $tcl_corefoundation = yes; then + AC_CACHE_CHECK([for CoreFoundation.framework], tcl_cv_lib_corefoundation, [ + hold_libs=$LIBS + LIBS="$LIBS -framework CoreFoundation" + AC_TRY_LINK([#include <CoreFoundation/CoreFoundation.h>], + [CFBundleRef b = CFBundleGetMainBundle();], + tcl_cv_lib_corefoundation=yes, tcl_cv_lib_corefoundation=no) + LIBS=$hold_libs]) + if test $tcl_cv_lib_corefoundation = yes; then + LIBS="$LIBS -framework CoreFoundation" + AC_DEFINE(HAVE_COREFOUNDATION, 1, + [Do we have access to Darwin CoreFoundation.framework ?]) + fi + fi + AC_CHECK_HEADERS(libkern/OSAtomic.h) + AC_CHECK_FUNCS(OSSpinLockLock) + AC_DEFINE(MAC_OSX_TCL, 1, [Is this a Mac I see before me?]) AC_DEFINE(USE_VFORK, 1, [Should we use vfork() instead of fork()?]) AC_DEFINE(TCL_DEFAULT_ENCODING,"utf-8", [Are we to override what our default encoding is?]) AC_DEFINE(MODULE_SCOPE, __private_extern__, [Linker support for module scope symbols]) + # prior to Darwin 7, realpath is not threadsafe, so don't + # use it when threads are enabled, c.f. bug # 711232: + AC_CHECK_FUNC(realpath) + if test "$ac_cv_func_realpath" = yes -a "${TCL_THREADS}" = 1 \ + -a `uname -r | awk -F. '{print [$]1}'` -lt 7 ; then + ac_cv_func_realpath=no + fi ;; NEXTSTEP-*) SHLIB_CFLAGS="" |