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