xref: /haiku/src/add-ons/media/plugins/ffmpeg/Jamfile (revision 12dba4e70f831d6d27a7f769cc9dab19c19a155d)
1SubDir HAIKU_TOP src add-ons media plugins ffmpeg ;
2
3SetSubDirSupportedPlatformsBeOSCompatible ;
4
5UsePrivateHeaders shared ;
6
7SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wdeprecated ;
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
26#if $(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) libavfilter ] ;
46		UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
47		UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
48		UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ;
49		UseHeaders [ FDirName $(ffmpegHeaders) libswresample ] ;
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			codec
61			[ TargetLibsupc++ ]
62		;
63	}
64}
65