DragonFly On-Line Manual Pages
DMD(1) Digital Mars D DMD(1)
NAME
dmd - Digital Mars D1.x Compiler
SYNOPSIS
dmd files ... [ -switch ... ]
DESCRIPTION
dmd Compiles source code written in the D programming language.
OPTIONS
file, file.d, file.htm, file.html
D source files to compile
file.di
D interface files
file.o Object files to link in
file.a Library files to link in
-c Compile only, do not link
-cov Include code coverage analysis
-D Generate documentation
-Dddocdir
Write documentation file to docdir directory
-Dffilename
Write documentation file to filename
-d Allow deprecated features.
-debug Compile in debug code
-debug=level
Compile in debug code <= level
-debug=ident
Compile in debug code identified by ident
-debuglib=name
Set the symbolic debug library to name
-defaultlib=name
Set the default library to name
-deps=filename
Write module dependencies to filename
-fPIC Generate position independent code.
-g Add symbolic debug info.
-gc Add symbolic debug info in C format (for older gdb's.)
-H Generate D interface file.
-Hddir Write D interface file to dir directory.
-Hffilename
Write D interface file to filename
--help Print help
-Ipath Where to look for imports. path is a : separated list of paths.
Multiple -I s can be used, and the paths are searched in the
same order.
-ignore
Ignore unsupported pragmas.
-inline
Inline expand functions
-Jpath Where to look for string imports. path is a : separated list of
paths. Multiple -I s can be used, and the paths are searched in
the same order.
-Llinkerflag
Pass linkerflag to the linker, for example, -M
-lib Generate a library rather than object files
-man Open web browser on manual page
-nofloat
Do not emit reference to floating point
-O Optimize
-o- Suppress generation of object file
-odobjdir
write object files relative to directory objdir instead of the
current directory
-offilename
set output file name to filename in the output directory
-op normally the path for .d source files is stripped off when
generating an object file name. -op will leave it on.
-profile
Profile the runtime performance of the generated code
-quiet Suppress non-essential compiler messages
-release
Compile release version
-run srcfile args...
Compile, link, and run the program srcfile with the rest of the
command line, args..., as the arguments to the program. No .o
or executable file is left behind.
-unittest
Compile in unittest code
-v verbose
-v1 Compile with D version 1
-version=level
compile in version code >= level
-version=ident
compile in version code identified by ident
-w Enable warnings
LINKING
Linking is done directly by the dmd compiler after a successful
compile. To prevent dmd from running the linker, use the -c switch.
The actual linking is done by running gcc. This ensures compatibility
with modules compiled with gcc.
FILES
/etc/dmd.conf dmd will look for the initialization file dmd.conf in the
directory /etc. If found, environment variable settings in the file
will override any existing settings.
ENVIRONMENT
The D compiler dmd uses the following environment variables:
DFLAGS The value of DFLAGS is treated as if it were appended on the
command line to dmd.
BUGS
-g is only implemented for line numbers, not local symbols, because I
haven't figured out how to do it yet. gdb still works, though, at the
global symbol level.
The code generator output has not been tuned yet, so it can be bloated.
Shared libraries cannot be generated.
The exception handling is not compatible with the way g++ does it. I
don't know if this is an issue or not.
The compiler sometimes gets the line number wrong on an error.
AUTHOR
Copyright (c) 1999-2009 by Digital Mars written by Walter Bright
ONLINE DOCUMENTATION
http://www.digitalmars.com/d/index.html
<http://www.digitalmars.com/d/index.html>
SEE ALSO
dmd.conf(5) rdmd(1) dumpobj(1) obj2asm(1) gcc(1)
Digital Mars 2009-07-27 DMD(1)