Unnamed Fossil Project

Check-in [3c77e55341]
Login
Bounty program for improvements to Tcl and certain Tcl packages.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Purged old comments
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | vc-reform
Files: files | file ages | folders
SHA1: 3c77e5534155b07eb745e88553a25f16be801672
User & Date: ashok 2017-10-26 15:14:35
Context
2017-12-23
05:49
Updated to V1.1 of nmake rules. Verified builds against 8.5 and 8.6. check-in: 81b759d5c5 user: apnadkarni tags: vc-reform
2017-10-26
15:14
Purged old comments check-in: 3c77e55341 user: ashok tags: vc-reform
2017-10-18
17:02
New nmake build system check-in: 1b12db29ca user: ashok tags: vc-reform
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to win/makefile.vc.

     1         -# makefile.vc --                                               -*- Makefile -*-
            1  +#------------------------------------------------------------- -*- makefile -*-
     2      2   #
     3         -# Microsoft Visual C++ makefile for use with nmake.exe v1.62+ (VC++ 5.0+)
            3  +# Makefile for mpexpr
     4      4   #
     5         -# This makefile is based upon the Tcl 8.4 Makefile.vc and modified to 
     6         -# make it suitable as a general package makefile. Look for the word EDIT
     7         -# which marks sections that may need modification. As a minumum you will
     8         -# need to change the PROJECT, DOTVERSION and DLLOBJS variables to values
     9         -# relevant to your package.
            5  +# Basic build, test and install
            6  +#   nmake /f makefile.vc INSTALLDIR=c:\tcl
            7  +#   nmake /f makefile.vc INSTALLDIR=c:\tcl test
            8  +#   nmake /f makefile.vc INSTALLDIR=c:\tcl install
    10      9   #
           10  +# For other build options (debug, static etc.),
           11  +# See TIP 477 (https://core.tcl.tk/tips/doc/trunk/tip/477.md) for
           12  +# detailed documentation.
           13  +# 
    11     14   # See the file "license.terms" for information on usage and redistribution
    12     15   # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
    13         -# 
    14         -# Copyright (c) 1995-1996 Sun Microsystems, Inc.
    15         -# Copyright (c) 1998-2000 Ajuba Solutions.
    16         -# Copyright (c) 2001 ActiveState Corporation.
    17         -# Copyright (c) 2001-2002 David Gravereaux.
    18         -# Copyright (c) 2003-2008 Pat Thoyts
    19         -#
    20         -#-------------------------------------------------------------------------
    21         -#-------------------------------------------------------------------------
    22         -
    23         -# Check to see we are configured to build with MSVC (MSDEVDIR or MSVCDIR)
    24         -# or with the MS Platform SDK (MSSDK). Visual Studio .NET 2003 and 2005 define
    25         -# VCINSTALLDIR instead. The MSVC Toolkit release defines yet another.
    26         -!if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(MSSDK) && !defined(VCINSTALLDIR) && !defined(VCToolkitInstallDir)
    27         -MSG = ^
    28         -You need to run vcvars32.bat from Developer Studio or setenv.bat from the^
    29         -Platform SDK first to setup the environment.  Jump to this line to read^
    30         -the build instructions.
    31         -!error $(MSG)
    32         -!endif
    33         -
    34         -#------------------------------------------------------------------------------
    35         -# HOW TO USE this makefile:
    36         -#
    37         -# 1)  It is now necessary to have %MSVCDir% set in the environment.  This is
    38         -#     used  as a check to see if vcvars32.bat had been run prior to running
    39         -#     nmake or during the installation of Microsoft Visual C++, MSVCDir had
    40         -#     been set globally and the PATH adjusted.  Either way is valid.
    41         -#
    42         -#     You'll need to run vcvars32.bat contained in the MsDev's vc(98)/bin
    43         -#     directory to setup the proper environment, if needed, for your current
    44         -#     setup.  This is a needed bootstrap requirement and allows the swapping of
    45         -#     different environments to be easier.
    46         -#
    47         -# 2)  To use the Platform SDK (not expressly needed), run setenv.bat after
    48         -#     vcvars32.bat according to the instructions for it.  This can also turn on
    49         -#     the 64-bit compiler, if your SDK has it.
    50         -#
    51         -# 3)  Targets are:
    52         -#	all       -- Builds everything.
    53         -#       <project> -- Builds the project (eg: nmake sample)
    54         -#	test      -- Builds and runs the test suite.
    55         -#	install   -- Installs the built binaries and libraries to $(INSTALLDIR)
    56         -#		     in an appropriate subdirectory.
    57         -#	clean/realclean/distclean -- varying levels of cleaning.
    58         -#
    59         -# 4)  Macros usable on the commandline:
    60         -#	INSTALLDIR=<path>
    61         -#		Sets where to install Tcl from the built binaries.
    62         -#		C:\Progra~1\Tcl is assumed when not specified.
    63         -#
    64         -#	OPTS=static,msvcrt,staticpkg,threads,symbols,profile,loimpact,none
    65         -#		Sets special options for the core.  The default is for none.
    66         -#		Any combination of the above may be used (comma separated).
    67         -#		'none' will over-ride everything to nothing.
    68         -#
    69         -#		static  =  Builds a static library of the core instead of a
    70         -#			   dll.  The shell will be static (and large), as well.
    71         -#		msvcrt  =  Effects the static option only to switch it from
    72         -#			   using libcmt(d) as the C runtime [by default] to
    73         -#			   msvcrt(d). This is useful for static embedding
    74         -#			   support.
    75         -#		staticpkg = Effects the static option only to switch
    76         -#			   tclshXX.exe to have the dde and reg extension linked
    77         -#			   inside it.
    78         -#		nothreads = Turns off multithreading support (not recommended)
    79         -#		thrdalloc = Use the thread allocator (shared global free pool).
    80         -#		symbols =  Adds symbols for step debugging.
    81         -#		profile =  Adds profiling hooks.  Map file is assumed.
    82         -#		loimpact =  Adds a flag for how NT treats the heap to keep memory
    83         -#			   in use, low.  This is said to impact alloc performance.
    84         -#
    85         -#	STATS=memdbg,compdbg,none
    86         -#		Sets optional memory and bytecode compiler debugging code added
    87         -#		to the core.  The default is for none.  Any combination of the
    88         -#		above may be used (comma separated).  'none' will over-ride
    89         -#		everything to nothing.
    90         -#
    91         -#		memdbg   = Enables the debugging memory allocator.
    92         -#		compdbg  = Enables byte compilation logging.
    93         -#
    94         -#	MACHINE=(IX86|IA64|ALPHA|AMD64)
    95         -#		Set the machine type used for the compiler, linker, and
    96         -#		resource compiler.  This hook is needed to tell the tools
    97         -#		when alternate platforms are requested.  IX86 is the default
    98         -#		when not specified. If the CPU environment variable has been
    99         -#		set (ie: recent Platform SDK) then MACHINE is set from CPU.
   100         -#
   101         -#	TMP_DIR=<path>
   102         -#	OUT_DIR=<path>
   103         -#		Hooks to allow the intermediate and output directories to be
   104         -#		changed.  $(OUT_DIR) is assumed to be 
   105         -#		$(BINROOT)\(Release|Debug) based on if symbols are requested.
   106         -#		$(TMP_DIR) will de $(OUT_DIR)\<buildtype> by default.
   107         -#
   108         -#	TESTPAT=<file>
   109         -#		Reads the tests requested to be run from this file.
   110         -#
   111         -#	CFG_ENCODING=encoding
   112         -#		name of encoding for configuration information. Defaults
   113         -#		to cp1252
   114         -#
   115         -# 5)  Examples:
   116         -#
   117         -#	Basic syntax of calling nmake looks like this:
   118         -#	nmake [-nologo] -f makefile.vc [target|macrodef [target|macrodef] [...]]
   119         -#
   120         -#                        Standard (no frills)
   121         -#       c:\tcl_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat
   122         -#       Setting environment for using Microsoft Visual C++ tools.
   123         -#       c:\tcl_src\win\>nmake -f makefile.vc all
   124         -#       c:\tcl_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl
   125         -#
   126         -#                         Building for Win64
   127         -#       c:\tcl_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat
   128         -#       Setting environment for using Microsoft Visual C++ tools.
   129         -#       c:\tcl_src\win\>c:\progra~1\platfo~1\setenv.bat /pre64 /RETAIL
   130         -#       Targeting Windows pre64 RETAIL
   131         -#       c:\tcl_src\win\>nmake -f makefile.vc MACHINE=IA64
   132     16   #
   133     17   #------------------------------------------------------------------------------
   134         -#==============================================================================
   135         -###############################################################################
   136         -#------------------------------------------------------------------------------
   137         -
   138         -!if !exist("makefile.vc")
   139         -MSG = ^
   140         -You must run this makefile only from the directory it is in.^
   141         -Please `cd` to its location first.
   142         -!error $(MSG)
   143         -!endif
   144     18   
   145     19   PROJECT = Mpexpr
   146     20   DOTVERSION      = 1.2
   147     21   
   148     22   !include "rules-ext.vc"
   149     23   
   150     24   PRJ_OBJS = \
