* [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
@ 2023-07-27 18:51 L. E. Segovia
2023-07-29 18:48 ` [FFmpeg-devel] [PATCH v2] " L. E. Segovia
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: L. E. Segovia @ 2023-07-27 18:51 UTC (permalink / raw)
To: ffmpeg-devel
Including winsock2.h without WIN32_LEAN_AND_MEAN causes bzlib.h to parse
as nonsense, due to an instance of #define char small in rpcndr.h
(included transitively from windows.h).
See: https://stackoverflow.com/a/27794577
Signed-off-by: L. E. Segovia <amy@amyspark.me>
---
libavformat/network.h | 1 +
libavformat/os_support.c | 6 ++----
libavformat/os_support.h | 1 +
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavformat/network.h b/libavformat/network.h
index ca214087fc..06b6117fc7 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -35,6 +35,7 @@
#endif
#if HAVE_WINSOCK2_H
+#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <ws2tcpip.h>
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 15cea7fa5b..2de6a7c3d9 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -34,11 +34,9 @@
#if HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* HAVE_SYS_TIME_H */
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#elif HAVE_SYS_SELECT_H
+#if HAVE_SYS_SELECT_H
#include <sys/select.h>
-#endif /* HAVE_WINSOCK2_H */
+#endif /* HAVE_SYS_SELECT_H */
#endif /* !HAVE_POLL_H */
#include "network.h"
diff --git a/libavformat/os_support.h b/libavformat/os_support.h
index f2ff38e23b..5bdd275d70 100644
--- a/libavformat/os_support.h
+++ b/libavformat/os_support.h
@@ -140,6 +140,7 @@ typedef int socklen_t;
typedef unsigned long nfds_t;
#if HAVE_WINSOCK2_H
+#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#endif
#if !HAVE_STRUCT_POLLFD
--
2.41.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] [PATCH v2] os_support, network: Fix build failure on Windows with BZIP2
2023-07-27 18:51 [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2 L. E. Segovia
@ 2023-07-29 18:48 ` L. E. Segovia
2023-08-04 12:36 ` [FFmpeg-devel] [PATCH] " Martin Storsjö
` (2 subsequent siblings)
3 siblings, 0 replies; 13+ messages in thread
From: L. E. Segovia @ 2023-07-29 18:48 UTC (permalink / raw)
To: ffmpeg-devel
Including winsock2.h without WIN32_LEAN_AND_MEAN causes bzlib.h to parse
as nonsense, due to an instance of #define char small in rpcndr.h
(included transitively from windows.h).
See: https://stackoverflow.com/a/27794577
Signed-off-by: L. E. Segovia <amy@amyspark.me>
---
libavformat/network.h | 1 +
libavformat/os_support.c | 6 ++----
libavformat/os_support.h | 1 +
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavformat/network.h b/libavformat/network.h
index ca214087fc..06b6117fc7 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -35,6 +35,7 @@
#endif
#if HAVE_WINSOCK2_H
+#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <ws2tcpip.h>
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 15cea7fa5b..2de6a7c3d9 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -34,11 +34,9 @@
#if HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* HAVE_SYS_TIME_H */
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#elif HAVE_SYS_SELECT_H
+#if HAVE_SYS_SELECT_H
#include <sys/select.h>
-#endif /* HAVE_WINSOCK2_H */
+#endif /* HAVE_SYS_SELECT_H */
#endif /* !HAVE_POLL_H */
#include "network.h"
diff --git a/libavformat/os_support.h b/libavformat/os_support.h
index f2ff38e23b..5bdd275d70 100644
--- a/libavformat/os_support.h
+++ b/libavformat/os_support.h
@@ -140,6 +140,7 @@ typedef int socklen_t;
typedef unsigned long nfds_t;
#if HAVE_WINSOCK2_H
+#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#endif
#if !HAVE_STRUCT_POLLFD
--
2.41.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
2023-07-27 18:51 [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2 L. E. Segovia
2023-07-29 18:48 ` [FFmpeg-devel] [PATCH v2] " L. E. Segovia
@ 2023-08-04 12:36 ` Martin Storsjö
2023-08-04 12:39 ` Martin Storsjö
2023-08-05 20:47 ` [FFmpeg-devel] [PATCH v3 0/1] configure: Set WIN32_LEAN_AND_MEAN at configure time L. E. Segovia
[not found] ` <cover.1691268056.git.amy@amyspark.me>
3 siblings, 1 reply; 13+ messages in thread
From: Martin Storsjö @ 2023-08-04 12:36 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Thu, 27 Jul 2023, L. E. Segovia wrote:
> Including winsock2.h without WIN32_LEAN_AND_MEAN causes bzlib.h to parse
> as nonsense, due to an instance of #define char small in rpcndr.h
> (included transitively from windows.h).
>
> See: https://stackoverflow.com/a/27794577
> Signed-off-by: L. E. Segovia <amy@amyspark.me>
> ---
> libavformat/network.h | 1 +
> libavformat/os_support.c | 6 ++----
> libavformat/os_support.h | 1 +
> 3 files changed, 4 insertions(+), 4 deletions(-)
The change looks mostly reasonable to me I think, and WIN32_LEAN_AND_MEAN
is generally beneficial. I've got a couple comments below though.
> diff --git a/libavformat/network.h b/libavformat/network.h
> index ca214087fc..06b6117fc7 100644
> --- a/libavformat/network.h
> +++ b/libavformat/network.h
> @@ -35,6 +35,7 @@
> #endif
> #if HAVE_WINSOCK2_H
> +#define WIN32_LEAN_AND_MEAN
> #include <winsock2.h>
> #include <ws2tcpip.h>
The diff seems very hard to apply. The diff stat above says that this
shows a snippet of 6 lines originally, 7 lines after the modification -
but in fact the diff only shows 4 lines originally and 5 lines after the
modification. I don't know what has happened to the patch, but it makes it
hard to apply automatically.
> diff --git a/libavformat/os_support.c b/libavformat/os_support.c
> index 15cea7fa5b..2de6a7c3d9 100644
> --- a/libavformat/os_support.c
> +++ b/libavformat/os_support.c
> @@ -34,11 +34,9 @@
> #if HAVE_SYS_TIME_H
> #include <sys/time.h>
> #endif /* HAVE_SYS_TIME_H */
> -#if HAVE_WINSOCK2_H
> -#include <winsock2.h>
> -#elif HAVE_SYS_SELECT_H
> +#if HAVE_SYS_SELECT_H
> #include <sys/select.h>
> -#endif /* HAVE_WINSOCK2_H */
> +#endif /* HAVE_SYS_SELECT_H */
> #endif /* !HAVE_POLL_H */
> #include "network.h"
I presume this is done to avoid touching winsock2.h here, as the headers
that we've included already define this?
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
2023-08-04 12:36 ` [FFmpeg-devel] [PATCH] " Martin Storsjö
@ 2023-08-04 12:39 ` Martin Storsjö
2023-08-05 13:00 ` L. E. Segovia
0 siblings, 1 reply; 13+ messages in thread
From: Martin Storsjö @ 2023-08-04 12:39 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Fri, 4 Aug 2023, Martin Storsjö wrote:
> On Thu, 27 Jul 2023, L. E. Segovia wrote:
>
>> Including winsock2.h without WIN32_LEAN_AND_MEAN causes bzlib.h to parse
>> as nonsense, due to an instance of #define char small in rpcndr.h
>> (included transitively from windows.h).
>>
>> See: https://stackoverflow.com/a/27794577
>> Signed-off-by: L. E. Segovia <amy@amyspark.me>
>> ---
>> libavformat/network.h | 1 +
>> libavformat/os_support.c | 6 ++----
>> libavformat/os_support.h | 1 +
>> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> The change looks mostly reasonable to me I think, and WIN32_LEAN_AND_MEAN is
> generally beneficial. I've got a couple comments below though.
Alternatively, I guess we could consider adding WIN32_LEAN_AND_MEAN in
configure somewhere instead? That way we don't need to hunt down any
potential stray includes of windows.h/winsock2.h if they are added
elsewhere.
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
2023-08-04 12:39 ` Martin Storsjö
@ 2023-08-05 13:00 ` L. E. Segovia
0 siblings, 0 replies; 13+ messages in thread
From: L. E. Segovia @ 2023-08-05 13:00 UTC (permalink / raw)
To: ffmpeg-devel
Hey,
Yes, doing so directly in the configure script could be more useful. In fact, while I was doing further internal testing, I found two more instances that needed patching up.
I'll update this set and let you know.
amyspark
On 04/08/2023 09:39, Martin Storsjö wrote:
> On Fri, 4 Aug 2023, Martin Storsjö wrote:
>
>> On Thu, 27 Jul 2023, L. E. Segovia wrote:
>>
>>> Including winsock2.h without WIN32_LEAN_AND_MEAN causes bzlib.h to parse
>>> as nonsense, due to an instance of #define char small in rpcndr.h
>>> (included transitively from windows.h).
>>>
>>> See: https://stackoverflow.com/a/27794577
>>> Signed-off-by: L. E. Segovia <amy@amyspark.me>
>>> ---
>>> libavformat/network.h | 1 +
>>> libavformat/os_support.c | 6 ++----
>>> libavformat/os_support.h | 1 +
>>> 3 files changed, 4 insertions(+), 4 deletions(-)
>>
>> The change looks mostly reasonable to me I think, and WIN32_LEAN_AND_MEAN is generally beneficial. I've got a couple comments below though.
>
> Alternatively, I guess we could consider adding WIN32_LEAN_AND_MEAN in configure somewhere instead? That way we don't need to hunt down any potential stray includes of windows.h/winsock2.h if they are added elsewhere.
>
> // Martin
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
--
amyspark 🌸 https://www.amyspark.me
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] [PATCH v3 0/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
2023-07-27 18:51 [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2 L. E. Segovia
2023-07-29 18:48 ` [FFmpeg-devel] [PATCH v2] " L. E. Segovia
2023-08-04 12:36 ` [FFmpeg-devel] [PATCH] " Martin Storsjö
@ 2023-08-05 20:47 ` L. E. Segovia
2023-08-14 11:53 ` [FFmpeg-devel] [PATCH v4 " L. E. Segovia
[not found] ` <cover.1692013786.git.amy@amyspark.me>
[not found] ` <cover.1691268056.git.amy@amyspark.me>
3 siblings, 2 replies; 13+ messages in thread
From: L. E. Segovia @ 2023-08-05 20:47 UTC (permalink / raw)
To: ffmpeg-devel
Thanks Martin for the suggestion, I've implemented it in this version.
As for the changes to os_support.c, the removal was intended to avoid
duplicating the logic that already exists in os_support.h. I've kept
it in this version for consistency.
L. E. Segovia (1):
configure: Set WIN32_LEAN_AND_MEAN at configure time
compat/atomics/win32/stdatomic.h | 1 -
compat/w32pthreads.h | 1 -
configure | 1 +
libavdevice/dshow_capture.h | 1 -
libavdevice/opengl_enc.c | 1 -
libavfilter/vsrc_ddagrab.c | 1 -
libavformat/os_support.c | 6 ++----
libavutil/wchar_filename.h | 1 -
libswscale/utils.c | 1 -
9 files changed, 3 insertions(+), 11 deletions(-)
--
2.41.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] [PATCH v3 1/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
[not found] ` <cover.1691268056.git.amy@amyspark.me>
@ 2023-08-05 20:47 ` L. E. Segovia
2023-08-14 11:30 ` Martin Storsjö
0 siblings, 1 reply; 13+ messages in thread
From: L. E. Segovia @ 2023-08-05 20:47 UTC (permalink / raw)
To: ffmpeg-devel
Including winsock2.h or windows.h without WIN32_LEAN_AND_MEAN cause
bzlib.h to parse as nonsense, due to an instance of #define char small
in rpcndr.h.
See:
https://stackoverflow.com/a/27794577
Signed-off-by: L. E. Segovia <amy@amyspark.me>
---
compat/atomics/win32/stdatomic.h | 1 -
compat/w32pthreads.h | 1 -
configure | 1 +
libavdevice/dshow_capture.h | 1 -
libavdevice/opengl_enc.c | 1 -
libavfilter/vsrc_ddagrab.c | 1 -
libavformat/os_support.c | 6 ++----
libavutil/wchar_filename.h | 1 -
libswscale/utils.c | 1 -
9 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/compat/atomics/win32/stdatomic.h b/compat/atomics/win32/stdatomic.h
index 28a627bfd3..4f8ac2bb60 100644
--- a/compat/atomics/win32/stdatomic.h
+++ b/compat/atomics/win32/stdatomic.h
@@ -19,7 +19,6 @@
#ifndef COMPAT_ATOMICS_WIN32_STDATOMIC_H
#define COMPAT_ATOMICS_WIN32_STDATOMIC_H
-#define WIN32_LEAN_AND_MEAN
#include <stddef.h>
#include <stdint.h>
#include <windows.h>
diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index 6405e72b64..4ea0ce1ff4 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -35,7 +35,6 @@
* As most functions here are used without checking return values,
* only implement return values as necessary. */
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <process.h>
#include <time.h>
diff --git a/configure b/configure
index 99388e7664..881a10bc0c 100755
--- a/configure
+++ b/configure
@@ -5716,6 +5716,7 @@ case $target_os in
fi
! enabled small && test_cmd $windres --version && enable gnu_windres
enabled x86_32 && check_ldflags -LARGEADDRESSAWARE
+ add_cppflags -DWIN32_LEAN_AND_MEAN
shlibdir_default="$bindir_default"
SLIBPREF=""
SLIBSUF=".dll"
diff --git a/libavdevice/dshow_capture.h b/libavdevice/dshow_capture.h
index b548cd7afc..81e684b9be 100644
--- a/libavdevice/dshow_capture.h
+++ b/libavdevice/dshow_capture.h
@@ -27,7 +27,6 @@
#include "avdevice.h"
#define COBJMACROS
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#define NO_DSHOW_STRSAFE
#include <dshow.h>
diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
index f9dc846bf1..1b0cf5aa8f 100644
--- a/libavdevice/opengl_enc.c
+++ b/libavdevice/opengl_enc.c
@@ -30,7 +30,6 @@
#include "config.h"
#if HAVE_WINDOWS_H
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#if HAVE_OPENGL_GL3_H
diff --git a/libavfilter/vsrc_ddagrab.c b/libavfilter/vsrc_ddagrab.c
index 525d48110a..9093b89c5b 100644
--- a/libavfilter/vsrc_ddagrab.c
+++ b/libavfilter/vsrc_ddagrab.c
@@ -22,7 +22,6 @@
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0A00
#endif
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 15cea7fa5b..2de6a7c3d9 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -34,11 +34,9 @@
#if HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* HAVE_SYS_TIME_H */
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#elif HAVE_SYS_SELECT_H
+#if HAVE_SYS_SELECT_H
#include <sys/select.h>
-#endif /* HAVE_WINSOCK2_H */
+#endif /* HAVE_SYS_SELECT_H */
#endif /* !HAVE_POLL_H */
#include "network.h"
diff --git a/libavutil/wchar_filename.h b/libavutil/wchar_filename.h
index fbc0a55146..4f87e6f88b 100644
--- a/libavutil/wchar_filename.h
+++ b/libavutil/wchar_filename.h
@@ -21,7 +21,6 @@
#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "mem.h"
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 8fe34a3437..8e74c6603e 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -34,7 +34,6 @@
#endif
#endif
#if HAVE_VIRTUALALLOC
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
--
2.41.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3 1/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
2023-08-05 20:47 ` [FFmpeg-devel] [PATCH v3 " L. E. Segovia
@ 2023-08-14 11:30 ` Martin Storsjö
0 siblings, 0 replies; 13+ messages in thread
From: Martin Storsjö @ 2023-08-14 11:30 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Sat, 5 Aug 2023, L. E. Segovia wrote:
> Including winsock2.h or windows.h without WIN32_LEAN_AND_MEAN cause
> bzlib.h to parse as nonsense, due to an instance of #define char small
> in rpcndr.h.
>
> See:
>
> https://stackoverflow.com/a/27794577
>
> Signed-off-by: L. E. Segovia <amy@amyspark.me>
> ---
> compat/atomics/win32/stdatomic.h | 1 -
> compat/w32pthreads.h | 1 -
> configure | 1 +
> libavdevice/dshow_capture.h | 1 -
> libavdevice/opengl_enc.c | 1 -
> libavfilter/vsrc_ddagrab.c | 1 -
> libavformat/os_support.c | 6 ++----
> libavutil/wchar_filename.h | 1 -
> libswscale/utils.c | 1 -
> 9 files changed, 3 insertions(+), 11 deletions(-)
>
> diff --git a/configure b/configure
> index 99388e7664..881a10bc0c 100755
> --- a/configure
> +++ b/configure
> @@ -5716,6 +5716,7 @@ case $target_os in
> fi
> ! enabled small && test_cmd $windres --version && enable gnu_windres
> enabled x86_32 && check_ldflags -LARGEADDRESSAWARE
> + add_cppflags -DWIN32_LEAN_AND_MEAN
> shlibdir_default="$bindir_default"
> SLIBPREF=""
> SLIBSUF=".dll"
This is in the block for target_os = win32/win64 - but that's only used
for MSVC (or clang-cl) based builds - not for mingw or cygwin.
We'd want this define set for mingw and cygwin too.
Cygwin itself doesn't define _WIN32 and generally is mostly treated as
unix, but there are some codepaths that check for HAVE_WINDOWS_H and
include that header, and that's true in Cygwin too, so we'd like to keep
the WIN32_LEAN_AND_MEAN there too.
Other than that, this looks fine to me!
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] [PATCH v4 0/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
2023-08-05 20:47 ` [FFmpeg-devel] [PATCH v3 0/1] configure: Set WIN32_LEAN_AND_MEAN at configure time L. E. Segovia
@ 2023-08-14 11:53 ` L. E. Segovia
[not found] ` <cover.1692013786.git.amy@amyspark.me>
1 sibling, 0 replies; 13+ messages in thread
From: L. E. Segovia @ 2023-08-14 11:53 UTC (permalink / raw)
To: ffmpeg-devel
Now adapted to insert WIN32_LEAN_AND_MEAN for MinGW and Cygwin too.
L. E. Segovia (1):
configure: Set WIN32_LEAN_AND_MEAN at configure time
compat/atomics/win32/stdatomic.h | 1 -
compat/w32pthreads.h | 1 -
configure | 3 +++
libavdevice/dshow_capture.h | 1 -
libavdevice/opengl_enc.c | 1 -
libavfilter/vsrc_ddagrab.c | 1 -
libavformat/os_support.c | 6 ++----
libavutil/wchar_filename.h | 1 -
libswscale/utils.c | 1 -
9 files changed, 5 insertions(+), 11 deletions(-)
--
2.41.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* [FFmpeg-devel] [PATCH v4 1/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
[not found] ` <cover.1692013786.git.amy@amyspark.me>
@ 2023-08-14 11:53 ` L. E. Segovia
2023-08-14 19:58 ` Martin Storsjö
0 siblings, 1 reply; 13+ messages in thread
From: L. E. Segovia @ 2023-08-14 11:53 UTC (permalink / raw)
To: ffmpeg-devel
Including winsock2.h or windows.h without WIN32_LEAN_AND_MEAN cause
bzlib.h to parse as nonsense, due to an instance of #define char small
in rpcndr.h.
See:
https://stackoverflow.com/a/27794577
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: L. E. Segovia <amy@amyspark.me>
---
compat/atomics/win32/stdatomic.h | 1 -
compat/w32pthreads.h | 1 -
configure | 3 +++
libavdevice/dshow_capture.h | 1 -
libavdevice/opengl_enc.c | 1 -
libavfilter/vsrc_ddagrab.c | 1 -
libavformat/os_support.c | 6 ++----
libavutil/wchar_filename.h | 1 -
libswscale/utils.c | 1 -
9 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/compat/atomics/win32/stdatomic.h b/compat/atomics/win32/stdatomic.h
index 28a627bfd3..4f8ac2bb60 100644
--- a/compat/atomics/win32/stdatomic.h
+++ b/compat/atomics/win32/stdatomic.h
@@ -19,7 +19,6 @@
#ifndef COMPAT_ATOMICS_WIN32_STDATOMIC_H
#define COMPAT_ATOMICS_WIN32_STDATOMIC_H
-#define WIN32_LEAN_AND_MEAN
#include <stddef.h>
#include <stdint.h>
#include <windows.h>
diff --git a/compat/w32pthreads.h b/compat/w32pthreads.h
index dae8d9420d..2ff9735227 100644
--- a/compat/w32pthreads.h
+++ b/compat/w32pthreads.h
@@ -35,7 +35,6 @@
* As most functions here are used without checking return values,
* only implement return values as necessary. */
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <process.h>
#include <time.h>
diff --git a/configure b/configure
index 932998b8d6..ff6a5c3600 100755
--- a/configure
+++ b/configure
@@ -5666,6 +5666,7 @@ case $target_os in
fi
! enabled small && test_cmd $windres --version && enable gnu_windres
enabled x86_32 && check_ldflags -Wl,--large-address-aware
+ add_cppflags -DWIN32_LEAN_AND_MEAN
shlibdir_default="$bindir_default"
SLIBPREF=""
SLIBSUF=".dll"
@@ -5716,6 +5717,7 @@ case $target_os in
fi
! enabled small && test_cmd $windres --version && enable gnu_windres
enabled x86_32 && check_ldflags -LARGEADDRESSAWARE
+ add_cppflags -DWIN32_LEAN_AND_MEAN
shlibdir_default="$bindir_default"
SLIBPREF=""
SLIBSUF=".dll"
@@ -5745,6 +5747,7 @@ case $target_os in
enabled x86_64 && objformat="win64" || objformat="win32"
enable dos_paths
! enabled small && test_cmd $windres --version && enable gnu_windres
+ add_cppflags -DWIN32_LEAN_AND_MEAN
add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600
;;
*-dos|freedos|opendos)
diff --git a/libavdevice/dshow_capture.h b/libavdevice/dshow_capture.h
index b548cd7afc..81e684b9be 100644
--- a/libavdevice/dshow_capture.h
+++ b/libavdevice/dshow_capture.h
@@ -27,7 +27,6 @@
#include "avdevice.h"
#define COBJMACROS
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#define NO_DSHOW_STRSAFE
#include <dshow.h>
diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
index f9dc846bf1..1b0cf5aa8f 100644
--- a/libavdevice/opengl_enc.c
+++ b/libavdevice/opengl_enc.c
@@ -30,7 +30,6 @@
#include "config.h"
#if HAVE_WINDOWS_H
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#if HAVE_OPENGL_GL3_H
diff --git a/libavfilter/vsrc_ddagrab.c b/libavfilter/vsrc_ddagrab.c
index b65261f685..c3107e11b4 100644
--- a/libavfilter/vsrc_ddagrab.c
+++ b/libavfilter/vsrc_ddagrab.c
@@ -22,7 +22,6 @@
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0A00
#endif
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
diff --git a/libavformat/os_support.c b/libavformat/os_support.c
index 15cea7fa5b..2de6a7c3d9 100644
--- a/libavformat/os_support.c
+++ b/libavformat/os_support.c
@@ -34,11 +34,9 @@
#if HAVE_SYS_TIME_H
#include <sys/time.h>
#endif /* HAVE_SYS_TIME_H */
-#if HAVE_WINSOCK2_H
-#include <winsock2.h>
-#elif HAVE_SYS_SELECT_H
+#if HAVE_SYS_SELECT_H
#include <sys/select.h>
-#endif /* HAVE_WINSOCK2_H */
+#endif /* HAVE_SYS_SELECT_H */
#endif /* !HAVE_POLL_H */
#include "network.h"
diff --git a/libavutil/wchar_filename.h b/libavutil/wchar_filename.h
index fbc0a55146..4f87e6f88b 100644
--- a/libavutil/wchar_filename.h
+++ b/libavutil/wchar_filename.h
@@ -21,7 +21,6 @@
#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "mem.h"
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 8fe34a3437..8e74c6603e 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -34,7 +34,6 @@
#endif
#endif
#if HAVE_VIRTUALALLOC
-#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
--
2.41.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH v4 1/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
2023-08-14 11:53 ` [FFmpeg-devel] [PATCH v4 1/1] " L. E. Segovia
@ 2023-08-14 19:58 ` Martin Storsjö
2023-08-19 15:31 ` Gyan Doshi
0 siblings, 1 reply; 13+ messages in thread
From: Martin Storsjö @ 2023-08-14 19:58 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Mon, 14 Aug 2023, L. E. Segovia wrote:
> Including winsock2.h or windows.h without WIN32_LEAN_AND_MEAN cause
> bzlib.h to parse as nonsense, due to an instance of #define char small
> in rpcndr.h.
>
> See:
>
> https://stackoverflow.com/a/27794577
>
> Reviewed-by: Martin Storsjö <martin@martin.st>
> Signed-off-by: L. E. Segovia <amy@amyspark.me>
> ---
Thanks, pushed!
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH v4 1/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
2023-08-14 19:58 ` Martin Storsjö
@ 2023-08-19 15:31 ` Gyan Doshi
2023-08-19 21:12 ` Martin Storsjö
0 siblings, 1 reply; 13+ messages in thread
From: Gyan Doshi @ 2023-08-19 15:31 UTC (permalink / raw)
To: FFmpeg development discussions and patches
ddc1cd5cdd breaks the checks for ole32 and thus prevents detection of DXVA2.
@
https://github.com/FFmpeg/FFmpeg/commit/ddc1cd5cdd2570bf3d6ab807ee0ecfacdf09431d
Regards,
Gyan
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [FFmpeg-devel] [PATCH v4 1/1] configure: Set WIN32_LEAN_AND_MEAN at configure time
2023-08-19 15:31 ` Gyan Doshi
@ 2023-08-19 21:12 ` Martin Storsjö
0 siblings, 0 replies; 13+ messages in thread
From: Martin Storsjö @ 2023-08-19 21:12 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Sat, 19 Aug 2023, Gyan Doshi wrote:
>
> ddc1cd5cdd breaks the checks for ole32 and thus prevents detection of DXVA2.
>
> @
> https://github.com/FFmpeg/FFmpeg/commit/ddc1cd5cdd2570bf3d6ab807ee0ecfacdf09431d
Thanks for noticing this, and sorry for the breakage. It seems like this
is fixable by adjusting the check for ole32 to include the right header
explicitly - I'll send a patch.
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-08-19 21:12 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-27 18:51 [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2 L. E. Segovia
2023-07-29 18:48 ` [FFmpeg-devel] [PATCH v2] " L. E. Segovia
2023-08-04 12:36 ` [FFmpeg-devel] [PATCH] " Martin Storsjö
2023-08-04 12:39 ` Martin Storsjö
2023-08-05 13:00 ` L. E. Segovia
2023-08-05 20:47 ` [FFmpeg-devel] [PATCH v3 0/1] configure: Set WIN32_LEAN_AND_MEAN at configure time L. E. Segovia
2023-08-14 11:53 ` [FFmpeg-devel] [PATCH v4 " L. E. Segovia
[not found] ` <cover.1692013786.git.amy@amyspark.me>
2023-08-14 11:53 ` [FFmpeg-devel] [PATCH v4 1/1] " L. E. Segovia
2023-08-14 19:58 ` Martin Storsjö
2023-08-19 15:31 ` Gyan Doshi
2023-08-19 21:12 ` Martin Storsjö
[not found] ` <cover.1691268056.git.amy@amyspark.me>
2023-08-05 20:47 ` [FFmpeg-devel] [PATCH v3 " L. E. Segovia
2023-08-14 11:30 ` Martin Storsjö
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git