33$(P The latest sources of Visual D are available from the github repository at
44$(LINK https://github.com/dlang/visuald).)
55
6- $(H2 Prerequisites)
7-
8- $(P You need the following tools to build Visual D:)
9- $(UL
10- $(LI Visual Studio 2013/2015 (other versions might also work, VS 2017 was ok
11- until update 15.3.1))
12- $(LI a recent version of Visual D)
13- $(LI $(LINK2 https://www.microsoft.com/en-us/download/details.aspx?id=40758,
14- Visual Studio Integration SDK for VS2013) or enable it during $(LINK2
15- https://msdn.microsoft.com/en-us/library/mt683786.aspx, VS 2015) or VS 2017 installation.)
16- $(LI Windows SDK 6.0A (included in VS2008) or later (tested with most versions
17- up to 10.0.15063.0))
18- $(LI DMD 2.071 or newer)
19- $(LI coffimplib from ($(LINK http://ftp.digitalmars.com/coffimplib.zip)))
20- $(LI for installer: $(LINK2 http://nsis.sourceforge.net/Download, NSIS). External projects
21- included in installer:)
22- $(UL
23- $(LI $(LINK2 https://github.com/rainers/cv2pdb, cv2pdb) checked
24- out to ../../cv2pdb/trunk for historic reasons)
25- $(LI $(LINK2 https://github.com/rainers/mago, mago) checked
26- out to ../../mago)
27- $(LI $(LINK2 http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz, binutils 2.25)
28- extracted to ../../binutils-2.25)
29- )
30- )
31-
326$(P Visual D consists of a number of components that need to be built separately:)
337$(UL
348 $(LI $(LINK2 https://github.com/dlang/visuald, visuald): the core package loaded as a language service by Visual Studio: visuald_vs10.sln)
359 $(LI $(LINK2 https://github.com/rainers/D_Parser/tree/visuald, dparser): the semantic engine
36- integrated as a sub module: vdc/abothe/VDServer.sln)
10+ integrated as a sub module: vdc/abothe/VDServer.sln. Needs VS 2017 or later )
3711 $(LI vdextensions: some extensions to visuald only accessible via C#: vdextensions/vdextensions.csproj)
3812 $(LI dbuild: MSBuild integration: msbuild/dbuild/dbuild.csproj)
3913 $(LI $(LINK2 https://github.com/rainers/mago, mago): the debug engine: ../../mago/MagoDbg_2010.sln)
4216 $(LI pipedmd, dcxxfilt: additional command line tools in the "tools" folder)
4317)
4418
45- $(H2 Building Visual D)
19+ $(H2 Building the Visual Studio extension package)
20+
21+ $(H3 Prerequisites)
4622
47- $(P Short version:
23+ $(P You need the following tools to build main package of Visual D:)
24+ $(UL
25+ $(LI Visual Studio 2013/2015/2017/2019)
26+ $(LI a recent version of Visual D)
27+ $(LI Visual Studio Integration SDK for VS2013 or later (enable it during VS installation.))
28+ $(LI Windows SDK 6.0A or later (tested with most versions up to 10.0.17763.0))
29+ $(LI DMD 2.084 or newer)
30+ )
31+
32+ $(H3 Short build instructions:)
4833$(UL
4934 $(LI Load visuald_vs10.sln into Visual Studio 2013+.)
50- $(LI Select configuration Debug/ Win32)
51- $(LI Build project "build" .)
35+ $(LI Select configuration "$(B Debug COFF32)| Win32" )
36+ $(LI Build project "$(B build)". You might get prompted to reload the solution .)
5237 $(LI Build project "VisualD".)
5338)
54- )
5539
56- $(P Longer version :)
40+ $(H3 Longer build instructions :)
5741
5842$(P There is an $(LINK2 https://ci.appveyor.com/project/rainers/visuald, AppVeyor project)
5943that verifies recent changes to the development
6044branch of Visual D. This can also be used as a reference for the build process.)
6145
6246$(P The Visual D source code is usually updated to work with the latest release version
63- of DMD (2.077 as of now), so you should use this release of the compiler when using
64- the latest svn/git checkout.)
65-
66- $(P If you want to start developing or debugging, you should load visuald_vs10.sln
67- in Visual Studio with Visual D installed. Build the "build" project at least once
47+ of DMD (2.086.0 as of now), so you should use this release of the compiler when using
48+ the latest git checkout.)
49+
50+ $(P To start developing or debugging, you should load visuald_vs10.sln
51+ in Visual Studio with Visual D installed.
52+ The preferred configuration to use is "Debug COFF32|Win32". This chooses building
53+ with the Microsoft runtime libraries. As Visual Studio is a 32-bit process, an extension
54+ has to be built for that platform, too.
55+ Build the "build" project at least once
6856to build the necessary prerequisites and tools, e.g. D translations from
6957the Windows and Visual Studio SDK.)
7058
71- $(P The standard build procedure for the release version is to execute
72- "nmake install_vs" in the trunk directory. $(B Please check the variable settings at the
73- top of the Makefile and adjust them to the installation directories on your system.) )
59+ $(P If you want to build against the Digital Mars toolchain using OMF object files,
60+ you'll need coffimplib from ($(LINK http://ftp.digitalmars.com/coffimplib.zip)) installed
61+ somewhere in your PATH. Use Configuration "Debug OMF|Win32" in that case. )
7462
75- $(H2 Deployment)
63+ $(H3 Deployment)
7664
7765$(P You should debug Visual D within Visual Studio using a different
7866branch in the registry, so it does not interfere with your working
7967environment.)
8068
8169$(UL
82- $(LI VS2010-VS2017 : The mechanism has changed with VS2010, as the non-standard registry settings are rebuilt
70+ $(LI VS2010-VS2019 : The mechanism has changed with VS2010, as the non-standard registry settings are rebuilt
8371 on every start of Visual Studio.
8472 $(UL
73+ $(LI in the following items, VS 2015 is similar to VS 2013 (replace version 12.0 with 14.0),
74+ and CS 2019 is similar to VS 2017 (replace version 15.0 with 16.0).)
8575 $(LI Copy the files from `$(DOLLAR)(VSINSTALLDIR)\Common7\IDE\Extensions\Rainer Schuetze\VisualD` into the folder
86- `$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0\Extensions\VisualD` (replace 12.0 with 14.0 for VS2015, 15.0_`<id>`
76+ `$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0\Extensions\VisualD` (replace 12.0 with 15.0_`<id>`
8777 for VS2017 with `<id>` some identifier generated during VS installation))
8878 $(LI Move the files from `$(DOLLAR)(VSINSTALLDIR)\Common7\IDE\Extensions\Rainer Schuetze\VisualD` into the folder
89- `$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0D\Extensions\VisualD` (replace 12.0D with 14.0D for VS2015, 15.0_`<id>`D
79+ `$(DOLLAR)(APPDATA)\Local\Microsoft\VisualStudio\12.0D\Extensions\VisualD` (replace 12.0D with 15.0_`<id>`D
9080 for VS2017 with `<id>` some identifier generated during VS installation))
9181 $(LI in visuald.pkgdef, replace the path "C:\\Program Files (x86)\\Visual D\\visuald.dll" with your debug build output path.)
9282 $(LI Modify a line in `$(DOLLAR)(VSINSTALLDIR)\Common7\IDE\devenv.pkgdef:
9383 $(PRE -"PkgDefSearchPath" = "$ApplicationExtensionsFolder$;$RootFolder$\Common7\IDE\CommonExtensions;$RootFolder$\Common7\IDE\devenv.admin.pkgdef;")
9484 $(PRE +"PkgDefSearchPath" = "$ApplicationExtensionsFolder$;$RootFolder$\Common7\IDE\CommonExtensions;$AppDataLocalFolder$\Extensions;$RootFolder$\Common7\IDE\devenv.admin.pkgdef;")
9585 )
96- $(LI in the registry, delete hives
86+ $(LI for VS2015 or earlier delete these hives in the registry:
9787 $(UL
9888 $(LI `HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0D`)
9989 $(LI `HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0D_Config`)
10393 $(LI Visual D will now be shown in the Extension Manager where it might have to be enabled.)
10494 )
10595 )
96+ $(P)
10697 $(LI VS2008: To create a configuration named "D"
10798 $(UL
10899 $(LI As administrator, execute from the command line:
@@ -118,8 +109,24 @@ $(UL
118109 )
119110)
120111
112+ $(H3 Building the installer)
113+
114+ $(P The standard build procedure for the release version is to execute
115+ "nmake install_vs" in the trunk directory. $(B Please check the variable settings at the
116+ top of the Makefile and adjust them to the installation directories on your system.))
117+
118+ $(LI for installer: $(LINK2 http://nsis.sourceforge.net/Download, NSIS). External projects
119+ included in installer:)
120+ $(UL
121+ $(LI $(LINK2 https://github.com/rainers/cv2pdb, cv2pdb) checked
122+ out to ../../cv2pdb/trunk for historic reasons)
123+ $(LI $(LINK2 https://github.com/rainers/mago, mago) checked
124+ out to ../../mago)
125+ $(LI $(LINK2 http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz, binutils 2.25)
126+ extracted to ../../binutils-2.25)
127+ )
128+
121129$(P Good luck!)
122130
123131Macros:
124132 TITLE=Building from Source
125-
0 commit comments