................................................................................
   161     35   	$(TMP_DIR)\zio.obj     \
   162     36   	$(TMP_DIR)\zmath.obj   \
   163     37   	$(TMP_DIR)\zmod.obj    \
   164     38   	$(TMP_DIR)\zmul.obj 
   165     39   
   166     40   #PRJ_DEFINES = -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
   167     41   
   168         -#---------------------------------------------------------------------
   169         -# TclTest flags
   170         -#---------------------------------------------------------------------
   171         -
   172         -!if "$(TESTPAT)" != ""
   173         -TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)
   174         -!endif
   175         -
   176     42   !include "$(_RULESDIR)\targets.vc"
   177     43   
   178     44   install:   default-install-docs-html 
   179     45   pkgindex:  default-pkgindex
   180         -
   181         -test: setup $(PROJECT)
   182         -	@set TCL_LIBRARY=$(TCL_LIBRARY:\=/)
   183         -	@set TCLLIBPATH=$(OUT_DIR_PATH:\=/)
   184         -	$(CPY) $(LIBDIR)\*.tcl $(OUT_DIR)
   185         -!if $(TCLINSTALL)
   186         -	@set PATH=$(_TCLDIR)\bin;$(PATH)
   187         -!else
   188         -	@set PATH=$(_TCLDIR)\win\$(BUILDDIRTOP);$(PATH)
   189         -!endif
   190         -	$(DEBUGGER) $(TCLSH) "$(ROOT)/tests/all.tcl" $(TESTFLAGS)
   191         -
   192         -shell: setup $(PROJECT)
   193         -	@set TCL_LIBRARY=$(TCL_LIBRARY:\=/)
   194         -        @set TCLLIBPATH=$(OUT_DIR_PATH:\=/)
   195         -!if $(TCLINSTALL)
   196         -	@set PATH=$(_TCLDIR)\bin;$(PATH)
   197         -!else
   198         -	@set PATH=$(_TCLDIR)\win\$(BUILDDIRTOP);$(PATH)
   199         -!endif
   200         -	$(DEBUGGER) $(TCLSH)