Attachment "tcl-crosscompile-win.diff" to
ticket [3564799fff]
added by
flelchuk
2012-09-05 03:14:47.
--- a/win/configure.in 2012-07-25 18:45:06.000000000 +0200
+++ b/win/configure.in 2012-09-04 20:46:25.780498951 +0200
@@ -203,6 +203,22 @@
eval "TCL_BUILD_STUB_LIB_PATH=\"`pwd`/${TCL_STUB_LIB_FILE}\""
eval "TCL_STUB_LIB_PATH=\"${libdir}/${TCL_STUB_LIB_FILE}\""
+# Support for Cross-compilation
+
+if test "x$cross_compiling" = xyes; then
+ CROSS_ON=''
+ CROSS_OFF='#'
+
+ AC_PATH_PROG([RUN_TCLSH], [tclsh], [])
+
+ if test -z "${RUN_TCLSH}"; then
+ eval "RUN_TCLSH=`which tclsh`"
+ fi
+else
+ CROSS_ON='#'
+ CROSS_OFF=''
+fi
+
# Install time header dir can be set via --includedir
eval "TCL_INCLUDE_SPEC=\"-I${includedir}\""
@@ -266,6 +282,11 @@
AC_SUBST(TCL_BUILD_STUB_LIB_PATH)
AC_SUBST(TCL_DLL_FILE)
+# Cross-compile support
+AC_SUBST(RUN_TCLSH)
+AC_SUBST(CROSS_ON)
+AC_SUBST(CROSS_OFF)
+
AC_SUBST(TCL_SRC_DIR)
AC_SUBST(TCL_BIN_DIR)
AC_SUBST(TCL_DBGX)
--- a/win/Makefile.in 2012-07-25 18:45:06.000000000 +0200
+++ b/win/Makefile.in 2012-09-04 20:28:43.924484259 +0200
@@ -145,6 +145,11 @@
TCL_EXE = tclsh
TCLSH = tclsh$(VER)${EXESUFFIX}
+
+@CROSS_ON@RUN_TCLSH = @RUN_TCLSH@
+@CROSS_OFF@RUN_TCLSH = ./$(TCLSH)
+@CROSS_OFF@TCL_LIB_ENV = TCL_LIBRARY="${LIBRARY_DIR}"
+
TCLTEST = tcltest${EXEEXT}
CAT32 = cat32$(EXEEXT)
MAN2TCL = man2tcl$(EXEEXT)
@@ -659,15 +664,21 @@
install-tzdata:
@echo "Installing time zone data"
- @TCL_LIBRARY="${LIBRARY_DIR}"; export TCL_LIBRARY; \
- ./$(TCLSH) "$(ROOT_DIR)/tools/installData.tcl" \
- "$(ROOT_DIR)/library/tzdata" "$(SCRIPT_INSTALL_DIR)/tzdata"
+ @if test -z "$(RUN_TCLSH)" ; then \
+ echo "Warning: no runnable tclsh found, skipping." ; \
+ else \
+ $(TCL_LIB_ENV) $(RUN_TCLSH) "$(ROOT_DIR)/tools/installData.tcl" \
+ "$(ROOT_DIR)/library/tzdata" "$(SCRIPT_INSTALL_DIR)/tzdata" ; \
+ fi
install-msgs:
@echo "Installing message catalogs"
- @TCL_LIBRARY="${LIBRARY_DIR}"; export TCL_LIBRARY; \
- ./$(TCLSH) "$(ROOT_DIR)/tools/installData.tcl" \
- "$(ROOT_DIR)/library/msgs" "$(SCRIPT_INSTALL_DIR)/msgs"
+ @if test -z "$(RUN_TCLSH)" ; then \
+ echo "No runnable tclsh found, skipping." ; \
+ else \
+ $(TCL_LIB_ENV) $(RUN_TCLSH) "$(ROOT_DIR)/tools/installData.tcl" \
+ "$(ROOT_DIR)/library/msgs" "$(SCRIPT_INSTALL_DIR)/msgs" ; \
+ fi
install-doc: doc