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

Reply via email to