tooling quality and some random rant

gölgeliyele usuldan at gmail.com
Sun Feb 13 19:33:23 PST 2011


On 2/13/11 2:05 PM, Walter Bright wrote:
> golgeliyele wrote:

>> 2. dmd compiler's command line options:
>> This is mostly an esthetic issue. However, it is like the entrance to
>> your house. People who are not sure about entering in
>> care about what it looks like from the outside. If Walter is willing,
>> I can work on a command line options interface proposal
>> that would keep backwards compatibility with the existing options.
>> This would enable a staged transition. Would there be
>> an interest in this?
>
> A proposal would be nice. But please keep in mind that people often view
> their build systems / makefiles as black boxes, and breaking them with
> incompatible changes can be extremely annoying.

Here is one proposal:

Digital Mars D Compiler v2.051
Copyright (c) 1999-2010 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/2.0/index.html
Usage:
   dmd [options] <files>

   <files>                      D source files

Options:
   --commands <file>           read arguments from a command file
   -c, --compile               only compile, do not link
   --coverage                  do code coverage analysis
   -D, --ddoc                  generate documentation
   --ddoc-dir <dir>            write documentation file to a directory
   --ddoc-file <file>          write documentation file to a file
   -d, --deprecated            allow deprecated features
   --debug                     compile in debug code
   --debug-level <level>       compile in debug code <= level
   --debug-ident <ident>       compile in debug code identified by ident
   --debug-lib <name>          set symbolic debug library to name
   --default-lib <name>        set default library to name
   --dependencies <file>       write module dependencies to a file
   --dylib                     generate dylib
   -g, --sym-debug             add symbolic debug info
   --sym-debug-c               add symbolic debug info, pretend to be C
   -H, --header                generate 'header' file
   --header-dir <dir>          write 'header' file to a directory
   --header-file <file>        write 'header' file to a file
   --help                      print this help
   -I, --imports <path>        where to look for imports
   --ignore-bad-pragmas        ignore unsupported pragmas
   --inline                    do function inlining
   -J, --string-imports <path> where to look for string imports
   -L, --linker-flags <flags>  pass flags to the linker
   --lib                       generate library rather than object files
   --man                       open web browser on manual page
   --linker-map                generate linker .map file
   --no-bounds-check           turns off array bounds checking
   --no-float                  do not emit reference to floating point
   -O, --optimize              optimize
   -n, --no-object-file        do not write object file
   --object-dir <dir>          write object, library files to a directory
   --output <file>             name output file to a file name
   --no-path-strip             do not strip paths from source file
   --profile                   profile runtime performance of code
   --quiet                     suppress unnecessary messages
   --release                   compile release version
   --run <prog> <args...>      run resulting program file, passing args
   --unittest                  compile in unit tests
   -v, --verbose               verbose
   --version <level>           compile in version >= level
   --version <ident>           compile in version identified by ident
   --tls-vars                  list all variables going into thread 
local storage
   -w, --warnings              enable warnings
   -W, --info-warnings         enable informational warnings
   -X, --json                  generate JSON file
   --json-file <file>          write JSON file to a given file



More information about the Digitalmars-d mailing list