diff options
-rw-r--r-- | win/Makefile.in | 270 | ||||
-rw-r--r-- | win/configure.in | 141 |
2 files changed, 411 insertions, 0 deletions
diff --git a/win/Makefile.in b/win/Makefile.in new file mode 100644 index 0000000..fa2f294 --- /dev/null +++ b/win/Makefile.in @@ -0,0 +1,270 @@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +PATHTYPE=@PATHTYPE@ +SRC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@') +GENERIC_DIR = $(shell cygpath $(PATHTYPE) '@srcdir@/../generic') +WIN_DIR = $(SRC_DIR) + +@SET_MAKE@ + +# Macro that expands to the first dependency argument with the appropriate +# path type already resolved. + +DEPARG = "$(shell cygpath $(PATHTYPE) $<)" + +VPATH = "@srcdir@:@srcdir@/../generic:@srcdir@/../compat" + +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@ + +CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \ +-I"${GENERIC_DIR}" -I"${SRC_DIR}" ${AC_FLAGS} + +CC_OBJNAME = @CC_OBJNAME@ +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) + +GENERIC_OBJS = \ + regcomp.$(OBJEXT) \ + regexec.$(OBJEXT) \ + regfree.$(OBJEXT) \ + regerror.$(OBJEXT) \ + tclAlloc.$(OBJEXT) \ + tclAsync.$(OBJEXT) \ + tclBasic.$(OBJEXT) \ + tclBinary.$(OBJEXT) \ + tclCkalloc.$(OBJEXT) \ + tclClock.$(OBJEXT) \ + tclCmdAH.$(OBJEXT) \ + tclCmdIL.$(OBJEXT) \ + tclCmdMZ.$(OBJEXT) \ + tclCompCmds.$(OBJEXT) \ + tclCompExpr.$(OBJEXT) \ + tclCompile.$(OBJEXT) \ + tclDate.$(OBJEXT) \ + tclEncoding.$(OBJEXT) \ + tclEnv.$(OBJEXT) \ + tclEvent.$(OBJEXT) \ + tclExecute.$(OBJEXT) \ + tclFCmd.$(OBJEXT) \ + tclFileName.$(OBJEXT) \ + tclGet.$(OBJEXT) \ + tclHash.$(OBJEXT) \ + tclHistory.$(OBJEXT) \ + tclIndexObj.$(OBJEXT) \ + tclInterp.$(OBJEXT) \ + tclIO.$(OBJEXT) \ + tclIOCmd.$(OBJEXT) \ + tclIOSock.$(OBJEXT) \ + tclIOUtil.$(OBJEXT) \ + tclLink.$(OBJEXT) \ + tclLiteral.$(OBJEXT) \ + tclListObj.$(OBJEXT) \ + tclLoad.$(OBJEXT) \ + tclMain.$(OBJEXT) \ + tclNamesp.$(OBJEXT) \ + tclNotify.$(OBJEXT) \ + tclObj.$(OBJEXT) \ + tclPanic.$(OBJEXT) \ + tclParse.$(OBJEXT) \ + tclParseExpr.$(OBJEXT) \ + tclPipe.$(OBJEXT) \ + tclPkg.$(OBJEXT) \ + tclPosixStr.$(OBJEXT) \ + tclPreserve.$(OBJEXT) \ + tclProc.$(OBJEXT) \ + tclRegexp.$(OBJEXT) \ + tclResolve.$(OBJEXT) \ + tclResult.$(OBJEXT) \ + tclScan.$(OBJEXT) \ + tclStringObj.$(OBJEXT) \ + tclStubInit.$(OBJEXT) \ + tclStubLib.$(OBJEXT) \ + tclThread.$(OBJEXT) \ + tclTimer.$(OBJEXT) \ + tclUtf.$(OBJEXT) \ + tclUtil.$(OBJEXT) \ + tclVar.$(OBJEXT) + +WIN_OBJS = \ + tclWin32Dll.$(OBJEXT) \ + tclWinChan.$(OBJEXT) \ + tclWinConsole.$(OBJEXT) \ + tclWinSerial.$(OBJEXT) \ + tclWinError.$(OBJEXT) \ + tclWinFCmd.$(OBJEXT) \ + tclWinFile.$(OBJEXT) \ + tclWinInit.$(OBJEXT) \ + tclWinLoad.$(OBJEXT) \ + tclWinMtherr.$(OBJEXT) \ + tclWinNotify.$(OBJEXT) \ + tclWinPipe.$(OBJEXT) \ + tclWinSock.$(OBJEXT) \ + tclWinThrd.$(OBJEXT) \ + tclWinTime.$(OBJEXT) + +COMPAT_OBJS = \ + strftime.$(OBJEXT) + +TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} ${COMPAT_OBJS} + +DDE_OBJS = tclWinDde.$(OBJEXT) + +REG_OBJS = tclWinReg.$(OBJEXT) + +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@ + +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} + +SHARED_LIBRARIES = $(TCL_DLL) $(DDE_DLL) $(REG_DLL) +STATIC_LIBRARIES = $(TCL_LIB) $(DDE_LIB) $(REG_LIB) + +TCLSH = tclsh$(VER)${EXESUFFIX} +TCLTEST = tcltest${EXEEXT} + +all: @LIBRARIES@ $(STATIC_LIBRARIES) $(STUB_LIB) $(TCLSH) + +$(TCLSH): $(TCL_LIB) $(TCLSH_OBJS) + $(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB) $(LIBS) $(CC_EXENAME) + +$(TCLTEST): $(TCL_LIB) $(TCLTEST_OBJS) + $(CC) $(CFLAGS) $(TCLTEST_OBJS) $(TCL_LIB) $(LIBS) $(CC_EXENAME) + +# The following targets are configured by autoconf to generate either +# a shared library or static library + +${STUB_LIB}: ${STUB_OBJS} + @rm -f ${STUB_LIB} + @MAKE_LIB@ ${STUB_OBJS} + +${TCL_DLL}: ${TCL_OBJS} + @rm -f ${TCL_DLL} + @MAKE_DLL@ ${TCL_OBJS} + +${TCL_LIB}: ${TCL_OBJS} + @rm -f ${TCL_LIB} + @MAKE_LIB@ ${TCL_OBJS} + +${DDE_DLL}: ${DDE_OBJS} ${STUB_LIB} + @rm -f ${DDE_DLL} + @MAKE_DLL@ ${DDE_OBJS} ${STUB_LIB} + +${DDE_LIB}: ${DDE_OBJS} + @rm -f ${DDE_LIB} + @MAKE_LIB@ ${DDE_OBJS} + +${REG_DLL}: ${REG_OBJS} ${STUB_LIB} + @rm -f ${REG_DLL} + @MAKE_DLL@ ${REG_OBJS} ${STUB_LIB} + +${REG_LIB}: ${REG_OBJS} + @rm -f ${REG_LIB} + @MAKE_LIB@ ${REG_OBJS} + +# Add the object extension to the implicit rules. By default .obj is not +# automatically added. + +.SUFFIXES: .${OBJEXT} + +# Special case object targets + +tclWinInit.obj: tclWinInit.c + $(CC) -c $(CC_SWITCHES) -DBUILD_tcl $(EXTFLAGS) $(DEPARG) $(CC_OBJNAME) + +testMain.obj: tclAppInit.c + $(CC) -c $(CC_SWITCHES) -DTCL_TEST $(DEPARG) $(CC_OBJNAME) + +tclTest.obj: tclTest.c + $(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME) + +tclTestObj.obj: tclTestObj.c + $(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME) + +tclWinTest.obj: tclWinTest.c + $(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME) + +tclAppInit.obj : tclAppInit.c + $(CC) -c $(CC_SWITCHES) $(DEPARG) $(CC_OBJNAME) + +# The following objects should be built using the stub interfaces + +tclWinReg.obj : tclWinReg.c + $(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS $(DEPARG) $(CC_OBJNAME) + +tclWinDde.obj : tclWinDde.c + $(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS $(DEPARG) $(CC_OBJNAME) + +# 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 + +tclStubLib.${OBJEXT}: tclStubLib.c + $(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD $(DEPARG) $(CC_OBJNAME) + + +# Implicit rule for all object files that will end up in the Tcl library + +.c.${OBJEXT}: + $(CC) -c $(CC_SWITCHES) -DBUILD_tcl ${DEPARG} $(CC_OBJNAME) + +Makefile: $(SRC_DIR)/Makefile.in + config.status + +clean: + rm -f *.lib *.exp *.dll *.${OBJEXT} *~ \#* TAGS a.out + rm -f $(TCLSH) $(TCLTEST) + rm -f *.pch + +distclean: clean + rm -f Makefile config.status config.cache config.log diff --git a/win/configure.in b/win/configure.in new file mode 100644 index 0000000..88dcd22 --- /dev/null +++ b/win/configure.in @@ -0,0 +1,141 @@ +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 $ + +TCL_VERSION=8.1 +TCL_MAJOR_VERSION=8 +TCL_MINOR_VERSION=1 +TCL_PATCH_LEVEL=.2 +VERSION=${TCL_VERSION} + +AC_PROG_MAKE_SET +AC_PROG_CC +AC_CYGWIN +AC_OBJEXT +AC_EXEEXT + +# Set the default compiler switches based on the --enable-symbols option + +AC_ARG_ENABLE(symbols, [ --enable-symbols build with debugging symbols], + [tcl_ok=$enableval], [tcl_ok=no]) +if test "$tcl_ok" = "yes"; then + CFLAGS='${CFLAGS_DEBUG}' + LD_FLAGS='${LDFLAGS_DEBUG}' + TCL_DBGX=d +else + CFLAGS='${CFLAGS_OPTIMIZE}' + LD_FLAGS='${LDFLAGS_OPTIMIZE}' + TCL_DBGX="" +fi + +# Trick to replace DBGX with TCL_DBGX +DBGX='${TCL_DBGX}' +eval "TCL_LIB_FILE=${TCL_LIB_FILE}" + +#-------------------------------------------------------------------- +# The statements below define a collection of symbols related to +# building libtcl as a shared library instead of a static library. +#-------------------------------------------------------------------- + +AC_ARG_ENABLE(shared, + [ --enable-shared build libtcl as a shared library (on by default)], + [tcl_ok=$enableval], [tcl_ok=yes]) + +# Check whether --enable-shared or --disable-shared was given. +if test "${enable_shared+set}" = set; then + enableval="$enable_shared" + tcl_ok=$enableval +else + tcl_ok=yes +fi + +if test "$tcl_ok" = "yes" ; then + TCL_SHARED_BUILD=1 +else + TCL_SHARED_BUILD=0 + AC_DEFINE(STATIC_BUILD) +fi + +EXTRA_CFLAGS="" +# set various compiler flags depending on whether we are using gcc or cl +if test "${GCC}" = "yes" ; then + CFLAGS_DEBUG=-g + CFLAGS_OPTIMIZE=-O + CFLAGS_WARNING="-Wall -Wconversion" + LDFLAGS_DEBUG=-g + LDFLAGS_OPTIMIZE=-O + PATHTYPE=-u + + # Specify the CC output file names based on the target name + CC_OBJNAME="-o \$@" + CC_EXENAME="-o \$@" +else + SHLIB_LD="link -dll -nologo" + SHLIB_LD_LIBS="user32.lib advapi32.lib" + LIBS="user32.lib advapi32.lib" + AR="lib -nologo" + MAKE_LIB="\${AR} -out:\$@" + MAKE_EXE="\${CC} -Fe\$@" + + echo "TCL_SHARED_BUILD=${TCL_SHARED_BUILD}" + if test "${TCL_SHARED_BUILD}" = "0" ; then + # static + runtime=-MT + MAKE_DLL="echo " + LIBSUFFIX="s\${TCL_DBGX}.lib" + LIBRARIES="\${STATIC_LIBRARIES}" + EXESUFFIX="s\${TCL_DBGX}.exe" + DLLSUFFIX="" + else + # dynamic + runtime=-MD + MAKE_DLL="\${SHLIB_LD} \${SHLIB_LD_LIBS} -out:\$@" + LIBSUFFIX="\${TCL_DBGX}.lib" + DLLSUFFIX="\${TCL_DBGX}.dll" + EXESUFFIX="\${TCL_DBGX}.exe" + LIBRARIES="\${SHARED_LIBRARIES}" + fi + + EXTRA_CFLAGS="-YX -nologo" + CFLAGS_DEBUG="-Z7 -Od -WX ${runtime}d" + CFLAGS_OPTIMIZE="-O2 -Gs -GD ${runtime}" + CFLAGS_WARNING="-W3" + LDFLAGS_DEBUG="-debug" + LDFLAGS_OPTIMIZE="-release" + PATHTYPE=-w + + # Specify the CC output file names based on the target name + CC_OBJNAME="-Fo\$@" + CC_EXENAME="-Fe\$@" +fi + +eval "LD_FLAGS=${LD_FLAGS}" + +AC_SUBST(PATHTYPE) +AC_SUBST(CFLAGS_DEBUG) +AC_SUBST(CFLAGS_OPTIMIZE) +AC_SUBST(CFLAGS_WARNING) +AC_SUBST(EXTRA_CFLAGS) +AC_SUBST(TCL_DBGX) +AC_SUBST(TCL_LIB_FILE) +AC_SUBST(TCL_MAJOR_VERSION) +AC_SUBST(TCL_MINOR_VERSION) +AC_SUBST(TCL_PATCH_LEVEL) +AC_SUBST(TCL_VERSION) +AC_SUBST(SHLIB_LD) +AC_SUBST(SHLIB_LD_LIBS) +AC_SUBST(SHLIB_CFLAGS) +AC_SUBST(SHLIB_SUFFIX) +AC_SUBST(CC_OBJNAME) +AC_SUBST(CC_EXENAME) +AC_SUBST(AR) +AC_SUBST(DLLSUFFIX) +AC_SUBST(LIBSUFFIX) +AC_SUBST(EXESUFFIX) +AC_SUBST(LIBRARIES) +AC_SUBST(MAKE_LIB) +AC_SUBST(MAKE_DLL) + +AC_OUTPUT(Makefile) |