[FFmpeg-cvslog] configure: Check for the SetDllDirectory and GetModuleHandle functions

Martin Storsjö git at videolan.org
Fri Dec 13 11:09:07 EET 2019


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Wed Dec 11 22:53:28 2019 +0200| [06ec9c4746ebc1d3b613c1847e434bbd0b4407b4] | committer: Martin Storsjö

configure: Check for the SetDllDirectory and GetModuleHandle functions

These functions aren't available when building for the restricted
UWP/WinRT/WinStore API subsets.

Normally when building in this mode, one is probably only building
the libraries, but being able to build ffmpeg.exe still is useful
(and a ffmpeg.exe targeting these API subsets still can be run
e.g. in wine, for testing).

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=06ec9c4746ebc1d3b613c1847e434bbd0b4407b4
---

 configure          | 4 ++++
 fftools/cmdutils.c | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/configure b/configure
index 42e7df3941..10c494e2a0 100755
--- a/configure
+++ b/configure
@@ -2194,6 +2194,7 @@ SYSTEM_FUNCS="
     getaddrinfo
     gethrtime
     getopt
+    GetModuleHandle
     GetProcessAffinityMask
     GetProcessMemoryInfo
     GetProcessTimes
@@ -2223,6 +2224,7 @@ SYSTEM_FUNCS="
     SecItemImport
     SetConsoleTextAttribute
     SetConsoleCtrlHandler
+    SetDllDirectory
     setmode
     setrlimit
     Sleep
@@ -6032,6 +6034,7 @@ check_func_headers mach/mach_time.h mach_absolute_time
 check_func_headers stdlib.h getenv
 check_func_headers sys/stat.h lstat
 
+check_func_headers windows.h GetModuleHandle
 check_func_headers windows.h GetProcessAffinityMask
 check_func_headers windows.h GetProcessTimes
 check_func_headers windows.h GetSystemTimeAsFileTime
@@ -6040,6 +6043,7 @@ check_func_headers windows.h MapViewOfFile
 check_func_headers windows.h PeekNamedPipe
 check_func_headers windows.h SetConsoleTextAttribute
 check_func_headers windows.h SetConsoleCtrlHandler
+check_func_headers windows.h SetDllDirectory
 check_func_headers windows.h Sleep
 check_func_headers windows.h VirtualAlloc
 check_func_headers glob.h glob
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index 84f98b7c04..fe903fa4da 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -119,7 +119,7 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v
 
 void init_dynload(void)
 {
-#ifdef _WIN32
+#if HAVE_SETDLLDIRECTORY
     /* Calling SetDllDirectory with the empty string (but not NULL) removes the
      * current working directory from the DLL search path as a security pre-caution. */
     SetDllDirectory("");
@@ -2039,7 +2039,7 @@ FILE *get_preset_file(char *filename, size_t filename_size,
         av_strlcpy(filename, preset_name, filename_size);
         f = fopen(filename, "r");
     } else {
-#ifdef _WIN32
+#if HAVE_GETMODULEHANDLE
         char datadir[MAX_PATH], *ls;
         base[2] = NULL;
 



More information about the ffmpeg-cvslog mailing list