FFmpeg/libffmpeg-avcodec/buildfile

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.