151 lines
8.7 KiB
Ruby
151 lines
8.7 KiB
Ruby
intf_libs = # Interface dependencies.
|
|
impl_libs = # Implementation dependencies.
|
|
|
|
./: lib{ffmpeg-avcodec}
|
|
|
|
lib{ffmpeg-avcodec}: h{../config \
|
|
../config_components \
|
|
libavcodec/ac3_parser \
|
|
libavcodec/adts_parser \
|
|
libavcodec/avcodec \
|
|
libavcodec/avdct \
|
|
libavcodec/avfft \
|
|
libavcodec/bsf \
|
|
libavcodec/codec \
|
|
libavcodec/codec_desc \
|
|
libavcodec/codec_id \
|
|
libavcodec/codec_par \
|
|
libavcodec/d3d11va \
|
|
libavcodec/defs \
|
|
libavcodec/dirac \
|
|
libavcodec/dv_profile \
|
|
libavcodec/dxva2 \
|
|
libavcodec/jni \
|
|
libavcodec/mediacodec \
|
|
libavcodec/packet \
|
|
libavcodec/qsv \
|
|
libavcodec/vdpau \
|
|
libavcodec/version \
|
|
libavcodec/version_major \
|
|
libavcodec/videotoolbox \
|
|
libavcodec/vorbis_parser}
|
|
lib{ffmpeg-avcodec}: c{libavcodec/ac3_parser \
|
|
libavcodec/adts_parser \
|
|
libavcodec/allcodecs \
|
|
libavcodec/avcodec \
|
|
libavcodec/avdct \
|
|
libavcodec/avfft \
|
|
libavcodec/packet \
|
|
libavcodec/bitstream \
|
|
libavcodec/bitstream_filters \
|
|
libavcodec/bsf \
|
|
libavcodec/codec_desc \
|
|
libavcodec/codec_par \
|
|
libavcodec/d3d11va \
|
|
libavcodec/decode \
|
|
libavcodec/dirac \
|
|
libavcodec/dv_profile \
|
|
libavcodec/encode \
|
|
libavcodec/get_buffer \
|
|
libavcodec/imgconvert \
|
|
libavcodec/jni \
|
|
libavcodec/mathtables \
|
|
libavcodec/mediacodec \
|
|
libavcodec/mpeg12framerate \
|
|
libavcodec/options \
|
|
libavcodec/parser \
|
|
libavcodec/parsers \
|
|
libavcodec/profiles \
|
|
libavcodec/qsv_api \
|
|
libavcodec/raw \
|
|
libavcodec/refstruct \
|
|
libavcodec/threadprogress \
|
|
libavcodec/utils \
|
|
libavcodec/version \
|
|
libavcodec/vlc \
|
|
libavcodec/vorbis_parser \
|
|
libavcodec/xiph}
|
|
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_cuda}: include = ($config.FFmpeg.CONFIG_CUDA == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_d3d11va}: include = ($config.FFmpeg.CONFIG_D3D11VA == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_d3d12va}: include = ($config.FFmpeg.CONFIG_D3D12VA == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_dxva2}: include = ($config.FFmpeg.CONFIG_DXVA2 == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_drm}: include = ($config.FFmpeg.CONFIG_LIBDRM == 1)
|
|
#lib{ffmpeg-avcodec}: c{macos_kperf}: include = ($config.FFmpeg.CONFIG_MACOS_KPERF == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_mediacodec}: include = ($config.FFmpeg.CONFIG_MEDIACODEC == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_opencl}: include = ($config.FFmpeg.CONFIG_OPENCL == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_qsv}: include = ($config.FFmpeg.CONFIG_QSV == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_vaapi}: include = ($config.FFmpeg.CONFIG_VAAPI == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_videotoolbox}: include = ($config.FFmpeg.CONFIG_VIDEOTOOLBOX == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_vdpau}: include = ($config.FFmpeg.CONFIG_VDPAU == 1)
|
|
#lib{ffmpeg-avcodec}: c{hwcontext_vulkan vulkan}: include = ($config.FFmpeg.CONFIG_VULKAN == 1)
|
|
|
|
lib{ffmpeg-avcodec}: $impl_libs $intf_libs
|
|
|
|
c.poptions =+ "-I$out_root" \
|
|
"-I$src_root" \
|
|
"-I$src_root/libffmpeg-avutil" \
|
|
"-I$src_root/libffmpeg-avutil/libavutil" \
|
|
"-I$src_root/libffmpeg-avcodec" \
|
|
"-I$src_root/libffmpeg-avcodec/libavcodec"
|
|
|
|
c.poptions =+ -D_ISOC11_SOURCE
|
|
c.poptions =+ -D_FILE_OFFSET_BITS=64
|
|
c.poptions =+ -D_LARGEFILE_SOURCE
|
|
c.poptions =+ -D_POSIX_C_SOURCE=200112
|
|
c.poptions =+ -D_XOPEN_SOURCE=600
|
|
c.poptions =+ -DHAVE_AV_CONFIG_H
|
|
c.poptions =+ -DBUILDING_avcodec
|
|
c.coptions =+ -std=c17
|
|
c.coptions =+ -fomit-frame-pointer
|
|
c.coptions =+ -pthread
|
|
c.coptions =+ -g
|
|
c.coptions =+ -Wdeclaration-after-statement
|
|
c.coptions =+ -Wall
|
|
c.coptions =+ -Wdisabled-optimization
|
|
c.coptions =+ -Wpointer-arith
|
|
c.coptions =+ -Wredundant-decls
|
|
c.coptions =+ -Wwrite-strings
|
|
c.coptions =+ -Wtype-limits
|
|
c.coptions =+ -Wundef
|
|
c.coptions =+ -Wmissing-prototypes
|
|
c.coptions =+ -Wstrict-prototypes
|
|
c.coptions =+ -Wempty-body
|
|
c.coptions =+ -Wno-parentheses
|
|
c.coptions =+ -Wno-switch
|
|
c.coptions =+ -Wno-format-zero-length
|
|
c.coptions =+ -Wno-pointer-sign
|
|
c.coptions =+ -Wno-unused-const-variable
|
|
c.coptions =+ -Wno-bool-operation
|
|
c.coptions =+ -Wno-char-subscripts
|
|
c.coptions =+ -fno-math-errno
|
|
c.coptions =+ -fno-signed-zeros
|
|
c.coptions =+ -fno-tree-vectorize
|
|
c.coptions =+ -Werror=format-security
|
|
c.coptions =+ -Werror=implicit-function-declaration
|
|
c.coptions =+ -Werror=missing-prototypes
|
|
c.coptions =+ -Werror=return-type
|
|
c.coptions =+ -Werror=vla
|
|
c.coptions =+ -Wformat
|
|
c.coptions =+ -fdiagnostics-color=auto
|
|
c.coptions =+ -Wno-maybe-uninitialized
|
|
|
|
# Export options.
|
|
#
|
|
lib{ffmpeg}:
|
|
{
|
|
c.export.poptions = "-I$out_root" "-I$src_root"
|
|
c.export.libs = $intf_libs
|
|
}
|
|
|
|
# For pre-releases use the complete version to make sure they cannot
|
|
# be used in place of another pre-release or the final version. See
|
|
# the version module for details on the version.* variable values.
|
|
#
|
|
if $version.pre_release
|
|
lib{ffmpeg}: bin.lib.version = "-$version.project_id"
|
|
else
|
|
lib{ffmpeg}: bin.lib.version = "-$version.major.$version.minor"
|
|
|
|
# FIXME: Installability.
|