On Wednesday, 25 September 2013 at 16:42:22 UTC, Nick Sabalausky wrote:
On Wed, 25 Sep 2013 18:29:45 +0200
"Brad Anderson" <[email protected]> wrote:

On Wednesday, 25 September 2013 at 16:26:14 UTC, Nick Sabalausky wrote: > I know there's been some work/discussion regarding > improvements to how > DMD/sc.ini/whatever handles the paths for MSVC for Win64 > builds. I > haven't been following that closely, so I wanted to ask: > What's the > current state of that? Is it decided how 2.064 is going to > deal with
> that, and if so, how exactly?

https://github.com/D-Programming-Language/dmd/pull/2509

It was closed with several people asking that Walter use [Environment64] instead of LIBPATH64. Walter hasn't replied so it's a bit in limbo.

Hmm, ok. Am I correct in understanding that, for the average user, the that'll be an inconsequential decision and *regardless* of how sc.ini works the only thing they'll (hopefully) need to worry about is setting
their environment's %VCINSTALLDIR% and %WindowsSdkDir% vars?

Not quite. The tail of the path changes with VC versions. I've modified the installer to detect VS and adjust sc.ini accordingly: https://github.com/D-Programming-Language/installer/pull/22

This will make it pretty simple for those using the installer. I think I'm going to ask Walter to ship an sc.ini more like this sc.ini Rainer posted[1] and adjust the installer accordingly:

---

; environment for both 32/64 bit
[Environment]
LIB="%@P%\..\lib"
DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import"
LINKCMD=%@P%\link.exe

[Environment64]
; VS2008 and VS2012
LINKCMD64=%VCINSTALLDIR%\bin\amd64\link.exe

; VS2012
; LINKCMD64=%VCINSTALLDIR%\bin\x86_amd64\link.exe

; needed with /DEBUG to find mspdb*.dll
PATH=%PATH%;%VCINSTALLDIR%\bin\x86_amd64;%VCINSTALLDIR%\..\Common7\IDE

; needed to avoid COMDAT folding (bugzilla 10664)
DFLAGS=%DFLAGS% -L/OPT:NOICF

LIB="%@P%\..\lib64"

;;;; search path for C Runtime libraries
; the following lib path works with VS2008, VS2010 and VS2012
LIB=%LIB%;"%VCINSTALLDIR%\lib\amd64"

;;;; search path for Platform libraries
; the following lib path works with Windows SDK 6.x and 7.x
LIB=%LIB%;%WindowsSdkDir%\Lib\x64

; the following lib path works with Windows SDK 8.0
LIB=%LIB%;%WindowsSdkDir%\Lib\win8\um\x64

---

That sc.ini is much more helpful to people editing by hand (as well as takes care of some bugs I wasn't aware of).

1. http://forum.dlang.org/post/[email protected]

Reply via email to