---

This is to be squashed into the fine-grained linker deps patch, required
to build libavutil/tests/cpu_init, which depends on pthreads.

 Makefile    |  4 +---
 configure   | 18 +++++++++++++++---
 library.mak |  2 +-
 3 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 4e44fe9..c4df103 100644
--- a/Makefile
+++ b/Makefile
@@ -119,9 +119,7 @@ FF_STATIC_DEP_LIBS := $(STATIC_DEP_LIBS)
 all: $(AVPROGS) alltools checkheaders examples testprogs
 
 $(TOOLS): %$(EXESUF): %.o
-       $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(EXTRALIBS) $(ELIBS)
-
-tools/cws2fws$(EXESUF): ELIBS = $(ZLIB)
+       $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $^ $(EXTRALIBS-$(@F)) 
$(EXTRALIBS) $(ELIBS)
 
 CONFIGURABLE_COMPONENTS =                                           \
     $(wildcard $(FFLIBS:%=$(SRC_PATH)/lib%/all*.c))                 \
diff --git a/configure b/configure
index 2c56096..3c5a236 100755
--- a/configure
+++ b/configure
@@ -1238,6 +1238,12 @@ EXAMPLE_LIST="
     transcode_aac_example
 "
 
+# catchall list of things that require external libs to link
+EXTRALIBS_LIST="
+    cpu_init
+    cws2fws
+"
+
 HWACCEL_LIBRARY_NONFREE_LIST="
     cuda
     libnpp
@@ -2618,6 +2624,10 @@ output_example_deps="avcodec avformat avresample avutil 
swscale"
 qsvdec_example_deps="avcodec avutil libmfx h264_qsv_decoder"
 transcode_aac_example_deps="avcodec avformat avresample"
 
+# EXTRALIBS_LIST
+cpu_init_extralibs="pthreads_extralibs"
+cws2fws_extralibs="zlib_extralibs"
+
 # libraries, in linking order
 avcodec_deps="avutil"
 avdevice_deps="avformat avcodec avutil"
@@ -2698,6 +2708,9 @@ enable valgrind_backtrace
 # By default, enable only those hwaccels that have no external dependencies.
 enable d3d11va dxva2 vda vdpau
 
+# internal components are enabled by default
+enable $EXTRALIBS_LIST
+
 # build settings
 SHFLAGS='-shared -Wl,-soname,$$(@F)'
 LIBPREF="lib"
@@ -5214,7 +5227,7 @@ check_deps $CONFIG_LIST       \
            $HAVE_LIST         \
            $ALL_COMPONENTS    \
 
-for linkunit in $LIBRARY_LIST $PROGRAM_LIST; do
+for linkunit in $LIBRARY_LIST $PROGRAM_LIST $EXTRALIBS_LIST; do
     unset dep_lbs
     set_component_extralibs $linkunit $linkunit
     eval components=\$$(toupper ${linkunit})_COMPONENTS}
@@ -5466,7 +5479,6 @@ TARGET_PATH=$target_path
 TARGET_SAMPLES=${target_samples:-\$(SAMPLES)}
 CFLAGS-avplay=$sdl_cflags
 CFLAGS_HEADERS=$CFLAGS_HEADERS
-ZLIB=$($ldflags_filter -lz)
 LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD
 EXTRALIBS=$extralibs
 COMPAT_OBJS=$compat_objs
@@ -5504,7 +5516,7 @@ map 'get_version $v' $LIBRARY_LIST
 
 map 'eval echo "${v}_FFLIBS=\$${v}_deps" >> config.mak' $LIBRARY_LIST
 
-for entry in $LIBRARY_LIST $PROGRAM_LIST; do
+for entry in $LIBRARY_LIST $PROGRAM_LIST $EXTRALIBS_LIST; do
     eval echo "EXTRALIBS-${entry}=\$extralibs_${entry}" >> config.mak
 done
 
diff --git a/library.mak b/library.mak
index 7554f81..34ee78a 100644
--- a/library.mak
+++ b/library.mak
@@ -28,7 +28,7 @@ $(TOOLS):     THISLIB = $(NAME:%=$(LD_LIB))
 $(TESTPROGS): THISLIB = $(SUBDIR)$(LIBNAME)
 
 $(TESTPROGS) $(TOOLS): %$(EXESUF): %.o
-       $$(LD) $(LDFLAGS) $(LDEXEFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) 
$(FFEXTRALIBS) $$(ELIBS)
+       $$(LD) $(LDFLAGS) $(LDEXEFLAGS) $$(LD_O) $$(filter %.o,$$^) $$(THISLIB) 
$(FFEXTRALIBS) $$(EXTRALIBS-$(?))) $$(ELIBS)
 
 $(SUBDIR)lib$(NAME).ver: $(SUBDIR)lib$(NAME).v $(OBJS)
        $$(M)sed 's/MAJOR/$(lib$(NAME)_VERSION_MAJOR)/' $$< | 
$(VERSION_SCRIPT_POSTPROCESS_CMD) > $$@
-- 
2.1.4

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to