xref: /haiku/src/add-ons/media/plugins/ffmpeg/Jamfile (revision ab4411e89a079bc0a40d901995f3418d998c51b3)
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_util.cpp
24	;
25
26if $(TARGET_ARCH) != x86_64 {
27	sources +=
28		gfx_conv_mmx.cpp
29		yuvrgb_sse.nasm
30		yuvrgb_sse2.nasm
31		yuvrgb_ssse3.nasm
32	;
33}
34
35local architectureObject ;
36for architectureObject in [ MultiArchSubDirSetup ] {
37	on $(architectureObject) {
38		UseBuildFeatureHeaders ffmpeg ;
39		Includes [ FGristFiles $(sources) ]
40			: [ BuildFeatureAttribute ffmpeg : headers ] ;
41
42		local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ;
43		UseHeaders $(ffmpegHeaders) ;
44		UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ;
45		UseHeaders [ FDirName $(ffmpegHeaders) libavdevice ] ;
46		UseHeaders [ FDirName $(ffmpegHeaders) libavfilter ] ;
47		UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
48		UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
49		UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ;
50
51		Addon [ MultiArchDefaultGristFiles ffmpeg ] :
52			$(sources)
53			:
54
55			# FFmpeg libraries (from FFmpeg optional package):
56			[ BuildFeatureAttribute ffmpeg : libraries ]
57
58			be
59			media
60			$(TARGET_LIBSUPC++)
61		;
62	}
63}
64
65
66