Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi
       [not found] <20240628044601.60376-1-quinkblack@foxmail.com>
@ 2024-06-28  4:45 ` Zhao Zhili
  2024-06-30  5:30   ` Mark Harris
  2024-06-28  4:46 ` [FFmpeg-devel] [PATCH] configure: Fix Apple framework dependencies in .pc file Zhao Zhili
  2024-06-28  4:46 ` [FFmpeg-devel] [PATCH 2/2] avformat/file: guard fd_dup by FD_PROTOCOL or PIPE_PROTOCOL Zhao Zhili
  2 siblings, 1 reply; 5+ messages in thread
From: Zhao Zhili @ 2024-06-28  4:45 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Zhao Zhili

From: Zhao Zhili <zhilizhao@tencent.com>

Don't assume tempnam is available when !HAVE_MKSTEMP. Check tempnam
explicitly in configure.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
 configure             | 2 ++
 libavutil/file_open.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 7685c95fbb..bd3c1d4838 100755
--- a/configure
+++ b/configure
@@ -2413,6 +2413,7 @@ SYSTEM_FUNCS="
     sysconf
     sysctl
     sysctlbyname
+    tempnam
     usleep
     UTGetOSTypeFromString
     VirtualAlloc
@@ -6548,6 +6549,7 @@ check_struct "sys/stat.h" "struct stat" st_mtim.tv_nsec -D_BSD_SOURCE
 check_func  strerror_r
 check_func  sysconf
 check_func  sysctl
+check_func  tempnam
 check_func  usleep
 
 check_func_headers conio.h kbhit
diff --git a/libavutil/file_open.c b/libavutil/file_open.c
index 24ef33e3da..eef6d83706 100644
--- a/libavutil/file_open.c
+++ b/libavutil/file_open.c
@@ -112,7 +112,7 @@ int avpriv_tempfile(const char *prefix, char **filename, int log_offset, void *l
 {
     FileLogContext file_log_ctx = { &file_log_ctx_class, log_offset, log_ctx };
     int fd = -1;
-#if !HAVE_MKSTEMP
+#if HAVE_TEMPNAM
     void *ptr= tempnam(NULL, prefix);
     if(!ptr)
         ptr= tempnam(".", prefix);
-- 
2.42.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] 5+ messages in thread

* [FFmpeg-devel] [PATCH] configure: Fix Apple framework dependencies in .pc file
       [not found] <20240628044601.60376-1-quinkblack@foxmail.com>
  2024-06-28  4:45 ` [FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi Zhao Zhili
@ 2024-06-28  4:46 ` Zhao Zhili
  2024-07-05  8:43   ` Zhao Zhili
  2024-06-28  4:46 ` [FFmpeg-devel] [PATCH 2/2] avformat/file: guard fd_dup by FD_PROTOCOL or PIPE_PROTOCOL Zhao Zhili
  2 siblings, 1 reply; 5+ messages in thread
From: Zhao Zhili @ 2024-06-28  4:46 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Zhao Zhili

From: Zhao Zhili <zhilizhao@tencent.com>

configure use "-Wl,-framework,foo" and "-framework foo" to specify
dependencies on Apple frameworks. These two styles essentially do
the same thing when build ffmpeg. However, they do make difference
when generate pkg-config files. Some tools interact with pkg-config
cannot handle "-Wl,-framework,foo" in Libs field, e.g., cmake with
pkg_check_modules.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
 configure | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index 3bca638459..a09c92cfb2 100755
--- a/configure
+++ b/configure
@@ -7033,7 +7033,7 @@ enabled openal            && { check_pkg_config openal "openal >= 1.1" "AL/al.h"
                              { test_cpp_condition "AL/al.h" "defined(AL_VERSION_1_1)" ||
                                die "ERROR: openal must be installed and version must be 1.1 or compatible"; }
 enabled opencl            && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel ||
-                               check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL ||
+                               check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel "-framework OpenCL" ||
                                check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL ||
                                die "ERROR: opencl not found"; } &&
                              { test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" ||
@@ -7041,8 +7041,8 @@ enabled opencl            && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueN
                                die "ERROR: opencl must be installed and version must be 1.2 or compatible"; }
 enabled opengl            && { check_lib opengl GL/glx.h glXGetProcAddress "-lGL" ||
                                check_lib opengl windows.h wglGetProcAddress "-lopengl32 -lgdi32" ||
-                               check_lib opengl OpenGL/gl3.h glGetError "-Wl,-framework,OpenGL" ||
-                               check_lib opengl ES2/gl.h glGetError "-isysroot=${sysroot} -Wl,-framework,OpenGLES" ||
+                               check_lib opengl OpenGL/gl3.h glGetError "-framework OpenGL" ||
+                               check_lib opengl ES2/gl.h glGetError "-isysroot=${sysroot} -framework OpenGLES" ||
                                die "ERROR: opengl not found."
                              }
 enabled omx_rpi           && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoRequestIFrame ||
@@ -7110,12 +7110,12 @@ if enabled decklink; then
 fi
 
 enabled securetransport &&
-    check_func SecIdentityCreate "-Wl,-framework,CoreFoundation -Wl,-framework,Security" &&
-    check_lib securetransport "Security/SecureTransport.h Security/Security.h" "SSLCreateContext" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
+    check_func SecIdentityCreate "-framework CoreFoundation -framework Security" &&
+    check_lib securetransport "Security/SecureTransport.h Security/Security.h" "SSLCreateContext" "-framework CoreFoundation -framework Security" ||
         disable securetransport
 
 enabled securetransport &&
-    check_func SecItemImport "-Wl,-framework,CoreFoundation -Wl,-framework,Security"
+    check_func SecItemImport "-framework CoreFoundation -framework Security"
 
 enabled schannel &&
     check_func_headers "windows.h security.h" InitializeSecurityContext -DSECURITY_WIN32 -lsecur32 &&
-- 
2.42.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] 5+ messages in thread

