xref: /haiku/src/tests/servers/app/Jamfile (revision 610f99c838cb661ff85377789ffd3ad4ff672a08)
1SubDir HAIKU_TOP src tests servers app ;
2
3UsePrivateHeaders app graphics input interface shared storage ;
4
5SimpleTest app_server_debug :
6	app_server_debug.cpp
7	: be
8;
9
10SetSubDirSupportedPlatforms libbe_test ;
11
12# No need to define any of those targets, when not building for libbe_test
13if $(TARGET_PLATFORM) = libbe_test {
14
15UseLibraryHeaders agg png ;
16UseBuildFeatureHeaders zlib ;
17UsePrivateHeaders [ FDirName graphics common ] ;
18
19# headers/build/private/kernel is needed for safemode.h and syscalls.h.
20# headers/private/kernel for the util/* stuff.
21UseHeaders [ FDirName $(HAIKU_TOP) headers build private kernel ] : true ;
22UsePrivateHeaders kernel support ;
23
24local appServerDir = [ FDirName $(HAIKU_TOP) src servers app ] ;
25
26UseHeaders [ FDirName $(appServerDir) decorator ] ;
27UseHeaders [ FDirName $(appServerDir) drawing ] ;
28UseHeaders [ FDirName $(appServerDir) drawing interface html5 ] ;
29UseHeaders [ FDirName $(appServerDir) drawing interface remote ] ;
30UseHeaders [ FDirName $(appServerDir) drawing Painter ] ;
31UseHeaders [ FDirName $(appServerDir) drawing Painter drawing_modes ] ;
32UseHeaders [ FDirName $(appServerDir) drawing Painter font_support ] ;
33UseHeaders [ FDirName $(appServerDir) font ] ;
34UseHeaders [ FDirName $(appServerDir) stackandtile ] ;
35UseBuildFeatureHeaders freetype ;
36UseLibraryHeaders agg lp_solve linprog ;
37
38# This overrides the definitions in private/servers/app/ServerConfig.h
39local defines = [ FDefines TEST_MODE=1 ] ;
40	# USE_DIRECT_WINDOW_TEST_MODE=1
41
42SubDirCcFlags $(defines) ; #-finstrument-functions ; #-fcheck-memory-usage -D_NO_INLINE_ASM ;
43SubDirC++Flags $(defines) ; #-finstrument-functions ; #-fcheck-memory-usage -D_NO_INLINE_ASM ;
44
45SEARCH_SOURCE += $(appServerDir) ;
46SEARCH_SOURCE += [ FDirName $(appServerDir) decorator ] ;
47SEARCH_SOURCE += [ FDirName $(appServerDir) drawing ] ;
48SEARCH_SOURCE += [ FDirName $(appServerDir) drawing Painter ] ;
49SEARCH_SOURCE += [ FDirName $(appServerDir) drawing interface remote ] ;
50SEARCH_SOURCE += [ FDirName $(appServerDir) font ] ;
51
52SharedLibrary libhwinterface.so :
53	BBitmapBuffer.cpp
54	DWindowBuffer.cpp
55	HWInterface.cpp
56	RGBColor.cpp
57	UpdateQueue.cpp
58
59	NetReceiver.cpp
60	NetSender.cpp
61	RemoteDrawingEngine.cpp
62	RemoteEventStream.cpp
63	RemoteHWInterface.cpp
64	RemoteMessage.cpp
65	StreamingRingBuffer.cpp
66
67	: # will depend on libtestappserver.so
68;
69
70# We include --no-undefined in LINKFLAGS by default, which we can't use here
71# because otherwise we would be trapped in a circular dependency.
72local hwinterfaceLinkFlags ;
73for flag in [ on libhwinterface.so return $(LINKFLAGS) ] {
74	if $(flag) = "--no-undefined" {
75		hwinterfaceLinkFlags += "--allow-shlib-undefined" ;
76		continue ;
77	}
78	hwinterfaceLinkFlags += $(flag) ;
79}
80LINKFLAGS on libhwinterface.so = $(hwinterfaceLinkFlags) ;
81LINKFLAGS on libhwinterface.so += -lnetwork -lbnetapi ;
82
83# libhwinterfaceimpl.so needs to link against libbe *first*, but simply
84# adding it to the library list would add it to LINKLIBS which is always
85# appended after NEEDLIBS in the command line.
86LINKFLAGS on libhwinterfaceimpl.so ?= $(LINKFLAGS) ;
87LINKFLAGS on libhwinterfaceimpl.so += -lbe ;
88
89SharedLibrary libhwinterfaceimpl.so :
90	ViewHWInterface.cpp
91	DWindowHWInterface.cpp
92	MultiLocker.cpp
93
94#	libraries
95	:
96	libhwinterface.so
97	[ TargetLibstdc++ ]
98;
99
100local decorator_src =
101	DecorManager.cpp
102	Decorator.cpp
103	DefaultDecorator.cpp
104	DefaultWindowBehaviour.cpp
105	MagneticBorder.cpp
106	TabDecorator.cpp
107	WindowBehaviour.cpp
108	;
109
110local font_src =
111	FontCache.cpp
112	FontCacheEntry.cpp
113	FontEngine.cpp
114	FontFamily.cpp
115	FontManager.cpp
116	FontStyle.cpp
117	;
118
119# These files are shared between the test_app_server and the libhwintreface, so
120# they can talk together.
121SharedLibrary libtestappserver.so :
122	Angle.cpp
123	ClientMemoryAllocator.cpp
124	CursorData.cpp
125	CursorManager.cpp
126	CursorSet.cpp
127	DelayedMessage.cpp
128	DesktopListener.cpp
129	DirectWindowInfo.cpp
130	DrawingEngine.cpp
131	DrawState.cpp
132	$(font_src)
133	GlobalSubpixelSettings.cpp
134	IntPoint.cpp
135	IntRect.cpp
136	MultiLocker.cpp
137	Overlay.cpp
138	RGBColor.cpp
139	ServerBitmap.cpp
140	ServerCursor.cpp
141	ServerFont.cpp
142	SystemPalette.cpp
143
144	# drawing
145	PatternHandler.cpp
146
147#	trace.c
148
149	# Misc. Sources
150	ProfileMessageSupport.cpp
151	EventDispatcher.cpp
152	EventStream.cpp
153	TestServerLoopAdapter.cpp
154	MessageLooper.cpp
155
156	# Decorator
157	$(decorator_src)
158
159	# Manager Classes
160	BitmapManager.cpp
161	InputManager.cpp
162	ScreenManager.cpp
163
164	AppServer.cpp
165	Desktop.cpp
166	ServerApp.cpp
167	ServerWindow.cpp
168
169	# DrawingEngine Classes
170#	AccelerantBuffer.cpp
171#	AccelerantHWInterface.cpp
172	BitmapBuffer.cpp
173	BitmapDrawingEngine.cpp
174	drawing_support.cpp
175	MallocBuffer.cpp
176
177	AlphaMask.cpp
178	AlphaMaskCache.cpp
179	BitmapHWInterface.cpp
180	Canvas.cpp
181	DesktopSettings.cpp
182	Layer.cpp
183	OffscreenServerWindow.cpp
184	OffscreenWindow.cpp
185	PictureBoundingBoxPlayer.cpp
186	RegionPool.cpp
187	Screen.cpp
188	ScreenConfigurations.cpp
189	ServerPicture.cpp
190	View.cpp
191	VirtualScreen.cpp
192	Window.cpp
193	WindowList.cpp
194	Workspace.cpp
195	WorkspacesView.cpp
196
197	# libraries
198	: be libpainter.a libagg.a libtextencoding.so shared libstackandtile.a
199	liblinprog.a libhwinterface.so libhwinterfaceimpl.so
200	[ BuildFeatureAttribute freetype : library ]
201	[ TargetLibstdc++ ]
202;
203
204Includes [ FGristFiles AppServer.cpp BitmapManager.cpp Canvas.cpp
205	ClientMemoryAllocator.cpp Desktop.cpp DesktopSettings.cpp
206	DrawState.cpp DrawingEngine.cpp ServerApp.cpp
207	ServerBitmap.cpp ServerCursor.cpp ServerFont.cpp ServerPicture.cpp
208	ServerWindow.cpp View.cpp Window.cpp WorkspacesView.cpp
209	$(decorator_src) $(font_src) ]
210	: [ BuildFeatureAttribute freetype : headers ] ;
211
212
213AddResources test_app_server : test_app_server.rdef ;
214
215Server test_app_server :
216
217	# drawing
218	drawing_support.cpp
219
220	# libraries
221	:
222	[ BuildFeatureAttribute zlib : library ] libtestappserver.so be
223	libhwinterface.so libhwinterfaceimpl.so libtextencoding.so
224	[ BuildFeatureAttribute freetype : library ]
225	[ TargetLibstdc++ ] [ TargetLibsupc++ ]
226;
227
228# install in the test dir
229HaikuInstall install-test-apps : $(HAIKU_APP_TEST_LIB_DIR)
230	: libtestappserver.so libbe_test.so
231	libhwinterface.so libhwinterfaceimpl.so libtextencoding.so
232	: tests!apps ;
233
234HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : test_app_server
235	: tests!apps ;
236
237HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : run.sh
238	: tests!apps ;
239
240} # if $(TARGET_PLATFORM) = libbe_test
241
242SubInclude HAIKU_TOP src tests servers app archived_view ;
243SubInclude HAIKU_TOP src tests servers app async_drawing ;
244SubInclude HAIKU_TOP src tests servers app avoid_focus ;
245SubInclude HAIKU_TOP src tests servers app benchmark ;
246SubInclude HAIKU_TOP src tests servers app bitmap_bounds ;
247SubInclude HAIKU_TOP src tests servers app bitmap_drawing ;
248SubInclude HAIKU_TOP src tests servers app code_to_name ;
249SubInclude HAIKU_TOP src tests servers app clip_to_picture ;
250SubInclude HAIKU_TOP src tests servers app constrain_clipping_region ;
251SubInclude HAIKU_TOP src tests servers app copy_bits ;
252SubInclude HAIKU_TOP src tests servers app cursor_test ;
253SubInclude HAIKU_TOP src tests servers app desktop_window ;
254SubInclude HAIKU_TOP src tests servers app draw_after_children ;
255SubInclude HAIKU_TOP src tests servers app draw_string_offsets ;
256SubInclude HAIKU_TOP src tests servers app drawing_debugger ;
257SubInclude HAIKU_TOP src tests servers app drawing_modes ;
258SubInclude HAIKU_TOP src tests servers app event_mask ;
259SubInclude HAIKU_TOP src tests servers app find_view ;
260SubInclude HAIKU_TOP src tests servers app following ;
261SubInclude HAIKU_TOP src tests servers app font_spacing ;
262SubInclude HAIKU_TOP src tests servers app gradients ;
263SubInclude HAIKU_TOP src tests servers app hide_and_show ;
264SubInclude HAIKU_TOP src tests servers app idle_test ;
265SubInclude HAIKU_TOP src tests servers app inverse_clipping ;
266SubInclude HAIKU_TOP src tests servers app lagging_get_mouse ;
267SubInclude HAIKU_TOP src tests servers app lock_focus ;
268SubInclude HAIKU_TOP src tests servers app look_and_feel ;
269SubInclude HAIKU_TOP src tests servers app menu_crash ;
270SubInclude HAIKU_TOP src tests servers app no_pointer_history ;
271SubInclude HAIKU_TOP src tests servers app painter ;
272SubInclude HAIKU_TOP src tests servers app playground ;
273SubInclude HAIKU_TOP src tests servers app pulsed_drawing ;
274SubInclude HAIKU_TOP src tests servers app regularapps ;
275SubInclude HAIKU_TOP src tests servers app resize_limits ;
276SubInclude HAIKU_TOP src tests servers app scrollbar ;
277SubInclude HAIKU_TOP src tests servers app scrolling ;
278SubInclude HAIKU_TOP src tests servers app shape_test ;
279SubInclude HAIKU_TOP src tests servers app stacktile ;
280SubInclude HAIKU_TOP src tests servers app statusbar ;
281SubInclude HAIKU_TOP src tests servers app stress_test ;
282SubInclude HAIKU_TOP src tests servers app text_rendering ;
283SubInclude HAIKU_TOP src tests servers app textview ;
284SubInclude HAIKU_TOP src tests servers app tiled_bitmap_test ;
285SubInclude HAIKU_TOP src tests servers app transformation ;
286SubInclude HAIKU_TOP src tests servers app unit_tests ;
287SubInclude HAIKU_TOP src tests servers app view_state ;
288SubInclude HAIKU_TOP src tests servers app view_transit ;
289SubInclude HAIKU_TOP src tests servers app window_creation ;
290SubInclude HAIKU_TOP src tests servers app window_invalidation ;
291SubInclude HAIKU_TOP src tests servers app workspace_activated ;
292SubInclude HAIKU_TOP src tests servers app workspace_switcher ;
293