Skip to content

Commit

Permalink
Merge pull request #24 from rainers/master
Browse files Browse the repository at this point in the history
Visual D 0.3.39beta1
  • Loading branch information
rainers committed Aug 2, 2014
2 parents ae35ed9 + e299cde commit 2362427
Show file tree
Hide file tree
Showing 30 changed files with 518 additions and 165 deletions.
16 changes: 15 additions & 1 deletion CHANGES
Expand Up @@ -631,7 +631,7 @@ Version history
- bugzilla 12353: option "Show Type In Tooltip" not saved and restored across restart

* miscellanea
- update SDK conversion for VS2013 and Windws SDK 8.1
- update SDK conversion for VS2013 and Windows SDK 8.1
- bugzilla 11786: change some default colors when using dark theme in VS 2012+ (restart required)
- bugzilla 12187: disguise functionality of pipedmd.exe and filemonitor.dll to let it pass
most anti-virus checks
Expand All @@ -640,3 +640,17 @@ Version history

* build mago with static C runtime to avoid dependencies on msvcrt120.dll

2014-07-20 Version 0.3.39

* added editor margin to display coverage counters and percentage
* support tab/indentation settings set by .editorconfig plugin
* optlink now always called with /DELEXE to avoid keeping broken binary
* added workaround for bad import library being passed by C/C++ projects
* tweaked "Compile & Run" to distinguish between compile and execution errors
* added "Compile & Debug" command
* new mago version 1.0
- now supports debugging x64 executables
- displays static members of classes and structs
- fixed not closing executable file causing linker to fail when rebuilding
- fixed breakpoints not set in all instances of a template
* new dparser version: 78a007c9aaee915e2824f30c5c7293e8853343c4
6 changes: 5 additions & 1 deletion Makefile
Expand Up @@ -145,8 +145,12 @@ vdserver:
dparser:
cd vdc\abothe && $(MSBUILD) vdserver.sln /p:Configuration=Release /t:Rebuild

vdextension:
cd vdextensions && $(MSBUILD) vdextensions.csproj /p:Configuration=Release;Platform=x86 /t:Rebuild

mago:
cd ..\..\mago && devenv /Build "Release|Win32" /Project "MagoNatDE" magodbg_2010.sln
cd ..\..\mago && devenv /Build "Release|x64" /Project "MagoRemote" magodbg_2010.sln

cv2pdb:
cd ..\..\cv2pdb\trunk && devenv /Project "cv2pdb" /Build "Release|Win32" src\cv2pdb_vs12.sln
Expand All @@ -160,7 +164,7 @@ install: all cpp2d_exe idl2d_exe
"$(ZIP)" -j ..\downloads\visuald_pdb.zip bin\release\visuald.pdb bin\release\vdserver.pdb

#prerequisites
install_vs: visuald_vs vdserver cv2pdb dparser mago install_only
install_vs: visuald_vs vdserver cv2pdb dparser vdextension mago install_only

install_only:
cd nsis && "$(NSIS)\makensis" /V1 visuald.nsi
Expand Down
22 changes: 17 additions & 5 deletions TODO
Expand Up @@ -145,8 +145,20 @@ Unsorted
- goto definition fallback to JSON
- highlight compiler-magic identifiers

- compile from selection/buffer (through rdmd)
- save file before "Compile & run"
- coverage line highlight after "Compile & run" doesn't update
- better keeping track of line changes

+ compile from selection/buffer (through rdmd)
+ save file before "Compile & run"
+ coverage line highlight after "Compile & run" doesn't update
+ better keeping track of line changes

+ compile & debug
+ margin for profiler

+ formatting does not work with .editorConfig
+ do not report build failure when run returns non-zero result
- custom file props: switch and apply changes next file

- compile and run : set VCInstallDir for -m64
+ mago keeps image locked when terminating debugger
- -gc/-g depending on debug engine
- dub upport
- dustmite support
4 changes: 2 additions & 2 deletions VERSION
@@ -1,5 +1,5 @@
#define VERSION_MAJOR 0
#define VERSION_MINOR 3
#define VERSION_REVISION 38
#define VERSION_BETA -
#define VERSION_REVISION 39
#define VERSION_BETA -beta
#define VERSION_BUILD 1
2 changes: 1 addition & 1 deletion build/sdk.bat
Expand Up @@ -28,7 +28,7 @@ if "%VSISDKINC%" == "" if not "%VSSDK90Install%" == "" set VSISDKINC=%VSSDK90Ins
if "%VSISDKINC%" == "" if not "%VSSDK80Install%" == "" set VSISDKINC=%VSSDK80Install%
if "%VSISDKINC%" == "" (echo could not detect the Visual Studio SDK && exit /B 1)

