Ancillary tools for the D programming language compiler
Find a file
2025-01-15 12:10:58 +01:00
.github CI: Add GitHub Actions workflow 2023-12-17 23:28:26 +01:00
DustMite Backport std.math fix from upstream DustMite 2022-07-06 19:46:23 +00:00
man/man1 Add support for environment variable RDMD_DMD into rdmd 2022-02-09 10:42:29 +13:00
test Convert bugzilla issue reference to hyperlink 2023-07-05 01:03:38 +02:00
.editorconfig Add a .editorconfig (copied from Phobos) 2017-12-22 08:15:14 +01:00
.gitignore Allow using the tools repo via DUB 2018-06-17 14:28:13 +02:00
.mailmap Update .mailmap 2024-06-03 00:59:36 +02:00
catdoc.d Fix whitespace 2015-10-18 00:24:53 +00:00
changed.d tools.changed: Allow the word "Bugzilla" to appear in issue references 2023-06-25 01:57:32 +02:00
checkwhitespace.d checkwhitespace.d: Allow individual errors to be turned off. 2018-02-11 10:36:41 +01:00
CODEOWNERS Add a CODEOWNERS file for tools 2018-02-09 01:54:53 +01:00
contributors.d Remove references to the archived druntime repository 2022-10-10 01:22:15 +02:00
ddemangle.d Make scripts executable + runnable 2017-07-03 02:09:29 +02:00
detab.d Make scripts executable + runnable 2017-07-03 02:09:29 +02:00
dget.d dget: Use explicit storage classes in delegate 2022-10-26 14:01:20 +02:00
dman.d dman: Use d-tags.json instead of d.tag 2017-08-08 15:43:28 +00:00
dub.sdl Include dustmite as a dub subpackage 2023-04-21 22:45:10 -04:00
get_dlibcurl32.bat Add script 'get_dlibcurl32', to auto-create Win32 libcurl import lib. 2013-08-17 17:35:13 -04:00
get_dlibcurl32.d Make scripts executable + runnable 2017-07-03 02:09:29 +02:00
Jenkinsfile add Jenkinsfile 2017-10-06 16:33:21 +02:00
latest-tag update links to dlang 2016-04-16 06:51:38 +03:00
LICENSE.txt Add LICENSE.txt file 2017-12-28 15:45:20 +01:00
Makefile CI: Add GitHub Actions workflow 2023-12-17 23:28:26 +01:00
posix.mak Restore posix.mak, forwarding to generic Makefile 2023-12-17 04:51:56 +01:00
rdmd.d improve rdmd help message 2024-05-13 08:56:31 +03:00
rdmd_test.d CI: Add GitHub Actions workflow 2023-12-17 23:28:26 +01:00
README.md Merge Makefiles 2023-12-17 04:50:15 +01:00
setup.sh Remove references to the archived druntime repository 2022-10-10 01:22:15 +02:00
tests_extractor.d tests_extractor.d: Upgrade libdparse 2024-04-27 16:40:57 +02:00
tolf.d Have tolf add terminating newline 2019-11-09 20:20:04 -07:00
updatecopyright.d Add updatecopyright script. 2018-12-17 13:31:21 +01:00

D tools

GitHub tag Bugzilla Issues Buildkite license

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:

make all

Using DUB as a build tool

Most tools can also be built with DUB:

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:

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.