On Friday, 27 December 2013 at 15:15:31 UTC, Jacob Carlborg wrote:
You can use this ugly hack:
Create a shell script with the following content.
#!/bin/bash
echo `pwd` > dir.txt
dmd main.d -J.
And the D source code:
module main;
enum compilePath = import("dir.txt");
pragma(msg, compilePath);
Run the shell script to compile the D code.
I end up using something similar to your 'hack',
made a tiny wrapper in D that accepts the parameters that is
supposed to go to dmd, get the absolute path of the compiled
sourcecode using std.path.absolutePath(), save it inside a new
<stuffs>.d file, the wrapper then calls the dmd compiler with
<stuffs>.d added to the list of compiled files.
Bit of a stretch, but it'll do for now.
-Ravn-