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