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
