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