if not exist "%VSISDKINC%\VisualStudioIntegration\Common\Inc\textmgr.h" (echo unexpected Visual Studio SDK installation at %VSISDKINC% && exit /B 1)
if not exist "%VSISDKINC%\VisualStudioIntegration\Common\Inc\textmgr.h" (echo unexpected Visual Studio SDK installation at "%VSISDKINC%" && exit /B 1)

echo Translating Windows SDK and Visual Studio SDK to D, this can take several minutes. Please be patient.
echo %VSI2D% --vsi="%VSISDKINC:\=/%" --win="%WINSDKINC:\=/%" --dte="%DTE_IDL_PATH%" --sdk=..\sdk
Expand Down
12 changes: 12 additions & 0 deletions doc/KnownIssues.dd
Expand Up @@ -57,5 +57,17 @@ $(P As a result, Windows Defender can harm performance of Visual D. To avoid thi
add the Visual Studio process devenv.exe to the list of Excluded Processes in the
settings of Windows Defender.)

$(H2 Import libraries from C/C++ projects )

$(P A Visual C/C++ DLL project reports two outputs to dependent projects: the DLL and the import library.)

$(P Unfortunately, the import library reported still contains unexpanded macros and the current working directory prepended
instead of the project directory. The actual replacements are not accessible to Visual D, so it assumes the
the import library to be placed along-side the DLL.)

$(P If the C++ DLL project is converted to a static library project, the import library setting is kept, though
unaccessible from the configuration page. The import library is falsely reported as an output. To mitigate
this problem, Visual D ignores the import library if the main output is also a library.)

Macros:
TITLE=Known Issues
5 changes: 3 additions & 2 deletions nsis/Extensions/extension.vsixmanifest
Expand Up @@ -9,8 +9,8 @@
<Version>0.3</Version>
<Description>Extension to provide support for the D programming language.</Description>
<Locale>1033</Locale>
<MoreInfoUrl>http://www.dsource.org/projects/visuald</MoreInfoUrl>
<GettingStartedGuide>http://www.dsource.org/projects/visuald</GettingStartedGuide>
<MoreInfoUrl>http://rainers.github.io/visuald/visuald/StartPage.html</MoreInfoUrl>
<GettingStartedGuide>http://rainers.github.io/visuald/visuald/StartPage.html</GettingStartedGuide>
<InstalledByMsi>true</InstalledByMsi>
<Icon>vdlogo.ico</Icon>
<PreviewImage>vdlogo.ico</PreviewImage>
Expand All @@ -37,5 +37,6 @@
<References />
<Content>
<VsPackage>visuald.pkgdef</VsPackage>
<MefComponent>VDINSTALLPATH\vdextensions.dll</MefComponent>
</Content>
</Vsix>
57 changes: 45 additions & 12 deletions nsis/visuald.nsi
Expand Up @@ -12,6 +12,9 @@
; define DPARSER to include DParser COM server installation (expected at ../bin/Release/DParserCOMServer)
!define DPARSER

; define VDEXTENSIONS to include C# extensions (expected at ../bin/Release/vdextensions)
!define VDEXTENSIONS

;--------------------------------
;Include Modern UI

Expand Down Expand Up @@ -87,10 +90,11 @@
!define MAGO_ENGINE_KEY AD7Metrics\Engine\${MAGO_CLSID}
!define MAGO_EXCEPTION_KEY AD7Metrics\Exception\${MAGO_CLSID}
!define MAGO_ABOUT "A debug engine dedicated to debugging applications written in the D programming language. See the project website at http://www.dsource.org/projects/mago_debugger for more information. Copyright (c) 2010-2013 Aldo J. Nunez"
!define MAGO_SOURCE ..\..\..\mago

!searchparse /file ../../../mago/include/magoversion.h "#define MAGO_VERSION_MAJOR " MAGO_VERSION_MAJOR
!searchparse /file ../../../mago/include/magoversion.h "#define MAGO_VERSION_MINOR " MAGO_VERSION_MINOR
!searchparse /file ../../../mago/include/magoversion.h "#define MAGO_VERSION_BUILD " MAGO_VERSION_BUILD
!searchparse /file ${MAGO_SOURCE}/include/magoversion.h "#define MAGO_VERSION_MAJOR " MAGO_VERSION_MAJOR
!searchparse /file ${MAGO_SOURCE}/include/magoversion.h "#define MAGO_VERSION_MINOR " MAGO_VERSION_MINOR
!searchparse /file ${MAGO_SOURCE}/include/magoversion.h "#define MAGO_VERSION_BUILD " MAGO_VERSION_BUILD

!searchreplace MAGO_VERSION_MAJOR ${MAGO_VERSION_MAJOR} " " ""
!searchreplace MAGO_VERSION_MINOR ${MAGO_VERSION_MINOR} " " ""
Expand Down Expand Up @@ -184,7 +188,11 @@ Section "Visual Studio package" SecPackage
${File} ..\ README.md
${File} ..\ LICENSE_1_0.txt
${File} ..\ CHANGES


!ifdef VDEXTENSIONS
${File} ..\bin\${CONFIG}\vdextensions\ vdextensions.dll
!endif

${SetOutPath} "$INSTDIR\Templates"
${SetOutPath} "$INSTDIR\Templates\Items"
${File} ..\visuald\Templates\Items\ empty.d
Expand Down Expand Up @@ -284,10 +292,16 @@ ${MementoSection} "Register with VS 2010" SecVS2010

ReadRegStr $1 ${VS_REGISTRY_ROOT} "${VS2010_REGISTRY_KEY}" InstallDir
ExecWait 'rundll32 "$INSTDIR\${DLLNAME}" WritePackageDef ${VS2010_REGISTRY_KEY} $1${EXTENSION_DIR}\visuald.pkgdef'

${SetOutPath} "$1${EXTENSION_DIR}"
${File} ..\nsis\Extensions\ extension.vsixmanifest
${File} ..\nsis\Extensions\ vdlogo.ico

!ifdef VDEXTENSIONS
GetFullPathName /SHORT $0 $INSTDIR
!insertmacro ReplaceInFile "$1${EXTENSION_DIR}\extension.vsixmanifest" "VDINSTALLPATH" "$0" NoBackup
!endif

${MementoSectionEnd}

;--------------------------------
Expand All @@ -299,10 +313,16 @@ ${MementoSection} "Register with VS 2012" SecVS2012

ReadRegStr $1 ${VS_REGISTRY_ROOT} "${VS2012_REGISTRY_KEY}" InstallDir
ExecWait 'rundll32 "$INSTDIR\${DLLNAME}" WritePackageDef ${VS2012_REGISTRY_KEY} $1${EXTENSION_DIR}\visuald.pkgdef'

${SetOutPath} "$1${EXTENSION_DIR}"
${File} ..\nsis\Extensions\ extension.vsixmanifest
${File} ..\nsis\Extensions\ vdlogo.ico

!ifdef VDEXTENSIONS
GetFullPathName /SHORT $0 $INSTDIR
!insertmacro ReplaceInFile "$1${EXTENSION_DIR}\extension.vsixmanifest" "VDINSTALLPATH" "$0" NoBackup
!endif

${MementoSectionEnd}

;--------------------------------
Expand All @@ -314,10 +334,16 @@ ${MementoSection} "Register with VS 2013" SecVS2013

ReadRegStr $1 ${VS_REGISTRY_ROOT} "${VS2013_REGISTRY_KEY}" InstallDir
ExecWait 'rundll32 "$INSTDIR\${DLLNAME}" WritePackageDef ${VS2013_REGISTRY_KEY} $1${EXTENSION_DIR}\visuald.pkgdef'

${SetOutPath} "$1${EXTENSION_DIR}"
${File} ..\nsis\Extensions\ extension.vsixmanifest
${File} ..\nsis\Extensions\ vdlogo.ico


!ifdef VDEXTENSIONS
GetFullPathName /SHORT $0 $INSTDIR
!insertmacro ReplaceInFile "$1${EXTENSION_DIR}\extension.vsixmanifest" "VDINSTALLPATH" "$0" NoBackup
!endif

${MementoSectionEnd}

!ifdef EXPRESS
Expand Down Expand Up @@ -392,12 +418,13 @@ ${MementoSectionEnd}
${MementoSection} "mago" SecMago

