@@ -14,9 +14,37 @@ https://digitalmars.com/ctg/sc.html
1414 ` shared stdout = &_iob[1]; `
1515 with
1616 ` enum stdout = &_iob[1]; ` .
17- 4 . Change directory to ` dm\src\dmc `
18- 5 . Make sure the ` dm\bin\make.exe ` program is on your ` PATH ` .
19- 6 . Execute the commands:
17+ 4 . Run ` git submodule update --init ` to make sure you have up-to-date submodules.
18+ 5 . Change directory to ` dm\src\dmc `
19+ 6 . Make sure the ` dm\bin\make.exe ` program is on your ` PATH ` .
20+ 7 . Execute the commands:
2021 ` make clean `
2122 ` make scppn `
2223You might need to edit the ` makefile ` to set the path to your DMD installation.
24+
25+ # Updating the backend
26+
27+ In order to update the backend to a more recent version, do the following:
28+ 1 . Go to the DMD submodule: ` cd dm/src/dmd ` ;
29+ 2 . Fetch the latest commits: ` git fetch `
30+ 3 . Checkout the desired commit, e.g.:
31+ - ` git checkout origin/master ` : Checkout the latest version of the DMD backend;
32+ - ` git checkout v2.095.0 ` : Checkout the state of the backend as of DMD v2.095.0;
33+ - ` git checkout 385312b93 ` : Checkout the state of the backend as of commit ` 385312b93 ` ;
34+ 4 . Leave the ` dmd ` repository, e.g. ` cd ../../ ` to come back to the root of this repository;
35+ 5 . Commit the change to the submodule: ` git add dm/src/dmd && git commit -m "Update DMD backend to master" `
36+
37+ Alternatively, when pulling from this repository, remember to always run ` git submodule update --init `
38+ if the submodule have been updated. This is visible from ` git status ` :
39+ ``` shell
40+ $ git diff
41+ diff --git a/dm/src/dmd b/dm/src/dmd
42+ index 123456789..abcdef123 160000
43+ --- a/dm/src/dmd
44+ +++ b/dm/src/dmd
45+ @@ -1 +1 @@
46+ -Subproject commit 67ca0a14c4d4d3161541eda27a4126f889d53546
47+ +Subproject commit 385312b93239311c038ffd8c221ac62738006382
48+ ```
49+
50+ To learn more about ` git submodule ` , see [ this section of the Pro Git book] ( https://git-scm.com/book/en/v2/Git-Tools-Submodules ) .
0 commit comments