-
Notifications
You must be signed in to change notification settings - Fork 158
Description
Sorry for following ramble, wanted to get some thoughts down and start discussion.
It would be nice not to have to run multiple times to choose different versions of toolchain.
What is toolchain Vs what is dependency?
An MS VC compile has a default dependency on it's versions of C++ std lib, and if present on the Windows Platform SDK.
There are then 'cross compile' variations for arch where to find not just libs but also the tools to execute.
Some tool paths can be Language or SDK dependendant...
There are some default pairings of Compiler and platform SDK, and ability to change that choice.
I think I'd like to see NAR System dependencies able to support include/lib without having to package (not sure you could legally pacakge with MSVC headers/libs), Another problem being inconsistent cross architecture locations..
I've made local changes that are very specific to the Windows tool layout, can't just push it out for others.
Here is an aol config I have for Compiling against VC8/9/10/11 and WindowsSDK 7/7.1/8
# VC8
Windows.msvc.8.toolspath=c:/Program Files/Microsoft Visual Studio 8
Windows.msvc.8.path=VC/VCPackages;Common7/IDE;Common7/Tools
Windows.msvc.8.include=VC/INCLUDE
Windows.msvc.8.include.ATLMFC=VC/ATLMFC/INCLUDE
# V8 x86
x86.Windows.msvc.8.path=VC/bin
x86.Windows.msvc.8.lib=VC/LIB
x86.Windows.msvc.8.lib.ATLMFC=VC/ATLMFC/LIB
# V8 amd64
amd64.Windows.msvc.8.path=VC/bin/amd64
x86_amd64.Windows.msvc.8.path=VC/bin/x86_amd64
amd64.Windows.msvc.8.lib=VC/LIB/amd64
amd64.Windows.msvc.8.lib.ATLMFC=VC/ATLMFC/LIB/amd64
# V8 Intel
ia64.Windows.msvc.8.path=VC/bin/ia64
x86_ia64.Windows.msvc.8.path=VC/bin/x86_ia64
ia64.Windows.msvc.8.lib=VC/LIB/ia64
ia64.Windows.msvc.8.lib.ATLMFC=VC/ATLMFC/LIB/ia64
# VC9
Windows.msvc.9.toolspath=c:/Program Files/Microsoft Visual Studio 9
Windows.msvc.9.path=VC/VCPackages;Common7/IDE;Common7/Tools
Windows.msvc.9.include=VC/INCLUDE
Windows.msvc.9.include.ATLMFC=VC/ATLMFC/INCLUDE
# V9 x86
x86.Windows.msvc.9.path=VC/bin
x86.Windows.msvc.9.lib=VC/LIB
x86.Windows.msvc.9.lib.ATLMFC=VC/ATLMFC/LIB
# V9 amd64
amd64.Windows.msvc.9.path=VC/bin/amd64
x86_amd64.Windows.msvc.9.path=VC/bin/x86_amd64
amd64.Windows.msvc.9.lib=VC/LIB/amd64
amd64.Windows.msvc.9.lib.ATLMFC=VC/ATLMFC/LIB/amd64
# V9 Intel
ia64.Windows.msvc.9.path=VC/bin/ia64
x86_ia64.Windows.msvc.9.path=VC/bin/x86_ia64
ia64.Windows.msvc.9.lib=VC/LIB/ia64
ia64.Windows.msvc.9.lib.ATLMFC=VC/ATLMFC/LIB/ia64
# V10
Windows.msvc.10.toolspath=c:/Program Files/Microsoft Visual Studio 10.0
Windows.msvc.10.path=VC/VCPackages;Common7/IDE;Common7/Tools
Windows.msvc.10.include=VC/INCLUDE
Windows.msvc.10.include.ATLMFC=VC/ATLMFC/INCLUDE
# V10 x86
x86.Windows.msvc.10.path=VC/bin
x86.Windows.msvc.10.lib=VC/LIB
x86.Windows.msvc.10.lib.ATLMFC=VC/ATLMFC/LIB
# V10 amd64
amd64.Windows.msvc.10.path=VC/bin/amd64
x86_amd64.Windows.msvc.10.path=VC/bin/x86_amd64
amd64.Windows.msvc.10.lib=VC/LIB/amd64
amd64.Windows.msvc.10.lib.ATLMFC=VC/ATLMFC/LIB/amd64
# V10 Intel
ia64.Windows.msvc.10.path=VC/bin/ia64
x86_ia64.Windows.msvc.10.path=VC/bin/x86_ia64
ia64.Windows.msvc.10.lib=VC/LIB/ia64
ia64.Windows.msvc.10.lib.ATLMFC=VC/ATLMFC/LIB/ia64
# V11
Windows.msvc.11.toolspath=c:/Program Files/Microsoft Visual Studio 11.0
Windows.msvc.11.path=VC/VCPackages;Common7/IDE;Common7/Tools
Windows.msvc.11.include=VC/INCLUDE
Windows.msvc.11.include.ATLMFC=VC/ATLMFC/INCLUDE
# V11 x86
x86.Windows.msvc.11.path=VC/bin
x86.Windows.msvc.11.lib=VC/LIB
x86.Windows.msvc.11.lib.ATLMFC=VC/ATLMFC/LIB
# V11 amd64
amd64.Windows.msvc.11.path=VC/bin/amd64
x86_amd64.Windows.msvc.11.path=VC/bin/x86_amd64
amd64.Windows.msvc.11.lib=VC/LIB/amd64
amd64.Windows.msvc.11.lib.ATLMFC=VC/ATLMFC/LIB/amd64
# V11 Intel
ia64.Windows.msvc.11.path=VC/bin/ia64
x86_ia64.Windows.msvc.11.path=VC/bin/x86_ia64
ia64.Windows.msvc.11.lib=VC/LIB/ia64
ia64.Windows.msvc.11.lib.ATLMFC=VC/ATLMFC/LIB/ia64
# Windows SDK - likely to be customised on a per install - this should be wrapped up in a dependent artifact.
WindowsSdk.6a.toolspath=C:/Program Files/Microsoft SDKs/Windows/v6.0A
WindowsSdk.6.toolspath=C:/Program Files/Microsoft SDKs/Windows/v6.0
WindowsSdk.7a.toolspath=C:/Program Files/Microsoft SDKs/Windows/v7.0A
WindowsSdk.7.toolspath=C:/Program Files/Microsoft SDKs/Windows/v7.0
WindowsSdk.7.1.toolspath=C:/Program Files/Microsoft SDKs/Windows/v7.1
WindowsSdk.8.toolspath=C:/Program Files/Windows Kits/8.0
# Windows SDK 7a (comes with the Visual Studio Install)
WindowsSdk.7a.include=include
x86.WindowsSdk.7a.lib=lib
amd64.WindowsSdk.7a.lib=lib/x64
ia64.WindowsSdk.7a.lib=lib/ia64
x86.WindowsSdk.7a.path=bin
amd64.WindowsSdk.7a.path=bin/x64
ia64.WindowsSdk.7a.path=bin/x64
# Windows SDK 7
WindowsSdk.7.include=include
x86.WindowsSdk.7.lib=lib
amd64.WindowsSdk.7.lib=lib/x64
ia64.WindowsSdk.7.lib=lib/ia64
# PATH=
x86.WindowsSdk.7.path=bin
amd64.WindowsSdk.7.path=bin/x64
ia64.WindowsSdk.7.path=bin/x64
#x86.WindowsSdk.7.path=bin;bin/NETFX 4.0 Tools
#amd64.WindowsSdk.7.path=bin/x64;bin/NETFX 4.0 Tools/x64
#ia64.WindowsSdk.7.path=bin/ia64;bin/NETFX 4.0 Tools/ia64
# Windows SDK 7.1
WindowsSdk.7.1.include=include
x86.WindowsSdk.7.1.lib=lib
amd64.WindowsSdk.7.1.lib=lib/x64
ia64.WindowsSdk.7.1.lib=lib/ia64
# PATH=
x86.WindowsSdk.7.1.path=bin
amd64.WindowsSdk.7.1.path=bin/x64
ia64.WindowsSdk.7.1.path=bin/x64
# Windows SDK 8
WindowsSdk.8.include=include/um;include/shared
x86.WindowsSdk.8.lib=Lib/win8/um/x86
amd64.WindowsSdk.8.lib=Lib/win8/um/x64
#ia64.WindowsSdk.8.lib=Lib/win8/um/ia64
# PATH=
x86.WindowsSdk.8.path=bin/x86
amd64.WindowsSdk.8.path=bin/x64
ia64.WindowsSdk.8.path=bin/x64