[libav-devel] [PATCH] use bcrypt instead of the old wincrypt API

Diego Biurrun diego at biurrun.de
Fri Mar 30 15:54:02 CEST 2018


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?

Diego


More information about the libav-devel mailing list