summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--macosx/Makefile11
-rw-r--r--unix/Makefile.in27
-rw-r--r--win/Makefile.in23
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 <das@users.sourceforge.net>
+ * 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 <das@users.sourceforge.net>
-
* 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"