mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
Merge commit '449511740f06a4675b0066730fa45cdb764ffafc'
* commit '449511740f06a4675b0066730fa45cdb764ffafc': build: handle library dependencies in configure Conflicts: common.mak configure libavdevice/Makefile libavfilter/Makefile Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
3d7218d932
@ -93,7 +93,7 @@ include $(SRC_PATH)/arch.mak
|
|||||||
|
|
||||||
OBJS += $(OBJS-yes)
|
OBJS += $(OBJS-yes)
|
||||||
SLIBOBJS += $(SLIBOBJS-yes)
|
SLIBOBJS += $(SLIBOBJS-yes)
|
||||||
FFLIBS := $(FFLIBS-yes) $(FFLIBS)
|
FFLIBS := $(FFLIBS-$(NAME)) $(FFLIBS-yes) $(FFLIBS)
|
||||||
TESTPROGS += $(TESTPROGS-yes)
|
TESTPROGS += $(TESTPROGS-yes)
|
||||||
|
|
||||||
LDLIBS = $(FFLIBS:%=%$(BUILDSUF))
|
LDLIBS = $(FFLIBS:%=%$(BUILDSUF))
|
||||||
|
88
configure
vendored
88
configure
vendored
@ -726,6 +726,15 @@ prepend(){
|
|||||||
eval "$var=\"$* \$$var\""
|
eval "$var=\"$* \$$var\""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unique(){
|
||||||
|
var=$1
|
||||||
|
uniq_list=""
|
||||||
|
for tok in $(eval echo \$$var); do
|
||||||
|
uniq_list="$(filter_out $tok $uniq_list) $tok"
|
||||||
|
done
|
||||||
|
eval "$var=\"${uniq_list}\""
|
||||||
|
}
|
||||||
|
|
||||||
add_cppflags(){
|
add_cppflags(){
|
||||||
append CPPFLAGS "$@"
|
append CPPFLAGS "$@"
|
||||||
}
|
}
|
||||||
@ -2537,11 +2546,11 @@ scaling_video_example_deps="avutil swscale"
|
|||||||
transcode_aac_example_deps="avcodec avformat swresample"
|
transcode_aac_example_deps="avcodec avformat swresample"
|
||||||
transcoding_example_deps="avfilter avcodec avformat avutil"
|
transcoding_example_deps="avfilter avcodec avformat avutil"
|
||||||
|
|
||||||
# libraries
|
# libraries, in linking order
|
||||||
avcodec_deps="avutil"
|
avcodec_deps="avutil"
|
||||||
avdevice_deps="avutil avcodec avformat"
|
avdevice_deps="avformat avcodec avutil"
|
||||||
avfilter_deps="avutil"
|
avfilter_deps="avutil"
|
||||||
avformat_deps="avutil avcodec"
|
avformat_deps="avcodec avutil"
|
||||||
avresample_deps="avutil"
|
avresample_deps="avutil"
|
||||||
postproc_deps="avutil gpl"
|
postproc_deps="avutil gpl"
|
||||||
swscale_deps="avutil"
|
swscale_deps="avutil"
|
||||||
@ -5104,6 +5113,42 @@ for thread in $THREADS_LIST; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# conditional library dependencies, in linking order
|
||||||
|
enabled aconvert_filter && prepend avfilter_deps "swresample"
|
||||||
|
enabled amovie_filter && prepend avfilter_deps "avformat avcodec"
|
||||||
|
enabled aresample_filter && prepend avfilter_deps "swresample"
|
||||||
|
enabled asyncts_filter && prepend avfilter_deps "avresample"
|
||||||
|
enabled atempo_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled decimate_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled deshake_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled elbg_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled mcdeint_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled movie_filter && prepend avfilter_deps "avformat avcodec"
|
||||||
|
enabled mp_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled pan_filter && prepend avfilter_deps "swresample"
|
||||||
|
enabled pp_filter && prepend avfilter_deps "postproc"
|
||||||
|
enabled removelogo_filter && prepend avfilter_deps "avformat avcodec swscale"
|
||||||
|
enabled resample_filter && prepend avfilter_deps "avresample"
|
||||||
|
enabled sab_filter && prepend avfilter_deps "swscale"
|
||||||
|
enabled scale_filter && prepend avfilter_deps "swscale"
|
||||||
|
enabled showspectrum_filter && prepend avfilter_deps "avcodec"
|
||||||
|
enabled smartblur_filter && prepend avfilter_deps "swscale"
|
||||||
|
enabled subtitles_filter && prepend avfilter_deps "avformat avcodec"
|
||||||
|
|
||||||
|
enabled lavfi_indev && prepend avdevice_deps "avfilter"
|
||||||
|
|
||||||
|
expand_deps(){
|
||||||
|
lib_deps=${1}_deps
|
||||||
|
eval "deps=\$$lib_deps"
|
||||||
|
append $lib_deps $(map 'eval echo \$${v}_deps' $deps)
|
||||||
|
unique $lib_deps
|
||||||
|
}
|
||||||
|
|
||||||
|
#we have to remove gpl from the deps here as some code assumes all lib deps are libs
|
||||||
|
postproc_deps="$(filter_out 'gpl' $postproc_deps)"
|
||||||
|
|
||||||
|
map 'expand_deps $v' $LIBRARY_LIST
|
||||||
|
|
||||||
echo "install prefix $prefix"
|
echo "install prefix $prefix"
|
||||||
echo "source path $source_path"
|
echo "source path $source_path"
|
||||||
echo "C compiler $cc"
|
echo "C compiler $cc"
|
||||||
@ -5345,6 +5390,8 @@ get_version(){
|
|||||||
|
|
||||||
map 'get_version $v' $LIBRARY_LIST
|
map 'get_version $v' $LIBRARY_LIST
|
||||||
|
|
||||||
|
map 'eval echo "FFLIBS-${v}=\$${v}_deps" >> config.mak' $LIBRARY_LIST
|
||||||
|
|
||||||
print_program_libs(){
|
print_program_libs(){
|
||||||
eval "program_libs=\$${1}_libs"
|
eval "program_libs=\$${1}_libs"
|
||||||
eval echo "LIBS-${1}=${program_libs}" >> config.mak
|
eval echo "LIBS-${1}=${program_libs}" >> config.mak
|
||||||
@ -5421,13 +5468,18 @@ fi
|
|||||||
|
|
||||||
# build pkg-config files
|
# build pkg-config files
|
||||||
|
|
||||||
|
lib_version(){
|
||||||
|
eval printf "\"lib${1}${build_suffix} >= \$LIB$(toupper ${1})_VERSION, \""
|
||||||
|
}
|
||||||
|
|
||||||
pkgconfig_generate(){
|
pkgconfig_generate(){
|
||||||
name=$1
|
name=$1
|
||||||
shortname=${name#lib}${build_suffix}
|
shortname=${name#lib}${build_suffix}
|
||||||
comment=$2
|
comment=$2
|
||||||
version=$3
|
version=$3
|
||||||
libs=$4
|
libs=$4
|
||||||
requires=$5
|
requires=$(map 'lib_version $v' $(eval echo \$${name#lib}_deps))
|
||||||
|
requires=${requires%, }
|
||||||
enabled ${name#lib} || return 0
|
enabled ${name#lib} || return 0
|
||||||
mkdir -p $name
|
mkdir -p $name
|
||||||
cat <<EOF > $name/$name${build_suffix}.pc
|
cat <<EOF > $name/$name${build_suffix}.pc
|
||||||
@ -5466,24 +5518,12 @@ Cflags: -I\${includedir}
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
lavfi_libs="libavutil${build_suffix} = $LIBAVUTIL_VERSION"
|
|
||||||
enabled libavfilter_deps_avcodec && prepend lavfi_libs "libavcodec${build_suffix} = $LIBAVCODEC_VERSION,"
|
|
||||||
enabled libavfilter_deps_avformat && prepend lavfi_libs "libavformat${build_suffix} = $LIBAVFORMAT_VERSION,"
|
|
||||||
enabled libavfilter_deps_avresample && prepend lavfi_libs "libavresample${build_suffix} = $LIBAVRESAMPLE_VERSION,"
|
|
||||||
enabled libavfilter_deps_swscale && prepend lavfi_libs "libswscale${build_suffix} = $LIBSWSCALE_VERSION,"
|
|
||||||
enabled libavfilter_deps_swresample && prepend lavfi_libs "libswresample${build_suffix} = $LIBSWRESAMPLE_VERSION,"
|
|
||||||
enabled libavfilter_deps_postproc && prepend lavfi_libs "libpostproc${build_suffix} = $LIBPOSTPROC_VERSION,"
|
|
||||||
lavfi_libs=${lavfi_libs%, }
|
|
||||||
|
|
||||||
lavd_libs="libavformat${build_suffix} = $LIBAVFORMAT_VERSION"
|
|
||||||
enabled lavfi_indev && prepend lavd_libs "libavfilter${build_suffix} = $LIBAVFILTER_VERSION,"
|
|
||||||
|
|
||||||
pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" "$LIBM"
|
pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" "$LIBM"
|
||||||
pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil${build_suffix} = $LIBAVUTIL_VERSION"
|
pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs"
|
||||||
pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec${build_suffix} = $LIBAVCODEC_VERSION"
|
pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs"
|
||||||
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$lavd_libs"
|
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs"
|
||||||
pkgconfig_generate libavfilter "FFmpeg audio/video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$lavfi_libs"
|
pkgconfig_generate libavfilter "FFmpeg audio/video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
|
||||||
pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" "" "libavutil${build_suffix} = $LIBAVUTIL_VERSION"
|
pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" ""
|
||||||
pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" "libavutil${build_suffix} = $LIBAVUTIL_VERSION"
|
pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs"
|
||||||
pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil${build_suffix} = $LIBAVUTIL_VERSION"
|
pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM"
|
||||||
pkgconfig_generate libswresample "FFmpeg audio resampling library" "$LIBSWRESAMPLE_VERSION" "$LIBM" "libavutil${build_suffix} = $LIBAVUTIL_VERSION"
|
pkgconfig_generate libswresample "FFmpeg audio resampling library" "$LIBSWRESAMPLE_VERSION" "$LIBM"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
include $(SUBDIR)../config.mak
|
include $(SUBDIR)../config.mak
|
||||||
|
|
||||||
NAME = avcodec
|
NAME = avcodec
|
||||||
FFLIBS = avutil
|
|
||||||
|
|
||||||
HEADERS = avcodec.h \
|
HEADERS = avcodec.h \
|
||||||
avfft.h \
|
avfft.h \
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
include $(SUBDIR)../config.mak
|
include $(SUBDIR)../config.mak
|
||||||
|
|
||||||
NAME = avdevice
|
NAME = avdevice
|
||||||
FFLIBS = avformat avcodec avutil
|
|
||||||
FFLIBS-$(CONFIG_LAVFI_INDEV) += avfilter
|
|
||||||
|
|
||||||
HEADERS = avdevice.h \
|
HEADERS = avdevice.h \
|
||||||
version.h \
|
version.h \
|
||||||
|
@ -1,27 +1,6 @@
|
|||||||
include $(SUBDIR)../config.mak
|
include $(SUBDIR)../config.mak
|
||||||
|
|
||||||
NAME = avfilter
|
NAME = avfilter
|
||||||
FFLIBS = avutil
|
|
||||||
FFLIBS-$(CONFIG_ACONVERT_FILTER) += swresample
|
|
||||||
FFLIBS-$(CONFIG_AMOVIE_FILTER) += avformat avcodec
|
|
||||||
FFLIBS-$(CONFIG_ARESAMPLE_FILTER) += swresample
|
|
||||||
FFLIBS-$(CONFIG_ASYNCTS_FILTER) += avresample
|
|
||||||
FFLIBS-$(CONFIG_ATEMPO_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_DECIMATE_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_DESHAKE_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_ELBG_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_MCDEINT_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_MOVIE_FILTER) += avformat avcodec
|
|
||||||
FFLIBS-$(CONFIG_MP_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_PAN_FILTER) += swresample
|
|
||||||
FFLIBS-$(CONFIG_PP_FILTER) += postproc
|
|
||||||
FFLIBS-$(CONFIG_REMOVELOGO_FILTER) += avformat avcodec swscale
|
|
||||||
FFLIBS-$(CONFIG_RESAMPLE_FILTER) += avresample
|
|
||||||
FFLIBS-$(CONFIG_SAB_FILTER) += swscale
|
|
||||||
FFLIBS-$(CONFIG_SCALE_FILTER) += swscale
|
|
||||||
FFLIBS-$(CONFIG_SHOWSPECTRUM_FILTER) += avcodec
|
|
||||||
FFLIBS-$(CONFIG_SMARTBLUR_FILTER) += swscale
|
|
||||||
FFLIBS-$(CONFIG_SUBTITLES_FILTER) += avformat avcodec
|
|
||||||
EBUR128LIBS-$(CONFIG_SWRESAMPLE) = swresample
|
EBUR128LIBS-$(CONFIG_SWRESAMPLE) = swresample
|
||||||
FFLIBS-$(CONFIG_EBUR128_FILTER) += $(EBUR128LIBS-yes)
|
FFLIBS-$(CONFIG_EBUR128_FILTER) += $(EBUR128LIBS-yes)
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
include $(SUBDIR)../config.mak
|
include $(SUBDIR)../config.mak
|
||||||
|
|
||||||
NAME = avformat
|
NAME = avformat
|
||||||
FFLIBS = avcodec avutil
|
|
||||||
|
|
||||||
HEADERS = avformat.h \
|
HEADERS = avformat.h \
|
||||||
avio.h \
|
avio.h \
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
NAME = avresample
|
NAME = avresample
|
||||||
FFLIBS = avutil
|
|
||||||
|
|
||||||
HEADERS = avresample.h \
|
HEADERS = avresample.h \
|
||||||
version.h \
|
version.h \
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
include $(SUBDIR)../config.mak
|
include $(SUBDIR)../config.mak
|
||||||
|
|
||||||
NAME = swscale
|
NAME = swscale
|
||||||
FFLIBS = avutil
|
|
||||||
|
|
||||||
HEADERS = swscale.h \
|
HEADERS = swscale.h \
|
||||||
version.h \
|
version.h \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user