build: Explicitly disable external libraries when not explicitly enabled
authorDiego Biurrun <diego@biurrun.de>
Fri, 24 Feb 2017 13:00:24 +0000 (14:00 +0100)
committerDiego Biurrun <diego@biurrun.de>
Tue, 28 Feb 2017 12:00:20 +0000 (13:00 +0100)
Leaving those variables in an undefined state allows them getting implicitly
enabled when they are declared as weak dependencies of other components.
In that case, the library check is not run and required linker flags are not
added, resulting in a failing build.

Fixes linking when enabling libfreetype without libfontconfig.

configure

index 24e9fc3..eb7b6c7 100755 (executable)
--- a/configure
+++ b/configure
@@ -1296,7 +1296,6 @@ EXTERNAL_LIBRARY_LIST="
     $EXTERNAL_LIBRARY_VERSION3_LIST
     avisynth
     avxsynth
-    bzlib
     frei0r
     gnutls
     libbs2b
@@ -1327,6 +1326,10 @@ EXTERNAL_LIBRARY_LIST="
     libxcb
     libxcb_shm
     libxcb_xfixes
+"
+
+SYSTEM_LIBRARY_LIST="
+    bzlib
     zlib
 "
 
@@ -1388,6 +1391,7 @@ CONFIG_LIST="
     $LIBRARY_LIST
     $PROGRAM_LIST
     $SUBSYSTEM_LIST
+    $SYSTEM_LIBRARY_LIST
     neon_clobber_test
     pic
     pod2man
@@ -2574,6 +2578,9 @@ enable valgrind_backtrace
 # By default, enable only those hwaccels that have no external dependencies.
 enable d3d11va dxva2 vda vdpau
 
+# Avoid external, non-system, libraries getting enabled by dependency resolution
+disable $EXTERNAL_LIBRARY_LIST
+
 # build settings
 SHFLAGS='-shared -Wl,-soname,$$(@F)'
 LIBPREF="lib"