Get compile time string of dmd command line options "-os" & "-target"

Steven Schveighoffer schveiguy at gmail.com
Sat Aug 3 16:04:52 UTC 2024


On Saturday, 3 August 2024 at 12:15:46 UTC, Dennis wrote:
> On Thursday, 1 August 2024 at 04:00:08 UTC, An Pham wrote:
>> pragma(msg, os.stringof...?);
>> pragma(msg, target.stringof...?);
>
> There's no built-in way, but you can define it yourself in a 
> helper module:
>
> ```D
> version(Windows)
>     enum os = "windows";
> else version(AArch64)
>     enum os = "aarch64";
> else
>     static assert(0, "unsupported os");
> ```

First, I will note that "windows" and "aarch64" are not in the 
same category...

Second, there are some already-built parts in phobos:

https://dlang.org/phobos/std_compiler.html
https://dlang.org/phobos/std_system.html

I also went ahead and did some for arch and runtime flavor, in a 
project where I needed these, feel free to steal (Boost licensed):

https://github.com/schveiguy/raylib-d/blob/master/install/source/app.d#L135-L154

-Steve


More information about the Digitalmars-d-learn mailing list