[dmd-beta] dmd 1.069 and 2.054 beta

Andrej Mitrovic andrej.mitrovich at gmail.com
Fri Jul 8 15:20:03 PDT 2011


RDMD from beta2:
rdmd build 20110706
Usage: rdmd [RDMD AND DMD OPTIONS]... program [PROGRAM OPTIONS]...
Builds (with dependents) and runs a D program.
Example: rdmd -release myprog --myprogparm 5

Any option to be passed to dmd must occur before the program name. In addition
to dmd options, rdmd recognizes the following options:
  --build-only      just build the executable, don't run it
  --chatty          write dmd commands to stdout before executing them
  --compiler=comp   use the specified compiler (e.g. gdmd) instead of dmd
  --dry-run         do not compile, just show what commands would be run
                      (implies --chatty)
  --eval=code       evaluate code à la perl -e (multiple --eval allowed)
  --force           force a rebuild even if apparently not necessary
  --help            this message
  --loop            assume "foreach (line; stdin.byLine()) { ... }" for eval
  --main            add a stub main program to the mix (e.g. for unittesting)
  --makedepend      print dependencies in makefile format and exit
  --man             open web browser on manual page
  --shebang         rdmd is in a shebang line (put as first argument)

github:
rdmd build 20110708
Usage: rdmd [RDMD AND DMD OPTIONS]... program [PROGRAM OPTIONS]...
Builds (with dependents) and runs a D program.
Example: rdmd -release myprog --myprogparm 5

Any option to be passed to dmd must occur before the program name. In addition
to dmd options, rdmd recognizes the following options:
  --build-only      just build the executable, don't run it
  --chatty          write dmd commands to stdout before executing them
  --compiler=comp   use the specified compiler (e.g. gdmd) instead of dmd
  --dry-run         do not compile, just show what commands would be run
                      (implies --chatty)
  --eval=code       evaluate code à la perl -e (multiple --eval allowed)
  --force           force a rebuild even if apparently not necessary
  --help            this message
  --loop            assume "foreach (line; stdin.byLine()) { ... }" for eval
  --main            add a stub main program to the mix (e.g. for unittesting)
  --makedepend      print dependencies in makefile format and exit
  --man             open web browser on manual page
  --shebang         rdmd is in a shebang line (put as first argument)

The dates are different but that doesn't matter it picks that up
during compilation.



>From what I can tell the RDMD in beta2 seems to compile the module,
but it doesn't run it.

Here's another example:
import std.stdio;
void main()
{
	auto file = File("bla.txt", "w");
}

> dmd2beta_rdmd.exe test.d
Stops RDMD in the console and nothing happens. I have to hit enter
twice, then test.d.deps appears but no bla.txt.

> github_rdmd.exe test.d
Works as expected, a "bla.txt" file is written to the current folder.

I've used the dmd2 beta itself to compile RDMD from github, the latest
revision (commit 6085e8521653ea031508 - "Fix complaint about
nonexistent directory in dry-run mode").

Compiled it with `DMD rdmd.d`.


More information about the dmd-beta mailing list