]> git.sesse.net Git - ffmpeg/commitdiff
configure: Check for the SetDllDirectory and GetModuleHandle functions
authorMartin Storsjö <martin@martin.st>
Wed, 11 Dec 2019 20:53:28 +0000 (22:53 +0200)
committerMartin Storsjö <martin@martin.st>
Fri, 13 Dec 2019 08:53:05 +0000 (10:53 +0200)
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@martin.st>
configure
fftools/cmdutils.c

index 42e7df3941870ffe1820a15732eeb2028a6fa867..10c494e2a017dc7b8a674512444ab257e3c7364e 100755 (executable)
--- 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
index 84f98b7c04ee8a2655d3490ef42c55bc78f262da..fe903fa4dadfbd959aa02d604cf52fe0ba4bd615 100644 (file)
@@ -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;