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