Skip to content

Commit 50a3145

Browse files
authored
Merge pull request #68 from rainers/master
Changes for 0.44-beta2
2 parents 0bad831 + f72628c commit 50a3145

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+6344
-2644
lines changed

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "vdc/abothe/Parser"]
22
path = vdc/abothe/Parser
3-
url = https://github.com/aBothe/D_Parser.git
3+
url = https://github.com/rainers/D_Parser.git

CHANGES

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,22 @@ unreleased Version 0.3.44
816816
* when linking with MS linker, options for the map file broke the command line
817817
* bugzilla 16063: missing option -L/DLL when linking a DLL with MS linker
818818
* added integration with msbuild and VC++ projects
819-
* added installation of mago expression evalutro to Concord debug engine
819+
* added installation of mago expression evaluator to Concord debug engine
820820
* added $(Platform) as a settings macro replacement in addition to $(PlatformName)
821821
* changed default output directory to $(PlatformName)/$(ConfigurationName)
822822
* added x64 configurations to project templates
823+
* added AppVeyor integration builds
824+
* cv2pdb can now be enabled independent of debug engine
825+
* dustmite: error messages written to stderr not grepped
826+
* added project template to build with DMD, LDC and GDC for x86 and x64
827+
* VS SDK 2013 now needed to build Visual D
828+
* added automatic brace completion
829+
* added preliminary support for VS 2017 RC
830+
* dparser: semantic analysis no longer times out after 500ms, but cancels previous requests
831+
* dparser: improved performance by adding name lookup cache
832+
* completion box no longer pops up if caret has been moved elsewhere
833+
* menu entries now disabled if they require the focus on a D file, but it is elsewhere
834+
* building a library with LDC now always adds "-oq -od=$(IntDir)" to the command line
835+
* reduced idle processing by only updating the active view
836+
* mago: display const modifier on type, recover string types
837+
* mago concord plugin: enable conditional breakpoints

Makefile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ vdserver:
144144
devenv /Project "vdserver" /Build "Release|Win32" visuald_vs10.sln
145145

146146
dparser:
147-
cd vdc\abothe && $(MSBUILD) vdserver.sln /p:Configuration=Release;Platform=x86 /p:TargetFrameworkVersion=4.0 /p:DefineConstants=NET40 /t:Rebuild
147+
cd vdc\abothe && $(MSBUILD) vdserver.sln /p:Configuration=Release;Platform="Any CPU" /p:TargetFrameworkVersion=4.0 /p:DefineConstants=NET40 /t:Rebuild
148148

149149
vdextension:
150150
cd vdextensions && $(MSBUILD) vdextensions.csproj /p:Configuration=Release;Platform=x86 /t:Rebuild
@@ -157,6 +157,9 @@ dbuild14:
157157
cd msbuild\dbuild && devenv /Build "Release-v14|AnyCPU" /Project "dbuild" dbuild.sln
158158
# cd msbuild\dbuild && $(MSBUILD) dbuild.sln /p:Configuration=Release;Platform="Any CPU" /t:Rebuild
159159

160+
dbuild15:
161+
cd msbuild\dbuild && devenv /Build "Release-v15|AnyCPU" /Project "dbuild" dbuild.sln
162+
160163
mago:
161164
cd ..\..\mago && devenv /Build "Release|Win32" /Project "MagoNatDE" magodbg_2010.sln
162165
cd ..\..\mago && devenv /Build "Release|x64" /Project "MagoRemote" magodbg_2010.sln
@@ -169,19 +172,22 @@ cv2pdb:
169172

170173
dcxxfilt: $(DCXXFILT_EXE)
171174
$(DCXXFILT_EXE): tools\dcxxfilt.d
172-
cd tools && set CONFIG=Release && build_dcxxfilt
175+
# no space after Release, it will be part of environment variable
176+
cd tools && set CONFIG=Release&& build_dcxxfilt
173177

174178
##################################
175179
# create installer
176180

177181
install: all cpp2d_exe idl2d_exe
182+
if not exist ..\downloads\nul md ..\downloads
178183
cd nsis && "$(NSIS)\makensis" /V1 visuald.nsi
179184
"$(ZIP)" -j ..\downloads\visuald_pdb.zip bin\release\visuald.pdb bin\release\vdserver.pdb
180185

181186
install_vs: prerequisites visuald_vs vdserver cv2pdb dparser vdextension mago dcxxfilt \
182187
dbuild12 dbuild14 install_only
183188

