Tcl Source Code

View Ticket
Login
Ticket UUID: 1689286
Title: nmakehlp not building on Win32 with VC
Type: Bug Version: obsolete: 8.5a6
Submitter: twylite Created on: 2007-03-27 15:09:37
Subsystem: 70. Sample Extension Assigned To: patthoyts
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2009-05-05 06:48:23
Resolution: Fixed Closed By: patthoyts
    Closed on: 2009-05-04 23:48:23
Description:
I have just got the latest sampleextension from CVS, and am getting errors building it with VC6 or VC8.

  c:\build\sampleextension\win> pushd sampleextension\win
  c:\build\sampleextension\win> nmake /f makefile.vc all TCLDIR=..\..\tcl TKDIR=..\..\tk
  'nmakehlp' is not recognized as an internal or external command,
  operable program or batch file.
  ...<snip>
  Command line warning D4002 : ignoring unknown option '-fp:strict'
  Command line warning D4002 : ignoring unknown option '-GS'
  Command line warning D4002 : ignoring unknown option '-GL'
  ...<snip>
  LINK : warning LNK4044: unrecognized option "ltcg"; ignored

The problems aren't fatal, but they shouldn't be there.

Nmakehlp.exe doesn't build because:

  c:\sampleextension\win> cl nmakehlp.c
  ...<snip>
  /out:nmakehlp.exe
  nmakehlp.obj
  nmakehlp.obj : error LNK2001: unresolved external symbol _wnsprintf
  nmakehlp.exe : fatal error LNK1120: 1 unresolved externals
  
This can be solved by taking the latest nmakehlp.c from the Tcl sources:

  c:\sampleextension\win> copy ..\..\tcl\win\nmakehlp.c
  
The other warnings are fixed as a result of successfully building and using nmakehlp.

--

The next problem is that running the tests doesn't work.  The makefile looks for tclsh85.exe, which doesn't exist since I'm using a threaded build of Tcl.  

The problem is on line 298 of rules.vc:

  SUFX    = sgx

should be

  SUFX    = tsgx
  
since the sampleextension build is supposed to be threaded by default.

--

Patch file against CVS is attached:
- Updates nmakehlp.c to match the tcl module's version
- Add 't' flag to SUFX default
User Comments: patthoyts added on 2009-05-05 06:48:23:
Fixed previously

twylite added on 2007-03-27 22:09:37:

File Added - 222523: sampleextension-twy-20070327.patch

Attachments: