xref: /haiku/src/add-ons/media/plugins/ffmpeg/Jamfile (revision 6889394848e2dc9f41ff53b12141d572822ca0c6)
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) libavdevice ] ;
47		UseHeaders [ FDirName $(ffmpegHeaders) libavfilter ] ;
48		UseHeaders [ FDirName $(ffmpegHeaders) libavformat ] ;
49		UseHeaders [ FDirName $(ffmpegHeaders) libavutil ] ;
50		UseHeaders [ FDirName $(ffmpegHeaders) libswscale ] ;
51		UseHeaders [ FDirName $(ffmpegHeaders) libswresample ] ;
52
53		Addon [ MultiArchDefaultGristFiles ffmpeg ] :
54			$(sources)
55			:
56
57			# FFmpeg libraries (from FFmpeg optional package):
58			[ BuildFeatureAttribute ffmpeg : libraries ]
59
60			be
61			media
62			[ TargetLibsupc++ ]
63		;
64	}
65}
66
67
68