rund users welcome

Vladimir Panteleev thecybershadow.lists at gmail.com
Sun Sep 9 09:55:19 UTC 2018


On Sunday, 9 September 2018 at 04:32:32 UTC, Jonathan Marler 
wrote:
>> - --build-only should imply -od.
>
> Maybe...I actually have use cases where I want "--build-only" 
> but want the executable to be built in the normal cache 
> location.  Build the program and cache it but don't run it yet.

Adding a different switch to get rdmd's behavior would work too.

FWIW, here's when this was added in rdmd:
https://github.com/dlang/tools/pull/14

Later amended here (so it's not quite -od.):
https://github.com/dlang/tools/commit/155e19c478260c2da6369715f48c201f53c8e45e

>> - The .d extension is not implied, like for dmd/rdmd
>
> I haven't come up with any reasons to support this.  Maybe you 
> can enlighten me?

"rund prog" is shorter and easier to type than "rund prog.d".

I never invoke rdmd directly, though, so I guess I could add this 
to my wrapper scripts around rdmd/rund.

>> Also, --pass is weird. Why not use the standard-ish -- ?
>
> It is a bit weird.  I've never had a reason to use this option 
> myself.  Is this the syntax you are thinking of?
>
> rund other.d main.d -- <program-args>...
>
> The problem with this is it's not "composable".  Say you were 
> running a D program that also used "--", then it's ambiguous 
> whether the "--" belongs to rund or to the program being 
> compiled.  But maybe I'm missing something?  If you have an 
> idea that's less weird than "--pass=<src>.d" then I'm all for 
> it :)

Well, the way rdmd works is that it stops looking at arguments 
once it sees the first non-option argument (i.e. an argument that 
doesn't start with -). As it happens, all relevant dmd arguments 
can be passed as one, i.e. "-opt=value" instead of "-opt value", 
so it can use this to cleanly separate arguments to itself/dmd 
from arguments to the program.

I guess --pass can be useful if you want to include a .d file in 
the compilation that's not otherwise compiled (i.e. it's not 
imported from anywhere). This is currently not possible with 
rdmd, AFAIK.

>> Was there a problem with the idea of forking rdmd? The above 
>> plus things like its -lib support would then not be needed to 
>> be reimplemented.
>
> I would actually consider this a "fork" of rdmd.  But I rebuilt 
> it from the ground up, re-integrating each feature one by one 
> so I could ensure they were "cohesive".  I also haven't 
> integrated all features from rdmd yet.  I will probably 
> integrate more of them when I see the need.  So far it's just 
> been me using it so that's why I want to get people using it so 
> we can flush out the rest.
>
> The big difference with rdmd and rund is that rund is not 
> compatible with compilers that don't support "-i".  Since this 
> is such a fundamental change, I thought a rename made sense, 
> and "rund" fits the modern times where we have more D compilers 
> than just dmd.

I see, thanks!



More information about the Digitalmars-d mailing list