diff --git a/.github/workflows/build_with_dub.yml b/.github/workflows/build_with_dub.yml new file mode 100644 index 000000000000..4dc58227eb75 --- /dev/null +++ b/.github/workflows/build_with_dub.yml @@ -0,0 +1,21 @@ +name: Build D compiler using dub + +on: + - pull_request + - push + +jobs: + test: + name: Build D compiler using dub + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + + - name: Install Host D compiler + uses: dlang-community/setup-dlang@v1.3.0 + + - name: Invoke dub + run: dub run dmd:compiler -- --version diff --git a/README.md b/README.md index 79504fceec5b..ca30e219611f 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,13 @@ Refer to their respective `README.md` for more in-depth information. | [compiler/samples](compiler/samples) | Various code examples | | [druntime](druntime) | root of all runtime related code | -For more general information regarding compiling, installing, and +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](CONTRIBUTING.md) and visit the [D Wiki](https://wiki.dlang.org/DMD). diff --git a/dub.sdl b/dub.sdl index 2d77d9bf5190..dd6bdddb7178 100644 --- a/dub.sdl +++ b/dub.sdl @@ -7,6 +7,17 @@ license "BSL-1.0" targetType "none" dependency ":frontend" version="*" +subPackage { + name "compiler" + targetType "executable" + targetName "dmd" + sourcePaths "compiler/src/dmd" + importPaths "compiler/src" + stringImportPaths "compiler/src/dmd/res" "." + dflags "-L/STACK:16777216" platform="windows" + preGenerateCommands "echo -n /etc > SYSCONFDIR.imp" platform="posix" +} + subPackage { name "root" targetType "library"