http://d.puremagic.com/issues/show_bug.cgi?id=4095
Summary: compiling with -op -od and using absolute paths for
source files make dmd write object files anywhere
Product: D
Version: 1.057
Platform: Other
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: [email protected]
ReportedBy: [email protected]
--- Comment #0 from [email protected] 2010-04-15 17:53:13 PDT ---
When passing absolute paths to dmd, compiling with -op and -od will make dmd
write the object file into the same directory as the source file. But it really
should write somewhere inside the directory passed by -od.
Demonstration:
cd /tmp/x/
dmd -op -od/tmp/x/ /tmp/test/foo.d
# dmd creates /tmp/test/foo.o
# it really should crate it somewhere under /tmp/x/
# (maybe /tmp/x/tmp/test/foo.o ?)
This makes -op and -od utterly useless for build scripts or any other advanced
use. Actually, it makes dmd look like dirtying include directories, and you
have to manually clean up them.
What is the point of -od, when dmd decides to write the object files somewhere
else anyway? It doesn't make any sense, thus it must be a bug.
Note that build scripts can not use -od without -op: modules with same name
(but different packages) will map to the same filename. E.g. modules a.foo and
b.foo will both map to foo.o, and dmd will simply overwrite one of these files,
leading to missing symbols in the linker stage.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------