On 3/30/2018 10:57 AM, Martin Storsjö wrote:
> On Fri, 30 Mar 2018, Diego Biurrun wrote:
> 
>> On Fri, Mar 30, 2018 at 10:43:27AM -0300, James Almer wrote:
>>> On 3/30/2018 10:38 AM, Diego Biurrun wrote:
>>> > On Fri, Mar 30, 2018 at 12:38:05PM +0200, Steve Lhomme wrote:
>>> >> Le 30/03/2018 à 10:46, Diego Biurrun a écrit :
>>> >>> On Fri, Mar 30, 2018 at 09:36:05AM +0200, Steve Lhomme wrote:
>>> >>>> --- a/configure
>>> >>>> +++ b/configure
>>> >>>> @@ -4581,6 +4582,7 @@ check_lib ole32    "windows.h"           
>>> CoTaskMemFree        -lole32
>>> >>>>   check_lib shell32  "windows.h shellapi.h" CommandLineToArgvW  
>>> -lshell32
>>> >>>>   check_lib wincrypt "windows.h wincrypt.h" CryptGenRandom      
>>> -ladvapi32
>>> >>>>   check_lib psapi    "windows.h psapi.h"    GetProcessMemoryInfo
>>> -lpsapi
>>> >>>> +check_cpp_condition Vista+ windows.h "_WIN32_WINNT >= 0x0600"
>>> && check_lib bcrypt "windows.h bcrypt.h" BCryptGenRandom  -lbcrypt
>>>
>>> If you don't need to set any variable then just use test_cpp_condition()
>>
>> Yes, good point.
>>
>>> >>> Do you really need to check the Vista condition? What about using
>>> bcrypt
>>> >>> unconditionally if available?
>>> >>
>>> >> Yes, you need to use it only on builds that won't run on XP.
>>> Otherwise it
>>> >> will fail to load the bcrypt.dll and the whole libavutil DLL (or
>>> whatever
>>> >> its form) will fail to load. It would be possible to do it
>>> dynamically but
>>> >> IMO it's overkill. It's not really a critical component.
>>> > > Is bcrypt available on XP? If no then the CPP condition check
>>> would seem
>>> > unnecessary. You could just check for bcrypt and bcrypt being
>>> available
>>> > would imply Vista. I think I'm missing something.
>>>
>>> check_lib bcrypt "windows.h bcrypt.h" BCryptGenRandom  -lbcrypt
>>>
>>> Seems to succeed even if targeting XP, at least on mingw-w64.
>>
>> Isn't that wrong then?
> 
> I guess it just means that mingw-w64 doesn't have _WIN32_WINNT ifdefs
> guarding the availability of this function in the headers. (The official
> windows SDK might, although that SDK also have dropped XP support long
> ago iirc.)

bcrypt.h on mingw-w64 is completely wrapped in checks like

#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT
>= 0x0A00

The former is the reason it succeeds in XP, seeing the latter is
checking for Windows 10 or newer.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to