From 1588001f922d15b8d69b00506ab0260f81595b8f Mon Sep 17 00:00:00 2001 From: das Date: Tue, 20 Jul 2004 10:23:14 +0000 Subject: * unix/Makefile.in: * win/Makefile.in: added 'install-private-headers' makefile target to allow optionally installing private tcl headers. [FR 922727] * macosx/Makefile: use new 'install-private-headers' target to install private headers into framework. [FR 922727] --- ChangeLog | 9 +++++++-- macosx/Makefile | 11 +++++------ unix/Makefile.in | 27 ++++++++++++++++++++++++++- win/Makefile.in | 23 ++++++++++++++++++++++- 4 files changed, 60 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2879a6..a002cf7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,15 @@ 2004-07-20 Daniel Steffen + * unix/Makefile.in: + * win/Makefile.in: added 'install-private-headers' makefile target + to allow optionally installing private tcl headers. [FR 922727] + + * macosx/Makefile: use new 'install-private-headers' target + to install private headers into framework. [FR 922727] + * unix/tclUnixFile.c (NativeMatchType): added support for readonly matching of user immutable files (where available). -2004-07-20 Daniel Steffen - * macosx/tclMacOSXBundle.c: dynamically acquire address for CFBundleOpenBundleResourceMap symbol, since it is only present in full CoreFoundation on Mac OS X and not in CFLite on pure Darwin. diff --git a/macosx/Makefile b/macosx/Makefile index 6e11dc0..472a0ad 100644 --- a/macosx/Makefile +++ b/macosx/Makefile @@ -3,7 +3,7 @@ # Makefile to build Tcl on Mac OS X packaged as a Framework # uses standard unix build system in tcl/unix # -# RCS: @(#) $Id: Makefile,v 1.14 2004/04/24 05:59:18 das Exp $ +# RCS: @(#) $Id: Makefile,v 1.15 2004/07/20 10:23:14 das Exp $ # ######################################################################################################## @@ -94,7 +94,6 @@ PRODUCT_LONGVERSION := $(shell eval $$(grep '^TCL_PATCH_LEVEL=' ${UNIX_DIR}/conf echo "${PRODUCT_VERSION}$${TCL_PATCH_LEVEL}") YEAR := $(shell date +%Y) -PRIVATE_HEADERS := tclInt.h tclIntDecls.h tclIntPlatDecls.h tclPort.h ../unix/tclUnixPort.h TARGETS := tclsh tcltest TCLSH := tclsh${PRODUCT_VERSION} TCL_EXE ?= ${SYMROOT}/${TCLSH} @@ -154,10 +153,10 @@ test-${PROJECT}: build-${PROJECT} install-${PROJECT}: build-${PROJECT} # install to ${INSTALL_ROOT} with optional stripping - ${MAKE} -C ${OBJ_DIR} install-binaries install-libraries \ - SCRIPT_INSTALL_DIR=${INSTALL_ROOT}${SCRIPTDIR} ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS} - mkdir -p ${INSTALL_ROOT}${PRIVATEINCLUDEDIR} && \ - cd ${GENERIC_DIR} && ${CPPROG} ${PRIVATE_HEADERS} ${INSTALL_ROOT}${PRIVATEINCLUDEDIR} + ${MAKE} -C ${OBJ_DIR} install-binaries install-libraries install-private-headers \ + SCRIPT_INSTALL_DIR=${INSTALL_ROOT}${SCRIPTDIR} \ + PRIVATE_INCLUDE_INSTALL_DIR=${INSTALL_ROOT}${PRIVATEINCLUDEDIR} \ + ${MAKE_ARGS_V} ${MAKE_ARGS} ${EXTRA_MAKE_ARGS} ifeq (${BUILD_STYLE},Development) # keep copy of debug library around, so that # Deployment build can be installed on top diff --git a/unix/Makefile.in b/unix/Makefile.in index 46f3566..ad7f4da 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.140 2004/07/16 23:31:19 hobbs Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.141 2004/07/20 10:23:14 das Exp $ VERSION = @TCL_VERSION@ MAJOR_VERSION = @TCL_MAJOR_VERSION@ @@ -58,6 +58,9 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) # Directory in which to install the include file tcl.h: INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) +# Directory in which to (optionally) install the private tcl headers: +PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) + # Top-level directory in which to install manual entries: MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir) @@ -731,6 +734,28 @@ install-doc: doc @echo "Cross-linking command (.n) docs"; @$(UNIX_DIR)/mkLinks $(MKLINKS_FLAGS) $(MANN_INSTALL_DIR) +# Optional target to install private headers +install-private-headers: libraries + @for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \ + do \ + if [ ! -d $$i ] ; then \ + echo "Making directory $$i"; \ + mkdir -p $$i; \ + chmod 755 $$i; \ + else true; \ + fi; \ + done; + @if test ! -x $(SRC_DIR)/install-sh; then \ + chmod +x $(SRC_DIR)/install-sh; \ + fi + @echo "Installing private header files"; + @for i in $(GENERIC_DIR)/tclInt.h $(GENERIC_DIR)/tclIntDecls.h \ + $(GENERIC_DIR)/tclIntPlatDecls.h $(GENERIC_DIR)/tclPort.h \ + $(UNIX_DIR)/tclUnixPort.h ; \ + do \ + $(INSTALL_DATA) $$i $(PRIVATE_INCLUDE_INSTALL_DIR); \ + done; + Makefile: $(UNIX_DIR)/Makefile.in $(DLTEST_DIR)/Makefile.in $(SHELL) config.status diff --git a/win/Makefile.in b/win/Makefile.in index 8b787f7..06c9a7b 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.78 2004/06/24 01:29:08 mistachkin Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.79 2004/07/20 10:23:14 das Exp $ VERSION = @TCL_VERSION@ @@ -56,6 +56,9 @@ SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(TCL_LIBRARY) # Directory in which to install the include file tcl.h: INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) +# Directory in which to (optionally) install the private tcl headers: +PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir) + # Top-level directory in which to install manual entries: MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mandir) @@ -572,6 +575,24 @@ install-libraries: libraries install-doc: doc +# Optional target to install private headers +install-private-headers: libraries + @for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \ + do \ + if [ ! -d $$i ] ; then \ + echo "Making directory $$i"; \ + $(MKDIR) $$i; \ + else true; \ + fi; \ + done; + @echo "Installing private header files"; + @for i in "$(GENERIC_DIR)/tclInt.h" "$(GENERIC_DIR)/tclIntDecls.h" \ + "$(GENERIC_DIR)/tclIntPlatDecls.h" "$(GENERIC_DIR)/tclPort.h" \ + "$(WIN_DIR)/tclWinPort.h" ; \ + do \ + $(COPY) "$$i" "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \ + done; + # Specifying TESTFLAGS on the command line is the standard way to pass # args to tcltest, ie: # % make test TESTFLAGS="-verbose bps -file fileName.test" -- cgit v0.12