summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authorericm <ericm>2000-06-13 21:01:05 (GMT)
committerericm <ericm>2000-06-13 21:01:05 (GMT)
commit8bb9bc448fdea2fd557b000733dda032dbc90067 (patch)
treec305244d622a66471a9df2a7269d62efe999b5de /win
parent757d7e36f57c08d84ed7c80206dc6adf8bfdca57 (diff)
downloadtcl-8bb9bc448fdea2fd557b000733dda032dbc90067.zip
tcl-8bb9bc448fdea2fd557b000733dda032dbc90067.tar.gz
tcl-8bb9bc448fdea2fd557b000733dda032dbc90067.tar.bz2
* win/tcl.m4:
* win/configure.in: * win/Makefile.in: Applied patch from [RFE: 5844], to extend support for mingw compile environment on Windows.
Diffstat (limited to 'win')
-rw-r--r--win/Makefile.in27
-rw-r--r--win/configure.in12
-rw-r--r--win/tcl.m461
3 files changed, 82 insertions, 18 deletions
diff --git a/win/Makefile.in b/win/Makefile.in
index c2a66b6..228e01a 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.36 2000/05/19 18:57:59 hobbs Exp $
+# RCS: @(#) $Id: Makefile.in,v 1.37 2000/06/13 21:01:05 ericm Exp $
VERSION = @TCL_VERSION@
@@ -47,7 +47,7 @@ LIB_RUNTIME_DIR = $(libdir)
# Directory in which to install the program tclsh:
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(bindir)
-# Directory in which to install libtcl.so or libtcl.a:
+# Directory in which to install the .a or .so binary for the Tcl library:
LIB_INSTALL_DIR = $(INSTALL_ROOT)$(libdir)
# Path name to use when installing library scripts.
@@ -130,7 +130,7 @@ DDE_DLL_FILE = tcldde$(VER)${DLLSUFFIX}
DDE_LIB_FILE = tcldde$(VER)${LIBSUFFIX}
REG_DLL_FILE = tclreg$(VER)${DLLSUFFIX}
REG_LIB_FILE = tclreg$(VER)${LIBSUFFIX}
-PIPE_DLL_FILE = tclpip$(VER).dll
+PIPE_DLL_FILE = tclpip$(VER)${DLLSUFFIX}
SHARED_LIBRARIES = $(TCL_DLL_FILE) $(TCL_STUB_LIB_FILE) \
$(DDE_DLL_FILE) $(REG_DLL_FILE) $(PIPE_DLL_FILE)
@@ -169,7 +169,7 @@ EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
STLIB_LD = @STLIB_LD@
SHLIB_LD = @SHLIB_LD@
-SHLIB_LD_LIBS = @SHLIB_LD_LIBS@
+SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ $(LIBS)
SHLIB_CFLAGS = @SHLIB_CFLAGS@
SHLIB_SUFFIX = @SHLIB_SUFFIX@
VER = @TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@
@@ -178,6 +178,7 @@ LIBS = @LIBS@
RMDIR = rm -rf
MKDIR = mkdir -p
+SHELL = @SHELL@
RM = rm -f
COPY = cp
@@ -301,7 +302,7 @@ all: binaries libraries doc
tcltest: $(TCLTEST)
-binaries: @LIBRARIES@ $(STATIC_LIBRARIES) $(TCLSH)
+binaries: @LIBRARIES@ $(TCLSH)
libraries:
@@ -323,11 +324,11 @@ $(TCLTEST): $(TCL_LIB_FILE) $(TCLTEST_OBJS) $(CAT32) tclsh.$(RES)
$(CC) $(CFLAGS) $(TCLTEST_OBJS) $(TCL_LIB_FILE) $(LIBS) \
tclsh.$(RES) $(CC_EXENAME)
-cat32.${OBJEXT}: cat.c
+cat32.$(OBJEXT): cat.c
$(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME)
-$(CAT32): cat32.${OBJEXT}
- $(CC) $(CFLAGS) cat32.${OBJEXT} $(CC_EXENAME) $(LDFLAGS_CONSOLE)
+$(CAT32): cat32.$(OBJEXT)
+ $(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
# The following targets are configured by autoconf to generate either
# a shared library or static library
@@ -339,7 +340,7 @@ ${TCL_STUB_LIB_FILE}: ${STUB_OBJS}
${TCL_DLL_FILE}: ${TCL_OBJS} tcl.$(RES)
@$(RM) ${TCL_DLL_FILE}
- @MAKE_DLL@ ${TCL_OBJS} tcl.$(RES)
+ @MAKE_DLL@ ${TCL_OBJS} tcl.$(RES) $(SHLIB_LD_LIBS)
${TCL_LIB_FILE}: ${TCL_OBJS}
@$(RM) ${TCL_LIB_FILE}
@@ -348,11 +349,11 @@ ${TCL_LIB_FILE}: ${TCL_OBJS}
${DDE_DLL_FILE}: ${DDE_OBJS} ${TCL_STUB_LIB_FILE}
@$(RM) ${DDE_DLL_FILE}
- @MAKE_DLL@ ${DDE_OBJS} ${TCL_STUB_LIB_FILE}
+ @MAKE_DLL@ ${DDE_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
${REG_DLL_FILE}: ${REG_OBJS} ${TCL_STUB_LIB_FILE}
@$(RM) ${REG_DLL_FILE}
- @MAKE_DLL@ ${REG_OBJS} ${TCL_STUB_LIB_FILE}
+ @MAKE_DLL@ ${REG_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
# PIPE_DLL_FILE is actually an executable, don't build it
# like a DLL.
@@ -513,14 +514,14 @@ runtest: tcltest
depend:
-Makefile: Makefile.in
+Makefile: $(SRC_DIR)/Makefile.in
./config.status
cleanhelp:
$(RM) *.hlp *.cnt *.GID *.rtf man2tcl.exe
clean: cleanhelp
- $(RM) *.lib *.exp *.dll *.$(RES) *.${OBJEXT} *~ \#* TAGS a.out
+ $(RM) *.lib *.a *.exp *.dll *.$(RES) *.${OBJEXT} *~ \#* TAGS a.out
$(RM) $(TCLSH) $(TCLTEST) $(CAT32)
$(RM) *.pch *.ilk *.pdb
diff --git a/win/configure.in b/win/configure.in
index 2f35312..875f2f0 100644
--- a/win/configure.in
+++ b/win/configure.in
@@ -2,7 +2,7 @@
# generate the file "configure", which is run during Tcl installation
# to configure the system for the local environment.
#
-# RCS: @(#) $Id: configure.in,v 1.22 2000/05/18 22:19:17 hobbs Exp $
+# RCS: @(#) $Id: configure.in,v 1.23 2000/06/13 21:01:06 ericm Exp $
AC_INIT(../generic/tcl.h)
@@ -79,6 +79,12 @@ TCL_DBGX=${DBGX}
AC_CHECK_HEADER(errno.h, , MAN2TCLFLAGS="-DNO_ERRNO_H")
AC_SUBST(MAN2TCLFLAGS)
+#------------------------------------------------------------------------
+# tclConfig.sh refers to this by a different name
+#------------------------------------------------------------------------
+
+TCL_SHARED_BUILD=${SHARED_BUILD}
+
#--------------------------------------------------------------------
# Perform final evaluations of variables with possible substitutions.
#--------------------------------------------------------------------
@@ -91,6 +97,7 @@ eval "TCL_SRC_DIR=`cd $srcdir; pwd`"
eval "TCL_STUB_LIB_FILE=${LIBPREFIX}tclstub$VER${LIBSUFFIX}"
eval "TCL_DLL_FILE=tcl$VER${DLLSUFFIX}"
eval "TCL_LIB_FILE=${LIBPREFIX}tcl$VER${LIBSUFFIX}"
+
eval "DLLSUFFIX=${DLLSUFFIX}"
eval "LIBPREFIX=${LIBPREFIX}"
eval "LIBSUFFIX=${LIBSUFFIX}"
@@ -113,6 +120,7 @@ AC_SUBST(TCL_DBGX)
AC_SUBST(CFG_TCL_SHARED_LIB_SUFFIX)
AC_SUBST(CFG_TCL_UNSHARED_LIB_SUFFIX)
AC_SUBST(CFG_TCL_EXPORT_FILE_SUFFIX)
+AC_SUBST(TCL_SHARED_BUILD)
AC_SUBST(PATHTYPE)
AC_SUBST(CYGPATH)
@@ -140,6 +148,8 @@ AC_SUBST(RC_OUT)
AC_SUBST(RC_TYPE)
AC_SUBST(RC_INCLUDE)
AC_SUBST(RES)
+AC_SUBST(LIBS)
+AC_SUBST(LIBS_GUI)
AC_SUBST(DLLSUFFIX)
AC_SUBST(LIBPREFIX)
AC_SUBST(LIBSUFFIX)
diff --git a/win/tcl.m4 b/win/tcl.m4
index 798d6b0..a687a2a 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -165,6 +165,10 @@ AC_DEFUN(SC_LOAD_TKCONFIG, [
#
# Sets the following vars:
# CC Command to use for the compiler
+# AR Comman for the archive tool
+# RANLIB Command for the archive indexing tool
+# RC Command for the resource compiler
+#
#------------------------------------------------------------------------
AC_DEFUN(SC_ENABLE_GCC, [
@@ -335,7 +339,7 @@ AC_DEFUN(SC_ENABLE_SYMBOLS, [
#
# Results:
#
-# Defines the following vars for all compilers:
+# Can the following vars:
# EXTRA_CFLAGS
# CFLAGS_DEBUG
# CFLAGS_OPTIMIZE
@@ -349,12 +353,13 @@ AC_DEFUN(SC_ENABLE_SYMBOLS, [
# PATHTYPE
# VPSEP
# CYGPATH
-#
-# Defines the following vars for non-gcc compilers
# SHLIB_LD
# SHLIB_LD_LIBS
# LIBS
# AR
+# RC
+# RES
+#
# MAKE_LIB
# MAKE_EXE
# MAKE_DLL
@@ -507,7 +512,8 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [
# dynamic
AC_MSG_RESULT([using shared flags])
runtime=-MD
- MAKE_DLL="\${SHLIB_LD} \${SHLIB_LD_LIBS} \$(LDFLAGS) -out:\[$]@"
+ # Add SHLIB_LD_LIBS to the Make rule, not here.
+ MAKE_DLL="\${SHLIB_LD} \$(LDFLAGS) -out:\[$]@"
LIBSUFFIX="\${DBGX}.lib"
DLLSUFFIX="\${DBGX}.dll"
EXESUFFIX="\${DBGX}.exe"
@@ -570,3 +576,50 @@ AC_DEFUN(SC_WITH_TCL, [
AC_SUBST(TCL_BIN_DIR)
])
+# FIXME : SC_PROG_TCLSH should really look for the installed tclsh and
+# not the build version. If we want to use the build version in the
+# tk script, it is better to hardcode that!
+
+#------------------------------------------------------------------------
+# SC_PROG_TCLSH
+# Locate a tclsh shell in the following directories:
+# ${exec_prefix}/bin
+# ${prefix}/bin
+# ${TCL_BIN_DIR}
+# ${TCL_BIN_DIR}/../bin
+# ${PATH}
+#
+# Arguments
+# none
+#
+# Results
+# Subst's the following values:
+# TCLSH_PROG
+#------------------------------------------------------------------------
+
+AC_DEFUN(SC_PROG_TCLSH, [
+ AC_MSG_CHECKING([for tclsh])
+
+ AC_CACHE_VAL(ac_cv_path_tclsh, [
+ search_path=`echo ${exec_prefix}/bin:${prefix}/bin:${TCL_BIN_DIR}:${TCL_BIN_DIR}/../bin:${PATH} | sed -e 's/:/ /g'`
+ for dir in $search_path ; do
+ for j in `ls -r $dir/tclsh[[8-9]]*.exe 2> /dev/null` \
+ `ls -r $dir/tclsh* 2> /dev/null` ; do
+ if test x"$ac_cv_path_tclsh" = x ; then
+ if test -f "$j" ; then
+ ac_cv_path_tclsh=$j
+ break
+ fi
+ fi
+ done
+ done
+ ])
+
+ if test -f "$ac_cv_path_tclsh" ; then
+ TCLSH_PROG=$ac_cv_path_tclsh
+ AC_MSG_RESULT($TCLSH_PROG)
+ else
+ AC_MSG_ERROR(No tclsh found in PATH: $search_path)
+ fi
+ AC_SUBST(TCLSH_PROG)
+])