digitalmars.D.bugs - [Issue 3541] New: Add -oq to dmd (use fully qualified module name as object filename)
- d-bugmail puremagic.com Nov 21 2009
- d-bugmail puremagic.com Jan 01 2010
- d-bugmail puremagic.com Jan 01 2010
- d-bugmail puremagic.com Jan 08 2010
- d-bugmail puremagic.com Mar 29 2010
- d-bugmail puremagic.com May 01 2010
- d-bugmail puremagic.com May 01 2010
- d-bugmail puremagic.com Jun 13 2010
- d-bugmail puremagic.com Dec 02 2010
- d-bugmail puremagic.com Jan 06 2011
- d-bugmail puremagic.com Jan 06 2011
- d-bugmail puremagic.com Feb 26 2011
- d-bugmail puremagic.com Mar 26 2011
- d-bugmail puremagic.com May 28 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3541 Summary: Add -oq to dmd (use fully qualified module name as object filename) Product: D Version: 1.051 Platform: Other OS/Version: All Status: NEW Keywords: patch Severity: enhancement Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: nfxjfg gmail.com --- Comment #0 from nfxjfg gmail.com 2009-11-21 18:44:49 PST --- Created an attachment (id=514) patch for dmd 1.051 to add -oq This patch adds the -oq option to dmd. When dmd is invoked with -oq, it uses the fully qualified module name for the filename. E.g. when a module contains the module declaration "module foo.moo.huh;", the file is output as "foo.moo.huh.o". Why is -oq a good idea? Right now, build tools can use -od, but if there are modules with the same names in different packages, clashes occur. You could use -op to avoid this, but then object files will be all over the user's source tree (which sucks, especially if dmd and/or the build tool crash, and leave the object files everywhere). LDC had this option since ages, and I think it's time that dmd also knows it. Further remarks: - The option respects the -od option. - An error is raised when a module doesn't contain a ModuleDeclaration (this is intentionally). - dmd creates the filenames in the Module ctor; this is a problem because the module declaration is needed to compute the object filename. I had to change it and move the code to somewhere after Module.parse() is invoked. - As a result, I'm not quite sure if I introduced regressions with the plenty of other output methods. - I hope the option is LDC compatible (xfbuild was able to use the patched dmd with -oq). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 21 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3541 --- Comment #1 from nfxjfg gmail.com 2010-01-01 07:51:35 PST --- Created an attachment (id=541) updated patch Updated to dmd 1.054, if anyone cares. Apply with "patch -p1 < patchfile" in dmd source directory. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 Leandro Lucarella <llucax gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #541|application/octet-stream |text/plain mime type| | Attachment #541 is|0 |1 patch| | --- Comment #2 from Leandro Lucarella <llucax gmail.com> 2010-01-01 11:32:36 PST --- (From update of attachment 541) Marked as patch -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 mpiepk gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #541 is|0 |1 obsolete| | --- Comment #3 from mpiepk gmail.com 2010-01-08 03:25:14 PST --- Created an attachment (id=547) Updated patch The old patch contained inconsistent line endings and crashed patch (at least on Win32). This also removes the "feature" that dmd strips the ".lib"/".obj" file extension when building the linker command line (link.c), because it would fail for filenames like "package.module.obj" -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 08 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 --- Comment #4 from nfxjfg gmail.com 2010-03-29 16:17:40 PDT --- What do I have to do to make dmd support -oq ? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 29 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 --- Comment #5 from nfxjfg gmail.com 2010-05-01 12:00:35 PDT --- Created an attachment (id=618) updated patch for dmd 1.059 beta (~ svn 461) this probably still crashes with win32 patch => not obsoleting mpiepk's patch -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 nfxjfg gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #618|application/octet-stream |text/plain mime type| | Attachment #618 is|0 |1 patch| | -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 --- Comment #6 from nfxjfg gmail.com 2010-06-13 22:20:53 PDT --- For dmd 1.062, watch out for the comment "// Bugzilla 3547" in module.c: you have to move my changes into the indented new indented else branch. Not bothering with a real updated patch, line ending issues make this kind of infeasible, and Walter probably applies patches manually anyway. (Plus he obviously isn't interested in this.) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 13 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 --- Comment #7 from nfxjfg gmail.com 2010-12-02 09:28:19 PST --- I'm updating this patch to new dmd versions all the time, just mail me if you're actually interested in it lol. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 02 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3541 nfxjfg gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3541 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |braddr puremagic.com Resolution|INVALID | -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 06 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3541 Jacob Carlborg <doob me.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |doob me.com --- Comment #8 from Jacob Carlborg <doob me.com> 2011-02-26 08:23:31 PST --- Pull request available: https://github.com/D-Programming-Language/dmd/pull/11 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 26 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3541 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com --- Comment #9 from Andrej Mitrovic <andrej.mitrovich gmail.com> 2011-03-26 17:05:48 PDT --- Interesting. Currently I have a very superficial D build script which simply creates a ./cache folder, recreates the folder structure of the source tree inside this cache folder, and puts object files and library files there by simply using -of via DMD. So for example the source tree is: ./main.d ./bar/all.d ./bar/barclass.d ./foo/utils.d And the generated files would be: ./cache/bar/bar.lib ./cache/bar/all.obj ./cache/bar/barclass.obj ./cache/foo/foo.lib ./cache/foo/utils.obj Then I have no conflicts. But its very artificial as the build script was done in one afternoon. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 26 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3541 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com --- Comment #10 from Walter Bright <bugzilla digitalmars.com> 2011-05-28 12:27:44 PDT --- The patch crashes on line 254 of module.c when compiling druntime with the line: ..\dmd.exe -c -d -o- -Isrc -Iimport -Hfimport\core\atomic.di src\core\atomic.d -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 28 2011









d-bugmail puremagic.com 