summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordas <das>2002-09-26 17:06:13 (GMT)
committerdas <das>2002-09-26 17:06:13 (GMT)
commitc617b8641b937f02e006a2d6669dbd861d8aa8fc (patch)
treee3513cb233b060342c249da813e49416b6e06c3d
parent726b5d2fc23e5f719b5453cd0d67e4a25b2efb2c (diff)
downloadtcl-c617b8641b937f02e006a2d6669dbd861d8aa8fc.zip
tcl-c617b8641b937f02e006a2d6669dbd861d8aa8fc.tar.gz
tcl-c617b8641b937f02e006a2d6669dbd861d8aa8fc.tar.bz2
* macosx/Makefile: preserve environment value of INSTALL_ROOT.
When embedding only use deployment build. Force relink before embedded build to ensure new linker flags are picked up. * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib, stub libs and tclConfig.sh in framework toplevel. Configure target dependency fix. Fix to 'clean' action. Added private tcl headers to framework. Install tclsh symbolic link. Html doc build works when no installed tclsh available. Made html doc structure in framework more like in Apple frameworks.
-rw-r--r--ChangeLog13
-rw-r--r--macosx/Makefile27
-rw-r--r--macosx/Tcl.pbproj/project.pbxproj113
3 files changed, 141 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 5434244..75e76e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2002-09-26 Daniel Steffen <das@users.sourceforge.net>
+
+ * macosx/Makefile: preserve environment value of INSTALL_ROOT.
+ When embedding only use deployment build. Force relink before
+ embedded build to ensure new linker flags are picked up.
+
+ * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to
+ debug lib, stub libs and tclConfig.sh in framework toplevel.
+ Configure target dependency fix. Fix to 'clean' action. Added
+ private tcl headers to framework. Install tclsh symbolic link.
+ Html doc build works when no installed tclsh available. Made
+ html doc structure in framework more like in Apple frameworks.
+
2002-09-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
* unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Yet more robust 64-bit value
diff --git a/macosx/Makefile b/macosx/Makefile
index 529e2f5..27d22b1 100644
--- a/macosx/Makefile
+++ b/macosx/Makefile
@@ -3,13 +3,13 @@
# 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 $
+# RCS: @(#) $Id: Makefile,v 1.4 2002/09/26 17:06:14 das Exp $
#
################################################################################
-INSTALL_ROOT =
+INSTALL_ROOT ?=
-BUILD_DIR = ../../build
+BUILD_DIR ?= ${CURDIR}/../../build
TARGET = Tcl
@@ -33,9 +33,9 @@ all: develop deploy
install: install-develop install-deploy
-embedded: embedded-develop embedded-deploy
+embedded: embedded-deploy
-install-embedded: install-embedded-develop install-embedded-deploy
+install-embedded: install-embedded-deploy
clean: clean-develop clean-deploy
@@ -53,10 +53,10 @@ install-develop:
install-deploy:
${DEPBUILD} install ${INSTALLOPTS}
-embedded-develop:
+embedded-develop: forceRelink
${DEVBUILD} ${EMBEDDEDOPTS}
-embedded-deploy:
+embedded-deploy: forceRelink
${DEPBUILD} ${EMBEDDEDOPTS}
install-embedded-develop:
@@ -72,3 +72,16 @@ clean-deploy:
${DEPBUILD} clean
################################################################################
+
+forceRelink:
+ @-cd ${BUILD_DIR}; \
+ rm -rf Tcl.framework tclsh8.4 \
+ Development.build/Tcl.build/Tcl Deployment.build/Tcl.build/Tcl
+
+################################################################################
+
+.PHONY: all install embedded clean develop deploy install-develop install-deploy \
+embedded-develop embedded-deploy install-embedded-develop install-embedded-deploy \
+clean-develop clean-deploy forceRelink \
+
+################################################################################
diff --git a/macosx/Tcl.pbproj/project.pbxproj b/macosx/Tcl.pbproj/project.pbxproj
index 4cede55..76f6c7f 100644
--- a/macosx/Tcl.pbproj/project.pbxproj
+++ b/macosx/Tcl.pbproj/project.pbxproj
@@ -29,7 +29,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "# fixup Framework structure\ncd \"${INSTALL_ROOT}${LIBDIR}\"\nln -fs Versions/Current/Headers ../..\nmv -f tclConfig.sh Resources\nif [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# keep copy of debug library around, so that\n\t# Deployment build can be installed on top\n\t# of Development build without overwriting\n\t# the debuglibrary\n\tcp -fp \"${PRODUCT_NAME}\" \"${PRODUCT_NAME}_debug\"\nfi";
+ shellScript = "# fixup Framework structure\ncd \"${INSTALL_ROOT}${LIBDIR}\"\nln -fs Versions/Current/Headers ../..\nmv -f tclConfig.sh Resources\nln -fs \"Resources/tclConfig.sh\" ../..\nln -fs `ls libtclstub* | sed -e 's|.*|Versions/Current/&|'` ../..\nif [ \"${BUILD_STYLE}\" = \"Development\" ]; then\n\t# keep copy of debug library around, so that\n\t# Deployment build can be installed on top\n\t# of Development build without overwriting\n\t# the debug library\n\tcp -fp \"${PRODUCT_NAME}\" \"${PRODUCT_NAME}_debug\"\n\tln -fs \"Versions/Current/${PRODUCT_NAME}_debug\" ../..\nfi";
};
00E2F845016E82EB0ACA28DC = {
buildStyles = (
@@ -90,7 +90,7 @@
refType = 4;
};
00E2F84B016E8A830ACA28DC = {
- buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then if [ -z \\\"`find . -name Makefile -newer \\\"${SRCROOT}/../unix/configure\\\"`\\\" ]; then \\\"${SRCROOT}/../unix/configure\\\" --prefix=/usr --mandir=/usr/share/man --libdir=\\\"${LIBDIR}\\\" --includedir=\\\"${LIBDIR}/Headers\\\" --enable-threads --enable-framework ${EXTRA_CONFIGURE_FLAGS}; mkdir -p Tcl.framework; ln -fs ../Tcl Tcl.framework/Tcl; fi; else rm -f Makefile; fi\"";
+ buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then if [ -z \\\"`find . ! \\\\( -path './*/*' -prune \\\\) -name Makefile -newer \\\"${SRCROOT}/../unix/configure\\\"`\\\" ]; then \\\"${SRCROOT}/../unix/configure\\\" --prefix=/usr --mandir=/usr/share/man --libdir=\\\"${LIBDIR}\\\" --includedir=\\\"${LIBDIR}/Headers\\\" --enable-threads --enable-framework ${EXTRA_CONFIGURE_FLAGS}; mkdir -p Tcl.framework; ln -fs ../Tcl Tcl.framework/Tcl; fi; fi\"";
buildPhases = (
);
buildSettings = {
@@ -113,7 +113,7 @@
shouldUseHeadermap = 0;
};
00E2F84C016E8B780ACA28DC = {
- buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then gnumake tclsh tcltest TCL_LIBRARY=\\\"@TCL_IN_FRAMEWORK@\\\" 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\"";
+ buildArgumentsString = "-c \"if [ \\\"${ACTION}\\\" != \\\"clean\\\" ]; then gnumake tclsh tcltest TCL_LIBRARY=\\\"@TCL_IN_FRAMEWORK@\\\" TCL_PACKAGE_PATH=\\\"~/Library/Tcl /Library/Tcl /Network/Library/Tcl /System/Library/Tcl\\\" DYLIB_INSTALL_DIR=\\\"${DYLIB_INSTALL_DIR}\\\" ${EXTRA_MAKE_FLAGS}; else gnumake distclean; fi\"";
buildPhases = (
);
buildSettings = {
@@ -207,6 +207,13 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
00E2F84F016E92110ACA28DC = {
buildActionMask = 2147483647;
files = (
+ F59D846A0338FAA4016F146B,
+ F59D846B0338FAA4016F146B,
+ F59D846E0338FAA4016F146B,
+ F59D84620338F9CA016F146B,
+ F59D846C0338FAA4016F146B,
+ F59D846D0338FAA4016F146B,
+ F5C093BB0342F7D6016F146B,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -417,6 +424,12 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
F50DC36A01703B7301DC9062 = {
buildActionMask = 2147483647;
files = (
+ F59D84630338F9EC016F146B,
+ F59D84640338F9ED016F146B,
+ F59D84670338FA8B016F146B,
+ F59D84680338FA8D016F146B,
+ F59D84690338FA90016F146B,
+ F5C093BA0342F7B4016F146B,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -465,7 +478,7 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
);
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";
+ 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\" 2>&-\ntrue\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 2>&-; fi\nif [ -n \"${RM_SYSTEM:-}\" ]; then rm -f System; fi\n# install tclsh symbolic link\nmkdir -p \"${INSTALL_ROOT}/usr/bin\"\nln -fs \"tclsh${FRAMEWORK_VERSION}\" \"${INSTALL_ROOT}/usr/bin/tclsh\"\nfi";
};
F59AE5E3017AC67A01DC9062 = {
buildActionMask = 8;
@@ -478,7 +491,82 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
);
runOnlyForDeploymentPostprocessing = 1;
shellPath = /bin/sh;
- shellScript = "if [ `echo \"${DYLIB_INSTALL_PATH:-}\" | grep -c \"@executable_path\"` -eq 0 ]; then\n# 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\nfi";
+ shellScript = "if [ `echo \"${DYLIB_INSTALL_PATH:-}\" | grep -c \"@executable_path\"` -eq 0 ]; then\n# build html documentation\nif [ \"${BUILD_STYLE}\" = \"Deployment\" ]; then\n cd \"${TEMP_DIR}/..\"\n export DYLD_FRAMEWORK_PATH=${SYMROOT}\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/TclTOC.html\n rm -fr \"${PRODUCT_NAME}\"; mv -f html \"${PRODUCT_NAME}\"\nfi\nfi";
+ };
+ F59D84620338F9CA016F146B = {
+ fileRef = F5F24F72016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ ATTRIBUTES = (
+ Private,
+ );
+ };
+ };
+ F59D84630338F9EC016F146B = {
+ fileRef = F5F24F73016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D84640338F9ED016F146B = {
+ fileRef = F5F24F74016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D84670338FA8B016F146B = {
+ fileRef = F5F24F6E016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D84680338FA8D016F146B = {
+ fileRef = F5F24F70016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D84690338FA90016F146B = {
+ fileRef = F5F24F77016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D846A0338FAA4016F146B = {
+ fileRef = F5F24F6E016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D846B0338FAA4016F146B = {
+ fileRef = F5F24F70016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F59D846C0338FAA4016F146B = {
+ fileRef = F5F24F73016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ ATTRIBUTES = (
+ Private,
+ );
+ };
+ };
+ F59D846D0338FAA4016F146B = {
+ fileRef = F5F24F74016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ ATTRIBUTES = (
+ Private,
+ );
+ };
+ };
+ F59D846E0338FAA4016F146B = {
+ fileRef = F5F24F77016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
};
F5A1836F018242A501DC9062 = {
isa = PBXFileReference;
@@ -498,6 +586,21 @@ MacOS X Port by Jim Ingham &lt;jingham@apple.com&gt; &amp; Ian Reid, Copyright Â
shellPath = /bin/sh;
shellScript = "# symolic link hackery to trick\n# 'make install INSTALL_ROOT=${TEMP_DIR}'\n# into building Tcl.framework and tclsh in ${SYMROOT}\ncd \"${TEMP_DIR}\"\nmkdir -p Library\nmkdir -p usr\nrm -f Library/Frameworks; ln -fs \"${SYMROOT}\" Library/Frameworks\nrm -f usr/bin; ln -fs \"${SYMROOT}\" usr/bin\nln -fs \"${TEMP_DIR}/../tcltest\" \"${SYMROOT}\"";
};
+ F5C093BA0342F7B4016F146B = {
+ fileRef = F5F24F76016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ F5C093BB0342F7D6016F146B = {
+ fileRef = F5F24F76016ECAA401DC9062;
+ isa = PBXBuildFile;
+ settings = {
+ ATTRIBUTES = (
+ Private,
+ );
+ };
+ };
F5C88655017D604601DC9062 = {
children = (
F5C88656017D604601DC9062,