184189
install_only:
190+
if not exist ..\downloads\nul md ..\downloads
185191
cd nsis && "$(NSIS)\makensis" /V1 visuald.nsi
186192

187193
##################################

TODO

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,4 +223,6 @@ Unsorted
223223
- follow theme colors for tool windows
224224

225225
- version highlighting in files not in a project
226-
- does not rebuild lib if c-file recompiled
226+
- does not rebuild lib if c-file recompiled
227+
228+
- cannot remove deleted project from solution

VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#define VERSION_MAJOR 0
2-
#define VERSION_MINOR 3
3-
#define VERSION_REVISION 44
2+
#define VERSION_MINOR 44
3+
#define VERSION_REVISION 0
44
#define VERSION_BETA -beta
5-
#define VERSION_BUILD 1
5+
#define VERSION_BUILD 2

appveyor.yml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
#---------------------------------#
2+
# general configuration #
3+
#---------------------------------#
4+
5+
#version: 1.0.{build}-{branch}
6+
7+
# Do not build on tags (GitHub only)
8+
skip_tags: true
9+
10+
#---------------------------------#
11+
# environment configuration #
12+
#---------------------------------#
13+
14+
# Operating system (build VM template)
15+
16+
environment:
17+
matrix:
18+
- os: Visual Studio 2015
19+
VS: 14
20+
- os: Visual Studio 2013
21+
VS: 12
22+
23+
#matrix:
24+
# allow_failures:
25+
# - VS: 14
26+
27+
# scripts that are called at very beginning, before repo cloning
28+
init:
29+
- git config --global core.autocrlf input
30+
31+
# scripts that run after cloning repository
32+
install:
33+
# show environment
34+
- set D_COMPILER=dmd
35+
- set
36+
- cd c:\projects
37+
# Download & extract D compiler
38+
- ps: |
39+
If ($Env:D_COMPILER -eq 'dmd') {
40+
Start-FileDownload 'http://downloads.dlang.org/releases/2.x/2.071.1/dmd.2.071.1.windows.7z' -FileName 'dmd2.7z'
41+
7z x dmd2.7z > $null
42+
Set-Item -path env:DMD -value c:\projects\dmd2\windows\bin\dmd.exe
43+
c:\projects\dmd2\windows\bin\dmd.exe --version
44+
} Else {
45+
If ($Env:D_COMPILER -eq 'dmd-nightly') {
46+
Start-FileDownload 'http://nightlies.dlang.org/dmd-nightly/dmd.master.windows.7z' -FileName 'dmd2.7z'
47+
7z x dmd2.7z > $null
48+
Set-Item -path env:DMD -value c:\projects\dmd2\windows\bin\dmd.exe
49+
c:\projects\dmd2\windows\bin\dmd.exe --version
50+
} Else {
51+
# LDC unsupported so far
52+
If ($Env:D_COMPILER -eq 'ldc') {
53+
Start-FileDownload 'http://github.com/ldc-developers/ldc/releases/download/v1.0.0/ldc2-1.0.0-win64-msvc.zip' -FileName 'ldc2.zip'
54+
7z x ldc2.zip > $null
55+
Set-Item -path env:DMD -value c:\projects\ldc2-1.0.0-win64-msvc\bin\ldmd2.exe
56+
c:\projects\ldc2-1.0.0-win64-msvc\bin\ldc2 --version
57+
}
58+
}
59+
}
60+
# Download & extract coffimplib.exe (no longer available publically as a single download)
61+
- ps: |
62+
Start-FileDownload 'http://ftp.digitalmars.com/Digital_Mars_C++/Patch/cd851.zip' -FileName 'cd851.zip'
63+
7z x cd851.zip > $null
64+
copy c:\projects\dm\bin\coffimplib.exe c:\projects\dmd2\windows\bin
65+
# Download & install Visual D
66+
- ps: |
67+
Start-FileDownload 'https://github.com/dlang/visuald/releases/download/v0.3.43/VisualD-v0.3.43.exe' -FileName 'VisualD-v0.3.43.exe'
68+
- .\VisualD-v0.3.43.exe /S
69+
# configure DMD path
70+
- reg add "HKLM\SOFTWARE\Microsoft\VisualStudio\12.0\ToolsOptionsPages\Projects\Visual D Settings" /v DMDInstallDir /t REG_SZ /d c:\projects\dmd2 /reg:32 /f
71+
- reg add "HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\ToolsOptionsPages\Projects\Visual D Settings" /v DMDInstallDir /t REG_SZ /d c:\projects\dmd2 /reg:32 /f
72+
# disable link dependencies monitoring, fails on AppVeyor server
73+
- reg add "HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\ToolsOptionsPages\Projects\Visual D Settings" /v optlinkDeps /t REG_DWORD /d 0 /reg:32 /f
74+
# Set environment variables
75+
- set PATH=c:\projects\dm\bin;%PATH%
76+
- call "c:\Program Files (x86)\Microsoft Visual Studio %VS%.0\VC\vcvarsall.bat" x86
77+
# Print environment info
78+
- set
79+
- msbuild /version
80+
- cl
81+
82+
#---------------------------------#
83+
# build configuration #
84+
#---------------------------------#
85+
86+
before_build:
87+
- cd c:\projects
88+
89+
build_script:
90+
- cd c:\projects
91+
- cd visuald
92+
# ignore failure once, in case it needs reloading the sdk project
93+
- nmake prerequisites || nmake prerequisites
94+
# build Visual D
95+
- nmake visuald_vs
96+
# Fetch submodules
97+
- git submodule update --init --recursive
98+
- cd ..
99+
# Clone mago/cv2pdb (need to be two levels up)
100+
- cd ..
101+
- git clone https://github.com/rainers/mago.git mago
102+
- set VS_SDK_PATH=%VSSDK120Install%
103+
- copy mago\PropSheets\Template_MagoDbg_properties.props mago\PropSheets\MagoDbg_properties.props
104+
- md cv2pdb
105+
- cd cv2pdb
106+
- git clone https://github.com/rainers/cv2pdb.git trunk
107+
- cd ..
108+
# Download & extract binutils
109+
- cd projects
110+
- ps: |
111+
Start-FileDownload 'http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz' -FileName 'binutils-2.25.tar.gz'
112+
7z x binutils-2.25.tar.gz > $null
113+
7z x binutils-2.25.tar > $null
114+
- 'if "%VS%"=="12" echo #define snprintf _snprintf >binutils-2.25\config.h'
115+
- 'if "%VS%"=="14" echo // empty >binutils-2.25\config.h'
116+
- set BINUTILS=c:\projects\binutils-2.25
117+
- set DMDINSTALLDIR=c:\projects\dmd2
118+
# build installer
119+
- cd visuald
120+
- nmake install_vs
121+
122+
after_build:
123+
# publish as artifact
124+
- cd c:\projects
125+
- 7z a logs_and_symbols.7z -r visuald\bin\*.pdb visuald\bin\*.html
126+
- for %%I in (downloads\*.exe) do (set BUILD_EXE=%%I && set ARTIFACT=%%~dpnI-%APPVEYOR_BUILD_NUMBER%-vs%VS%.exe)
127+
- copy %BUILD_EXE% %ARTIFACT%
128+
- ps: |
129+
If ($Env:VS -eq '12') {
130+
echo 'Creating artifacts...'
131+
Push-AppveyorArtifact $Env:ARTIFACT
132+
Push-AppveyorArtifact ..\cv2pdb\trunk\bin\Release\cv2pdb.exe
133+
Push-AppveyorArtifact visuald\bin\Release\pipedmd.exe
134+
Push-AppveyorArtifact logs_and_symbols.7z
135+
}
136+
137+
on_failure:
138+
- cd c:\projects
139+
- 7z a logs.7z -r visuald\bin\*.html
140+
- ps: |
141+
echo 'Publishing log files...'
142+
Push-AppveyorArtifact logs.7z
143+
144+
#---------------------------------#
145+
# test configuration #
146+
#---------------------------------#
147+
148+
test_script:
149+
- cd c:\projects

