You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is crucial, I've just stumbled upon this as major blocker for effective parallelization. So currently each static lib dub dependency is built via dmd -lib <all src files>, which makes the compiler compile all modules at once to individual object files and then archive them to a static lib. To replicate this with per-D-package building, the compiler would need to be invoked like this:
dmd -c src/a/a1.d src/a/a2.d -od=objs -op
=> builds package a: objs/src/a/a{1,2}.o
dmd -c src/b/b1.d src/b/b2.d -od=objs -op
=> builds package b: objs/src/b/b{1,2}.o
dmd -lib -ofmylib.a objs/src/a/a{1,2}.o objs/src/b/b{1,2}.o
=> using the D compiler for archiving allows LTO libs to be archived with LDC (not supported by ar)
This ninja rule should do it:
The text was updated successfully, but these errors were encountered: