1SubDir HAIKU_TOP src add-ons media plugins ffmpeg ;
2
3UsePrivateHeaders media shared ;
4UsePrivateHeaders [ FDirName media experimental ] ;
5
6SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wdeprecated ;
7
8local sources =
9	AVCodecDecoder.cpp
10	AVCodecEncoder.cpp
11	AVFormatReader.cpp
12	AVFormatWriter.cpp
13	CodecTable.cpp
14	DemuxerTable.cpp
15	EncoderTable.cpp
16	FFmpegPlugin.cpp
17	MuxerTable.cpp
18	CpuCapabilities.cpp
19
20	gfx_conv_c.cpp
21	gfx_conv_c_lookup.cpp
22	gfx_util.cpp
23	;
24
25#if $(TARGET_ARCH) != x86_64 {
26#	sources +=
27#		gfx_conv_mmx.cpp
28#		yuvrgb_sse.nasm
29#		yuvrgb_sse2.nasm
30#		yuvrgb_ssse3.nasm
31#	;
32#}
33
34local architectureObject ;
35for architectureObject in [ MultiArchSubDirSetup ] {
36	on $(architectureObject) {
37		UseBuildFeatureHeaders ffmpeg ;
38		Includes [ FGristFiles $(sources) ]
39			: [ BuildFeatureAttribute ffmpeg : headers ] ;
40
41		local ffmpegHeaders = [ BuildFeatureAttribute ffmpeg : headers : path ] ;
42		UseHeaders $(ffmpegHeaders) ;
43		UseHeaders [ FDirName $(ffmpegHeaders) libavcodec ] ;
44		UseHeaders [ FDirName $(ffmpegHeaders) libavfilter ] ;
45		UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
46		UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
47		UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ;
48		UseHeaders [ FDirName $(ffmpegHeaders) libswresample ] ;
49
50		Addon [ MultiArchDefaultGristFiles ffmpeg ] :
51			$(sources)
52			:
53
54			# FFmpeg libraries (from FFmpeg optional package):
55			[ BuildFeatureAttribute ffmpeg : libraries ]
56
57			be
58			media
59			[ TargetLibsupc++ ]
60		;
61	}
62}
63