From b5c1be6c9518d4655a3e2ec49653ca6c98d95e4d Mon Sep 17 00:00:00 2001 From: surles Date: Wed, 2 Jun 1999 19:29:19 +0000 Subject: Added makefile targets and configure switches to be TEA compliant --- unix/Makefile.in | 17 +-- win/Makefile.in | 307 +++++++++++++++++++++++++++++++++++++++++++------------ win/configure.in | 37 ++++++- 3 files changed, 282 insertions(+), 79 deletions(-) diff --git a/unix/Makefile.in b/unix/Makefile.in index 3babe19..2a89383 100644 --- a/unix/Makefile.in +++ b/unix/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.25 1999/05/14 02:18:31 stanton Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.26 1999/06/02 19:29:19 surles Exp $ # Current Tcl version; used in various names. @@ -391,7 +391,13 @@ DL_SRCS = \ SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(STUB_SRCS) -all: ${TCL_LIB_FILE} $(TCL_STUB_LIB_FILE) tclsh +all: binaries libraries man + +binaries: ${TCL_LIB_FILE} $(TCL_STUB_LIB_FILE) tclsh + +libraries: + +man: # The following target is configured by autoconf to generate either # a shared library or non-shared library for Tcl. @@ -492,8 +498,7 @@ install: install-binaries install-libraries install-man # some ranlibs write to current directory, and this might not always be # possible (e.g. if installing as root). -install-binaries: $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) \ - tclsh +install-binaries: binaries $(TCL_BUILD_EXP_FILE) @for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \ do \ if [ ! -d $$i ] ; then \ @@ -522,7 +527,7 @@ install-binaries: $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) \ $(LIB_INSTALL_DIR)/$(TCL_STUB_LIB_FILE); \ fi -install-libraries: +install-libraries: libraries @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \ $(SCRIPT_INSTALL_DIR); \ do \ @@ -565,7 +570,7 @@ install-libraries: $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR)/encoding; \ done; -install-man: +install-man: man @for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \ do \ if [ ! -d $$i ] ; then \ diff --git a/win/Makefile.in b/win/Makefile.in index fa2f294..ac7a07a 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -1,10 +1,79 @@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ +# +# This file is a Makefile for Tcl. If it has the name "Makefile.in" +# then it is a template for a Makefile; to generate the actual Makefile, +# run "./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.2 1999/06/02 19:29:20 surles Exp $ + +#---------------------------------------------------------------- +# Things you can change to personalize the Makefile for your own +# site (you can make these changes in either Makefile.in or +# Makefile, but changes to Makefile will get lost if you re-run +# the configuration script). +#---------------------------------------------------------------- + +# Default top-level directories in which to install architecture- +# specific files (exec_prefix) and machine-independent files such +# as scripts (prefix). The values specified here may be overridden +# at configure-time with the --exec-prefix and --prefix options +# to the "configure" script. + +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +# Directory in which to install libtcl.so or libtcl.a: +LIB_INSTALL_DIR = $(prefix)/lib + +# Directory in which to install the program tclsh: +BIN_INSTALL_DIR = $(exec_prefix)/bin + +# Path name to use when installing library scripts: +SCRIPT_INSTALL_DIR = $(prefix)/lib/tcl$(DOTVER) + +# Directory in which to install the include file tcl.h: +INCLUDE_INSTALL_DIR = $(prefix)/include + +# Top-level directory in which to install manual entries: +MAN_INSTALL_DIR = $(prefix)/man + +# Directory in which to install manual entry for tclsh: +MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1 + +# Directory in which to install manual entries for Tcl's C library +# procedures: +MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3 + +# Directory in which to install manual entries for the built-in +# Tcl commands: +MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann + +PATHTYPE = @PATHTYPE@ +SRC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@') +ROOT_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/..') +GENERIC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/../generic') +WIN_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@') +COMPAT_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/../compat') +TOP_DIR = @srcdir@/.. + +DLLSUFFIX = @DLLSUFFIX@ +LIBSUFFIX = @LIBSUFFIX@ +EXESUFFIX = @EXESUFFIX@ + +STUB_LIB = tclstub$(VER)${LIBSUFFIX} +TCL_DLL = tcl$(VER)${DLLSUFFIX} +TCL_LIB = tcl$(VER)${LIBSUFFIX} +DDE_DLL = tcldde$(VER)${DLLSUFFIX} +DDE_LIB = tcldde$(VER)${LIBSUFFIX} +REG_DLL = tclreg$(VER)${DLLSUFFIX} +REG_LIB = tclreg$(VER)${LIBSUFFIX} -PATHTYPE=@PATHTYPE@ -SRC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@') -GENERIC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/../generic') -WIN_DIR = $(SRC_DIR) +SHARED_LIBRARIES = $(TCL_DLL) $(DDE_DLL) $(REG_DLL) +STATIC_LIBRARIES = $(TCL_LIB) $(DDE_LIB) $(REG_LIB) + +TCLSH = tclsh$(VER)${EXESUFFIX} +TCLTEST = tcltest${EXEEXT} @SET_MAKE@ @@ -13,29 +82,39 @@ WIN_DIR = $(SRC_DIR) DEPARG = "$(shell cygpath $(PATHTYPE) $<)" -VPATH = "@srcdir@:@srcdir@/../generic:@srcdir@/../compat" +# Setting the VPATH variable to a list of paths will cause the +# makefile to look into these paths when resolving .c to .obj +# dependencies. + +VPATH = $(GENERIC_DIR);$(WIN_DIR);$(COMPAT_DIR) -AR = @AR@ -CC = @CC@ -AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ +AR = @AR@ +CC = @CC@ +AC_FLAGS = @EXTRA_CFLAGS@ @DEFS@ CFLAGS_OPTIMIZE = @CFLAGS_OPTIMIZE@ -CFLAGS_DEBUG = @CFLAGS_DEBUG@ -CFLAGS_WARNING = @CFLAGS_WARNING@ -CFLAGS = @CFLAGS@ -CPPFLAGS = @CPPFLAGS@ -LDFLAGS = @LDFLAGS@ -EXEEXT = @EXEEXT@ -OBJEXT = @OBJEXT@ -SHLIB_LD = @SHLIB_LD@ -SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ -SHLIB_CFLAGS = @SHLIB_CFLAGS@ -SHLIB_SUFFIX = @SHLIB_SUFFIX@ -TCL_DBGX = @TCL_DBGX@ -VER=@TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@ -LIBS=@LIBS@ +CFLAGS_DEBUG = @CFLAGS_DEBUG@ +CFLAGS_WARNING = @CFLAGS_WARNING@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +LDFLAGS = @LDFLAGS@ +EXEEXT = @EXEEXT@ +OBJEXT = @OBJEXT@ +SHLIB_LD = @SHLIB_LD@ +SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ +SHLIB_CFLAGS = @SHLIB_CFLAGS@ +SHLIB_SUFFIX = @SHLIB_SUFFIX@ +TCL_DBGX = @TCL_DBGX@ +VER = @TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@ +DOTVER = @TCL_MAJOR_VERSION@.@TCL_MINOR_VERSION@ +LIBS = @LIBS@ + +RMDIR = rm -rf +MKDIR = mkdir -p +RM = rm -f +COPY = cp CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \ --I"${GENERIC_DIR}" -I"${SRC_DIR}" ${AC_FLAGS} +-I"${GENERIC_DIR}" -I"${WIN_DIR}" ${AC_FLAGS} CC_OBJNAME = @CC_OBJNAME@ CC_EXENAME = @CC_EXENAME@ @@ -43,16 +122,13 @@ CC_EXENAME = @CC_EXENAME@ STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \ -I"${GENERIC_DIR}" -I"${SRC_DIR}" ${AC_FLAGS} - -TCLSH_OBJS = tclAppInit.$(OBJEXT) - TCLTEST_OBJS = \ - tclTestInit.$(OBJEXT) \ tclTest.$(OBJEXT) \ tclTestObj.$(OBJEXT) \ tclTestProcBodyObj.$(OBJEXT) \ tclThreadTest.$(OBJEXT) \ - tclWinTest.$(OBJEXT) + tclWinTest.$(OBJEXT) \ + testMain.$(OBJEXT) GENERIC_OBJS = \ regcomp.$(OBJEXT) \ @@ -136,8 +212,6 @@ WIN_OBJS = \ COMPAT_OBJS = \ strftime.$(OBJEXT) -TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} ${COMPAT_OBJS} - DDE_OBJS = tclWinDde.$(OBJEXT) REG_OBJS = tclWinReg.$(OBJEXT) @@ -146,35 +220,15 @@ STUB_OBJS = tclStubLib.$(OBJEXT) TCLSH_OBJS = tclAppInit.$(OBJEXT) -TCLTEST_OBJS = \ - tclTest.$(OBJEXT) \ - tclTestObj.$(OBJEXT) \ - tclTestProcBodyObj.$(OBJEXT) \ - tclThreadTest.$(OBJEXT) \ - tclWinTest.$(OBJEXT) \ - testMain.$(OBJEXT) - -## - -DLLSUFFIX = @DLLSUFFIX@ -LIBSUFFIX = @LIBSUFFIX@ -EXESUFFIX = @EXESUFFIX@ +TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} ${COMPAT_OBJS} -STUB_LIB = tclstub$(VER)${LIBSUFFIX} -TCL_DLL = tcl$(VER)${DLLSUFFIX} -TCL_LIB = tcl$(VER)${LIBSUFFIX} -DDE_DLL = tcldde$(VER)${DLLSUFFIX} -DDE_LIB = tcldde$(VER)${LIBSUFFIX} -REG_DLL = tclreg$(VER)${DLLSUFFIX} -REG_LIB = tclreg$(VER)${LIBSUFFIX} +all: binaries libraries man -SHARED_LIBRARIES = $(TCL_DLL) $(DDE_DLL) $(REG_DLL) -STATIC_LIBRARIES = $(TCL_LIB) $(DDE_LIB) $(REG_LIB) +binaries: @LIBRARIES@ $(STATIC_LIBRARIES) $(STUB_LIB) $(TCLSH) -TCLSH = tclsh$(VER)${EXESUFFIX} -TCLTEST = tcltest${EXEEXT} +libraries: -all: @LIBRARIES@ $(STATIC_LIBRARIES) $(STUB_LIB) $(TCLSH) +man: $(TCLSH): $(TCL_LIB) $(TCLSH_OBJS) $(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB) $(LIBS) $(CC_EXENAME) @@ -186,31 +240,31 @@ $(TCLTEST): $(TCL_LIB) $(TCLTEST_OBJS) # a shared library or static library ${STUB_LIB}: ${STUB_OBJS} - @rm -f ${STUB_LIB} + @$(RM) ${STUB_LIB} @MAKE_LIB@ ${STUB_OBJS} ${TCL_DLL}: ${TCL_OBJS} - @rm -f ${TCL_DLL} + @$(RM) ${TCL_DLL} @MAKE_DLL@ ${TCL_OBJS} ${TCL_LIB}: ${TCL_OBJS} - @rm -f ${TCL_LIB} + @$(RM) ${TCL_LIB} @MAKE_LIB@ ${TCL_OBJS} ${DDE_DLL}: ${DDE_OBJS} ${STUB_LIB} - @rm -f ${DDE_DLL} + @$(RM) ${DDE_DLL} @MAKE_DLL@ ${DDE_OBJS} ${STUB_LIB} ${DDE_LIB}: ${DDE_OBJS} - @rm -f ${DDE_LIB} + @$(RM) ${DDE_LIB} @MAKE_LIB@ ${DDE_OBJS} ${REG_DLL}: ${REG_OBJS} ${STUB_LIB} - @rm -f ${REG_DLL} + @$(RM) ${REG_DLL} @MAKE_DLL@ ${REG_OBJS} ${STUB_LIB} ${REG_LIB}: ${REG_OBJS} - @rm -f ${REG_LIB} + @$(RM) ${REG_LIB} @MAKE_LIB@ ${REG_OBJS} # Add the object extension to the implicit rules. By default .obj is not @@ -258,13 +312,130 @@ tclStubLib.${OBJEXT}: tclStubLib.c .c.${OBJEXT}: $(CC) -c $(CC_SWITCHES) -DBUILD_tcl ${DEPARG} $(CC_OBJNAME) +install: install-binaries install-libraries install-man + +install-binaries: binaries + @$(MKDIR) "$(BIN_INSTALL_DIR)" + @$(MKDIR) "$(LIB_INSTALL_DIR)" + @echo installing $(TCL_DLL) + @$(COPY) "$(TCL_DLL)" "$(BIN_INSTALL_DIR)" + @$(COPY) "$(TCL_LIB)" "$(LIB_INSTALL_DIR)" + @echo installing "$(TCLSH)" + @$(COPY) "$(TCLSH)" "$(BIN_INSTALL_DIR)" + @echo installing $(STUB_LIB) + @$(COPY) "$(STUB_LIB)" "$(LIB_INSTALL_DIR)" +# @echo installing $(TCLPIPEDLLNAME) +# @$(COPY) "$(TCLPIPEDLL)" "$(BIN_INSTALL_DIR)" + +install-libraries: libraries + @$(MKDIR) "$(LIB_INSTALL_DIR)" + @$(MKDIR) "$(INCLUDE_INSTALL_DIR)" + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)" + @echo installing http1.0 + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/http1.0" + @$(COPY) "$(ROOT_DIR)/library/http1.0/http.tcl" "$(SCRIPT_INSTALL_DIR)/http1.0" + @$(COPY) "$(ROOT_DIR)/library/http1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/http1.0" + @echo installing http2.0 + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/http2.0" + @$(COPY) "$(ROOT_DIR)/library/http2.0/http.tcl" "$(SCRIPT_INSTALL_DIR)/http2.0" + @$(COPY) "$(ROOT_DIR)/library/http2.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/http2.0" + @echo installing opt0.4 + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/opt0.4" + @$(COPY) "$(ROOT_DIR)/library/opt0.4/optparse.tcl" "$(SCRIPT_INSTALL_DIR)/opt0.4" + @$(COPY) "$(ROOT_DIR)/library/opt0.4/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/opt0.4" + @echo installing msgcat1.0 + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/msgcat1.0" + @$(COPY) "$(ROOT_DIR)/library/msgcat1.0/msgcat.tcl" "$(SCRIPT_INSTALL_DIR)/msgcat1.0" + @$(COPY) "$(ROOT_DIR)/library/msgcat1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/msgcat1.0" + @echo installing $(DDE_DLL) + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/dde1.0" + @$(COPY) "$(DDE_DLL)" "$(SCRIPT_INSTALL_DIR)/dde1.0" + @$(COPY) "$(ROOT_DIR)/library/dde1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/dde1.0" + @echo installing $(REG_DLL) + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/reg1.0" + @$(COPY) "$(REG_DLL)" "$(SCRIPT_INSTALL_DIR)/reg1.0" + @$(COPY) "$(ROOT_DIR)/library/reg1.0/pkgIndex.tcl" "$(SCRIPT_INSTALL_DIR)/reg1.0" + @echo installing encoding files + @$(MKDIR) "$(SCRIPT_INSTALL_DIR)/encoding" + @$(COPY) $(TOP_DIR)/library/encoding/*.enc "$(SCRIPT_INSTALL_DIR)/encoding" + @echo installing library files + @$(COPY) "$(GENERIC_DIR)/tcl.h" "$(INCLUDE_INSTALL_DIR)" + @$(COPY) "$(GENERIC_DIR)/tclDecls.h" "$(INCLUDE_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/history.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/init.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/ldAout.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/parray.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/safe.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/tclIndex" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/package.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/word.tcl" "$(SCRIPT_INSTALL_DIR)" + @$(COPY) "$(ROOT_DIR)/library/auto.tcl" "$(SCRIPT_INSTALL_DIR)" + +install-man: man + @for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \ + do \ + if [ ! -d $$i ] ; then \ + echo "Making directory $$i"; \ + mkdir -p $$i; \ + chmod 755 $$i; \ + else true; \ + fi; \ + done; + @cd $(TOP_DIR)/doc; for i in *.1; \ + do \ + echo "Installing doc/$$i"; \ + rm -f $(MAN1_INSTALL_DIR)/$$i; \ + sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ + $$i > $(MAN1_INSTALL_DIR)/$$i; \ + chmod 444 $(MAN1_INSTALL_DIR)/$$i; \ + done; + @cd $(TOP_DIR)/doc; for i in *.3; \ + do \ + echo "Installing doc/$$i"; \ + rm -f $(MAN3_INSTALL_DIR)/$$i; \ + sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ + $$i > $(MAN3_INSTALL_DIR)/$$i; \ + chmod 444 $(MAN3_INSTALL_DIR)/$$i; \ + done; + @cd $(TOP_DIR)/doc; for i in *.n; \ + do \ + echo "Installing doc/$$i"; \ + rm -f $(MANN_INSTALL_DIR)/$$i; \ + sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ + $$i > $(MANN_INSTALL_DIR)/$$i; \ + chmod 444 $(MANN_INSTALL_DIR)/$$i; \ + done; + +test: binaries $(TCLTEST) + LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \ + SHLIB_PATH=`pwd`:${SHLIB_PATH}; export SHLIB_PATH; \ + TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ + ./tcltest @srcdir@/../tests/all.tcl + +# Useful target to launch a built tcltest with the proper path,... +runtest: tcltest + LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH; \ + SHLIB_PATH=`pwd`:${SHLIB_PATH}; export SHLIB_PATH; \ + TCL_LIBRARY="${TCL_BUILDTIME_LIBRARY}"; export TCL_LIBRARY; \ + ./tcltest + +depend: + Makefile: $(SRC_DIR)/Makefile.in config.status clean: - rm -f *.lib *.exp *.dll *.${OBJEXT} *~ \#* TAGS a.out - rm -f $(TCLSH) $(TCLTEST) - rm -f *.pch + $(RM) *.lib *.exp *.dll *.${OBJEXT} *~ \#* TAGS a.out + $(RM) $(TCLSH) $(TCLTEST) + $(RM) *.pch distclean: clean - rm -f Makefile config.status config.cache config.log + $(RM) Makefile config.status config.cache config.log + +# +# Regenerate the stubs files. +# + +genstubs: + tclsh$(VERSION) $(ROOT)\tools\genStubs.tcl $(GENERICDIR) \ + $(GENERICDIR)\tcl.decls $(GENERICDIR)\tclInt.decls diff --git a/win/configure.in b/win/configure.in index 88dcd22..bee34e0 100644 --- a/win/configure.in +++ b/win/configure.in @@ -2,7 +2,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. AC_INIT(../generic/tcl.h) -# RCS: @(#) $Id: configure.in,v 1.1 1999/05/28 23:02:44 stanton Exp $ +# RCS: @(#) $Id: configure.in,v 1.2 1999/06/02 19:29:20 surles Exp $ TCL_VERSION=8.1 TCL_MAJOR_VERSION=8 @@ -10,6 +10,19 @@ TCL_MINOR_VERSION=1 TCL_PATCH_LEVEL=.2 VERSION=${TCL_VERSION} +# Check whether --enable-gcc or --disable-gcc was given. Do this before +# AC_PROG_CC and AC_CYGWIN are called so the compiler can be fully tested +# by built-in autoconf tools. + +AC_ARG_ENABLE(gcc, [ --enable-gcc build with gcc], + [tcl_ok=$enableval], [tcl_ok=test_all]) +if test "$tcl_ok" = "yes"; then + CC=gcc +fi +if test "$tcl_ok" = "no"; then + CC=cl +fi + AC_PROG_MAKE_SET AC_PROG_CC AC_CYGWIN @@ -24,16 +37,29 @@ if test "$tcl_ok" = "yes"; then CFLAGS='${CFLAGS_DEBUG}' LD_FLAGS='${LDFLAGS_DEBUG}' TCL_DBGX=d + echo "building with debug symbols" else CFLAGS='${CFLAGS_OPTIMIZE}' LD_FLAGS='${LDFLAGS_OPTIMIZE}' TCL_DBGX="" + echo "building without debug symbols" fi # Trick to replace DBGX with TCL_DBGX DBGX='${TCL_DBGX}' eval "TCL_LIB_FILE=${TCL_LIB_FILE}" +# Check whether --enable-threads or --disable-threads was given. + +AC_ARG_ENABLE(threads, [ --enable-threads build with threads], + [tcl_ok=$enableval], [tcl_ok=no]) +if test "$tcl_ok" = "yes"; then + AC_DEFINE(TCL_THREADS) + echo "building with threads enabled" +else + echo "building with threads disabled (default)" +fi + #-------------------------------------------------------------------- # The statements below define a collection of symbols related to # building libtcl as a shared library instead of a static library. @@ -79,9 +105,9 @@ else MAKE_LIB="\${AR} -out:\$@" MAKE_EXE="\${CC} -Fe\$@" - echo "TCL_SHARED_BUILD=${TCL_SHARED_BUILD}" if test "${TCL_SHARED_BUILD}" = "0" ; then # static + echo "building static version" runtime=-MT MAKE_DLL="echo " LIBSUFFIX="s\${TCL_DBGX}.lib" @@ -90,6 +116,7 @@ else DLLSUFFIX="" else # dynamic + echo "building dynamic version" runtime=-MD MAKE_DLL="\${SHLIB_LD} \${SHLIB_LD_LIBS} -out:\$@" LIBSUFFIX="\${TCL_DBGX}.lib" @@ -98,9 +125,9 @@ else LIBRARIES="\${SHARED_LIBRARIES}" fi - EXTRA_CFLAGS="-YX -nologo" - CFLAGS_DEBUG="-Z7 -Od -WX ${runtime}d" - CFLAGS_OPTIMIZE="-O2 -Gs -GD ${runtime}" + EXTRA_CFLAGS="-YX" + CFLAGS_DEBUG="-nologo -Z7 -Od -WX ${runtime}d" + CFLAGS_OPTIMIZE="-nologo -O2 -Gs -GD ${runtime}" CFLAGS_WARNING="-W3" LDFLAGS_DEBUG="-debug" LDFLAGS_OPTIMIZE="-release" -- cgit v0.12