diff mbox

[FFmpeg-devel] configure: force _WIN32_WINNT >= 0x0502 on mingw32 targets

Message ID 20160819183958.3312-1-jamrial@gmail.com
State Accepted
Commit 69f7aad5710f280ad854ea0bb84d59ed1b55bf5b
Headers show

Commit Message

James Almer Aug. 19, 2016, 6:39 p.m. UTC
Windows versions earlier than XP are not supported.

Should fix compilation of command line tools.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 configure | 2 ++
 1 file changed, 2 insertions(+)

Comments

Hendrik Leppkes Aug. 19, 2016, 8:11 p.m. UTC | #1
On Fri, Aug 19, 2016 at 8:39 PM, James Almer <jamrial@gmail.com> wrote:
> Windows versions earlier than XP are not supported.
>
> Should fix compilation of command line tools.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  configure | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/configure b/configure
> index 9b92426..2a2c06e 100755
> --- a/configure
> +++ b/configure
> @@ -4919,6 +4919,8 @@ probe_libc(){
>              (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" ||
>              die "ERROR: MinGW32 runtime version must be >= 3.15."
>          add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1
> +        check_${pfx}cpp_condition _mingw.h "defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0502" ||
> +            add_${pfx}cppflags -D_WIN32_WINNT=0x0502
>          eval test \$${pfx_no_}cc_type = "gcc" &&
>              add_${pfx}cppflags -D__printf__=__gnu_printf__
>      elif check_${pfx}cpp_condition crtversion.h "defined _VC_CRT_MAJOR_VERSION"; then
> --
> 2.9.1

Does that actually work? libav suggested such a patch, but they
defined another variable to unlock new functions.

- Hendrik
James Almer Aug. 19, 2016, 8:24 p.m. UTC | #2
On 8/19/2016 5:11 PM, Hendrik Leppkes wrote:
> On Fri, Aug 19, 2016 at 8:39 PM, James Almer <jamrial@gmail.com> wrote:
>> Windows versions earlier than XP are not supported.
>>
>> Should fix compilation of command line tools.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>  configure | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/configure b/configure
>> index 9b92426..2a2c06e 100755
>> --- a/configure
>> +++ b/configure
>> @@ -4919,6 +4919,8 @@ probe_libc(){
>>              (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" ||
>>              die "ERROR: MinGW32 runtime version must be >= 3.15."
>>          add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1
>> +        check_${pfx}cpp_condition _mingw.h "defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0502" ||
>> +            add_${pfx}cppflags -D_WIN32_WINNT=0x0502
>>          eval test \$${pfx_no_}cc_type = "gcc" &&
>>              add_${pfx}cppflags -D__printf__=__gnu_printf__
>>      elif check_${pfx}cpp_condition crtversion.h "defined _VC_CRT_MAJOR_VERSION"; then
>> --
>> 2.9.1
> 
> Does that actually work? libav suggested such a patch, but they
> defined another variable to unlock new functions.
> 
> - Hendrik

I can't test, i don't have a mingw32 toolchain around. I know it
will add the extra define to the command line which in theory
should expose SetDllDirectory().

What did they define? I can't find anything already in configure.
Hendrik Leppkes Aug. 19, 2016, 9:13 p.m. UTC | #3
On Fri, Aug 19, 2016 at 10:24 PM, James Almer <jamrial@gmail.com> wrote:
> On 8/19/2016 5:11 PM, Hendrik Leppkes wrote:
>> On Fri, Aug 19, 2016 at 8:39 PM, James Almer <jamrial@gmail.com> wrote:
>>> Windows versions earlier than XP are not supported.
>>>
>>> Should fix compilation of command line tools.
>>>
>>> Signed-off-by: James Almer <jamrial@gmail.com>
>>> ---
>>>  configure | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/configure b/configure
>>> index 9b92426..2a2c06e 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -4919,6 +4919,8 @@ probe_libc(){
>>>              (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" ||
>>>              die "ERROR: MinGW32 runtime version must be >= 3.15."
>>>          add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1
>>> +        check_${pfx}cpp_condition _mingw.h "defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0502" ||
>>> +            add_${pfx}cppflags -D_WIN32_WINNT=0x0502
>>>          eval test \$${pfx_no_}cc_type = "gcc" &&
>>>              add_${pfx}cppflags -D__printf__=__gnu_printf__
>>>      elif check_${pfx}cpp_condition crtversion.h "defined _VC_CRT_MAJOR_VERSION"; then
>>> --
>>> 2.9.1
>>
>> Does that actually work? libav suggested such a patch, but they
>> defined another variable to unlock new functions.
>>
>> - Hendrik
>
> I can't test, i don't have a mingw32 toolchain around. I know it
> will add the extra define to the command line which in theory
> should expose SetDllDirectory().
>
> What did they define? I can't find anything already in configure.

https://lists.libav.org/pipermail/libav-devel/2016-August/078670.html

No clue if its only for things that are CRT features or Windows
features. can't test either.
James Almer Aug. 19, 2016, 9:26 p.m. UTC | #4
On 8/19/2016 6:13 PM, Hendrik Leppkes wrote:
> On Fri, Aug 19, 2016 at 10:24 PM, James Almer <jamrial@gmail.com> wrote:
>> On 8/19/2016 5:11 PM, Hendrik Leppkes wrote:
>>> On Fri, Aug 19, 2016 at 8:39 PM, James Almer <jamrial@gmail.com> wrote:
>>>> Windows versions earlier than XP are not supported.
>>>>
>>>> Should fix compilation of command line tools.
>>>>
>>>> Signed-off-by: James Almer <jamrial@gmail.com>
>>>> ---
>>>>  configure | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/configure b/configure
>>>> index 9b92426..2a2c06e 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -4919,6 +4919,8 @@ probe_libc(){
>>>>              (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" ||
>>>>              die "ERROR: MinGW32 runtime version must be >= 3.15."
>>>>          add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1
>>>> +        check_${pfx}cpp_condition _mingw.h "defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0502" ||
>>>> +            add_${pfx}cppflags -D_WIN32_WINNT=0x0502
>>>>          eval test \$${pfx_no_}cc_type = "gcc" &&
>>>>              add_${pfx}cppflags -D__printf__=__gnu_printf__
>>>>      elif check_${pfx}cpp_condition crtversion.h "defined _VC_CRT_MAJOR_VERSION"; then
>>>> --
>>>> 2.9.1
>>>
>>> Does that actually work? libav suggested such a patch, but they
>>> defined another variable to unlock new functions.
>>>
>>> - Hendrik
>>
>> I can't test, i don't have a mingw32 toolchain around. I know it
>> will add the extra define to the command line which in theory
>> should expose SetDllDirectory().
>>
>> What did they define? I can't find anything already in configure.
> 
> https://lists.libav.org/pipermail/libav-devel/2016-August/078670.html
> 
> No clue if its only for things that are CRT features or Windows
> features. can't test either.

According to https://msdn.microsoft.com/en-us/library/windows/desktop/ms686203(v=vs.85).aspx
_WIN32_WINNT == 0x0502 is enough to expose this function.

Michael, the FATE client seems to be yours. Could you test this patch?
Michael Niedermayer Aug. 20, 2016, 3:03 a.m. UTC | #5
On Fri, Aug 19, 2016 at 03:39:58PM -0300, James Almer wrote:
> Windows versions earlier than XP are not supported.
> 
> Should fix compilation of command line tools.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  configure | 2 ++
>  1 file changed, 2 insertions(+)

Tested-by: michael
seems to fix build on freebsd mingw32

[...]
James Almer Aug. 22, 2016, 8:48 p.m. UTC | #6
On 8/20/2016 12:03 AM, Michael Niedermayer wrote:
> On Fri, Aug 19, 2016 at 03:39:58PM -0300, James Almer wrote:
>> Windows versions earlier than XP are not supported.
>>
>> Should fix compilation of command line tools.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>  configure | 2 ++
>>  1 file changed, 2 insertions(+)
> 
> Tested-by: michael
> seems to fix build on freebsd mingw32

Pushed, thanks.

Since the commit that introduced this regression was backported to
the 3.0 and 3.1 branches, i was wondering if instead of backporting
this patch i should apply the original one from this thread.
Earlier releases of those branches built just fine on < WinXP so
it's IMO not right to suddenly change that in a point release.
Michael Niedermayer Aug. 23, 2016, 12:16 a.m. UTC | #7
On Mon, Aug 22, 2016 at 05:48:13PM -0300, James Almer wrote:
> On 8/20/2016 12:03 AM, Michael Niedermayer wrote:
> > On Fri, Aug 19, 2016 at 03:39:58PM -0300, James Almer wrote:
> >> Windows versions earlier than XP are not supported.
> >>
> >> Should fix compilation of command line tools.
> >>
> >> Signed-off-by: James Almer <jamrial@gmail.com>
> >> ---
> >>  configure | 2 ++
> >>  1 file changed, 2 insertions(+)
> > 
> > Tested-by: michael
> > seems to fix build on freebsd mingw32
> 
> Pushed, thanks.
> 
> Since the commit that introduced this regression was backported to
> the 3.0 and 3.1 branches, i was wondering if instead of backporting
> this patch i should apply the original one from this thread.
> Earlier releases of those branches built just fine on < WinXP so
> it's IMO not right to suddenly change that in a point release.

agree

thx

[...]

--
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he is always stirring up
some war or other, in order that the people may require a leader. -- Plato
James Almer Aug. 23, 2016, 1:30 a.m. UTC | #8
On 8/22/2016 9:16 PM, Michael Niedermayer wrote:
> On Mon, Aug 22, 2016 at 05:48:13PM -0300, James Almer wrote:
>> On 8/20/2016 12:03 AM, Michael Niedermayer wrote:
>>> On Fri, Aug 19, 2016 at 03:39:58PM -0300, James Almer wrote:
>>>> Windows versions earlier than XP are not supported.
>>>>
>>>> Should fix compilation of command line tools.
>>>>
>>>> Signed-off-by: James Almer <jamrial@gmail.com>
>>>> ---
>>>>  configure | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>
>>> Tested-by: michael
>>> seems to fix build on freebsd mingw32
>>
>> Pushed, thanks.
>>
>> Since the commit that introduced this regression was backported to
>> the 3.0 and 3.1 branches, i was wondering if instead of backporting
>> this patch i should apply the original one from this thread.
>> Earlier releases of those branches built just fine on < WinXP so
>> it's IMO not right to suddenly change that in a point release.
> 
> agree
> 
> thx

Pushed it to both branches.
diff mbox

Patch

diff --git a/configure b/configure
index 9b92426..2a2c06e 100755
--- a/configure
+++ b/configure
@@ -4919,6 +4919,8 @@  probe_libc(){
             (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" ||
             die "ERROR: MinGW32 runtime version must be >= 3.15."
         add_${pfx}cppflags -U__STRICT_ANSI__ -D__USE_MINGW_ANSI_STDIO=1
+        check_${pfx}cpp_condition _mingw.h "defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0502" ||
+            add_${pfx}cppflags -D_WIN32_WINNT=0x0502
         eval test \$${pfx_no_}cc_type = "gcc" &&
             add_${pfx}cppflags -D__printf__=__gnu_printf__
     elif check_${pfx}cpp_condition crtversion.h "defined _VC_CRT_MAJOR_VERSION"; then