@@ -14,9 +14,37 @@ https://digitalmars.com/ctg/sc.html
14
14
` shared stdout = &_iob[1]; `
15
15
with
16
16
` 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:
20
21
` make clean `
21
22
` make scppn `
22
23
You 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