Opened 8 years ago

Closed 8 years ago

#7309 closed defect (fixed)

nmake script wrong main build target output filename

Reported by: ultramage Owned by:
Priority: Low Milestone: Tor: 0.2.4.x-final
Component: Core Tor/Tor Version:
Severity: Keywords: msvc tor-client
Cc: Actual Points:
Parent ID: #7754 Points:
Reviewer: Sponsor:

Description

In src/or/Makefile.nmake build target "tor.exe", the commandline does not include an output filename parameter. MSVC's cl.exe does a strange thing and guesses the output filename based on the last thing on the list, which in this case is tor_main.obj. This means that the build output is tor_main.exe, not tor.exe.

To specify an output filename, add /Fe followed by the filename - without a space inbetween - somewhere into the commandline. In this case it would be /Fetor.exe.

PS: According to google search nmake supports the standard make token for 'rule target', implying that /Fe$@ (for compiler) and /out$@ (for linker) could work and might be useful in a future cleanup.

Child Tickets

Change History (4)

comment:1 Changed 8 years ago by nickm

Keywords: tor-client added
Milestone: Tor: 0.2.4.x-final

Hi, Ultramage!

Thanks for reporting so many nmake/msvc issues. The easiest way for me to apply a fix would be in the format generated by "git format-patch", or by pointing me at a git branch to merge to master. Otherwise, we need to manually follow the verbal instructions above, make sure I got them right, write a commit message, write a changelog entry, make sure we got *those* right, etc. So if you can sent patches too, that would be great. If not, let us know, so that somebody else can get to it.

On this issue: yeah, it seems to me like an obviously right change to make.

comment:2 Changed 8 years ago by nickm

Parent ID: #7754

comment:3 Changed 8 years ago by nickm

Status: newneeds_review

This is in the 024_msvc branch.

comment:4 Changed 8 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Merged a fix for this into master as of b998431a33db2b.

Note: See TracTickets for help on using tickets.