Tcl Source Code

Check-in [7877208a77]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:
* unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and set it to default value ${LIB_RUNTIME_DIR} * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of LIB_RUNTIME_DIR in the -install_name argument to ld. * unix/configure: regen.
* macosx/Tcl.pbproj/project.pbxproj: * macosx/Makefile: added support for building Tcl as an embedded framework, i.e. using an dyld install_name containing @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR unix/Makefile variable.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7877208a77593823e8469552eac1b2c47fc35600
User & Date: das 2002-09-10 09:57:42
Context
2002-09-10
12:42
* macosx/Tcl.pbproj/project.pbxproj: disabled building html documentation during embedded build.
check-in: 5e35a3b50b user: das tags: trunk
09:57
* unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and set it to default value ${LIB_...
check-in: 7877208a77 user: das tags: trunk
09:31
noted sep 10 release date for 8.4.0 check-in: e75351e1ec user: hobbs tags: trunk, core-8-4-0
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.















1
2
3
4
5
6
7













2002-09-10  Jeff Hobbs  <[email protected]>

	*** 8.4.0 TAGGED FOR RELEASE ***

2002-09-06  Don Porter  <[email protected]>

	* doc/file.n:  Format correction, and clarified [file normalize]
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2002-09-10  Daniel Steffen  <[email protected]>

	* unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx
	and set it to default value ${LIB_RUNTIME_DIR}
	* unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of
	LIB_RUNTIME_DIR in the -install_name argument to ld.
	* unix/configure: regen.

	* macosx/Tcl.pbproj/project.pbxproj:
	* macosx/Makefile: added support for building Tcl as an embedded
	framework, i.e. using an dyld install_name containing
	@executable_path/../Frameworks via the new DYLIB_INSTALL_DIR
	unix/Makefile variable.
	
2002-09-10  Jeff Hobbs  <[email protected]>

	*** 8.4.0 TAGGED FOR RELEASE ***

2002-09-06  Don Porter  <[email protected]>

	* doc/file.n:  Format correction, and clarified [file normalize]

Changes to macosx/Makefile.

1
2
3
4
5
6
7
8
9
10
11
12
13
..
20
21
22
23
24
25
26


27
28
29
30
31
32
33




34
35
36
37
38
39
40
..
43
44
45
46
47
48
49












50
51
52
53
54
55
56
################################################################################
#
# Simple makefile for building on Mac OS X with the
# Project Builder command line tool 'pbxbuild'
#
# RCS: @(#) $Id: Makefile,v 1.2 2002/08/31 06:09:45 das Exp $
#
################################################################################

INSTALL_ROOT	=

BUILD_DIR	= ../../build

................................................................................

BUILD		= ${PBXBUILD} SYMROOT="${BUILD_DIR}" -target "${TARGET}"

DEVBUILD	= ${BUILD} -buildstyle "${DEVBUILDSTYLE}"
DEPBUILD	= ${BUILD} -buildstyle "${DEPBUILDSTYLE}"

INSTALLOPTS	= INSTALL_ROOT="${INSTALL_ROOT}"



################################################################################

all: develop deploy

install: install-develop install-deploy





clean: clean-develop clean-deploy

################################################################################

develop:
	${DEVBUILD}

................................................................................

install-develop: 
	${DEVBUILD} install ${INSTALLOPTS}

install-deploy:
	${DEPBUILD} install ${INSTALLOPTS}













clean-develop:
	${DEVBUILD} clean

clean-deploy:
	${DEPBUILD} clean

################################################################################




|







 







>
>







>
>
>
>







 







>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
..
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
..
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
################################################################################
#
# Simple makefile for building on Mac OS X with the
# Project Builder command line tool 'pbxbuild'
#
# RCS: @(#) $Id: Makefile,v 1.3 2002/09/10 09:57:44 das Exp $
#
################################################################################

INSTALL_ROOT	=

BUILD_DIR	= ../../build

................................................................................

BUILD		= ${PBXBUILD} SYMROOT="${BUILD_DIR}" -target "${TARGET}"

DEVBUILD	= ${BUILD} -buildstyle "${DEVBUILDSTYLE}"
DEPBUILD	= ${BUILD} -buildstyle "${DEPBUILDSTYLE}"

INSTALLOPTS	= INSTALL_ROOT="${INSTALL_ROOT}"

EMBEDDEDOPTS	= DYLIB_INSTALL_PATH="@executable_path/../Frameworks"

################################################################################

all: develop deploy

install: install-develop install-deploy

embedded: embedded-develop embedded-deploy

install-embedded: install-embedded-develop install-embedded-deploy

clean: clean-develop clean-deploy

################################################################################

develop:
	${DEVBUILD}

................................................................................

install-develop: 
	${DEVBUILD} install ${INSTALLOPTS}

install-deploy:
	${DEPBUILD} install ${INSTALLOPTS}

embedded-develop: 
	${DEVBUILD} ${EMBEDDEDOPTS}

embedded-deploy:
	${DEPBUILD} ${EMBEDDEDOPTS}

install-embedded-develop: 
	${DEVBUILD} install ${INSTALLOPTS} ${EMBEDDEDOPTS}

install-embedded-deploy:
	${DEPBUILD} install ${INSTALLOPTS} ${EMBEDDEDOPTS}

clean-develop:
	${DEVBUILD} clean

clean-deploy:
	${DEPBUILD} clean

################################################################################

Changes to macosx/Tcl.pbproj/project.pbxproj.

109
110
111
112
113
114
115
116
117
118
119


120


121
122
123
124
125
126
127
...
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
			productName = Configure;
			settingsToExpand = 6;
			settingsToPassInEnvironment = 287;
			settingsToPassOnCommandLine = 280;
			shouldUseHeadermap = 0;
		};
		00E2F84C016E8B780ACA28DC = {
			buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then make tclsh tcltest TCL_LIBRARY=\\\"@[email protected]\\\" ${EXTRA_MAKE_FLAGS} TCL_PACKAGE_PATH=\\\"~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl\\\"; else make clean; fi\"";
			buildPhases = (
			);
			buildSettings = {


				EXTRA_MAKE_FLAGS = "";


				PRODUCT_NAME = Tcl;
			};
			buildToolPath = /bin/sh;
			buildWorkingDirectory = "${TEMP_DIR}/..";
			dependencies = (
				F5877EB5031F7997016F146B,
			);
................................................................................
			generatedFileNames = (
			);
			isa = PBXShellScriptBuildPhase;
			neededFileNames = (
			);
			runOnlyForDeploymentPostprocessing = 1;
			shellPath = /bin/sh;
			shellScript = "# redo prebinding\nif [ ! -d \"${INSTALL_ROOT}/usr/lib\" ]; then ln -fs /usr/lib \"${INSTALL_ROOT}/usr/\"; RM_USRLIB=1; fi\nif [ ! -d \"${INSTALL_ROOT}/System\" ]; then ln -fs /System \"${INSTALL_ROOT}/\"; RM_SYSTEM=1; fi\nredo_prebinding -r \"${INSTALL_ROOT}\" \"${INSTALL_ROOT}/usr/bin/tclsh${FRAMEWORK_VERSION}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f \"${INSTALL_ROOT}/usr/lib\"; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -r ${INSTALL_ROOT}/System; fi";
		};
		F59AE5E3017AC67A01DC9062 = {
			buildActionMask = 8;
			files = (
			);
			generatedFileNames = (
			);
			isa = PBXShellScriptBuildPhase;
			neededFileNames = (
			);
			runOnlyForDeploymentPostprocessing = 1;
			shellPath = /bin/sh;
			shellScript = "# build html documentation\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n    cd \"${TEMP_DIR}/..\"\n    make html DISTDIR=\"${INSTALL_ROOT}${LIBDIR}/Resources/English.lproj/Documentation/Reference\"\n    cd \"${INSTALL_ROOT}${LIBDIR}/Resources/English.lproj/Documentation/Reference\"\n    ln -fs contents.htm html/index.html\n    rm -f \"${PRODUCT_NAME}\"; ln -fs html \"${PRODUCT_NAME}\"\nfi";
		};
		F5A1836F018242A501DC9062 = {
			isa = PBXFileReference;
			path = tclMacOSXBundle.c;
			refType = 4;
		};
		F5BE9BBF02FB5974016F146B = {






|



>
>

>
>







 







|












|







109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
...
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
			productName = Configure;
			settingsToExpand = 6;
			settingsToPassInEnvironment = 287;
			settingsToPassOnCommandLine = 280;
			shouldUseHeadermap = 0;
		};
		00E2F84C016E8B780ACA28DC = {
			buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then gnumake tclsh tcltest TCL_LIBRARY=\\\"@[email protected]\\\" TCL_PACKAGE_PATH=\\\"~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl\\\" DYLIB_INSTALL_DIR=\\\"${DYLIB_INSTALL_DIR}\\\" ${EXTRA_MAKE_FLAGS}; else gnumake clean; fi\"";
			buildPhases = (
			);
			buildSettings = {
				DYLIB_INSTALL_DIR = "${DYLIB_INSTALL_PATH}/${PRODUCT_NAME}.framework/Versions/${FRAMEWORK_VERSION}";
				DYLIB_INSTALL_PATH = "${INSTALL_PATH}";
				EXTRA_MAKE_FLAGS = "";
				FRAMEWORK_VERSION = 8.4;
				INSTALL_PATH = /Library/Frameworks;
				PRODUCT_NAME = Tcl;
			};
			buildToolPath = /bin/sh;
			buildWorkingDirectory = "${TEMP_DIR}/..";
			dependencies = (
				F5877EB5031F7997016F146B,
			);
................................................................................
			generatedFileNames = (
			);
			isa = PBXShellScriptBuildPhase;
			neededFileNames = (
			);
			runOnlyForDeploymentPostprocessing = 1;
			shellPath = /bin/sh;
			shellScript = "if [ `echo \"${DYLIB_INSTALL_PATH:-}\" | grep -c \"@executable_path\"` -gt 0 ]; then\n# if we are embedding frameworks, don't install tclsh\nrm -f \"${INSTALL_ROOT}/usr/bin/tclsh${FRAMEWORK_VERSION}\"\nrmdir -p \"${INSTALL_ROOT}/usr/bin\"\necho \"tclsh removed\"\nelse\n# redo prebinding\ncd \"${INSTALL_ROOT}\"\nif [ ! -d usr/lib ]; then mkdir -p usr; ln -fs /usr/lib usr/; RM_USRLIB=1; fi\nif [ ! -d System ]; then ln -fs /System .; RM_SYSTEM=1; fi\nredo_prebinding -r . \"./usr/bin/tclsh${FRAMEWORK_VERSION}\"\nif [ -n \"${RM_USRLIB:-}\" ]; then rm -f usr/lib; rmdir -p usr; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\nfi";
		};
		F59AE5E3017AC67A01DC9062 = {
			buildActionMask = 8;
			files = (
			);
			generatedFileNames = (
			);
			isa = PBXShellScriptBuildPhase;
			neededFileNames = (
			);
			runOnlyForDeploymentPostprocessing = 1;
			shellPath = /bin/sh;
			shellScript = "# build html documentation\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n    cd \"${TEMP_DIR}/..\"\n    gnumake html DISTDIR=\"${INSTALL_ROOT}${LIBDIR}/Resources/English.lproj/Documentation/Reference\"\n    cd \"${INSTALL_ROOT}${LIBDIR}/Resources/English.lproj/Documentation/Reference\"\n    ln -fs contents.htm html/index.html\n    rm -f \"${PRODUCT_NAME}\"; ln -fs html \"${PRODUCT_NAME}\"\nfi";
		};
		F5A1836F018242A501DC9062 = {
			isa = PBXFileReference;
			path = tclMacOSXBundle.c;
			refType = 4;
		};
		F5BE9BBF02FB5974016F146B = {

Changes to unix/Makefile.in.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
223
224
225
226
227
228
229



230
231
232
233
234
235
236
...
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
#
# This file is a Makefile for Tcl.  If it has the name "Makefile.in"
# then it is a template for a Makefile;  to generate the actual Makefile,
# run "./configure", which is a configuration script generated by the
# "autoconf" program (constructs like "@[email protected]" will get replaced in the
# actual Makefile.
#
# RCS: @(#) $Id: Makefile.in,v 1.115 2002/08/31 06:09:46 das Exp $

VERSION 		= @[email protected]
MAJOR_VERSION		= @[email protected]
MINOR_VERSION		= @[email protected]
PATCH_LEVEL		= @[email protected]

#----------------------------------------------------------------
................................................................................
LIB_FILE		= ${TCL_LIB_FILE}

TCL_LIB_FLAG		= @[email protected]
#TCL_LIB_FLAG		= -ltcl

TCL_EXP_FILE		= @[email protected]
TCL_BUILD_EXP_FILE	= @[email protected]




#----------------------------------------------------------------
# The information below is modified by the configure script when
# Makefile is generated from Makefile.in.  You shouldn't normally
# modify any of this stuff by hand.
#----------------------------------------------------------------

................................................................................
objs: ${OBJS}


tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
	${CC} ${LDFLAGS} ${TCLSH_OBJS} @[email protected] ${LIBS} \
		${CC_SEARCH_FLAGS} -o tclsh

# Resetting the LIB_RUNTIME_DIR below is required so that
# the generated tcltest executable gets the build directory
# burned into its ld search path. This keeps tcltest from
# picking up an already installed version of the Tcl library.

# Resetting the LIB_RUNTIME_DIR below is required so that
# the generated tcltest executable gets the build directory
# burned into its ld search path. This keeps tcltest from
# picking up an already installed version of the Tcl library.

tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
	$(MAKE) tcltest-real LIB_RUNTIME_DIR=`pwd`






|







 







>
>
>







 







<
<
<
<
<







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
...
473
474
475
476
477
478
479





480
481
482
483
484
485
486
#
# This file is a Makefile for Tcl.  If it has the name "Makefile.in"
# then it is a template for a Makefile;  to generate the actual Makefile,
# run "./configure", which is a configuration script generated by the
# "autoconf" program (constructs like "@[email protected]" will get replaced in the
# actual Makefile.
#
# RCS: @(#) $Id: Makefile.in,v 1.116 2002/09/10 09:57:42 das Exp $

VERSION 		= @[email protected]
MAJOR_VERSION		= @[email protected]
MINOR_VERSION		= @[email protected]
PATCH_LEVEL		= @[email protected]

#----------------------------------------------------------------
................................................................................
LIB_FILE		= ${TCL_LIB_FILE}

TCL_LIB_FLAG		= @[email protected]
#TCL_LIB_FLAG		= -ltcl

TCL_EXP_FILE		= @[email protected]
TCL_BUILD_EXP_FILE	= @[email protected]

# support for embedded libraries on Darwin / Mac OS X
DYLIB_INSTALL_DIR	= ${LIB_RUNTIME_DIR}

#----------------------------------------------------------------
# The information below is modified by the configure script when
# Makefile is generated from Makefile.in.  You shouldn't normally
# modify any of this stuff by hand.
#----------------------------------------------------------------

................................................................................
objs: ${OBJS}


tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
	${CC} ${LDFLAGS} ${TCLSH_OBJS} @[email protected] ${LIBS} \
		${CC_SEARCH_FLAGS} -o tclsh






# Resetting the LIB_RUNTIME_DIR below is required so that
# the generated tcltest executable gets the build directory
# burned into its ld search path. This keeps tcltest from
# picking up an already installed version of the Tcl library.

tcltest: ${TCLTEST_OBJS} ${TCL_LIB_FILE} ${BUILD_DLTEST}
	$(MAKE) tcltest-real LIB_RUNTIME_DIR=`pwd`

Changes to unix/configure.

6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
	    	TCL_LIB_VERSIONS_OK=nodots
		;;
	    esac
	    ;;
	Rhapsody-*|Darwin-*)
	    SHLIB_CFLAGS="-fno-common"
	    SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
	    TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
	    TK_SHLIB_LD_EXTRAS="-compatibility_version ${TK_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TK_LIB_FILE} -prebind -seg1addr 0xb000000"
	    SHLIB_LD_LIBS='${LIBS}'
	    SHLIB_SUFFIX=".dylib"
	    DL_OBJS="tclLoadDyld.o"
	    PLAT_OBJS="tclMacOSXBundle.o"
	    DL_LIBS=""
	    LDFLAGS="-prebind"
	    CC_SEARCH_FLAGS=""






|
|







6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
	    	TCL_LIB_VERSIONS_OK=nodots
		;;
	    esac
	    ;;
	Rhapsody-*|Darwin-*)
	    SHLIB_CFLAGS="-fno-common"
	    SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
	    TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_VERSION} -current_version \${VERSION} -install_name \${DYLIB_INSTALL_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
	    TK_SHLIB_LD_EXTRAS="-compatibility_version ${TK_VERSION} -current_version \${VERSION} -install_name \${DYLIB_INSTALL_DIR}/\${TK_LIB_FILE} -prebind -seg1addr 0xb000000"
	    SHLIB_LD_LIBS='${LIBS}'
	    SHLIB_SUFFIX=".dylib"
	    DL_OBJS="tclLoadDyld.o"
	    PLAT_OBJS="tclMacOSXBundle.o"
	    DL_LIBS=""
	    LDFLAGS="-prebind"
	    CC_SEARCH_FLAGS=""

Changes to unix/tcl.m4.

1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
	    	TCL_LIB_VERSIONS_OK=nodots
		;;
	    esac
	    ;;
	Rhapsody-*|Darwin-*)
	    SHLIB_CFLAGS="-fno-common"
	    SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
	    TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
	    TK_SHLIB_LD_EXTRAS="-compatibility_version ${TK_VERSION} -current_version \${VERSION} -install_name \${LIB_RUNTIME_DIR}/\${TK_LIB_FILE} -prebind -seg1addr 0xb000000"
	    SHLIB_LD_LIBS='${LIBS}'
	    SHLIB_SUFFIX=".dylib"
	    DL_OBJS="tclLoadDyld.o"
	    PLAT_OBJS="tclMacOSXBundle.o"
	    DL_LIBS=""
	    LDFLAGS="-prebind"
	    CC_SEARCH_FLAGS=""






|
|







1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
	    	TCL_LIB_VERSIONS_OK=nodots
		;;
	    esac
	    ;;
	Rhapsody-*|Darwin-*)
	    SHLIB_CFLAGS="-fno-common"
	    SHLIB_LD="cc -dynamiclib \${LDFLAGS}"
	    TCL_SHLIB_LD_EXTRAS="-compatibility_version ${TCL_VERSION} -current_version \${VERSION} -install_name \${DYLIB_INSTALL_DIR}/\${TCL_LIB_FILE} -prebind -seg1addr 0xa000000"
	    TK_SHLIB_LD_EXTRAS="-compatibility_version ${TK_VERSION} -current_version \${VERSION} -install_name \${DYLIB_INSTALL_DIR}/\${TK_LIB_FILE} -prebind -seg1addr 0xb000000"
	    SHLIB_LD_LIBS='${LIBS}'
	    SHLIB_SUFFIX=".dylib"
	    DL_OBJS="tclLoadDyld.o"
	    PLAT_OBJS="tclMacOSXBundle.o"
	    DL_LIBS=""
	    LDFLAGS="-prebind"
	    CC_SEARCH_FLAGS=""