summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-11-24 12:12:49 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-11-24 12:12:49 (GMT)
commita4251af984f53f9ff453b5af612327f3c74bfdfc (patch)
tree2c07cb0512c653dfcbf472c82a82d8e05c660515
parentfdf25d3a1ff7c15871780436f20436811fedf0cf (diff)
downloadtcl-a4251af984f53f9ff453b5af612327f3c74bfdfc.zip
tcl-a4251af984f53f9ff453b5af612327f3c74bfdfc.tar.gz
tcl-a4251af984f53f9ff453b5af612327f3c74bfdfc.tar.bz2
Add rule to generate manifest.uuid and tclUuid.h, if not present already. Not used yet
-rw-r--r--unix/Makefile.in17
-rw-r--r--win/Makefile.in21
-rw-r--r--win/gitmanifest.in1
-rw-r--r--win/makefile.vc7
4 files changed, 34 insertions, 12 deletions
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 398afd0..d187c84 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -1161,6 +1161,11 @@ tclAsync.o: $(GENERIC_DIR)/tclAsync.c
tclBasic.o: $(GENERIC_DIR)/tclBasic.c $(COMPILEHDR) $(MATHHDRS) $(NREHDR)
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBasic.c
+tclUuid.h: $(TOP_DIR)/manifest.uuid
+ echo "#define TCL_VERSION_UUID \\" >$@
+ cat $(TOP_DIR)/manifest.uuid >>$@
+ echo "" >>$@
+
tclBinary.o: $(GENERIC_DIR)/tclBinary.c
$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tclBinary.c
@@ -1371,7 +1376,6 @@ tclPkgConfig.o: $(GENERIC_DIR)/tclPkgConfig.c
-DCFG_RUNTIME_INCDIR="\"$(includedir)\"" \
-DCFG_RUNTIME_DOCDIR="\"$(mandir)\"" \
-DCFG_RUNTIME_DLLFILE="\"$(TCL_LIB_FILE)\"" \
- -DCFG_RUNTIME_ZIPFILE="\"$(TCL_ZIP_FILE)\"" \
$(GENERIC_DIR)/tclPkgConfig.c
tclPosixStr.o: $(GENERIC_DIR)/tclPosixStr.c
@@ -1976,8 +1980,9 @@ checkstubs: $(TCL_LIB_FILE)
checkdoc: $(TCL_LIB_FILE)
-@for i in `nm -p $(TCL_LIB_FILE) | awk '$$3 ~ /Tcl_/ { print $$3 }' \
- | grep -v 'Cmd$$' | sort -n`; do \
+ | grep -Fv . | grep -v 'Cmd$$' | sort -n`; do \
match=0; \
+ i=`echo $$i | sed 's/^_//'`; \
for j in $(TOP_DIR)/doc/*.3; do \
if [ `grep '\-' $$j | grep -c $$i` -gt 0 ]; then \
match=1; \
@@ -2036,6 +2041,8 @@ DISTROOT = /tmp/dist
DISTNAME = tcl${VERSION}${PATCH_LEVEL}
ZIPNAME = tcl${MAJOR_VERSION}${MINOR_VERSION}${PATCH_LEVEL}-src.zip
DISTDIR = $(DISTROOT)/$(DISTNAME)
+BUILTIN_PACKAGE_LIST = http1.0 http opt msgcat reg dde tcltest platform
+
$(UNIX_DIR)/configure: $(UNIX_DIR)/configure.in $(UNIX_DIR)/tcl.m4 \
$(UNIX_DIR)/aclocal.m4
cd $(UNIX_DIR); autoconf
@@ -2045,8 +2052,8 @@ $(UNIX_DIR)/tclConfig.h.in: $(MAC_OSX_DIR)/configure
cd $(MAC_OSX_DIR); autoheader; touch $@
$(TOP_DIR)/manifest.uuid:
- printf "git." >$(TOP_DIR)/manifest.uuid
- git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid
+ printf "git-" >$(TOP_DIR)/manifest.uuid
+ (cd $(TOP_DIR); git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid || printf "unknown" >$(TOP_DIR)/manifest.uuid)
dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in $(MAC_OSX_DIR)/configure $(TOP_DIR)/manifest.uuid genstubs dist-packages ${NATIVE_TCLSH}
rm -rf $(DISTDIR)
@@ -2075,7 +2082,7 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in $(M
@mkdir $(DISTDIR)/library
cp -p $(TOP_DIR)/license.terms $(TOP_DIR)/library/*.tcl \
$(TOP_DIR)/library/tclIndex $(DISTDIR)/library
- @for i in http1.0 http opt msgcat reg dde tcltest platform; do \
+ @for i in $(BUILTIN_PACKAGE_LIST); do \
mkdir $(DISTDIR)/library/$$i;\
cp -p $(TOP_DIR)/library/$$i/*.tcl $(DISTDIR)/library/$$i; \
done
diff --git a/win/Makefile.in b/win/Makefile.in
index 68f4862..41ab5b1 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -102,11 +102,11 @@ SRC_DIR = @srcdir@
ROOT_DIR = @srcdir@/..
TOP_DIR = $(shell cd @srcdir@/..; pwd -W 2>/dev/null || pwd -P)
GENERIC_DIR = $(TOP_DIR)/generic
-TOMMATH_DIR = $(TOP_DIR)/libtommath
WIN_DIR = $(TOP_DIR)/win
COMPAT_DIR = $(TOP_DIR)/compat
PKGS_DIR = $(TOP_DIR)/pkgs
ZLIB_DIR = $(COMPAT_DIR)/zlib
+TOMMATH_DIR = $(TOP_DIR)/libtommath
# Converts a POSIX path to a Windows native path.
CYGPATH = @CYGPATH@
@@ -117,7 +117,6 @@ includedir_native = $(shell $(CYGPATH) '$(includedir)')
mandir_native = $(shell $(CYGPATH) '$(mandir)')
TCL_LIBRARY_NATIVE = $(shell $(CYGPATH) '$(TCL_LIBRARY)')
GENERIC_DIR_NATIVE = $(shell $(CYGPATH) '$(GENERIC_DIR)')
-TOMMATH_DIR_NATIVE = $(shell $(CYGPATH) '$(TOMMATH_DIR)')
WIN_DIR_NATIVE = $(shell $(CYGPATH) '$(WIN_DIR)')
ROOT_DIR_NATIVE = $(shell $(CYGPATH) '$(ROOT_DIR)')
SCRIPT_INSTALL_DIR_NATIVE = $(shell $(CYGPATH) '$(SCRIPT_INSTALL_DIR)')
@@ -125,10 +124,7 @@ INCLUDE_INSTALL_DIR_NATIVE = $(shell $(CYGPATH) '$(INCLUDE_INSTALL_DIR)')
MAN_INSTALL_DIR_NATIVE = $(shell $(CYGPATH) '$(MAN_INSTALL_DIR)')
ROOT_DIR_WIN_NATIVE = $(shell cd '$(ROOT_DIR)' ; pwd -W 2>/dev/null || pwd -P)
ZLIB_DIR_NATIVE = $(shell $(CYGPATH) '$(ZLIB_DIR)')
-#GENERIC_DIR_NATIVE = $(GENERIC_DIR)
-#TOMMATH_DIR_NATIVE = $(TOMMATH_DIR)
-#WIN_DIR_NATIVE = $(WIN_DIR)
-#ROOT_DIR_NATIVE = $(ROOT_DIR)
+TOMMATH_DIR_NATIVE = $(shell $(CYGPATH) '$(TOMMATH_DIR)')
# Fully qualify library path so that `make test`
# does not depend on the current directory.
@@ -155,7 +151,8 @@ REG_LIB_FILE = @LIBPREFIX@tclreg$(REGVER)${DLLSUFFIX}${LIBSUFFIX}
TEST_DLL_FILE = tcltest$(VER)${DLLSUFFIX}
TEST_EXE_FILE = tcltest${EXESUFFIX}
TEST_LIB_FILE = @LIBPREFIX@tcltest$(VER)${DLLSUFFIX}${LIBSUFFIX}
-TEST_LOAD_PRMS = package ifneeded dde 1.4.4 [list load [file normalize ${DDE_DLL_FILE}] Dde];\
+TEST_LOAD_PRMS = lappend ::auto_path {$(ROOT_DIR_WIN_NATIVE)/tests};\
+ package ifneeded dde 1.4.4 [list load [file normalize ${DDE_DLL_FILE}] Dde];\
package ifneeded registry 1.3.5 [list load [file normalize ${REG_DLL_FILE}] Registry]
TEST_LOAD_FACILITIES = package ifneeded Tcltest ${VERSION}@TCL_PATCH_LEVEL@ [list load [file normalize ${TEST_DLL_FILE}]];\
$(TEST_LOAD_PRMS)
@@ -165,6 +162,7 @@ SHARED_LIBRARIES = $(TCL_DLL_FILE) @ZLIB_DLL_FILE@
STATIC_LIBRARIES = $(TCL_LIB_FILE)
TCLSH = tclsh$(VER)${EXESUFFIX}
+WINE = @WINE@
CAT32 = cat32$(EXEEXT)
MAN2TCL = man2tcl$(EXEEXT)
@@ -579,6 +577,15 @@ tclPkgConfig.${OBJEXT}: tclPkgConfig.c
-DBUILD_tcl \
@DEPARG@ $(CC_OBJNAME)
+$(TOP_DIR)/manifest.uuid:
+ printf "git-" >$(TOP_DIR)/manifest.uuid
+ (cd $(TOP_DIR); git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid || printf "unknown" >$(TOP_DIR)/manifest.uuid)
+
+tclUuid.h: $(TOP_DIR)/manifest.uuid
+ echo "#define TCL_VERSION_UUID \\" >$@
+ cat $(TOP_DIR)/manifest.uuid >>$@
+ echo "" >>$@
+
# The following objects are part of the stub library and should not be built
# as DLL objects but none of the symbols should be exported
diff --git a/win/gitmanifest.in b/win/gitmanifest.in
new file mode 100644
index 0000000..3e7de84
--- /dev/null
+++ b/win/gitmanifest.in
@@ -0,0 +1 @@
+git- \ No newline at end of file
diff --git a/win/makefile.vc b/win/makefile.vc
index ad20fd1..cffee03 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -738,6 +738,13 @@ $(TMP_DIR)\tclMainW.obj: $(GENERICDIR)\tclMain.c
$(cc32) $(pkgcflags) /DUNICODE /D_UNICODE \
-Fo$@ $?
+$(ROOT)\manifest.uuid:
+ copy $(WIN_DIR)\gitmanifest.in $(ROOT)\manifest.uuid
+ git rev-parse HEAD >>$(ROOT)\manifest.uuid
+
+$(TMP_DIR)\tclUuid.h: $(ROOT)\manifest.uuid
+ copy $(WIN_DIR)\tclUuid.h.in+$(ROOT)\manifest.uuid $(TMP_DIR)\tclUuid.h
+
$(TMP_DIR)\tclTest.obj: $(GENERICDIR)\tclTest.c
$(cc32) $(appcflags) -Fo$@ $?