Re: [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
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 >>> --- >>> 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-requ...@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-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
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 --- 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-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
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 --- 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 #include 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 #endif /* HAVE_SYS_TIME_H */ -#if HAVE_WINSOCK2_H -#include -#elif HAVE_SYS_SELECT_H +#if HAVE_SYS_SELECT_H #include -#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-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] os_support, network: Fix build failure on Windows with BZIP2
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 --- 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 #include 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 #endif /* HAVE_SYS_TIME_H */ -#if HAVE_WINSOCK2_H -#include -#elif HAVE_SYS_SELECT_H +#if HAVE_SYS_SELECT_H #include -#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 #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-requ...@ffmpeg.org with subject "unsubscribe".