1SubDir HAIKU_TOP src kits media ;
2
3AddResources libmedia.so : libmedia.rdef ;
4
5UsePrivateHeaders app media shared ;
6UsePrivateHeaders [ FDirName media experimental ] ;
7UsePrivateHeaders [ FDirName interface ] ;
8
9if $(CHECK_MALLOC) {
10	SubDirC++Flags -D_NO_INLINE_ASM -fcheck-memory-usage ;
11}
12
13local architectureObject ;
14for architectureObject in [ MultiArchSubDirSetup ] {
15	on $(architectureObject) {
16
17		SEARCH_SOURCE += [ FDirName $(SUBDIR) experimental ] ;
18		SEARCH_SOURCE += [ FDirName $(SUBDIR) legacy ] ;
19
20		SharedLibrary [ MultiArchDefaultGristFiles libmedia.so ] :
21			# Public Media Kit
22			Buffer.cpp
23			BufferConsumer.cpp
24			BufferGroup.cpp
25			BufferProducer.cpp
26			Controllable.cpp
27			FileInterface.cpp
28			MediaAddOn.cpp
29			MediaDecoder.cpp
30			MediaDefs.cpp
31			MediaEncoder.cpp
32			MediaEventLooper.cpp
33			MediaFile.cpp
34			MediaFiles.cpp
35			MediaFormats.cpp
36			MediaNode.cpp
37			MediaRecorder.cpp
38			MediaRoster.cpp
39			MediaTheme.cpp
40			MediaTrack.cpp
41			ParameterWeb.cpp
42			PlaySound.cpp
43			RealtimeAlloc.cpp
44			Sound.cpp
45			SoundFile.cpp
46			SoundPlayer.cpp
47			TimeCode.cpp
48			TimedEventQueue.cpp
49			TimeSource.cpp
50
51			# Experimental Media Kit
52			AdapterIO.cpp
53			MediaClient.cpp
54			MediaClientDefs.cpp
55			MediaClientNode.cpp
56			MediaConnection.cpp
57			MediaIO.cpp
58			SimpleMediaClient.cpp
59
60			# Internal Functionality
61			AddOnManager.cpp
62			BufferCache.cpp
63			DataExchange.cpp
64			DefaultMediaTheme.cpp
65			DormantNodeManager.cpp
66			FormatManager.cpp
67			MediaRecorderNode.cpp
68			Notifications.cpp
69			PortPool.cpp
70			request_data.cpp
71			SharedBufferList.cpp
72			TrackReader.cpp
73			TimedEventQueuePrivate.cpp
74			TimeSourceObject.cpp
75			TimeSourceObjectManager.cpp
76			SoundPlayNode.cpp
77
78			# Old (R3) Media Kit (built only for GCC2)
79			OldAudioModule.cpp
80			OldAudioStream.cpp
81			OldBufferStream.cpp
82			OldBufferStreamManager.cpp
83			OldMediaModule.cpp
84			OldSubscriber.cpp
85
86			# Codec Plugin API
87			ChunkCache.cpp
88			DecoderPlugin.cpp
89			EncoderPlugin.cpp
90			MediaExtractor.cpp
91			MediaPlugin.cpp
92			MediaStreamer.cpp
93			MediaWriter.cpp
94			PluginManager.cpp
95			ReaderPlugin.cpp
96			StreamerPlugin.cpp
97			WriterPlugin.cpp
98
99			# Compat Media Kit
100			!missing_symbols.cpp
101			Deprecated.cpp
102			:
103			be localestub shared
104			[ TargetLibsupc++ ] [ TargetLibstdc++ ]
105			;
106	}
107}
108
109DoCatalogs libmedia.so
110	: x-vnd.Haiku-libmedia
111	:
112	MediaDefs.cpp
113	;
114