Comment #3 by andrej.mitrovich — 2011-06-21T14:47:56Z
This isn't fixed in 2.053, tested on XP32:
dir structure:
\buildme\foo\bar.d
current dir:
\buildme\
commands:
$ dmd -offoo\bar.exe -od\foo\ foo\bar.d
$ dir
21/06/2011 23:43 <DIR> .
21/06/2011 23:43 <DIR> ..
21/06/2011 23:43 2,573 bar.map
21/06/2011 23:43 <DIR> foo
Also tried with:
$ dmd -of%cd%\foo\bar.exe -od%cd%\foo\ foo\bar.d
That should expand it to an absolute path, but it still genereates a map file in the current directory where DMD was invoked.
Comment #4 by andrej.mitrovich — 2011-06-21T14:53:20Z
Comment #5 by andrej.mitrovich — 2011-06-21T14:54:36Z
I'm completely sorry for that big mess of verbosity, I've accidentally import std.stdio :)
Here's a shorter one:
binary D:\DMD\dmd2\windows\bin\dmd.exe
version v2.053
config D:\DMD\dmd2\windows\bin\sc.ini
parse bar
importall bar
import object (D:\DMD\dmd2\windows\bin\..\..\src\druntime\import\object.di)
semantic bar
semantic2 bar
semantic3 bar
code bar
function main
D:\DMD\dmd2\windows\bin\link.exe "\foo\bar","foo\bar.exe",,user32+kernel32/noi;
Comment #6 by braddr — 2011-06-21T15:12:25Z
The problem lied in one tiny crack.. win32 without specifying -map. This pull request changes win32 to match all the posix platforms, no map file unless you ask for it with -map.
https://github.com/D-Programming-Language/dmd/pull/158
Comment #7 by andrej.mitrovich — 2011-06-21T15:14:14Z
Let's make sure Walter pulls this change first. I can imagine him insisting that map files always be generated, in which case a different change will be required. Probably this one + a change to force global.params.map to be true all the time on win32 somewhere near the argument parsing code.
Comment #9 by braddr — 2011-06-28T15:05:48Z
Re-closing since Walter pulled the fix. I'll leave it to you, but please do fix up the docs.