From 6ced88f88c2cd3345e86e376f6a961b02c23f423 Mon Sep 17 00:00:00 2001 From: das Date: Mon, 23 Apr 2007 20:46:13 +0000 Subject: * macosx/Tcl-Common.xcconfig: enable more warnings. * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugMemCompile' build configuration that calls configure with --enable-symbols=all; override configure check for __attribute__((__visibility__("hidden"))) in Debug configuration to restore availability of ZeroLink. * macosx/tclMacOSXNotify.c: fix warnings. * macosx/tclMacOSXFCmd.c: const fixes. * macosx/Tcl-Common.xcconfig: fix whitespace. * macosx/Tcl-Debug.xcconfig: * macosx/Tcl-Release.xcconfig: * macosx/README: * macosx/GNUmakefile: fix/add copyright and license refs. * macosx/tclMacOSXBundle.c: * macosx/Tcl-Info.plist.in: * macosx/Wish-Info.plist.in: * macosx/Tcl.xcode/project.pbxproj: * macosx/Tcl.xcodeproj/project.pbxproj: --- ChangeLog | 43 ++++++++++++++++++++++++++++++++---- macosx/GNUmakefile | 21 +++++++++++------- macosx/README | 12 +++++----- macosx/Tcl-Common.xcconfig | 6 ++--- macosx/Tcl-Debug.xcconfig | 4 ++-- macosx/Tcl-Info.plist.in | 17 +++++++++++--- macosx/Tcl-Release.xcconfig | 4 ++-- macosx/Tcl.xcode/project.pbxproj | 1 + macosx/Tcl.xcodeproj/project.pbxproj | 40 +++++++++++++++++++++++++++++++++ macosx/tclMacOSXBundle.c | 12 +++++++--- macosx/tclMacOSXFCmd.c | 13 +++++------ macosx/tclMacOSXNotify.c | 10 ++++----- 12 files changed, 140 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index b1a98b0..b7080b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,42 @@ +2007-04-23 Daniel Steffen + + *** 8.5a6 TAGGED FOR RELEASE *** + + * generic/tclCkalloc.c: fix warnings from gcc build configured with + * generic/tclCompile.c: --enable-64bit --enable-symbols=all. + * generic/tclExecute.c: + + * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open() + * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier. + + * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic. + + * macosx/Tcl-Common.xcconfig: enable more warnings. + + * macosx/Tcl.xcodeproj/project.pbxproj: add 'DebugMemCompile' build + configuration that calls configure with --enable-symbols=all; override + configure check for __attribute__((__visibility__("hidden"))) in Debug + configuration to restore availability of ZeroLink. + + * macosx/tclMacOSXNotify.c: fix warnings. + + * macosx/tclMacOSXFCmd.c: const fixes. + + * macosx/Tcl-Common.xcconfig: fix whitespace. + * macosx/Tcl-Debug.xcconfig: + * macosx/Tcl-Release.xcconfig: + * macosx/README: + + * macosx/GNUmakefile: fix/add copyright and license refs. + * macosx/tclMacOSXBundle.c: + * macosx/Tcl-Info.plist.in: + * macosx/Wish-Info.plist.in: + * macosx/Tcl.xcode/project.pbxproj: + * macosx/Tcl.xcodeproj/project.pbxproj: + + * unix/configure.in: install license.terms into Tcl.framework. + * unix/configure: autoconf-2.59 + 2007-04-23 Don Porter * generic/tclVar.c (UnsetVarStruct): Make sure the @@ -32,10 +71,6 @@ * generic/tclVar.c (TclDeleteNamespaceVars): fixed access to freed memory detected by valgrind. -2007-04-21 Jeff Hobbs - - *** 8.5a6 TAGGED FOR RELEASE *** - 2007-04-20 Miguel Sofer * generic/tclListObj.c (SetListFromAny): avoid discarding internal diff --git a/macosx/GNUmakefile b/macosx/GNUmakefile index 7bcedf2..c121ddf 100644 --- a/macosx/GNUmakefile +++ b/macosx/GNUmakefile @@ -4,7 +4,12 @@ # uses the standard unix build system in tcl/unix (which can be used directly instead of this # if you are not using the tk/macosx projects). # -# RCS: @(#) $Id: GNUmakefile,v 1.4 2006/10/16 18:41:25 das Exp $ +# Copyright (c) 2002-2007 Daniel A. Steffen +# +# See the file "license.terms" for information on usage and redistribution of +# this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# RCS: @(#) $Id: GNUmakefile,v 1.5 2007/04/23 20:46:13 das Exp $ # ######################################################################################################## @@ -18,8 +23,8 @@ BUILD_DIR ?= ${CURDIR}/../../build SYMROOT ?= ${BUILD_DIR}/${PROJECT} OBJROOT ?= ${SYMROOT} -EXTRA_CONFIGURE_ARGS ?= -EXTRA_MAKE_ARGS ?= +EXTRA_CONFIGURE_ARGS ?= +EXTRA_MAKE_ARGS ?= INSTALL_PATH ?= /Library/Frameworks PREFIX ?= /usr/local @@ -28,12 +33,12 @@ LIBDIR ?= ${INSTALL_PATH} MANDIR ?= ${PREFIX}/man # set to non-empty value to install manpages in addition to html help: -INSTALL_MANPAGES ?= +INSTALL_MANPAGES ?= #------------------------------------------------------------------------------------------------------- # meta targets -meta := all install embedded install-embedded clean distclean test +meta := all install embedded install-embedded clean distclean test styles := develop deploy @@ -75,7 +80,7 @@ deploy_make_args := BUILD_STYLE=Deployment INSTALL_TARGET=install-strip \ embedded_make_args := EMBEDDED_BUILD=1 install_make_args := INSTALL_BUILD=1 -${targets}: +${targets}: ${MAKE} ${action}${PROJECT} \ $(foreach s,${styles} embedded install,$(if $(findstring $s,$@),${${s}_make_args})) @@ -122,7 +127,7 @@ ${PROJECT}: ${MAKE} install-${PROJECT} INSTALL_ROOT=${OBJ_DIR}/ ${OBJ_DIR}/Makefile: ${UNIX_DIR}/Makefile.in ${UNIX_DIR}/configure \ - ${UNIX_DIR}/tclConfig.sh.in Tcl-Info.plist.in + ${UNIX_DIR}/tclConfig.sh.in Tcl-Info.plist.in mkdir -p ${OBJ_DIR} && cd ${OBJ_DIR} && \ if [ ${UNIX_DIR}/configure -nt config.status ]; then ${UNIX_DIR}/configure -C \ --prefix=${PREFIX} --bindir=${BINDIR} --libdir=${LIBDIR} \ @@ -188,7 +193,7 @@ clean-${PROJECT}: %-${PROJECT}: distclean-${PROJECT}: %-${PROJECT}: clean-${PROJECT} ${DO_MAKE} rm -rf ${OBJ_DIR} - + test-${PROJECT}: %-${PROJECT}: build-${PROJECT} ${DO_MAKE} diff --git a/macosx/README b/macosx/README index 116b6d4..49c17ce 100644 --- a/macosx/README +++ b/macosx/README @@ -1,7 +1,7 @@ -Tcl Mac OS X README ------------------ +Tcl Mac OS X README +------------------- -RCS: @(#) $Id: README,v 1.11 2007/01/28 01:42:05 das Exp $ +RCS: @(#) $Id: README,v 1.12 2007/04/23 20:46:13 das Exp $ This is the README file for the Mac OS X/Darwin version of Tcl. @@ -157,12 +157,12 @@ where ${ver} is a shell variable containing the tcl version number (for example '8.4.12'). Setup the shell variable as follows: set ver="8.4.12" ;: if your shell is csh - ver="8.4.12" ;: if your shell is sh + ver="8.4.12" ;: if your shell is sh The source tree will be named this way only if you are building from a release archive, if you are building from CVS, the version numbers will be missing; so set ${ver} to the empty string instead: - set ver="" ;: if your shell is csh - ver="" ;: if your shell is sh + set ver="" ;: if your shell is csh + ver="" ;: if your shell is sh - The following steps will build Tcl from the Terminal, assuming you are located in the directory containing the tcl source tree: diff --git a/macosx/Tcl-Common.xcconfig b/macosx/Tcl-Common.xcconfig index abc1792..86fa509 100644 --- a/macosx/Tcl-Common.xcconfig +++ b/macosx/Tcl-Common.xcconfig @@ -1,4 +1,4 @@ -// +// // Tcl-Common.xcconfig -- // // This file contains the Xcode build settings comon to all @@ -9,7 +9,7 @@ // See the file "license.terms" for information on usage and redistribution // of this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// RCS: @(#) $Id: Tcl-Common.xcconfig,v 1.2 2007/03/07 23:43:13 das Exp $ +// RCS: @(#) $Id: Tcl-Common.xcconfig,v 1.3 2007/04/23 20:46:13 das Exp $ // HEADER_SEARCH_PATHS = $(DERIVED_FILE_DIR)/tcl $(HEADER_SEARCH_PATHS) @@ -23,7 +23,7 @@ GCC = /usr/bin/gcc GCC_VERSION = 4.0 CC = $(GCC)-$(GCC_VERSION) WARNING_CFLAGS_GCC3 = -Wall -Wno-implicit-int -Wno-unused-parameter -Wno-deprecated-declarations -WARNING_CFLAGS = -Wextra -Wno-missing-field-initializers $(WARNING_CFLAGS_GCC3) $(WARNING_CFLAGS) +WARNING_CFLAGS = -Wextra -Wno-missing-field-initializers -Winit-self -Wpointer-arith -Wcast-align -Wdisabled-optimization -Winline $(WARNING_CFLAGS_GCC3) $(WARNING_CFLAGS) BINDIR = $(PREFIX)/bin CFLAGS = $(CFLAGS) CPPFLAGS = -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) $(CPPFLAGS) diff --git a/macosx/Tcl-Debug.xcconfig b/macosx/Tcl-Debug.xcconfig index 8110959..9496f6f 100644 --- a/macosx/Tcl-Debug.xcconfig +++ b/macosx/Tcl-Debug.xcconfig @@ -1,4 +1,4 @@ -// +// // Tcl-Debug.xcconfig -- // // This file contains the Xcode build settings for all Debug @@ -9,7 +9,7 @@ // See the file "license.terms" for information on usage and redistribution // of this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// RCS: @(#) $Id: Tcl-Debug.xcconfig,v 1.1 2007/01/28 01:42:05 das Exp $ +// RCS: @(#) $Id: Tcl-Debug.xcconfig,v 1.2 2007/04/23 20:46:13 das Exp $ // #include "Tcl-Common.xcconfig" diff --git a/macosx/Tcl-Info.plist.in b/macosx/Tcl-Info.plist.in index b942956..0c82343 100644 --- a/macosx/Tcl-Info.plist.in +++ b/macosx/Tcl-Info.plist.in @@ -1,5 +1,13 @@ + CFBundleDevelopmentRegion @@ -7,14 +15,17 @@ CFBundleExecutable @TCL_LIB_FILE@ CFBundleGetInfoString - Tcl Library @TCL_VERSION@, Copyright © @TCL_YEAR@ Tcl Core Team. -Initial MacOS X Port by Jim Ingham <jingham@apple.com> & Ian Reid, Copyright © 2001-2002, Apple Computer, Inc. + Tcl @TCL_VERSION@@TCL_PATCH_LEVEL@, +Copyright © @TCL_YEAR@ Tcl Core Team, +Copyright © 2001-@TCL_YEAR@ Daniel A. Steffen, +Initial MacOS X Port by Jim Ingham & Ian Reid, +Copyright © 2001-2002, Apple Computer, Inc. CFBundleIdentifier com.tcltk.tcllibrary CFBundleInfoDictionaryVersion 6.0 CFBundleName - Tcl Library @TCL_VERSION@ + Tcl @TCL_VERSION@ CFBundlePackageType FMWK CFBundleShortVersionString diff --git a/macosx/Tcl-Release.xcconfig b/macosx/Tcl-Release.xcconfig index edb9586..de68bce 100644 --- a/macosx/Tcl-Release.xcconfig +++ b/macosx/Tcl-Release.xcconfig @@ -1,4 +1,4 @@ -// +// // Tcl-Release.xcconfig -- // // This file contains the Xcode build settings for all Release @@ -9,7 +9,7 @@ // See the file "license.terms" for information on usage and redistribution // of this file, and for a DISCLAIMER OF ALL WARRANTIES. // -// RCS: @(#) $Id: Tcl-Release.xcconfig,v 1.1 2007/01/28 01:42:05 das Exp $ +// RCS: @(#) $Id: Tcl-Release.xcconfig,v 1.2 2007/04/23 20:46:13 das Exp $ // #include "Tcl-Common.xcconfig" diff --git a/macosx/Tcl.xcode/project.pbxproj b/macosx/Tcl.xcode/project.pbxproj index b09f781..68ed9a6 100644 --- a/macosx/Tcl.xcode/project.pbxproj +++ b/macosx/Tcl.xcode/project.pbxproj @@ -74,6 +74,7 @@ F966C06F08F281DC005CB29B, 1AB674ADFE9D54B511CA2CBB, ); + comments = "Copyright (c) 2004-2007 Daniel A. Steffen \n\nSee the file \"license.terms\" for information on usage and redistribution of\nthis file, and for a DISCLAIMER OF ALL WARRANTIES.\n\nRCS: @(#) $Id: project.pbxproj,v 1.6 2007/04/23 20:46:14 das Exp $\n"; isa = PBXGroup; name = Tcl; path = .; diff --git a/macosx/Tcl.xcodeproj/project.pbxproj b/macosx/Tcl.xcodeproj/project.pbxproj index 37e921e..cdd0cac 100644 --- a/macosx/Tcl.xcodeproj/project.pbxproj +++ b/macosx/Tcl.xcodeproj/project.pbxproj @@ -932,6 +932,7 @@ F966C06F08F281DC005CB29B /* Frameworks */, 1AB674ADFE9D54B511CA2CBB /* Products */, ); + comments = "Copyright (c) 2004-2007 Daniel A. Steffen \n\nSee the file \"license.terms\" for information on usage and redistribution of\nthis file, and for a DISCLAIMER OF ALL WARRANTIES.\n\nRCS: @(#) $Id: project.pbxproj,v 1.20 2007/04/23 20:46:14 das Exp $\n"; name = Tcl; path = .; sourceTree = SOURCE_ROOT; @@ -2189,6 +2190,40 @@ }; name = ReleaseUniversal; }; + F93084370BB93D2800CD0B9E /* DebugMemCompile */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = tclsh; + }; + name = DebugMemCompile; + }; + F93084380BB93D2800CD0B9E /* DebugMemCompile */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = tcltest; + }; + name = DebugMemCompile; + }; + F93084390BB93D2800CD0B9E /* DebugMemCompile */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = tests; + TCLTEST_OPTIONS = ""; + TCL_LIBRARY = "$(TCL_SRCROOT)/library"; + TEST_RIG = "$(OBJROOT)/$(CONFIGURATION)/tcltest"; + }; + name = DebugMemCompile; + }; + F930843A0BB93D2800CD0B9E /* DebugMemCompile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F97AE8330B65C87F00310EA2 /* Tcl-Debug.xcconfig */; + buildSettings = { + CONFIGURE_ARGS = "$(CONFIGURE_ARGS) --enable-symbols=all"; + MACOSX_DEPLOYMENT_TARGET = 10.2; + PREBINDING = NO; + }; + name = DebugMemCompile; + }; F95CC8AC09158F3100EA5ACE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -2213,6 +2248,7 @@ F95CC8B109158F3100EA5ACE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CONFIGURE_ARGS = "tcl_cv_cc_visibility_hidden=no $(CONFIGURE_ARGS)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_PREPROCESSOR_DEFINITIONS = ( "__private_extern__=extern", @@ -2476,6 +2512,7 @@ buildConfigurations = ( F95CC8AC09158F3100EA5ACE /* Debug */, F95CC8AE09158F3100EA5ACE /* DebugNoFixZL */, + F93084370BB93D2800CD0B9E /* DebugMemCompile */, F97AED1B0B660B2100310EA2 /* Debug64bit */, F95CC8AD09158F3100EA5ACE /* Release */, F91BCC4F093152310042A6BF /* ReleaseUniversal */, @@ -2491,6 +2528,7 @@ buildConfigurations = ( F95CC8B109158F3100EA5ACE /* Debug */, F95CC8B309158F3100EA5ACE /* DebugNoFixZL */, + F93084380BB93D2800CD0B9E /* DebugMemCompile */, F97AED1C0B660B2100310EA2 /* Debug64bit */, F95CC8B209158F3100EA5ACE /* Release */, F91BCC50093152310042A6BF /* ReleaseUniversal */, @@ -2506,6 +2544,7 @@ buildConfigurations = ( F95CC8B609158F3100EA5ACE /* Debug */, F95CC8B809158F3100EA5ACE /* DebugNoFixZL */, + F930843A0BB93D2800CD0B9E /* DebugMemCompile */, F97AED1E0B660B2100310EA2 /* Debug64bit */, F95CC8B709158F3100EA5ACE /* Release */, F91BCC51093152310042A6BF /* ReleaseUniversal */, @@ -2521,6 +2560,7 @@ buildConfigurations = ( F97258A90A86873D00096C78 /* Debug */, F97258AB0A86873D00096C78 /* DebugNoFixZL */, + F93084390BB93D2800CD0B9E /* DebugMemCompile */, F97AED1D0B660B2100310EA2 /* Debug64bit */, F97258AA0A86873D00096C78 /* Release */, F97258AC0A86873D00096C78 /* ReleaseUniversal */, diff --git a/macosx/tclMacOSXBundle.c b/macosx/tclMacOSXBundle.c index 3fcbc0d..469d2f1 100644 --- a/macosx/tclMacOSXBundle.c +++ b/macosx/tclMacOSXBundle.c @@ -4,7 +4,11 @@ * This file implements functions that inspect CFBundle structures on * MacOS X. * - * Copyright 2001, Apple Computer, Inc. + * Copyright 2001, Apple Computer, Inc. + * Copyright (c) 2003-2007 Daniel A. Steffen + * + * See the file "license.terms" for information on usage and redistribution of + * this file, and for a DISCLAIMER OF ALL WARRANTIES. * * The following terms apply to all files originating from Apple * Computer, Inc. ("Apple") and associated with the software unless @@ -43,6 +47,8 @@ * authors grant the U.S. Government and others acting in its behalf * permission to use and distribute the software in accordance with the * terms specified in this license. + * + * RCS: @(#) $Id: tclMacOSXBundle.c,v 1.11 2007/04/23 20:46:13 das Exp $ */ #include "tclPort.h" @@ -142,8 +148,8 @@ Tcl_MacOSXOpenVersionedBundleResources( CFStringRef bundleTailRef = CFURLCopyLastPathComponent(bundleURL); if (bundleTailRef) { - if (CFStringCompare(bundleTailRef, bundleVersionRef, - 0) == kCFCompareEqualTo) { + if (CFStringCompare(bundleTailRef, bundleVersionRef, 0) == + kCFCompareEqualTo) { versionedBundleRef = bundleRef; } CFRelease(bundleTailRef); diff --git a/macosx/tclMacOSXFCmd.c b/macosx/tclMacOSXFCmd.c index 6b32726..885a450 100644 --- a/macosx/tclMacOSXFCmd.c +++ b/macosx/tclMacOSXFCmd.c @@ -4,13 +4,12 @@ * This file implements the MacOSX specific portion of file manipulation * subcommands of the "file" command. * - * Copyright (c) 2003 Tcl Core Team. - * Copyright (c) 2003-2006 Daniel A. Steffen + * Copyright (c) 2003-2007 Daniel A. Steffen * * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacOSXFCmd.c,v 1.11 2007/01/19 01:03:59 das Exp $ + * RCS: @(#) $Id: tclMacOSXFCmd.c,v 1.12 2007/04/23 20:46:14 das Exp $ */ #include "tclInt.h" @@ -71,7 +70,7 @@ typedef u_int32_t OSType; static int GetOSTypeFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, OSType *osTypePtr); -static Tcl_Obj * NewOSTypeObj(CONST OSType newOSType); +static Tcl_Obj * NewOSTypeObj(const OSType newOSType); static int SetOSTypeFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr); static void UpdateStringOfOSType(Tcl_Obj *objPtr); @@ -135,7 +134,7 @@ TclMacOSXGetFileAttribute( fileinfobuf finfo; finderinfo *finder = (finderinfo*)(&finfo.data); off_t *rsrcForkSize = (off_t*)(&finfo.data); - CONST char *native; + const char *native; result = TclpObjStat(fileName, &statBuf); @@ -227,7 +226,7 @@ TclMacOSXSetFileAttribute( fileinfobuf finfo; finderinfo *finder = (finderinfo*)(&finfo.data); off_t *rsrcForkSize = (off_t*)(&finfo.data); - CONST char *native; + const char *native; result = TclpObjStat(fileName, &statBuf); @@ -585,7 +584,7 @@ GetOSTypeFromObj( static Tcl_Obj * NewOSTypeObj( - CONST OSType osType) /* OSType used to initialize the new object. */ + const OSType osType) /* OSType used to initialize the new object. */ { Tcl_Obj *objPtr; diff --git a/macosx/tclMacOSXNotify.c b/macosx/tclMacOSXNotify.c index ecd78ae..be3b162 100644 --- a/macosx/tclMacOSXNotify.c +++ b/macosx/tclMacOSXNotify.c @@ -7,13 +7,12 @@ * * Copyright (c) 1995-1997 Sun Microsystems, Inc. * Copyright 2001, Apple Computer, Inc. - * Copyright (c) 2005 Tcl Core Team. - * Copyright (c) 2005-2006 Daniel A. Steffen + * Copyright (c) 2005-2007 Daniel A. Steffen * * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclMacOSXNotify.c,v 1.13 2007/03/07 23:43:13 das Exp $ + * RCS: @(#) $Id: tclMacOSXNotify.c,v 1.14 2007/04/23 20:46:14 das Exp $ */ #include "tclInt.h" @@ -305,7 +304,8 @@ static CFStringRef tclEventsOnlyRunLoopMode = NULL; * Static routines defined in this file. */ -static void NotifierThreadProc(ClientData clientData); +static void NotifierThreadProc(ClientData clientData) + __attribute__ ((__noreturn__)); static int FileHandlerEventProc(Tcl_Event *evPtr, int flags); #ifdef HAVE_PTHREAD_ATFORK @@ -1239,7 +1239,7 @@ NotifierThreadProc( } } } - pthread_exit (0); + pthread_exit(0); } #ifdef HAVE_PTHREAD_ATFORK -- cgit v0.12