build/build.visualdproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,6 @@ call $(InputPath) "$(OutDir)\vsi2d.exe" "$(OutDir)\sdk.success&qu
218218
<File path="sdk_libs.bat" customcmd="call &quot;$(VSINSTALLDIR)\Common7\Tools\vsvars32.bat&quot;
219219
if errorlevel 1 goto reportError
220220
call $(InputPath) &quot;$(OutDir)\vsi2d.exe&quot; &quot;$(OutDir)\sdk_libs.success&quot;" tool="Custom" outfile="$(OutDir)\sdk_libs.success" />
221-
<File path="..\tools\tlb2idl.d" customcmd="dmd -map $(OutDir)\$(InputName).map -of$(OutDir)\$(InputName).exe $(InputPath) oleaut32.lib uuid.lib" tool="Custom" outfile="$(OutDir)\$(InputName).exe" />
221+
<File path="..\tools\tlb2idl.d" customcmd="dmd -d -map $(OutDir)\$(InputName).map -of$(OutDir)\$(InputName).exe $(InputPath) oleaut32.lib uuid.lib" tool="Custom" outfile="$(OutDir)\$(InputName).exe" />
222222
</Folder>
223223
</DProject>

build/sdk.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ if not exist ..\sdk\vsi\nul md ..\sdk\vsi
1919
if not exist ..\sdk\win32\nul md ..\sdk\win32
2020
if not exist %DTE_IDL_PATH%\nul md %DTE_IDL_PATH%
2121

