xref: /haiku/src/tests/servers/app/Jamfile (revision 4a55cc230cf7566cadcbb23b1928eefff8aea9a2)
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	FontCache.cpp
113	FontCacheEntry.cpp
114	FontEngine.cpp
115	FontFamily.cpp
116	FontManager.cpp
117	FontStyle.cpp
118	;
119
120# These files are shared between the test_app_server and the libhwintreface, so
121# they can talk together.
122SharedLibrary libtestappserver.so :
123	Angle.cpp
124	ClientMemoryAllocator.cpp
125	CursorData.cpp
126	CursorManager.cpp
127	CursorSet.cpp
128	DelayedMessage.cpp
129	DesktopListener.cpp
130	DirectWindowInfo.cpp
131	DrawingEngine.cpp
132	DrawState.cpp
133	$(font_src)
134	GlobalSubpixelSettings.cpp
135	IntPoint.cpp
136	IntRect.cpp
137	MultiLocker.cpp
138	Overlay.cpp
139	RGBColor.cpp
140	ServerBitmap.cpp
141	ServerCursor.cpp
142	ServerFont.cpp
143	SystemPalette.cpp
144
145	# drawing
146	PatternHandler.cpp
147
148#	trace.c
149
150	# Misc. Sources
151	ProfileMessageSupport.cpp
152	EventDispatcher.cpp
153	EventStream.cpp
154	TestServerLoopAdapter.cpp
155	MessageLooper.cpp
156
157	# Decorator
158	$(decorator_src)
159
160	# Manager Classes
161	BitmapManager.cpp
162	InputManager.cpp
163	ScreenManager.cpp
164
165	AppServer.cpp
166	Desktop.cpp
167	ServerApp.cpp
168	ServerWindow.cpp
169
170	# DrawingEngine Classes
171#	AccelerantBuffer.cpp
172#	AccelerantHWInterface.cpp
173	BitmapBuffer.cpp
174	BitmapDrawingEngine.cpp
175	drawing_support.cpp
176	MallocBuffer.cpp
177
178	AlphaMask.cpp
179	AlphaMaskCache.cpp
180	BitmapHWInterface.cpp
181	Canvas.cpp
182	DesktopSettings.cpp
183	Layer.cpp
184	OffscreenServerWindow.cpp
185	OffscreenWindow.cpp
186	PictureBoundingBoxPlayer.cpp
187	RegionPool.cpp
188	Screen.cpp
189	ScreenConfigurations.cpp
190	ServerPicture.cpp
191	View.cpp
192	VirtualScreen.cpp
193	Window.cpp
194	WindowList.cpp
195	Workspace.cpp
196	WorkspacesView.cpp
197
198	# libraries
199	: be libpainter.a libagg.a libtextencoding.so shared libstackandtile.a
200	liblinprog.a libhwinterface.so libhwinterfaceimpl.so
201	[ BuildFeatureAttribute freetype : library ]
202	[ TargetLibstdc++ ]
203;
204
205Includes [ FGristFiles AppServer.cpp BitmapManager.cpp Canvas.cpp
206	ClientMemoryAllocator.cpp Desktop.cpp DesktopSettings.cpp
207	DrawState.cpp DrawingEngine.cpp ServerApp.cpp
208	ServerBitmap.cpp ServerCursor.cpp ServerFont.cpp ServerPicture.cpp
209	ServerWindow.cpp View.cpp Window.cpp WorkspacesView.cpp
210	$(decorator_src) $(font_src) ]
211	: [ BuildFeatureAttribute freetype : headers ] ;
212
213
214AddResources test_app_server : test_app_server.rdef ;
215
216Server test_app_server :
217
218	# drawing
219	drawing_support.cpp
220
221	# libraries
222	:
223	[ BuildFeatureAttribute zlib : library ] libtestappserver.so be
224	libhwinterface.so libhwinterfaceimpl.so libtextencoding.so
225	[ BuildFeatureAttribute freetype : library ]
226	[ TargetLibstdc++ ] [ TargetLibsupc++ ]
227;
228
229# install in the test dir
230HaikuInstall install-test-apps : $(HAIKU_APP_TEST_LIB_DIR)
231	: libtestappserver.so libbe_test.so
232	libhwinterface.so libhwinterfaceimpl.so libtextencoding.so
233	: tests!apps ;
234
235HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : test_app_server
236	: tests!apps ;
237
238HaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : run.sh
239	: tests!apps ;
240
241} # if $(TARGET_PLATFORM) = libbe_test
242
243SubInclude HAIKU_TOP src tests servers app archived_view ;
244SubInclude HAIKU_TOP src tests servers app async_drawing ;
245SubInclude HAIKU_TOP src tests servers app avoid_focus ;
246SubInclude HAIKU_TOP src tests servers app benchmark ;
247SubInclude HAIKU_TOP src tests servers app bitmap_bounds ;
248SubInclude HAIKU_TOP src tests servers app bitmap_drawing ;
249SubInclude HAIKU_TOP src tests servers app code_to_name ;
250SubInclude HAIKU_TOP src tests servers app clip_to_picture ;
251SubInclude HAIKU_TOP src tests servers app constrain_clipping_region ;
252SubInclude HAIKU_TOP src tests servers app copy_bits ;
253SubInclude HAIKU_TOP src tests servers app cursor_test ;
254SubInclude HAIKU_TOP src tests servers app desktop_window ;
255SubInclude HAIKU_TOP src tests servers app draw_after_children ;
256SubInclude HAIKU_TOP src tests servers app draw_string_offsets ;
257SubInclude HAIKU_TOP src tests servers app drawing_debugger ;
258SubInclude HAIKU_TOP src tests servers app drawing_modes ;
259SubInclude HAIKU_TOP src tests servers app event_mask ;
260SubInclude HAIKU_TOP src tests servers app find_view ;
261SubInclude HAIKU_TOP src tests servers app following ;
262SubInclude HAIKU_TOP src tests servers app font_spacing ;
263SubInclude HAIKU_TOP src tests servers app gradients ;
264SubInclude HAIKU_TOP src tests servers app hide_and_show ;
265SubInclude HAIKU_TOP src tests servers app idle_test ;
266SubInclude HAIKU_TOP src tests servers app inverse_clipping ;
267SubInclude HAIKU_TOP src tests servers app lagging_get_mouse ;
268SubInclude HAIKU_TOP src tests servers app lock_focus ;
269SubInclude HAIKU_TOP src tests servers app look_and_feel ;
270SubInclude HAIKU_TOP src tests servers app menu_crash ;
271SubInclude HAIKU_TOP src tests servers app no_pointer_history ;
272SubInclude HAIKU_TOP src tests servers app painter ;
273SubInclude HAIKU_TOP src tests servers app playground ;
274SubInclude HAIKU_TOP src tests servers app pulsed_drawing ;
275SubInclude HAIKU_TOP src tests servers app regularapps ;
276SubInclude HAIKU_TOP src tests servers app resize_limits ;
277SubInclude HAIKU_TOP src tests servers app scrollbar ;
278SubInclude HAIKU_TOP src tests servers app scrolling ;
279SubInclude HAIKU_TOP src tests servers app shape_test ;
280SubInclude HAIKU_TOP src tests servers app stacktile ;
281SubInclude HAIKU_TOP src tests servers app statusbar ;
282SubInclude HAIKU_TOP src tests servers app stress_test ;
283SubInclude HAIKU_TOP src tests servers app text_rendering ;
284SubInclude HAIKU_TOP src tests servers app textview ;
285SubInclude HAIKU_TOP src tests servers app tiled_bitmap_test ;
286SubInclude HAIKU_TOP src tests servers app transformation ;
287SubInclude HAIKU_TOP src tests servers app unit_tests ;
288SubInclude HAIKU_TOP src tests servers app view_state ;
289SubInclude HAIKU_TOP src tests servers app view_transit ;
290SubInclude HAIKU_TOP src tests servers app window_creation ;
291SubInclude HAIKU_TOP src tests servers app window_invalidation ;
292SubInclude HAIKU_TOP src tests servers app workspace_activated ;
293SubInclude HAIKU_TOP src tests servers app workspace_switcher ;
294