Andrei Alexandrescu wrote:
Christopher Wright wrote:
Okay, here's an improved version of rdmd with config files.

Thanks, that's interesting.

Added features:
- Config file
  - Specify a compiler
  - Specify default imports for --eval
  - Specify build flags

I'm sorry, I think a config file is overkill. Perl has many more options and does fine without any configuration besides the envvar PERL5LIB.

But indeed there must be a possibility to veer away from the hardcoded imports.

It depends on whether --eval is going to be used to any reasonable degree. I don't think it is, so config files are overkill.

- Option to show source with --eval

Sounds good.

- Changed the definition of "main" with --eval to use 'in char[][]' rather than 'string[]' (the args probably don't matter much anyway)

in char[][] is the worst of the pack because it's the supertype of both immutable and mutable. You're better off with either string[] or char[][].

But tango doesn't deal with string.

You could add at the top:
static if (!is (string)) alias char[] string;

- Executables are stored in the temp directory, not the current directory. This way, they can be reused even if you change directories; and they don't clutter up your working directory.

That's a good idea.

When I saw that rdmd put the executable with an insanely long name in my working copy, I was quite annoyed.

Attached is a sample rdmd.conf as well as the modified source (based on r958 from the phobos repository).

Thanks. Let's hold off on that for a bit until we all have the same phobos.

The only difference due to different phoboses is using FILE* rather than struct File.

Reply via email to