.TH RDMD 1 "2006-03-12" "Digital Mars" "Digital Mars D" .SH NAME rdmd \- Digital Mars D executable cacher .SH SYNOPSIS .B rdmd [compiler arguments] [rdmd arguments] .I progfile.d .B [program arguments] .SH DESCRIPTION .B rdmd is a program to compile, cache and execute D source code files or 'pseudo shell scripts' (using the she-bang syntax with dmd v0.146 or above) on Linux and Windows systems. It will cache the executable in the .I /tmp directory by default and will re-compile the executable if any of the source file, the compiler or rdmd itself is newer than the cached executable. It can optionally use .B gdmd if specified, but uses .B dmd by default. .SH OPTIONS .IP --build-only Just build the executable, don't run it .IP --chatty Write compiler commands to stdout before executing them .IP --compiler=(dmd|gdmd|ldmd2) Use the specified compiler (e.g. gdmd) instead of dmd .IP --dry-run Do not compile, just show what commands would be run (implies --chatty) .IP --eval=\fIcode\fR Evaluate code as in perl -e (multiple --eval allowed) .IP --exclude=\fIpackage\fR Exclude a package from the build (multiple --exclude allowed) .IP --include=\fIpackage\fR Negate an --exclude switch or a package excluded by default .IP --extra-file=\fIfile\fR Include an extra source or object in the compilation. Useful if you need to add an extra object (compiled by another language maybe) or an extra source (when rdmd picked up the .B "\&.di" file rather than the .B "\&.d" file) when compiling the program (multiple --extra-file allowed). .IP --force Force re-compilation of source code [default = do not force] .IP --help Print help .IP --loop Assume \fI"foreach (line; stdin.byLine()) { ... }"\fR for eval .IP --main Add a stub main program to the mix (e.g. for unittesting) .IP --makedepend Print dependencies in makefile format and exit .IP --makedepfile=\fIfile\fR Print dependencies in makefile format to file and continue .IP --man Open web browser on manual page .IP --tmpdir=\fItmp_dir_path\fR Specify directory to store cached program and other temporaries [default = as per \fIhttp://dlang.org/phobos/std_file.html#.tempDir\fR] .SH NOTES .B dmd or .B gdmd must be in the current user context $PATH .PP .B rdmd does not support execution of D source code via stdin .PP .B rdmd will only compile and execute files with a '.d' file extension .PP \fBrdmd\fR's functionality will probably get folded into dmd itself .SH AUTHOR Written by Andrei Alexandrescu Originally written by Dave Fladebo and Robert Mariottini .SH "SEE ALSO" .BR dmd (1) .BR gdmd (1)