October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #10 from Brad Anderson <eco@gnuk.net> 2013-10-15 17:49:11 PDT --- Here's what I've come to: --- [Version] version=7.51 Build 020 ; environment for both 32/64 bit [Environment] DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import" [Environment32] LIB="%@P%\..\lib" LINKCMD=%@P%\link.exe [Environment64] ; VS2010 ;VS2010LINKCMD=%VCINSTALLDIR%bin\amd64\link.exe ; VS2012 ;VS2012LINKCMD=%VCINSTALLDIR%bin\x86_amd64\link.exe ; needed with /DEBUG to find mspdb*.dll ;VS2012PATH=%PATH%;%VCINSTALLDIR%bin\x86_amd64;%VCINSTALLDIR%..\Common7\IDE ; VS2013 ;VS2013LINKCMD=%VCINSTALLDIR%bin\x86_amd64\link.exe ; needed with /DEBUG to find mspdb*.dll ;VS2013PATH=%PATH%;%VCINSTALLDIR%bin\x86_amd64;%VCINSTALLDIR%..\Common7\IDE ; needed to avoid COMDAT folding (bugzilla 10664) DFLAGS=%DFLAGS% -L/OPT:NOICF LIB="%@P%\..\lib64";"%@P%\..\lib" ;;;; search path for C Runtime libraries ; the following lib path works with VS2008, VS2010, VS2012, VS2013 ; prepending because 32-bit OMF versions can cause link.exe to fail LIB="%VCINSTALLDIR%lib\amd64";%LIB% ;;;; search path for Platform libraries ; the following lib path works with Windows SDK 6.x and 7.x LIB="%WindowsSdkDir%Lib\x64";%LIB% ; the following lib path works with Windows SDK 8.0 and 8.1 LIB="%WindowsSdkDir%Lib\win8\um\x64";%LIB% --- I've moved LIB out of Environment (separate entries for 32 and 64) so I could stick %@P%\..\lib after %@P%\..\lib64 (if nothing else this should allow me to get 64-bit curl working). I had to prepend the VC/SDK search paths so that the 32-bit OMF libraries in ..\lib don't break link.exe (if we get to where we can remove %@P%\..\lib from Environment64 these can go back to being appended to LIB). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #11 from Brad Anderson <eco@gnuk.net> 2013-10-15 17:50:29 PDT --- Created an attachment (id=1266) New sc.ini (try 2) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #12 from Rainer Schuetze <r.sagitario@gmx.de> 2013-10-15 23:30:51 PDT --- (In reply to comment #9) > It'd look just like above. If neither LINKCMD64 nor LINKCMD64 is found dmd just uses "link". I believe this means it'll still work if someone just runs the usual vcvarsall.bat to get the MSVC toolset in the PATH (if they installed MSVC after dmd, for instance). vcvarsall.bat prepends to the PATH so optlink shouldn't get in the way in this case. vcvarsall.bat is already required for the current sc.ini so this should be functionally no different then what we have now. If you have run vcvarsall.bat, VCINSTALLDIR is set and dmd uses VCINSTALLDIR to create a non-working path to link.exe for VS2012+ instead of using just "link": Can't run 'c:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\link ', check PATH If you haven't run vcvarsall.bat, VCINSTALLDIR is not set, but also PATH doesn't contain the VC bin directory, so it will probably pick up optlink when running "link". -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #13 from Rainer Schuetze <r.sagitario@gmx.de> 2013-10-15 23:34:10 PDT --- > LIB="%VCINSTALLDIR%lib\amd64";%LIB% Please add '\' between the variable and lib. For some installations on my system there is no trailing '\' in the environment variable, probably because I have changed the destination path during installation. A double back slash causes no problems, but a missing one does. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #14 from Rainer Schuetze <r.sagitario@gmx.de> 2013-10-15 23:42:43 PDT --- I always wanted to try whether the 32-bit MS linker is able to build 64-bit executables, and it actually is! So the linker setting can just be LINKCMD=%VCINSTALLDIR%\bin\link.exe -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla@digitalmars.com --- Comment #15 from Walter Bright <bugzilla@digitalmars.com> 2013-10-16 13:31:27 PDT --- The current sc.ini: https://github.com/D-Programming-Language/dmd/pull/2674 After this is pulled, revised one can be done as PR's. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 16, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #16 from Brad Anderson <eco@gnuk.net> 2013-10-16 13:33:17 PDT --- (In reply to comment #15) > The current sc.ini: > > https://github.com/D-Programming-Language/dmd/pull/2674 > > After this is pulled, revised one can be done as PR's. Thanks, Walter. That's much easier. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 17, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #17 from Brad Anderson <eco@gnuk.net> 2013-10-16 21:12:02 PDT --- (In reply to comment #13) > > LIB="%VCINSTALLDIR%lib\amd64";%LIB% > > Please add '\' between the variable and lib. For some installations on my system there is no trailing '\' in the environment variable, probably because I have changed the destination path during installation. A double back slash causes no problems, but a missing one does. Done (I was wondering why those were there). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 17, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #18 from Brad Anderson <eco@gnuk.net> 2013-10-16 21:14:23 PDT --- (In reply to comment #14) > I always wanted to try whether the 32-bit MS linker is able to build 64-bit executables, and it actually is! So the linker setting can just be > > LINKCMD=%VCINSTALLDIR%\bin\link.exe I think I'll stick with the 64-bit since they already work. I have occasional problems with the 32-bit toolset in Visual Studio in my C++ projects at work (big PCH and Whole Program Optimization can trigger it) and I know these problems don't occur in the 64-bit toolset. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 17, 2013 [Issue 11266] Ship new sc.ini with expanded support for more versions of Visual Studio/Windows SDK | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Anderson | http://d.puremagic.com/issues/show_bug.cgi?id=11266 --- Comment #19 from Brad Anderson <eco@gnuk.net> 2013-10-16 21:17:15 PDT --- (In reply to comment #18) > (In reply to comment #14) > > I always wanted to try whether the 32-bit MS linker is able to build 64-bit executables, and it actually is! So the linker setting can just be > > > > LINKCMD=%VCINSTALLDIR%\bin\link.exe > > I think I'll stick with the 64-bit since they already work. I have occasional problems with the 32-bit toolset in Visual Studio in my C++ projects at work (big PCH and Whole Program Optimization can trigger it) and I know these problems don't occur in the 64-bit toolset. Actually, on second thought I'll throw that in there as a backup that gets overridden in case the installer doesn't detect VS. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation