Tip: Use -i to modify druntime/phobos without rebuilding them
rikki cattermole
rikki at cattermole.co.nz
Mon Feb 10 07:17:11 UTC 2020
On 10/02/2020 8:03 PM, Mathias Lang wrote:
> On Monday, 10 February 2020 at 06:19:44 UTC, Jonathan Marler wrote:
>> Yesterday I wanted to test out some small changes to phobos. Rather
>> than building and installing my own version of the compiler and
>> libraries, I used a quick hack that allowed me to directly change the
>> druntime/phobos source files from my current installation and see the
>> results immediately.
>>
>> In this case I was playing with the "std.process" module in phobos. I
>> created a backup of src/phobos/std/process.d and started making
>> changes. All I needed to do in order to see these changes in my
>> program was to include the "-i=std.process" option like this:
>>
>> dmd -i=std.process myapp.d
>>
>> A quick and dirty way to selectively change and test changes to
>> phobos/druntime on any installed compiler.
>>
>> For those not familair with -i, the reason this works is that the "-i"
>> flag causes all imports to be compiled, except for those under the
>> "core", "std" and "etc" module namespaces. However, you can override
>> this by explicitly including any one of those namespaces.
>
> Doesn't that only work for specific cases involving templates though ?
> If you don't recompile Phobos, anything you'll link will still link the
> old binaries. So it's akin to compiling C(++) code but having the
> headers not match the `.c(pp)`.
-i != -I
More information about the Digitalmars-d
mailing list