D tools
This repository hosts various tools redistributed with DMD or used internally during various build tasks.
Program | Scope | Description |
---|---|---|
:--- | :--- | :--- |
catdoc | Build | Concatenates Ddoc files. |
changed | Internal | Change log generator. |
chmodzip | Build | ZIP file attributes editor. |
ddemangle | Public | D symbol demangler. |
detab | Internal | Replaces tabs with spaces. |
dget | Internal | D source code downloader. |
dman | Public | D documentation lookup tool. |
dustmite | Public | Test case minimization tool. |
get_dlibcurl32 | Internal | Win32 libcurl downloader/converter. |
rdmd | Public | D build tool. |
rdmd_test | Internal | rdmd test suite. |
tests_extractor | Internal | Extracts public unittests (requires DUB) |
tolf | Internal | Line endings converter. |
updatecopyright | Internal | Update the copyright notices in DMD |
To report a problem or browse the list of open bugs, please visit the bug tracker.
For a list and descriptions of D development tools, please visit the D wiki.
Building
On a Posix system all tools can be built with:
- ``` sh
- make -f posix.mak all
- ```
Using DUB as a build tool
Most tools can also be built with DUB:
- ``` sh
- dub build :ddemangle
- ```
Running DUB tools
Some tools require D's package manager DUB. By default, DUB builds a binary and executes it. On a Posix system, the source files can directly be executed with DUB (e.g. ./tests_extractor.d ). Alternatively, the full single file execution command can be used:
- ``` sh
- dub --single tests_extractor.d
- ```
Remember that when programs are run via DUB, you need to pass in -- before the program's arguments, e.g dub --single tests_extractor.d -- -i ../phobos/std/algorithm.
For more information, please see DUB's documentation.