xref: /haiku/src/add-ons/media/plugins/ffmpeg/Jamfile (revision 040a81419dda83d1014e9dc94936a4cb3f027303)
1SubDir HAIKU_TOP src add-ons media plugins ffmpeg ;
2
3SetSubDirSupportedPlatformsBeOSCompatible ;
4
5UsePrivateHeaders media shared ;
6
7SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wno-deprecated-declarations ;
8
9local sources =
10	AVCodecDecoder.cpp
11	AVCodecEncoder.cpp
12	AVFormatReader.cpp
13	AVFormatWriter.cpp
14	CodecTable.cpp
15	DemuxerTable.cpp
16	EncoderTable.cpp
17	FFmpegPlugin.cpp
18	MuxerTable.cpp
19	CpuCapabilities.cpp
20
21	gfx_conv_c.cpp
22	gfx_conv_c_lookup.cpp
23	gfx_conv_mmx.cpp
24	gfx_util.cpp
25	;
26
27
28UseBuildFeatureHeaders ffmpeg ;
29Includes [ FGristFiles $(sources) ]
30	: [ BuildFeatureAttribute ffmpeg : headers ] ;
31
32local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ;
33UseHeaders $(ffmpegHeaders) ;
34UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ;
35UseHeaders [ FDirName $(ffmpegHeaders) libavdevice ] ;
36UseHeaders [ FDirName $(ffmpegHeaders) libavfilter ] ;
37UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
38UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
39UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ;
40
41Addon ffmpeg :
42	$(sources)
43
44	yuvrgb_sse.nasm
45	yuvrgb_sse2.nasm
46	yuvrgb_ssse3.nasm
47	:
48
49	# FFmpeg libraries (from FFmpeg optional package):
50	[ BuildFeatureAttribute ffmpeg : libraries ]
51
52	[ BuildFeatureAttribute speex : libraries ]
53	[ BuildFeatureAttribute libtheora : libraries ]
54	[ BuildFeatureAttribute libvorbis : libraries ]
55	[ BuildFeatureAttribute libogg : libraries ]
56	[ BuildFeatureAttribute libvpx : libraries ]
57	libbz2_ffmpeg.a
58
59	be
60	media
61	[ BuildFeatureAttribute zlib : library ]
62	$(TARGET_LIBSUPC++)
63	$(TARGET_NETWORK_LIBS)
64;
65
66SubInclude HAIKU_TOP src add-ons media plugins ffmpeg libbz2 ;
67
68