Open Source Projects

From D Wiki
Revision as of 00:48, 24 March 2016 by Vladimir Panteleev (talk | contribs) (Vladimir Panteleev moved page List of Open Source Projects to Open Source Projects over redirect: Redundant, as discussed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Documentation Generators

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
DDox is an alternative documentation generator for programs written in D. It aims to be fully compatible with Ddoc, and brings many additional features. MIT Cross-platform
Icon dpackage 48.png
Scod is a clean and lightweight theme for ddox, simply use It as drop-in replacement. MIT Cross-platform
Icon dpackage 48.png
Adrdox is the underlying documentation generator of dpldocs.info Boost Cross-platform
Icon dpackage 48.png
Ddoc is the builtin documentation generation in DMD. It is used by most notably Phobos and Mir (mir-random) Boost Cross-platform
Icon dpackage 48.png
Documentation generator for D compatible with DDoc. Boost Cross-platform
Icon dpackage 48.png
Documentation generator for D with Markdown support, based on Harbored. Used by DDocs.org. Boost Cross-platform
Icon dpackage 48.png
CanDyDOC is fileset for creating advanced documentation of programs written in D programming language. Public Domain Cross-platform
Icon dpackage 48.png
DDoc theme using Bootstrap for styling. MIT Cross-platform
Icon dpackage 48.png
Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. GNU GPL Windows/POSIX

D source code tools

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
Tool for analyzing D source code. Boost 1.0 Platform-independent
Icon dpackage 48.png
The D Completion Daemon is an auto-complete program for the D programming language. GNU GPLv3 Platform-independent

Troubleshooting compilation problems

Title / InfoDescriptionLicensePlatform
Icon dpackage 48.png
DustMite, is a D source code minimization tool. It's helpful in finding toolchain problems. Public Domain Windows/POSIX


To debug D programs you need to use a debugger that understands the format of the debug symbols information that your chosen compiler produces. The quality of the debug symbols information might vary depending on which compiler you use and its underlying debug format. For example, some compiler configurations may present the names of variables and/or functions in it's C mangled form, instead of the natural D name.

Debugging support by compiler

Compiler+Platform Format Debugger Supported functionality
DMD-Win32 OMF Mago/VisualD Good support: Breakpoints; Stack frames; Mostly pretty names ('.' shows up as '@'); Variable inspection; Visual Studio based.
Mago-MI Good support: Breakpoints; Stack frames; Variable inspection; GDB/MI compatible interface for Mago debugger.
WinDbg Supplied with the main D compiler zip file download. Overview
ddbg Doesn't seem to be working well. Project no longer maintained.
OllyDbg 2 Reasonable support when assisted by cv2pdb; stack frames; mangled symbols; shows source code alongside disassembly. Note: v2.01 has a bug that may cause frequent crashes when reading PDB files. Details and patch here.
DMD-Win64 COFF Mago/VisualD TODO: same level of support as for win32?

DMD-Linux
GDC-Linux
LDC-Linux
GDC-Win32/64

DWARF GDB Good support: Breakpoints; Stack frames; Pretty names; Variable inspection;
ZeroBUGS "Modular debugger for C/C++/D programming languages (and virtually anything else that supports Stabs/DWARF debug formats)". Supported debugging functionality??
LDC-MinGW DWARF - DWARF debug symbol info seems to be broken for LLVM compiled with MinGW note

DMD-MacOS
GDC-MacOS
LDC-MacOS

 ? GDB Limited/outdated support? According to Jacob Carlberg:

"D symbols need to be prefixed with an extra underscore." "Line numbers don't work."

LLDB  ?

Graphical debugger frontends

Frontends providing support to a command-line debugger mentioned in the previous section.


Debugger Frontend Description Platform
GDB Mono-D MonoDeveloped-based full D IDE. Has integration with the GDB debugger.

"Debugging (using MonoDevelop’s integrated gdb support on Linux currently)"

Linux?
GDB DDT Eclipse-based IDE. Has integration with the GDB debugger, including D support. (Debugging support is based on Eclipse CDT) Linux, Windows, MacOS
GDB Nemiver Graphical frontend to the GDB debugger, which supports full D syntax from version 7.2. Linux
GDB CGDB Command line frontend to the GDB debugger, which supports full D syntax from version 7.2.Shows code and the GDB console in split windows. Linux, MacOS
GDB DDD GNU DDD is a graphical front-end for command-line debuggers such as GDB. Usual front-end features such as viewing source code, viewing variables, etc. Linux
GDB Affinic Debugger Affinic Debugger GUI .aka. ADG, is designed as a graphical user interface for various debuggers. This version is specifically targeted on GDB, the GNU debugger. Linux, Windows, MacOS
GDB DlangIDE D language IDE written in D. Supports GDB-MI compatible debuggers. Linux, Windows, MacOS
mago-mi DlangIDE D language IDE written in D. Supports GDB-MI compatible debuggers. Windows
mago-mi DDT Eclipse-based IDE. Supports mago-mi debugger using GDB-MI interface. Windows
GDB / LLDB VS Code with C/C++ Extension Visual Studio Code along with the C/C++ extension which allows for debugging native applications. It is possible to use the extension's debugger with D. Linux, MacOS

Build Systems

Title / InfoDescriptionLicensePlatform
Dub-header.png
Easy to use build and package management tool for D2 with support for generating IDE projects and an online package registry MIT Windows, POSIX
Icon dpackage 48.png
A D tool that can automatically build D apps. Boost 1.0
Icon dpackage 48.png
This project seeks to provide complete support for the D2 language in cmake.
Icon dpackage 48.png
An automatic build tool. Boost 1.0
Icon dpackage 48.png
A build configuration tool supporting D. New BSD License
Icon dpackage 48.png
A fast incremental build tool intended for D projects. Boost 1.0 Windows, GNU/Linux
Icon dpackage 48.png
Googles own buildtool - Correct, reproducible, fast builds for everyone. Apache License Version 2.0 JVM
Icon dpackage 48.png
Open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. Apache License Version 2.0 Windows, GNU/Linux
Icon dpackage 48.png
A build system that aims to be fast, correct, and elegantly simple. MIT Windows, GNU/Linux
Icon dpackage 48.png
A (meta) build system with multiple front (D, Python, Ruby, Javascript, Lua) and backends (make, ninja, tup, custom). BSD-3 Linux

See also