Tcl Source Code

View Ticket
Login
Ticket UUID: 657833
Title: changes to makefile.vc & rules.vc
Type: Patch Version: None
Submitter: wildcard_25 Created on: 2002-12-23 13:14:51
Subsystem: 53. Configure and Build Tools Assigned To: davygrvy
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2003-02-09 18:21:36
Resolution: Postponed Closed By: wildcard_25
    Closed on: 2003-02-09 11:21:36
Description:
I've made a couple of changes to these files while 
building Tcl and Tk, hopefully they can be of use to 
someone other than me :)
Included in the zip file are both the diffs and full versions 
of these files.
Any feedback is welcome...

makefile.vc v1.97
    -- made to conform with Tk's makefile better
    -- added support for 'Global Optimisation'
       (ie. whole program optimisation) (VC++ 7.0)
    -- added variable 'libflags'
    -- added progress messages
    -- corrected some long filename quoting
    -- corrected some references to $(CPY)
    -- removed some '/=\' conversions (these are already
       corrected in rules.vc)
    -- modified 'release' to build 'winhelp' as well
    -- modified to use $(MKDIR) & $(RMDIR) which are
       now declared in rules.vc
    -- modified 'clean' to remove 'DOCTMP_DIR'
    -- moved 'install-doc' to installation section
    -- renamed helpfile title and main window text to
       'Tcl Reference Manual'
    -- cleaned up screen output
    -- cleaned up style to match majority already used
    -- corrected some spelling errors

rules.vc v1.9
    -- added support for 'Global Optimisation'
       (ie. whole program optimisation) (VC++ 7.0)
    -- added $(MKDIR) & $(RMDIR) macros
    -- modified logic for decoding options
    -- cleaned up screen output
    -- cleaned up style to match majority already used
User Comments: wildcard_25 added on 2003-02-09 18:21:36:

File Added - 41901: tk.rules.vc.zip

wildcard_25 added on 2003-02-09 18:20:12:

File Added - 41900: tk.makefile.vc.zip

wildcard_25 added on 2003-02-09 18:18:50:

File Added - 41899: tcl.rules.vc.zip

wildcard_25 added on 2003-02-09 18:16:26:

File Added - 41898: tcl.makefile.vc.zip

Logged In: YES 
user_id=596509

ok, i've broken down the patch into smaller sections. they are 
cumulative, although most can be used in any order, there 
are some conflicts if done so...

your right about the the new features, this started out as an 
exercise to add global optimization and sort of blew out from 
there :-)

i'd forgotten about the -s switch
anyway here are the changes...

tcl.makefile.vc v1.99

1.tk_sync - conform with Tk's makefile better
-- adds usage of $(PROJECT), $(TCL_DEFINES)
-- fixes spelling of $(BASE_CFLAGS)
-- removes an instance of '\=/'
-- corrects a documentation difference

2.global_opt - adds support for 'Global Optimization'
(ie. whole program optimization) (VC++ 7.0)
-- adds $(GLOBAL_OPT)
-- adds $(libflags) and 'Lib Flags' section
-- compiles Stubs without -GL to avoid bloat

3.minor_changes - some minor alterations
-- remove -Gs compiler option (already used by -O2)
-- fixed path seperators so that 'test' can run
-- removed '\=/' conversions (not needed)

4.helpfile - changes to helpfile building and installing
-- modified 'release' to build 'winhelp' as well
-- modified 'clean' to remove 'DOCTMP_DIR'
-- moved 'install-docs' to installation section
-- changed $(TCLHELPFILE) to $(HELPFILE) as per tk 
makefile
-- corrected a long filename quote ($(MAKEDIR))
-- cleaned up output text (ie > nul)
-- removed @ from being in front of $(CPY), -s option can be 
used for this
-- renamed helpfile title and main window text to 'Tcl 
Reference Manual'

5.progress_messages - adds messages to show info during 
build process
-- added progress messages
-- changed some messages to have '***' at the start, 
indicating makefile messages
-- cleaned up output text (ie > nul)
-- removed @ from being in front of $(CPY), -s option can be 
used for this

6.formatting_head - modifies style in head to be consistent
-- corrected some tab alignments
-- wrapped some long lines
-- corrected some spelling errors

