digitalmars.D - Status of Win64 DMD/MSVC path situation?
- Nick Sabalausky (5/5) Sep 25 2013 I know there's been some work/discussion regarding improvements to how
- Brad Anderson (6/15) Sep 25 2013 https://github.com/D-Programming-Language/dmd/pull/2509
- Nick Sabalausky (6/23) Sep 25 2013 Hmm, ok. Am I correct in understanding that, for the average user, the
- Brad Anderson (38/64) Sep 25 2013 Not quite. The tail of the path changes with VC versions. I've
- Jacob Carlborg (5/10) Sep 25 2013 Two different for VS2012? Should the first one be 2010?
- Rainer Schuetze (4/12) Sep 26 2013 Yes, eagle eye ;-)
- Manu (2/19) Sep 26 2013 Amen! :) .. I wasn't sure if that got through.
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?
Sep 25 2013
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.
Sep 25 2013
On Wed, 25 Sep 2013 18:29:45 +0200 "Brad Anderson" <eco gnuk.net> wrote:On Wednesday, 25 September 2013 at 16:26:14 UTC, Nick Sabalausky wrote: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?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.
Sep 25 2013
On Wednesday, 25 September 2013 at 16:42:22 UTC, Nick Sabalausky wrote:On Wed, 25 Sep 2013 18:29:45 +0200 "Brad Anderson" <eco gnuk.net> wrote: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/l10vtc$76o$1 digitalmars.comOn Wednesday, 25 September 2013 at 16:26:14 UTC, Nick Sabalausky wrote: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?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.
Sep 25 2013
On Wednesday, 25 September 2013 at 17:01:34 UTC, Brad Anderson wrote:[Environment64] ; VS2008 and VS2012 LINKCMD64=%VCINSTALLDIR%\bin\amd64\link.exe ; VS2012 ; LINKCMD64=%VCINSTALLDIR%\bin\x86_amd64\link.exeTwo different for VS2012? Should the first one be 2010? -- /Jacob Carlborg
Sep 25 2013
On 25.09.2013 20:49, Jacob Carlborg wrote:On Wednesday, 25 September 2013 at 17:01:34 UTC, Brad Anderson wrote:Yes, eagle eye ;-) Please also note that the proposed sc.ini uses a different folder for win64 libraries than the current releases.[Environment64] ; VS2008 and VS2012 LINKCMD64=%VCINSTALLDIR%\bin\amd64\link.exe ; VS2012 ; LINKCMD64=%VCINSTALLDIR%\bin\x86_amd64\link.exeTwo different for VS2012? Should the first one be 2010?
Sep 26 2013
On 26 September 2013 18:11, Rainer Schuetze <r.sagitario gmx.de> wrote:On 25.09.2013 20:49, Jacob Carlborg wrote:Amen! :) .. I wasn't sure if that got through.On Wednesday, 25 September 2013 at 17:01:34 UTC, Brad Anderson wrote: [Environment64]Yes, eagle eye ;-) Please also note that the proposed sc.ini uses a different folder for win64 libraries than the current releases.; VS2008 and VS2012 LINKCMD64=%VCINSTALLDIR%\bin\**amd64\link.exe ; VS2012 ; LINKCMD64=%VCINSTALLDIR%\bin\**x86_amd64\link.exeTwo different for VS2012? Should the first one be 2010?
Sep 26 2013