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