* [FFmpeg-devel] [PATCH 2/2] avformat/file: guard fd_dup by FD_PROTOCOL or PIPE_PROTOCOL
       [not found] <20240628044601.60376-1-quinkblack@foxmail.com>
  2024-06-28  4:45 ` [FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi Zhao Zhili
  2024-06-28  4:46 ` [FFmpeg-devel] [PATCH] configure: Fix Apple framework dependencies in .pc file Zhao Zhili
@ 2024-06-28  4:46 ` Zhao Zhili
  2 siblings, 0 replies; 5+ messages in thread
From: Zhao Zhili @ 2024-06-28  4:46 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Zhao Zhili

From: Zhao Zhili <zhilizhao@tencent.com>

fd_dup is unused when fd and pipe have been disabled. This also
fix build error with wasi since 'dup' isn't available.

Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
---
 libavformat/file.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/file.c b/libavformat/file.c
index 3fc1e741f2..6a66040b65 100644
--- a/libavformat/file.c
+++ b/libavformat/file.c
@@ -193,6 +193,7 @@ static int file_check(URLContext *h, int mask)
     return ret;
 }
 
+#if CONFIG_FD_PROTOCOL || CONFIG_PIPE_PROTOCOL
 static int fd_dup(URLContext *h, int oldfd)
 {
     int newfd;
@@ -215,6 +216,7 @@ static int fd_dup(URLContext *h, int oldfd)
 #endif
     return newfd;
 }
+#endif
 
 static int file_close(URLContext *h)
 {
-- 
2.42.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] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi
  2024-06-28  4:45 ` [FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi Zhao Zhili
@ 2024-06-30  5:30   ` Mark Harris
  0 siblings, 0 replies; 5+ messages in thread
From: Mark Harris @ 2024-06-30  5:30 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

> From: Zhao Zhili <zhilizhao@tencent.com>
>
> Don't assume tempnam is available when !HAVE_MKSTEMP. Check tempnam
> explicitly in configure.
>
> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
> ---
>  configure             | 2 ++
>  libavutil/file_open.c | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 7685c95fbb..bd3c1d4838 100755
> --- a/configure
> +++ b/configure
> @@ -2413,6 +2413,7 @@ SYSTEM_FUNCS="
>      sysconf
>      sysctl
>      sysctlbyname
> +    tempnam
>      usleep
>      UTGetOSTypeFromString
>      VirtualAlloc
> @@ -6548,6 +6549,7 @@ check_struct "sys/stat.h" "struct stat" st_mtim.tv_nsec -D_BSD_SOURCE
>  check_func  strerror_r
>  check_func  sysconf
>  check_func  sysctl
> +check_func  tempnam
>  check_func  usleep
>
>  check_func_headers conio.h kbhit
> diff --git a/libavutil/file_open.c b/libavutil/file_open.c
> index 24ef33e3da..eef6d83706 100644
> --- a/libavutil/file_open.c
> +++ b/libavutil/file_open.c
> @@ -112,7 +112,7 @@ int avpriv_tempfile(const char *prefix, char **filename, int log_offset, void *l
>  {
>      FileLogContext file_log_ctx = { &file_log_ctx_class, log_offset, log_ctx };
>      int fd = -1;
> -#if !HAVE_MKSTEMP
> +#if HAVE_TEMPNAM

If neither HAVE_TEMPNAM nor HAVE_MKSTEMP are defined, this will get
the file name from an uninitialized buffer.  If both are defined it
will not compile because len will be undefined.

 - Mark


>      void *ptr= tempnam(NULL, prefix);
>      if(!ptr)
>          ptr= tempnam(".", prefix);
> --
> 2.42.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] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH] configure: Fix Apple framework dependencies in .pc file
  2024-06-28  4:46 ` [FFmpeg-devel] [PATCH] configure: Fix Apple framework dependencies in .pc file Zhao Zhili
@ 2024-07-05  8:43   ` Zhao Zhili
  0 siblings, 0 replies; 5+ messages in thread
From: Zhao Zhili @ 2024-07-05  8:43 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


> On Jun 28, 2024, at 12:46, Zhao Zhili <quinkblack@foxmail.com> wrote:
> 
> From: Zhao Zhili <zhilizhao@tencent.com>
> 
> configure use "-Wl,-framework,foo" and "-framework foo" to specify
> dependencies on Apple frameworks. These two styles essentially do
> the same thing when build ffmpeg. However, they do make difference
> when generate pkg-config files. Some tools interact with pkg-config
> cannot handle "-Wl,-framework,foo" in Libs field, e.g., cmake with
> pkg_check_modules.

> 
> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
> ---
> configure | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/configure b/configure
> index 3bca638459..a09c92cfb2 100755
> --- a/configure
> +++ b/configure
> @@ -7033,7 +7033,7 @@ enabled openal            && { check_pkg_config openal "openal >= 1.1" "AL/al.h"
>                              { test_cpp_condition "AL/al.h" "defined(AL_VERSION_1_1)" ||
>                                die "ERROR: openal must be installed and version must be 1.1 or compatible"; }
> enabled opencl            && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel ||
> -                               check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL ||
> +                               check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel "-framework OpenCL" ||
>                                check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL ||
>                                die "ERROR: opencl not found"; } &&
>                              { test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" ||
> @@ -7041,8 +7041,8 @@ enabled opencl            && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueN
>                                die "ERROR: opencl must be installed and version must be 1.2 or compatible"; }
> enabled opengl            && { check_lib opengl GL/glx.h glXGetProcAddress "-lGL" ||
>                                check_lib opengl windows.h wglGetProcAddress "-lopengl32 -lgdi32" ||
> -                               check_lib opengl OpenGL/gl3.h glGetError "-Wl,-framework,OpenGL" ||
> -                               check_lib opengl ES2/gl.h glGetError "-isysroot=${sysroot} -Wl,-framework,OpenGLES" ||
> +                               check_lib opengl OpenGL/gl3.h glGetError "-framework OpenGL" ||
> +                               check_lib opengl ES2/gl.h glGetError "-isysroot=${sysroot} -framework OpenGLES" ||
>                                die "ERROR: opengl not found."
>                              }
> enabled omx_rpi           && { test_code cc OMX_Core.h OMX_IndexConfigBrcmVideoRequestIFrame ||
> @@ -7110,12 +7110,12 @@ if enabled decklink; then
> fi
> 
> enabled securetransport &&
> -    check_func SecIdentityCreate "-Wl,-framework,CoreFoundation -Wl,-framework,Security" &&
> -    check_lib securetransport "Security/SecureTransport.h Security/Security.h" "SSLCreateContext" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
> +    check_func SecIdentityCreate "-framework CoreFoundation -framework Security" &&
> +    check_lib securetransport "Security/SecureTransport.h Security/Security.h" "SSLCreateContext" "-framework CoreFoundation -framework Security" ||
>         disable securetransport
> 
> enabled securetransport &&
> -    check_func SecItemImport "-Wl,-framework,CoreFoundation -Wl,-framework,Security"
> +    check_func SecItemImport "-framework CoreFoundation -framework Security"
> 
> enabled schannel &&
>     check_func_headers "windows.h security.h" InitializeSecurityContext -DSECURITY_WIN32 -lsecur32 &&
> -- 
> 2.42.0
> 

Ping.

_______________________________________________
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] 5+ messages in thread

end of thread, other threads:[~2024-07-05  8:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20240628044601.60376-1-quinkblack@foxmail.com>
2024-06-28  4:45 ` [FFmpeg-devel] [PATCH 1/2] avutil/file_open: Fix build error with wasi Zhao Zhili
2024-06-30  5:30   ` Mark Harris
2024-06-28  4:46 ` [FFmpeg-devel] [PATCH] configure: Fix Apple framework dependencies in .pc file Zhao Zhili
2024-07-05  8:43   ` Zhao Zhili
2024-06-28  4:46 ` [FFmpeg-devel] [PATCH 2/2] avformat/file: guard fd_dup by FD_PROTOCOL or PIPE_PROTOCOL Zhao Zhili

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