From db338d759ce4d489d18b91a0f50f64eacb6ad2e7 Mon Sep 17 00:00:00 2001 From: hobbs Date: Fri, 3 Nov 2000 01:16:30 +0000 Subject: * win/tcl.m4: * win/makefile.vc: updated for Win64 compile support --- win/makefile.vc | 68 ++++++++++++++++++++++++++++++++------------------------- win/tcl.m4 | 12 ++++++++++ 2 files changed, 50 insertions(+), 30 deletions(-) diff --git a/win/makefile.vc b/win/makefile.vc index ede6237..3171c87 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -1,10 +1,12 @@ -# Visual C++ 2.x and 4.0 makefile +# Visual C++ makefile # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # Copyright (c) 1995-1997 Sun Microsystems, Inc. -# RCS: @(#) $Id: makefile.vc,v 1.38 2000/10/31 01:28:26 davidg Exp $ +# Copyright (c) 1998-2000 Ajuba Solutions. +# +# RCS: @(#) $Id: makefile.vc,v 1.39 2000/11/03 01:16:30 hobbs Exp $ # Does not depend on the presence of any environment variables in # order to compile tcl; all needed information is derived from @@ -27,23 +29,45 @@ ROOT = .. TCLDIR = ..\..\tcl8.4 -INSTALLDIR = c:\progra~1\tcl +INSTALLDIR = C:\Progra~1\tcl # Set this to the appropriate value of /MACHINE: for your platform -MACHINE = IX86 -#MACHINE = ALPHA +# Choices: IX86, IA64, ALPHA +MACHINE = IX86 !IF "$(MACHINE)" == "IA64" -TOOLS32 = c:\ia64sdk17 -TOOLS32_rc = c:\ia64sdk17 -!ELSE IF "$(MACHINE)" == "ALPHA" -TOOLS32 = C:\Progra~1\Micros~2\vc98 -TOOLS32_rc = C:\Progra~1\Micros~2\common\MSDev98 + +# IA64 support is based on the standard setup with v2 of the +# Microsoft Platform SDK for Whistler, build 2267 + +TOOLS32 = C:\Progra~1\Microsoft Platform SDK +TOOLS32_rc = C:\Progra~1\Microsoft Platform SDK + +cc32 = "$(TOOLS32)\bin\Win64\cl.exe" +link32 = "$(TOOLS32)\bin\Win64\link.exe" +libpath32 = /LIBPATH:"$(TOOLS32)\lib\IA64" +lib32 = "$(TOOLS32)\bin\Win64\lib.exe" + !ELSE -TOOLS32 = c:\Progra~1\devstudio\vc -TOOLS32_rc = c:\Progra~1\devstudio\sharedide + +# Visual Studio 5 default +#TOOLS32 = C:\Progra~1\devstudio\vc +#TOOLS32_rc = C:\Progra~1\devstudio\sharedide + +# Visual Studio 6 default +TOOLS32 = C:\Progra~1\Microsoft Visual Studio\VC98 +TOOLS32_rc = C:\Progra~1\Microsoft Visual Studio\common\MSDev98 + +cc32 = "$(TOOLS32)\bin\cl.exe" +link32 = "$(TOOLS32)\bin\link.exe" +libpath32 = /LIBPATH:"$(TOOLS32)\lib" +lib32 = "$(TOOLS32)\bin\lib.exe" + !ENDIF +rc32 = "$(TOOLS32_rc)\bin\rc.exe" +include32 = -I"$(TOOLS32)\include" + # Uncomment the following line to compile with thread support #THREADDEFINES = -DTCL_THREADS=1 @@ -222,13 +246,6 @@ TKOBJS = \ TKSTUBOBJS = $(TMPDIR)\tkStubLib.obj \ $(TMPDIR)\tkStubImg.obj - -cc32 = "$(TOOLS32)\bin\cl.exe" -link32 = "$(TOOLS32)\bin\link.exe" -lib32 = "$(TOOLS32)\bin\lib.exe" -rc32 = "$(TOOLS32_rc)\bin\rc.exe" -include32 = -I"$(TOOLS32)\include" - WINDIR = $(ROOT)\win GENERICDIR = $(ROOT)\generic XLIBDIR = $(ROOT)\xlib @@ -252,13 +269,11 @@ cdebug = -O2i -Gs -GD # NOTE: Due to a bug in MSVC, we cannot use -O2 here or Tk starts to misbehave. cdebug = -Oti -Gs -GD !ENDIF -!ELSE -!IF "$(MACHINE)" == "IA64" +!ELSE IF "$(MACHINE)" == "IA64" cdebug = -Od -Zi !ELSE cdebug = -Z7 -Od -WX !ENDIF -!ENDIF # declarations common to all compiler options cflags = -c -W3 -nologo -Fp$(TMPDIR)\ -YX @@ -282,7 +297,7 @@ ldebug = -debug:full -debugtype:cv # declarations common to all linker options lcommon = /NODEFAULTLIB /RELEASE /NOLOGO -lflags = $(lcommon) /MACHINE:$(MACHINE) +lflags = $(lcommon) /MACHINE:$(MACHINE) $(libpath32) # declarations for use on Intel i386, i486, and Pentium systems !IF "$(MACHINE)" == "IX86" @@ -366,7 +381,6 @@ $(TKSTUBLIB): $(TKSTUBOBJS) $(lib32) /out:$@ $(TKSTUBOBJS) $(TKDLL): $(TKOBJS) $(TMPDIR)\tk.res - set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(dlllflags) \ -out:$@ $(TMPDIR)\tk.res $(TCLLIBDIR)\$(TCLSTUBLIB) \ $(guilibsdll) @<< @@ -376,7 +390,6 @@ $(TKDLL): $(TKOBJS) $(TMPDIR)\tk.res $(TKPLUGINLIB): $(TKPLUGINDLL) $(TKPLUGINDLL): $(TKOBJS) $(TMPDIR)\tk.res - set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(dlllflags) \ -out:$@ $(TMPDIR)\tk.res $(TCLLIBDIR)\$(TCLPLUGINLIB) \ $(guilibsdll) @<< @@ -384,29 +397,24 @@ $(TKPLUGINDLL): $(TKOBJS) $(TMPDIR)\tk.res << $(WISH): $(WISHOBJS) $(TKLIB) $(TMPDIR)\wish.res - set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(WISHOBJS) $(WISHC): $(WISHOBJS) $(TKLIB) $(TMPDIR)\wish.res - set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(conlflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(WISHOBJS) $(WISHP): $(WISHOBJS) $(TKPLUGINLIB) $(TMPDIR)\wish.res - set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLPLUGINLIB) \ $(TKPLUGINLIB) $(WISHOBJS) $(TKTEST): $(TKTESTOBJS) $(TKLIB) $(TMPDIR)\wish.res - set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(TKTESTOBJS) $(CAT32): $(TCLDIR)\win\cat.c $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $? - set LIB=$(TOOLS32)\lib $(link32) $(conlflags) -out:$@ -stack:16384 $(TMPDIR)\cat.obj $(conlibs) # diff --git a/win/tcl.m4 b/win/tcl.m4 index 906e4ff..29e64fc 100644 --- a/win/tcl.m4 +++ b/win/tcl.m4 @@ -319,6 +319,15 @@ AC_DEFUN(SC_ENABLE_SYMBOLS, [ #-------------------------------------------------------------------- AC_DEFUN(SC_CONFIG_CFLAGS, [ + + # Step 0: Enable 64 bit support? + # Currently Tk requires no extra flags for 64bit support. + # It just needs to find the right compiler, which is up to the user. + + AC_MSG_CHECKING([if 64bit support is requested]) + AC_ARG_ENABLE(64bit,[ --enable-64bit enable 64bit support (where applicable)], [do64bit=$enableval], [do64bit=no]) + AC_MSG_RESULT($do64bit) + AC_MSG_CHECKING([compiler flags]) # Set some defaults (may get changed below) @@ -330,6 +339,9 @@ AC_DEFUN(SC_CONFIG_CFLAGS, [ # set various compiler flags depending on whether we are using gcc or cl if test "${GCC}" = "yes" ; then + if test "$do64bit" = "yes" ; then + AC_MSG_WARN("64bit mode not supported with GCC on Windows") + fi SHLIB_LD="" SHLIB_LD_LIBS="" LIBS="" -- cgit v0.12