xref: /haiku/src/add-ons/media/plugins/ffmpeg/Jamfile (revision f2df0cfe93a902842f6f4629ff614f5b3f9bf687)
1SubDir HAIKU_TOP src add-ons media plugins ffmpeg ;
2
3SetSubDirSupportedPlatformsBeOSCompatible ;
4
5UsePrivateHeaders media shared ;
6
7SubDirC++Flags -D__STDC_CONSTANT_MACROS -Wno-deprecated-declarations ;
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
26if $(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) libavdevice ] ;
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