summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordas <das>2008-12-20 01:11:10 (GMT)
committerdas <das>2008-12-20 01:11:10 (GMT)
commita35311fd266c5c697d84b6756f65b208701578d7 (patch)
treea13a42ed49592ae786620463739148a1a34e10eb
parent6ea9bac1b2efe936f50571e3d5389f1f83c787a6 (diff)
downloadtcl-a35311fd266c5c697d84b6756f65b208701578d7.zip
tcl-a35311fd266c5c697d84b6756f65b208701578d7.tar.gz
tcl-a35311fd266c5c697d84b6756f65b208701578d7.tar.bz2
* unix/Makefile.in: make package install directory of bundled
* unix/configure.in packages configurable via PACKAGE_DIR makefile variable (set to platform-specific default). * unix/Makefile.in (*-packages): ensure toplevel targets fail if sub-make/configure fails; fix quoting when builddir path contains spaces. * macosx/GNUmakefile: add install-packages to install targets. * unix/configure: autoconf-2.59
-rw-r--r--ChangeLog14
-rw-r--r--macosx/GNUmakefile4
-rw-r--r--unix/Makefile.in99
-rwxr-xr-xunix/configure12
-rw-r--r--unix/configure.in11
5 files changed, 86 insertions, 54 deletions
diff --git a/ChangeLog b/ChangeLog
index a68bea3..98962d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2008-12-20 Daniel Steffen <das@users.sourceforge.net>
+
+ * unix/Makefile.in: make package install directory of bundled
+ * unix/configure.in packages configurable via PACKAGE_DIR makefile
+ variable (set to platform-specific default).
+
+ * unix/Makefile.in (*-packages): ensure toplevel targets fail if
+ sub-make/configure fails; fix quoting when
+ builddir path contains spaces.
+
+ * macosx/GNUmakefile: add install-packages to install targets.
+
+ * unix/configure: autoconf-2.59
+
2008-12-19 Don Porter <dgp@users.sourceforge.net>
*** 8.6b1 TAGGED FOR RELEASE ***
diff --git a/macosx/GNUmakefile b/macosx/GNUmakefile
index 0bf1d04..3298a99 100644
--- a/macosx/GNUmakefile
+++ b/macosx/GNUmakefile
@@ -9,7 +9,7 @@
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: GNUmakefile,v 1.10 2008/05/06 16:33:07 das Exp $
+# RCS: @(#) $Id: GNUmakefile,v 1.11 2008/12/20 01:11:10 das Exp $
#
########################################################################################################
@@ -108,7 +108,7 @@ ifeq (${EMBEDDED_BUILD},)
INSTALL_TARGETS += install-private-headers
endif
ifeq (${INSTALL_BUILD}_${EMBEDDED_BUILD}_${BUILD_STYLE},1__Deployment)
-INSTALL_TARGETS += html-tcl
+INSTALL_TARGETS += install-packages html-tcl
ifneq (${INSTALL_MANPAGES},)
INSTALL_TARGETS += install-doc
endif
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 09dc947..13d4cae 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -4,7 +4,7 @@
# "./configure", which is a configuration script generated by the "autoconf"
# program (constructs like "@foo@" will get replaced in the actual Makefile.
#
-# RCS: @(#) $Id: Makefile.in,v 1.254 2008/12/19 10:55:38 dkf Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.255 2008/12/20 01:11:10 das Exp $
VERSION = @TCL_VERSION@
MAJOR_VERSION = @TCL_MAJOR_VERSION@
@@ -80,6 +80,9 @@ HTML_DIR = @HTML_DIR@
# Directory in which to install html documentation:
HTML_INSTALL_DIR = $(INSTALL_ROOT)$(HTML_DIR)
+# Directory in which to install bundled packages:
+PACKAGE_DIR = @PACKAGE_DIR@
+
# Package search path.
TCL_PACKAGE_PATH = @TCL_PACKAGE_PATH@
@@ -149,7 +152,7 @@ SHELL = @MAKEFILE_SHELL@
INSTALL_STRIP_PROGRAM = -s
INSTALL_STRIP_LIBRARY = -S -x
-INSTALL = @srcdir@/../unix/install-sh -c
+INSTALL = $(UNIX_DIR)/install-sh -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_LIBRARY = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
@@ -744,8 +747,8 @@ install-binaries: binaries
else true; \
fi; \
done;
- @if test ! -x $(SRC_DIR)/../unix/install-sh; then \
- chmod +x $(SRC_DIR)/../unix/install-sh; \
+ @if test ! -x $(UNIX_DIR)/install-sh; then \
+ chmod +x $(UNIX_DIR)/install-sh; \
fi
@echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
@@INSTALL_LIB@
@@ -784,8 +787,8 @@ install-libraries: libraries $(INSTALL_TZDATA) install-msgs
else true; \
fi; \
done;
- @if test ! -x $(SRC_DIR)/../unix/install-sh; then \
- chmod +x $(SRC_DIR)/../unix/install-sh; \
+ @if test ! -x $(UNIX_DIR)/install-sh; then \
+ chmod +x $(UNIX_DIR)/install-sh; \
fi
@echo "Installing header files";
@for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h \
@@ -887,8 +890,8 @@ install-private-headers: libraries
else true; \
fi; \
done;
- @if test ! -x $(SRC_DIR)/../unix/install-sh; then \
- chmod +x $(SRC_DIR)/../unix/install-sh; \
+ @if test ! -x $(UNIX_DIR)/install-sh; then \
+ chmod +x $(UNIX_DIR)/install-sh; \
fi
@echo "Installing private header files";
@for i in $(GENERIC_DIR)/tclInt.h $(GENERIC_DIR)/tclIntDecls.h \
@@ -1599,7 +1602,6 @@ tclOOStubLib.o: $(GENERIC_DIR)/tclOOStubLib.c
.c.o:
$(CC) -c $(CC_SWITCHES) $<
-
#
# Bundled Package targets
#
@@ -1609,99 +1611,96 @@ PKG_CFG_ARGS = @PKG_CFG_ARGS@
PKG_DIR = ./pkgs
configure-packages:
- @builddir=`pwd`; \
+ @builddir="`pwd`"; \
for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
if [ -x $$i/configure ]; then \
- pkg=`basename $$i`; \
- echo "Configuring package '$$pkg'"; \
- mkdir -p $(PKG_DIR)/$$pkg; \
- if [ ! -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; \
- $$i/configure --with-tcl=$(PWD) --with-tclinclude=$(GENERIC_DIR) $(PKG_CFG_ARGS) --enable-shared --enable-threads; ) \
- fi; \
+ pkg=`basename $$i`; \
+ echo "Configuring package '$$pkg'"; \
+ mkdir -p $(PKG_DIR)/$$pkg; \
+ if [ ! -f $(PKG_DIR)/$$pkg/Makefile ]; then \
+ ( cd $(PKG_DIR)/$$pkg; \
+ $$i/configure --with-tcl="$${builddir}" \
+ --with-tclinclude=$(GENERIC_DIR) \
+ $(PKG_CFG_ARGS) --libdir=$(PACKAGE_DIR) \
+ --enable-shared --enable-threads; ) || exit $$?; \
+ fi; \
fi; \
fi; \
- done; \
- cd $$builddir
+ done
packages: configure-packages ${STUB_LIB_FILE}
- @builddir=`pwd`; \
- for i in $(PKGS_DIR)/*; do \
+ @for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
pkg=`basename $$i`; \
if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- echo "Building package '$$pkg'"; \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE); ) \
+ echo "Building package '$$pkg'"; \
+ ( cd $(PKG_DIR)/$$pkg; $(MAKE); ) || exit $$?; \
fi; \
fi; \
- done; \
- cd $$builddir
+ done
install-packages: packages
- @builddir=`pwd`; \
- for i in $(PKGS_DIR)/*; do \
+ @for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
pkg=`basename $$i`; \
if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- echo "Installing package '$$pkg'"; \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) install "DESTDIR=$(INSTALL_ROOT)"; ) \
+ echo "Installing package '$$pkg'"; \
+ ( cd $(PKG_DIR)/$$pkg; $(MAKE) install \
+ "DESTDIR=$(INSTALL_ROOT)"; ) || exit $$?; \
fi; \
fi; \
- done; \
- cd $$builddir
+ done
test-packages: tcltest packages
- @builddir=`pwd`; \
+ @builddir="`pwd`"; \
for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
pkg=`basename $$i`; \
if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- echo "Testing package '$$pkg'"; \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) "LD_LIBRARY_PATH=$$builddir:${LD_LIBRARY_PATH}" "TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" "TCLLIBPATH=$$builddir/pkgs" test "TCLSH_PROG=$$builddir/tcltest"; ) \
+ echo "Testing package '$$pkg'"; \
+ ( cd $(PKG_DIR)/$$pkg; $(MAKE) \
+ "@LD_LIBRARY_PATH_VAR@=$${builddir}:$${@LD_LIBRARY_PATH_VAR@}" \
+ "TCL_LIBRARY=${TCL_BUILDTIME_LIBRARY}" \
+ "TCLLIBPATH=$${builddir}/pkgs" test \
+ "TCLSH_PROG=$${builddir}/tcltest"; ) \
fi; \
fi; \
- done; \
- cd $$builddir
+ done
clean-packages:
- @builddir=`pwd`; \
- for i in $(PKGS_DIR)/*; do \
+ @for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
pkg=`basename $$i`; \
if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) clean; ) \
+ ( cd $(PKG_DIR)/$$pkg; $(MAKE) clean; ) \
fi; \
fi; \
- done; \
- cd $$builddir
+ done
distclean-packages:
- @builddir=`pwd`; \
- for i in $(PKGS_DIR)/*; do \
+ @for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
pkg=`basename $$i`; \
if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) distclean; ) \
+ ( cd $(PKG_DIR)/$$pkg; $(MAKE) distclean; ) \
fi; \
- cd $$builddir; \
rm -rf $(PKG_DIR)/$$pkg; \
fi; \
done; \
rm -rf $(PKG_DIR)
dist-packages: configure-packages
- @builddir=`pwd`; \
- rm -rf $(DISTROOT)/pkgs; \
+ @rm -rf $(DISTROOT)/pkgs; \
for i in $(PKGS_DIR)/*; do \
if [ -d $$i ]; then \
pkg=`basename $$i`; \
if [ -f $(PKG_DIR)/$$pkg/Makefile ]; then \
- ( cd $(PKG_DIR)/$$pkg; $(MAKE) dist "DIST_ROOT=$(DISTROOT)/pkgs"; ) \
+ ( cd $(PKG_DIR)/$$pkg; $(MAKE) dist \
+ "DIST_ROOT=$(DISTROOT)/pkgs"; ) || exit $$?; \
fi; \
fi; \
- done; \
- cd $$builddir
+ done
#
# Target to regenerate header files and stub files from the *.decls tables.
diff --git a/unix/configure b/unix/configure
index 0734c05..afa9ca5 100755
--- a/unix/configure
+++ b/unix/configure
@@ -308,7 +308,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAN_FLAGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP TCL_THREADS ZLIB_DIR ZLIB_OBJS ZLIB_SRCS ZLIB_INCLUDE RANLIB ac_ct_RANLIB AR LIBOBJS TCL_LIBS DL_LIBS DL_OBJS PLAT_OBJS PLAT_SRCS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING LDFLAGS_DEBUG LDFLAGS_OPTIMIZE CC_SEARCH_FLAGS LD_SEARCH_FLAGS STLIB_LD SHLIB_LD TCL_SHLIB_LD_EXTRAS TK_SHLIB_LD_EXTRAS SHLIB_LD_LIBS SHLIB_CFLAGS SHLIB_SUFFIX MAKE_LIB MAKE_STUB_LIB INSTALL_LIB INSTALL_STUB_LIB CFLAGS_DEFAULT LDFLAGS_DEFAULT DTRACE TCL_VERSION TCL_MAJOR_VERSION TCL_MINOR_VERSION TCL_PATCH_LEVEL TCL_YEAR PKG_CFG_ARGS TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_STUB_LIB_PATH TCL_INCLUDE_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_PATH TCL_SRC_DIR CFG_TCL_SHARED_LIB_SUFFIX CFG_TCL_UNSHARED_LIB_SUFFIX CFG_TCL_EXPORT_FILE_SUFFIX TCL_SHARED_BUILD LD_LIBRARY_PATH_VAR TCL_BUILD_LIB_SPEC TCL_NEEDS_EXP_FILE TCL_BUILD_EXP_FILE TCL_EXP_FILE TCL_LIB_VERSIONS_OK TCL_SHARED_LIB_SUFFIX TCL_UNSHARED_LIB_SUFFIX TCL_HAS_LONGLONG INSTALL_TZDATA DTRACE_SRC DTRACE_HDR DTRACE_OBJ MAKEFILE_SHELL BUILD_DLTEST TCL_PACKAGE_PATH TCL_MODULE_PATH TCL_LIBRARY PRIVATE_INCLUDE_DIR HTML_DIR EXTRA_CC_SWITCHES EXTRA_APP_CC_SWITCHES EXTRA_INSTALL EXTRA_INSTALL_BINARIES EXTRA_BUILD_HTML EXTRA_TCLSH_LIBS DLTEST_LD DLTEST_SUFFIX'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAN_FLAGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP TCL_THREADS ZLIB_DIR ZLIB_OBJS ZLIB_SRCS ZLIB_INCLUDE RANLIB ac_ct_RANLIB AR LIBOBJS TCL_LIBS DL_LIBS DL_OBJS PLAT_OBJS PLAT_SRCS CFLAGS_DEBUG CFLAGS_OPTIMIZE CFLAGS_WARNING LDFLAGS_DEBUG LDFLAGS_OPTIMIZE CC_SEARCH_FLAGS LD_SEARCH_FLAGS STLIB_LD SHLIB_LD TCL_SHLIB_LD_EXTRAS TK_SHLIB_LD_EXTRAS SHLIB_LD_LIBS SHLIB_CFLAGS SHLIB_SUFFIX MAKE_LIB MAKE_STUB_LIB INSTALL_LIB INSTALL_STUB_LIB CFLAGS_DEFAULT LDFLAGS_DEFAULT DTRACE TCL_VERSION TCL_MAJOR_VERSION TCL_MINOR_VERSION TCL_PATCH_LEVEL TCL_YEAR PKG_CFG_ARGS TCL_LIB_FILE TCL_LIB_FLAG TCL_LIB_SPEC TCL_STUB_LIB_FILE TCL_STUB_LIB_FLAG TCL_STUB_LIB_SPEC TCL_STUB_LIB_PATH TCL_INCLUDE_SPEC TCL_BUILD_STUB_LIB_SPEC TCL_BUILD_STUB_LIB_PATH TCL_SRC_DIR CFG_TCL_SHARED_LIB_SUFFIX CFG_TCL_UNSHARED_LIB_SUFFIX CFG_TCL_EXPORT_FILE_SUFFIX TCL_SHARED_BUILD LD_LIBRARY_PATH_VAR TCL_BUILD_LIB_SPEC TCL_NEEDS_EXP_FILE TCL_BUILD_EXP_FILE TCL_EXP_FILE TCL_LIB_VERSIONS_OK TCL_SHARED_LIB_SUFFIX TCL_UNSHARED_LIB_SUFFIX TCL_HAS_LONGLONG INSTALL_TZDATA DTRACE_SRC DTRACE_HDR DTRACE_OBJ MAKEFILE_SHELL BUILD_DLTEST TCL_PACKAGE_PATH TCL_MODULE_PATH TCL_LIBRARY PRIVATE_INCLUDE_DIR HTML_DIR PACKAGE_DIR EXTRA_CC_SWITCHES EXTRA_APP_CC_SWITCHES EXTRA_INSTALL EXTRA_INSTALL_BINARIES EXTRA_BUILD_HTML EXTRA_TCLSH_LIBS DLTEST_LD DLTEST_SUFFIX'
ac_subst_files=''
# Initialize some variables set by options.
@@ -18720,6 +18720,12 @@ _ACEOF
ac_config_commands="$ac_config_commands Tcl.framework"
LD_LIBRARY_PATH_VAR="DYLD_FRAMEWORK_PATH"
+ # default install directory for bundled packages
+ if test "${libdir}" = '${exec_prefix}/lib' -o "`basename ${libdir}`" = 'Frameworks'; then
+ PACKAGE_DIR="/Library/Tcl"
+ else
+ PACKAGE_DIR="$libdir"
+ fi
if test "${libdir}" = '${exec_prefix}/lib'; then
# override libdir default
libdir="/Library/Frameworks"
@@ -18746,6 +18752,8 @@ _ACEOF
else
# libdir must be a fully qualified path and not ${exec_prefix}/lib
eval libdir="$libdir"
+ # default install directory for bundled packages
+ PACKAGE_DIR="$libdir"
if test "$SHARED_BUILD" = "0" || test "$TCL_NEEDS_EXP_FILE" = "0"; then
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
TCL_LIB_FLAG="-ltcl${TCL_VERSION}"
@@ -18886,6 +18894,7 @@ TCL_SHARED_BUILD=${SHARED_BUILD}
+
ac_config_files="$ac_config_files Makefile:../unix/Makefile.in dltest/Makefile:../unix/dltest/Makefile.in tclConfig.sh:../unix/tclConfig.sh.in"
cat >confcache <<\_ACEOF
@@ -19611,6 +19620,7 @@ s,@TCL_MODULE_PATH@,$TCL_MODULE_PATH,;t t
s,@TCL_LIBRARY@,$TCL_LIBRARY,;t t
s,@PRIVATE_INCLUDE_DIR@,$PRIVATE_INCLUDE_DIR,;t t
s,@HTML_DIR@,$HTML_DIR,;t t
+s,@PACKAGE_DIR@,$PACKAGE_DIR,;t t
s,@EXTRA_CC_SWITCHES@,$EXTRA_CC_SWITCHES,;t t
s,@EXTRA_APP_CC_SWITCHES@,$EXTRA_APP_CC_SWITCHES,;t t
s,@EXTRA_INSTALL@,$EXTRA_INSTALL,;t t
diff --git a/unix/configure.in b/unix/configure.in
index bc2a97c..6c694f6 100644
--- a/unix/configure.in
+++ b/unix/configure.in
@@ -3,7 +3,7 @@ dnl This file is an input file used by the GNU "autoconf" program to
dnl generate the file "configure", which is run during Tcl installation
dnl to configure the system for the local environment.
#
-# RCS: @(#) $Id: configure.in,v 1.200 2008/12/19 10:55:38 dkf Exp $
+# RCS: @(#) $Id: configure.in,v 1.201 2008/12/20 01:11:10 das Exp $
AC_INIT([tcl],[8.6])
AC_PREREQ(2.59)
@@ -748,6 +748,12 @@ if test "$FRAMEWORK_BUILD" = "1" ; then
unset n f v
], VERSION=${TCL_VERSION})
LD_LIBRARY_PATH_VAR="DYLD_FRAMEWORK_PATH"
+ # default install directory for bundled packages
+ if test "${libdir}" = '${exec_prefix}/lib' -o "`basename ${libdir}`" = 'Frameworks'; then
+ PACKAGE_DIR="/Library/Tcl"
+ else
+ PACKAGE_DIR="$libdir"
+ fi
if test "${libdir}" = '${exec_prefix}/lib'; then
# override libdir default
libdir="/Library/Frameworks"
@@ -774,6 +780,8 @@ if test "$FRAMEWORK_BUILD" = "1" ; then
else
# libdir must be a fully qualified path and not ${exec_prefix}/lib
eval libdir="$libdir"
+ # default install directory for bundled packages
+ PACKAGE_DIR="$libdir"
if test "$SHARED_BUILD" = "0" || test "$TCL_NEEDS_EXP_FILE" = "0"; then
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
TCL_LIB_FLAG="-ltcl${TCL_VERSION}"
@@ -902,6 +910,7 @@ AC_SUBST(TCL_MODULE_PATH)
AC_SUBST(TCL_LIBRARY)
AC_SUBST(PRIVATE_INCLUDE_DIR)
AC_SUBST(HTML_DIR)
+AC_SUBST(PACKAGE_DIR)
AC_SUBST(EXTRA_CC_SWITCHES)
AC_SUBST(EXTRA_APP_CC_SWITCHES)