7.formatting_body - modifies style in body to be consistent
-- corrected some tab alignments
-- wrapped some long lines

tcl.rules.vc v1.10

1.global_opt - adds support for 'Global Optimization'
(ie. whole program optimization) (VC++ 7.0)
-- adds $(GLOBAL_OPT)

2.minor_changes - some minor alterations
-- changed nmakehelp to test for '-O2' which is the option 
used to compile
-- change an instance of '!if !defined' to '!ifndef'
-- added comment to identify end of '!ifndef _RULES_VC'

3.option_logic - modifies logic for decoding options
-- grouped options that depend on others together

4.progress_messages - adds messages to show info during 
build process
-- changed message alignments (should make it easier to 
read)
-- changed some messages to have '***' at the start, 
indicating makefile messages

5.formatting - modifies style in head to be consistent
-- corrected some tab alignments

tk.makefile.vc v1.66

1.tcl_sync - conform with Tcl's makefile better
-- corrects some documentation & comment differences
-- changes 'linkexten' to staticpkg
-- adds 'thrdalloc' & 'loimpact'
-- removes commented out lines
-- removes reference to 'rmdir.bat' & $(RM)
-- moves TCL_INCLUDES to 'compiler flags' section
-- re-arranges compiler section to match Tcl's
-- remove '!if $(TCLINSTALL)' parts from build
   (this stops a problem with the PATH growing each run)
-- add an 'installation' section and move binary and library 
installs there
-- adds usage of $(TCLTOOLSDIR)
-- moves suffixes to 'implicit rules'
-- modifies 'clean' and 'hose' to Tcl's

2.global_opt - adds support for 'Global Optimization'
(ie. whole program optimization) (VC++ 7.0)
-- adds $(GLOBAL_OPT)
-- adds $(libflags) and 'Lib Flags' section
-- compiles Stubs without -GL to avoid bloat

3.minor_changes - some minor alterations
-- remove -Gs compiler option (already used by -O2)
-- fixed path seperators so that 'test'can run
-- removed '\=/' conversions (not needed)

4.helpfile - changes to helpfile building and installing
-- modified 'release' to build 'winhelp' as well
-- modified 'clean' to remove 'DOCTMP_DIR'
-- moved 'install-docs' to installation section
-- corrected a long filename quote ($(MAKEDIR))
-- cleaned up output text (ie > nul)
-- removed @ from being in front of $(CPY), -s option can be 
used for this
-- renamed helpfile title and main window text to 'Tcl 
Reference Manual'
-- renamed helpfile main window text to 'Tk Reference Manual'
-- modified to change title to 'Tcl\Tk Reference Manual' if 
merged with 'Tcl Reference Manual'

5.progress_messages - adds messages to show info during 
build process
-- added progress messages
-- changed some messages to have '***' at the start, 
indicating makefile messages
-- cleaned up output text (ie > nul)
-- removed @ from being in front of $(CPY), -s option can be 
used for this

6.formatting_head - modifies style in head to be consistent
-- corrected some tab alignments
-- wrapped some long lines
-- corrected some spelling errors

7.formatting_body - modifies style in body to be consistent
-- corrected some tab alignments
-- wrapped some long lines

tk.rules.vc v1.4

1.tcl_sync - convert to match Tcl's rules.vc
-- corrects some documentation & comment differences
-- changes 'linkexten' to staticpkg
-- adds 'thrdalloc'
-- added $(RMDIR)

now apply patches, #1=>#5, from Tcl's rules.vc

davygrvy added on 2003-01-30 07:29:18:
Logged In: YES 
user_id=7549

I can't accept this patch as it stands.  I've thought about this 
for a while now.  I've looked at it and all the changes are 
surface.  No new features except VC7 global opts.

1) to quiet the command output, just use the -s switch for 
nmake.  No changes need to be made to allow this.
2) verbosity of the options are too complex.  I'd rather know 
what was selected, not everything selected or not selected 
and the CAPS thing I guess indicates default which isn't all 
that clear and I feel more confused reading the output of the 
options than I did setting them.

Is it possible to make this patch smaller?  Maybe 30 patches 
each addressing a single issue?  I'm sorry, but this is too 
large for me to pull apart.

wildcard_25 added on 2002-12-23 20:17:51:

File Added - 38132: tcl.vc.zip

Attachments: