From 1ece589975907d7cb02e0f61c227d0229235c435 Mon Sep 17 00:00:00 2001 From: Sergei Vorobev Date: Wed, 15 Jun 2016 18:59:46 -0700 Subject: [PATCH] Add first version of docs/building/internals.md --- docs/building/internals.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 docs/building/internals.md diff --git a/docs/building/internals.md b/docs/building/internals.md new file mode 100644 index 000000000..8313fee31 --- /dev/null +++ b/docs/building/internals.md @@ -0,0 +1,27 @@ +Internals of build process +========================================= + +The purpose of this document is to explain build process **internals** with subtle nuances. +This document is not by any means complete. +The ultimate source of truth is the code in `.\build.psm1` that's getting executed on the corresponding CI system. + +This document assumes, that you can successfully build PowerShell from sources for your platform. + + +Top directory +----------- + +We are calling `dotnet` tool build for `$Top` directory + +- `src\powershell` for CoreCLR builds (all platforms) +- `src\Microsoft.PowerShell.ConsoleHost` for FullCLR builds (Windows only) + +Modules +---------- + +There are 3 modules directories with the same purpose: they have **content** files (i.e. `*.psm1`, `*.psd1`) +which would be binplaced by `dotnet` + +- `src\Modules` shared between all flavours +- `src\Microsoft.PowerShell.ConsoleHost\Modules` FullCLR (Windows) +- `src\powershell\Modules` CoreCLR (all platforms)