${SetOutPath} "$INSTDIR\Mago"
${File} ..\..\..\mago\Release\ MagoNatDE.dll
${File} ..\..\..\mago\Release\ MagoNatEE.dll
${File} ..\..\..\mago\Release\ udis86.dll
${File} ..\..\..\mago\Release\ CVSTI.dll
${File} ..\..\..\mago\ LICENSE.TXT
${File} ..\..\..\mago\ NOTICE.TXT
${File} ${MAGO_SOURCE}\bin\Win32\Release\ MagoNatDE.dll
;; ${File} ${MAGO_SOURCE}\bin\Win32\Release\ MagoNatEE.dll
${File} ${MAGO_SOURCE}\bin\Win32\Release\ udis86.dll
;; ${File} ${MAGO_SOURCE}\bin\Win32\Release\ CVSTI.dll
${File} ${MAGO_SOURCE}\bin\x64\Release\ MagoRemote.exe
${File} ${MAGO_SOURCE}\ LICENSE.TXT
${File} ${MAGO_SOURCE}\ NOTICE.TXT

ExecWait 'regsvr32 /s "$INSTDIR\Mago\MagoNatDE.dll"'

Expand Down Expand Up @@ -427,6 +454,8 @@ ${MementoSection} "mago" SecMago
Push ${VS2013_REGISTRY_KEY}
Call RegisterMago

WriteRegStr HKLM "SOFTWARE\Wow6432Node\MagoDebugger" "Remote_x64" "$INSTDIR\Mago\MagoRemote.exe"

${MementoSectionEnd}
!endif

Expand Down Expand Up @@ -710,9 +739,12 @@ Function DMDInstallPage
IfErrors DMDInstallDirEmpty
StrCmp "$DMDInstallDir" "" DMDInstallDirEmpty HasDMDInstallDir
DMDInstallDirEmpty:
ReadRegStr $DInstallDir HKLM "SOFTWARE\DMD" "InstallationFolder"
IfErrors 0 HasDInstallationFolder
ReadRegStr $DInstallDir HKLM "SOFTWARE\D" "Install_Dir"
IfErrors HasDmdInstallDir
StrCpy $DmdInstallDir $DInstallDir\dmd2
HasDInstallationFolder:
StrCpy $DmdInstallDir $DInstallDir\dmd2
HasDMDInstallDir:

WriteINIStr "$PLUGINSDIR\dmdinstall.ini" "Field 1" "State" $DMDInstallDir
Expand Down Expand Up @@ -809,6 +841,7 @@ enabled:
WriteRegDWORD ${VS_REGISTRY_ROOT} "$1\${MAGO_ENGINE_KEY}" "ENC" 0
WriteRegDWORD ${VS_REGISTRY_ROOT} "$1\${MAGO_ENGINE_KEY}" "Disassembly" 1
WriteRegDWORD ${VS_REGISTRY_ROOT} "$1\${MAGO_ENGINE_KEY}" "Exceptions" 1
WriteRegDWORD ${VS_REGISTRY_ROOT} "$1\${MAGO_ENGINE_KEY}" "AlwaysLoadLocal" 1

${RegisterException} $1 "D Exceptions"
${RegisterException} $1 "D Exceptions\core.exception.AssertError"
Expand Down
2 changes: 1 addition & 1 deletion stdext/httpget.d
Expand Up @@ -6,7 +6,7 @@
// Distributed under the Boost Software License, Version 1.0.
// See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt

module httpget;
module stdext.httpget;

import std.string, std.conv, std.stream, std.stdio;
import std.socket, std.socketstream;
Expand Down
14 changes: 13 additions & 1 deletion vdc/parser.visualdproj
Expand Up @@ -6,7 +6,7 @@
<lib>1</lib>
<subsystem>0</subsystem>
<multiobj>0</multiobj>
<singleFileCompilation>2</singleFileCompilation>
<singleFileCompilation>0</singleFileCompilation>
<oneobj>0</oneobj>
<trace>0</trace>
<quiet>0</quiet>
Expand Down Expand Up @@ -89,6 +89,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>2</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -183,6 +184,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -277,6 +279,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions>-gx</additionalOptions>
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -371,6 +374,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>2</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -465,6 +469,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -559,6 +564,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).exe</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions>-debuglib=phobos64_d</additionalOptions>
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -653,6 +659,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).a</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -747,6 +754,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -841,6 +849,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -935,6 +944,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -1029,6 +1039,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions>-m32ms</additionalOptions>
<preBuildCommand />
<postBuildCommand />
Expand Down Expand Up @@ -1123,6 +1134,7 @@
<resfile />
<exefile>$(OutDir)\$(ProjectName).lib</exefile>
<useStdLibPath>1</useStdLibPath>
<cRuntime>1</cRuntime>
<additionalOptions />
<preBuildCommand />
<postBuildCommand />
Expand Down

0 comments on commit 2362427

Please sign in to comment.