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