configure: Don't explicitly add -ladvapi32 to linker flags
authorMartin Storsjö <martin@martin.st>
Wed, 25 Apr 2018 22:12:49 +0000 (01:12 +0300)
committerMartin Storsjö <martin@martin.st>
Wed, 25 Apr 2018 22:48:46 +0000 (01:48 +0300)
This flag was originally not added because of crypto functions,
but together with -lssp in 460879.

Advapi32 is one of the libs that are automatically linked in by
the mingw compiler/linker driver.

Adding it manually here causes issues with linking libupnp_plugin.la
with lld. Libupnp contains md5 functions, and advapi32 also contains
functions with the same names. If -ladvapi32 is specified early in the
link command, before -lupnp, the conflicts arise. (The same conflicts
don't occur with binutils ld though, since it searches libraries
in a slightly different order than lld.)

The conflict can be avoided by fixing one inconsistency in mingw-w64
though, but then libupnp will use MD5 functions from advapi32.dll
(with an ABI not guaranteed to match the ones it expected) instead
of the ones bundled in libupnp.

configure.ac

index bffa7fe..e507d31 100644 (file)
@@ -1140,9 +1140,8 @@ AS_IF([test "${enable_ssp}" != "no" -a "${enable_optimizations}" != "no"], [
 ])
 
 AS_IF([test "${SYS}" = "mingw32"], [
-    dnl library for Crypt/BCrypt APIs
-    AS_IF([test "${vlc_winstore_app}" != 1],
-          [LDFLAGS="${LDFLAGS} -ladvapi32"],
+    dnl library for BCrypt APIs
+    AS_IF([test "${vlc_winstore_app}" = 1],
           [LDFLAGS="${LDFLAGS} -lbcrypt"])
 ])