From f11d46a5391bad92ada8f86f1dac44e43f359c28 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Thu, 25 Jun 2020 08:57:29 +0000 Subject: Fix [https://core.tcl-lang.org/tcl/info/9080d6a871|9080d6a871]: Build fix for tcl on macOS on Apple Silicon. Add manifest.uuid to distribution, so we can see exactly what commit-id "make dist" is built from (even when it's built from GIT). --- .fossil-settings/manifest | 1 + .gitattributes | 39 +++++++++++++++++++++++++++++++ .gitignore | 59 +++++++++++++++++++++++++++++++++++++++++++++++ unix/Makefile.in | 7 +++++- unix/configure | 1 + unix/tcl.m4 | 6 ++++- 6 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 .fossil-settings/manifest create mode 100644 .gitattributes create mode 100644 .gitignore diff --git a/.fossil-settings/manifest b/.fossil-settings/manifest new file mode 100644 index 0000000..4ae8ef0 --- /dev/null +++ b/.fossil-settings/manifest @@ -0,0 +1 @@ +u diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e9a67c8 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,39 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* eol=lf +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.3 text +*.c text +*.css text +*.enc text +*.h text +*.htm text +*.html text +*.java text +*.js text +*.json text +*.n text +*.svg text +*.ts text +*.tcl text +*.test text + +# Declare files that will always have CRLF line endings on checkout. +*.bat eol=crlf +*.sln eol=crlf +*.vc eol=crlf + +# Denote all files that are truly binary and should not be modified. +*.a binary +*.dll binary +*.exe binary +*.gif binary +*.gz binary +*.jpg binary +*.lib binary +*.pdf binary +*.png binary +*.xlsx binary +*.zip binary diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f57b81 --- /dev/null +++ b/.gitignore @@ -0,0 +1,59 @@ +*.a +*.bundle +*.dll +*.dylib +*.exe +*.exp +*.lib +*.o +*.obj +*.pdb +*.res +*.sl +*.so +.fslckout +Makefile +Tk-Info.plist +autom4te.cache +config.cache +config.log +config.status +config.status.lineno +html +manifest.uuid +_FOSSIL_ +*/tkConfig.sh +*/wish* +*/tktest* +*/versions.vc +*/version.vc +*/libtcl.vfs +*/libtcl_*.zip +libtommath/bn.ilg +libtommath/bn.ind +libtommath/pretty.build +libtommath/tommath.src +libtommath/*.log +libtommath/*.pdf +libtommath/*.pl +libtommath/*.sh +libtommath/doc/* +libtommath/tombc/* +libtommath/pre_gen/* +libtommath/pics/* +libtommath/mtest/* +libtommath/logs/* +libtommath/etc/* +libtommath/demo/* +libtommath/*.out +libtommath/*.tex +macosx/configure +unix/autoMkindex.tcl +unix/dltest.marker +unix/tk.pc +unix/tclIndex +win/Debug* +win/Release* +win/*.manifest +win/nmhlp-out.txt +win/nmakehlp.out diff --git a/unix/Makefile.in b/unix/Makefile.in index c917516..c1301e7 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -1504,9 +1504,14 @@ $(MAC_OSX_DIR)/configure: $(MAC_OSX_DIR)/configure.ac $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in: $(MAC_OSX_DIR)/configure cd $(MAC_OSX_DIR); autoheader; touch $@ -dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in $(UNIX_DIR)/tk.pc.in $(MAC_OSX_DIR)/configure $(TOP_DIR)/doc/man.macros genstubs +$(TOP_DIR)/manifest.uuid: + printf "git." >$(TOP_DIR)/manifest.uuid + git rev-parse HEAD >>$(TOP_DIR)/manifest.uuid + +dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tkConfig.h.in $(UNIX_DIR)/tk.pc.in $(MAC_OSX_DIR)/configure $(TOP_DIR)/doc/man.macros $(TOP_DIR)/manifest.uuid genstubs rm -rf $(DISTDIR) mkdir -p $(DISTDIR)/unix + cp -p $(TOP_DIR)/manifest.uuid $(DISTDIR) cp -p $(UNIX_DIR)/*.c $(UNIX_DIR)/*.h $(DISTDIR)/unix cp $(TOP_DIR)/license.terms $(UNIX_DIR)/Makefile.in $(DISTDIR)/unix chmod 664 $(DISTDIR)/unix/Makefile.in diff --git a/unix/configure b/unix/configure index c5c8f67..4a68870 100755 --- a/unix/configure +++ b/unix/configure @@ -8843,6 +8843,7 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ + #include extern double strtod(); int main() { char *infString="Inf", *nanString="NaN", *spaceString=" "; diff --git a/unix/tcl.m4 b/unix/tcl.m4 index 399215e..f4a3b8a 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 @@ -2596,6 +2596,7 @@ AC_DEFUN([SC_BUGGY_STRTOD], [ if test "$tcl_strtod" = 1; then AC_CACHE_CHECK([for Solaris2.4/Tru64 strtod bugs], tcl_cv_strtod_buggy,[ AC_TRY_RUN([ + #include extern double strtod(); int main() { char *infString="Inf", *nanString="NaN", *spaceString=" "; @@ -2882,7 +2883,10 @@ AC_DEFUN([SC_TCL_CHECK_BROKEN_FUNC],[ AC_CHECK_FUNC($1, tcl_ok=1, tcl_ok=0) if test ["$tcl_ok"] = 1; then AC_CACHE_CHECK([proper ]$1[ implementation], [tcl_cv_]$1[_unbroken], - AC_TRY_RUN([[int main() {]$2[}]],[tcl_cv_]$1[_unbroken]=ok, + AC_TRY_RUN([[ +#include +#include +int main() {]$2[}]],[tcl_cv_]$1[_unbroken]=ok, [tcl_cv_]$1[_unbroken]=broken,[tcl_cv_]$1[_unbroken]=unknown)) if test ["$tcl_cv_]$1[_unbroken"] = "ok"; then tcl_ok=1 -- cgit v0.12