Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-09-14 14:44:46

Alexey Pakhunov wrote:
> Andrey Melnikov wrote:
>>What is "an SDK"? Is it more than just a library/collection of
> It is a collection of related headers, libraries, binaries. Minimal SDK
> may contain only headers, for example - WTL. This can be an issue.

How can this be an issue? In general, on Windows, an "SDK" has the
following layout:

include -- header files
amd64 -- AMD64 headers
src -- source code
lib -- libraries
i386 -- IA32 libraries
amd64 -- AMD64 libraries
bin -- binaries (executables and shared libraries)

I am not sure how strictly this structure holds for other "SDK"s. I am
thinking of things like python. Also, do "SDK"s follow a different
convention on *nix?

You could assume the above layout and have controls for locating the
include, lib and bin directories for "SDK"'s that don't follow that
pattern. So:

using wtl : 7.0 : c:/sdks/wtl70 ;

would add c:/sdks/wtl70/bin to the path (not a problem if the directory
does not exist), c:/sdks/wtl70/include to the include path either via
environment variables (for msvc) or <include>/<system-include> for other

Hmm... are there <system-include> and <system-library> features? If
there were, we could then add them to the environment for msvc and do
the right thing with other compilers (doesn't CodeWarrior have a system
include option?) That way, STLPort/another STL implementation could do:


One issue is what to do if you have something like:

using python : 2.2 : c:/python22 ;
using python : 2.3 : c:/python22 ;

if python was made both a tool and an SDK (as defined above), which
version of python.exe would be used? Obviously, the solution would be to
specify the path explicitly (as is done with python.jam), but this might
cause issues elsewhere if two DLLs with the same name are in the path.

- Reece
Software Engineer/Sophos


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at