[Issue 9896] New: Implement -rb switch for recursive build and -rx switch for exclusion lists
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Apr 7 06:15:58 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9896
Summary: Implement -rb switch for recursive build and -rx
switch for exclusion lists
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: DMD
AssignedTo: andrej.mitrovich at gmail.com
ReportedBy: andrej.mitrovich at gmail.com
--- Comment #0 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2013-04-07 06:15:57 PDT ---
DMD automatically tracks imports and loads all dependent modules that a source
module needs. By taking advantage of this we can speed up the build time of a
project and simplify the build script. See the discussion[1] in the forums.
-rb will be used to make DMD build all modules which it loads.
-rx will be used to exclude modules or packages which DMD should not build when
the -rb switch is present. This will enable fast incremental builds via an
external tool such as RDMD, as such a tool will be able to exclude prebuilt
modules from being built again by passing the module names via the -rx switch,
and passing the object files instead to enable proper linking.
-rx can take a fully-qualified module declaration, or a wildcard, via:
$ dmd -rxfoo.bar
This excludes the module foo.bar
$ dmd -rxfoo.*
This excludes all modules from the package foo.
>From a few tests we saw build times improve by 30%. Adding incremental support
to RDMD (which needs these new flags) will significantly improve the build
times.
[1] :
http://forum.dlang.org/thread/qgezuphvnabvwfvfyhdx@forum.dlang.org?page=4#post-kjqe9a:242fdl:241:40digitalmars.com
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list