22+
if "%WindowsSDKVersion%" == "\" set WindowsSDKVersion=%UCRTVersion%
2223
if "%WindowsSDKVersion%" == "" set WindowsSDKVersion=%UCRTVersion%
2324
set WINSDKINC=
2425
if not "%WindowsSDKVersion%" == "" if exist "%WindowsSdkDir%\include\%WindowsSDKVersion%\um\windows.h" set WINSDKINC=%WindowsSdkDir%\include\%WindowsSDKVersion%

build/sdk_libs.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ if "%WINSDKLIB%" == "" if exist "%WindowsSdkDir%\lib\kernel32.lib" set WINSDKLIB
2828
if "%WINSDKLIB%" == "" (echo Error: could not detect the Windows SDK library folder && exit /B 1)
2929

3030
set COFFIMPLIB=c:\l\dmc\bin\coffimplib.exe
31-
%coffimplib% >nul 2>&1
32-
if errorlevel 9000 set COFFIMPLIB=coffimplib
31+
if not exist %COFFIMPLIB% set COFFIMPLIB=%DMDInstallDir%\windows\bin\coffimplib.exe
32+
if not exist %COFFIMPLIB% set COFFIMPLIB=coffimplib
3333
%coffimplib% >nul 2>&1
3434
if errorlevel 9000 (echo Error: cannot execute %COFFIMPLIB%, please add to PATH && exit /B 1)
3535

build_doc.bat

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
set DMD=c:\s\d\rainers\windows\bin\dmd.exe
2+
rem set WEB=m:\s\d\rainers\web\visuald
3+
set WEB=c:\s\d\visuald\gh-pages\visuald
4+
5+
set SRC= doc/ReportingBugs.dd
6+
set SRC=%SRC% doc/StartPage.dd
7+
set SRC=%SRC% doc/ReportingBugs.dd
8+
set SRC=%SRC% doc/BuildFromSource.dd
9+
set SRC=%SRC% doc/KnownIssues.dd
10+
set SRC=%SRC% doc/Installation.dd
11+
set SRC=%SRC% doc/BrowseInfo.dd
12+
set SRC=%SRC% doc/Profiling.dd
13+
set SRC=%SRC% doc/Coverage.dd
14+
set SRC=%SRC% doc/CppConversion.dd
15+
set SRC=%SRC% doc/Debugging.dd
16+
set SRC=%SRC% doc/ProjectConfig.dd
17+
set SRC=%SRC% doc/TokenReplace.dd
18+
set SRC=%SRC% doc/Search.dd
19+
set SRC=%SRC% doc/Editor.dd
20+
set SRC=%SRC% doc/ProjectWizard.dd
21+
set SRC=%SRC% doc/GlobalOptions.dd
22+
set SRC=%SRC% doc/Features.dd
23+
set SRC=%SRC% doc/VersionHistory.dd
24+
set SRC=%SRC% doc/News36.dd
25+
set SRC=%SRC% doc/CompileCommands.dd
26+
set SRC=%SRC% doc/DustMite.dd
27+
28+
set DDOC=doc/macros.ddoc doc/html.ddoc ..\..\rainers\d-programming-language.org\dlang.org.ddoc doc/visuald.ddoc
29+
30+
if not exist %WEB% md %WEB%
31+
if not exist %WEB%\images md %WEB%\images
32+
cp -u doc/images/* %WEB%\images
33+
%DMD% -Dd%WEB% -o- -w %DDOC% %SRC%
34+

0 commit comments

Comments
 (0)