diff options
author | das <das> | 2002-09-26 17:06:13 (GMT) |
---|---|---|
committer | das <das> | 2002-09-26 17:06:13 (GMT) |
commit | c617b8641b937f02e006a2d6669dbd861d8aa8fc (patch) | |
tree | e3513cb233b060342c249da813e49416b6e06c3d | |
parent | 726b5d2fc23e5f719b5453cd0d67e4a25b2efb2c (diff) | |
download | tcl-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-- | ChangeLog | 13 | ||||
-rw-r--r-- | macosx/Makefile | 27 | ||||
-rw-r--r-- | macosx/Tcl.pbproj/project.pbxproj | 113 |
3 files changed, 141 insertions, 12 deletions
@@ -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 <jingham@apple.com> & 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 <jingham@apple.com> & 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 <jingham@apple.com> & 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 <jingham@apple.com> & 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 <jingham@apple.com> & 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, |