RE: [INTERNALS-WIN] PHP7: which Windows Kit?

[email protected] ("Anatol Belski") Wed, 5 Aug 2015 17:13:15 +0200
Newsgroups php.internals.win
Message-ID <[email protected]>
Hi Jan,

> -----Original Message-----
> From: Jan Ehrhardt [mailto:[email protected]]
> Sent: Tuesday, August 4, 2015 11:51 PM
> To: [email protected]
> Cc: [email protected]; [email protected]
> Subject: Re: [INTERNALS-WIN] PHP7: which Windows Kit?
> 
> Hi Anatol,
> 
> "Anatol Belski" in php.internals.win (Tue, 4 Aug 2015 23:08:47 +0200):
> >How do you check what is included?
> 
> Look at the INCLUDE setting in the 'Developer Command Prompt for VS2015'.
> echo %include% contains either 'C:\Program Files (x86)\Windows
> Kits\10\Include\10.0.10240.0\um\' or 'C:\Program Files (x86)\Windows
> Kits\8.1\include\um\'.
> 
> Or maybe even an earlier 10.0.10nnn.0 in your case, because 10.0.10240.0
was
> released on July 29.
> 
> I checked it on the machine with a fresh VS2015 (with 'UM'), renamed the
> WinSock2.h in \10.0.10240.0\um\ to WinSock2no.h and tried to compile
> OpenSSL. It failed because the compiler could not find WinSock2.h.
> 
> >The same version is the one required for VS2015.
> 
> If I understand this correctly that will be '10.0.10240.0' now in
C:\Program Files
> (x86)\Windows Kits\10\Include\10.0.10240.0
> 
> There was an upgrade from 10.0.10056.0, 10.0.10069.0 or 10.0.10150.0 to
> 10.0.10240.0 on the release date.
> 
What's new is in Win10 SDK -
https://dev.windows.com/en-us/downloads/windows-10-sdk ... If you read this,
from anything there PHP requires only UCRT, and it is available by the
default installation of VS2015 (and receives the updates with it).

Anything you mention, say ws2_32.dll, user32.dll, kernel32.dll, etc. is
platform specific. PHP links to specific functionality set which is defined
by _WIN32_WINNT and other macros. Together with the fact that it uses the
same toolset and CRT - here it is. We build native binaries ensuring
specific platform functionality, universal apps and others doesn't belong to
that functionality. 

I'm really not sure what is the practical issue you see.

> >Btw what is "UM"? Never seen the abbreviation.
> 
> UM = Tools for Universal Windows Apps. I abbreviated it with the last part
in the
> path. \um is besides \ucrt in C:\Program Files (x86)\Windows
> Kits\10\Include\10.0.10240.0. I had never heard of UCRT but I understood
> immediately what you meant...
> 
Ok ... the correct abbreviation for what you mean is UWP. UCRT is however a
known term since some time
https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx?f=255&MSPPError=-2147
217396

Regards

Anatol