mirror of
https://github.com/dlang/dmd.git
synced 2025-04-25 12:40:11 +03:00
dmd D Programming Language compiler
![]() This is just a byproduct of taking a closer look at this code, as part of investigating the recent CI failures on Windows, where the VERSION and SYSCONFDIR.imp rules seem to run twice - and then fail for the 2nd run, Windows complaining about another process using the file. I guess that could be an Anti-malware process running right after creating the file the first time. And both rules check the file contents as part of their condition, so if the rule is processed twice, we try to immediately read its contents after the write. Each of these 2 auto-generated files is string-imported exactly once: * `SYSCONFDIR.imp` in the driver's `dmd/dinifile.d` (and actually on Posix only) * `VERSION` in the lexer's `dmd/globals.d` I've revised the deps accordingly, which might avoid processing these rules multiple times as a side-effect. |
||
---|---|---|
.azure-pipelines | ||
.circleci | ||
.github/workflows | ||
changelog | ||
ci | ||
compiler | ||
druntime | ||
src | ||
.cirrus.yml | ||
.codecov.yml | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.pre-commit-config.yaml | ||
azure-pipelines.yml | ||
CODEOWNERS | ||
config.d | ||
CONTRIBUTING.md | ||
dub.sdl | ||
LICENSE.txt | ||
Makefile | ||
posix.mak | ||
README.md | ||
VERSION |
DMD is the reference compiler for the D programming language.
Releases, language specification and other resources can be found on the homepage. Please refer to the guidelines for bug reports to report a problem or browse the list of open bugs.
Overview
This repository is structured into the following directories.
Refer to their respective README.md
for more in-depth information.
Directory | Description |
---|---|
changelog | changelog entries for the upcoming release |
ci | CI related scripts / utilities |
compiler | root of all compiler (DMD/frontend) related code |
compiler/src | source code, build system and build instructions |
compiler/test | tests and testing infrastructure |
compiler/docs | man pages and internal documentation |
compiler/ini | predefined dmd.conf files |
druntime | root of all runtime related code |
With a D compiler and dub installed, dmd can be built with:
dub build dmd:compiler
For more information regarding compiling, installing, and hacking on DMD, check the contribution guide and visit the D Wiki.
Nightlies
Nightly builds based of the current DMD / Phobos master
branch
can be found here.