xref: /haiku/src/tests/servers/app/Jamfile (revision 72d2ba2f9ce89687b88c67faab54515ce6efe846)
1338b8dc3SIngo WeinholdSubDir HAIKU_TOP src tests servers app ;
2338b8dc3SIngo Weinhold
31d219b3aSAxel DörflerUsePrivateHeaders app graphics input interface shared storage ;
41d219b3aSAxel Dörfler
51d219b3aSAxel DörflerSimpleTest app_server_debug :
61d219b3aSAxel Dörfler	app_server_debug.cpp
71d219b3aSAxel Dörfler	: be
81d219b3aSAxel Dörfler;
91d219b3aSAxel Dörfler
10ca9e5772SIngo WeinholdSetSubDirSupportedPlatforms libbe_test ;
11338b8dc3SIngo Weinhold
12ca9e5772SIngo Weinhold# No need to define any of those targets, when not building for libbe_test
13ca9e5772SIngo Weinholdif $(TARGET_PLATFORM) = libbe_test {
14ee5f6d23SStephan Aßmus
157c6bff17SIngo WeinholdUseLibraryHeaders agg png ;
167c6bff17SIngo WeinholdUseBuildFeatureHeaders zlib ;
173ee83016SIngo WeinholdUsePrivateHeaders [ FDirName graphics common ] ;
183111f163SIngo Weinhold
193111f163SIngo Weinhold# headers/build/private/kernel is needed for safemode.h and syscalls.h.
203111f163SIngo Weinhold# headers/private/kernel for the util/* stuff.
213111f163SIngo WeinholdUseHeaders [ FDirName $(HAIKU_TOP) headers build private kernel ] : true ;
2212776185SAxel DörflerUsePrivateHeaders kernel support ;
232826a379SIngo Weinhold
24338b8dc3SIngo Weinholdlocal appServerDir = [ FDirName $(HAIKU_TOP) src servers app ] ;
252826a379SIngo Weinhold
2612776185SAxel DörflerUseHeaders [ FDirName $(appServerDir) decorator ] ;
272826a379SIngo WeinholdUseHeaders [ FDirName $(appServerDir) drawing ] ;
288e7d9c72SAdrien DestuguesUseHeaders [ FDirName $(appServerDir) drawing interface html5 ] ;
298e7d9c72SAdrien DestuguesUseHeaders [ FDirName $(appServerDir) drawing interface remote ] ;
302826a379SIngo WeinholdUseHeaders [ FDirName $(appServerDir) drawing Painter ] ;
312826a379SIngo WeinholdUseHeaders [ FDirName $(appServerDir) drawing Painter drawing_modes ] ;
322826a379SIngo WeinholdUseHeaders [ FDirName $(appServerDir) drawing Painter font_support ] ;
3312776185SAxel DörflerUseHeaders [ FDirName $(appServerDir) font ] ;
3412776185SAxel DörflerUseHeaders [ FDirName $(appServerDir) stackandtile ] ;
3529f8805fSIngo WeinholdUseBuildFeatureHeaders freetype ;
3612776185SAxel DörflerUseLibraryHeaders agg lp_solve linprog ;
372826a379SIngo Weinhold
388b794301SAxel Dörfler# This overrides the definitions in private/servers/app/ServerConfig.h
398b794301SAxel Dörflerlocal defines = [ FDefines TEST_MODE=1 ] ;
40bd09e99dSAxel Dörfler	# USE_DIRECT_WINDOW_TEST_MODE=1
418b794301SAxel Dörfler
42264fe59dSStephan AßmusSubDirCcFlags $(defines) ; #-finstrument-functions ; #-fcheck-memory-usage -D_NO_INLINE_ASM ;
43264fe59dSStephan AßmusSubDirC++Flags $(defines) ; #-finstrument-functions ; #-fcheck-memory-usage -D_NO_INLINE_ASM ;
448b794301SAxel Dörfler
453f3c9fddSStephan AßmusSEARCH_SOURCE += $(appServerDir) ;
4612776185SAxel DörflerSEARCH_SOURCE += [ FDirName $(appServerDir) decorator ] ;
473f3c9fddSStephan AßmusSEARCH_SOURCE += [ FDirName $(appServerDir) drawing ] ;
483f3c9fddSStephan AßmusSEARCH_SOURCE += [ FDirName $(appServerDir) drawing Painter ] ;
498ff2f81fSX512SEARCH_SOURCE += [ FDirName $(appServerDir) drawing interface remote ] ;
50a68b6c25SAugustin CavalierSEARCH_SOURCE += [ FDirName $(appServerDir) drawing interface virtual ] ;
5112776185SAxel DörflerSEARCH_SOURCE += [ FDirName $(appServerDir) font ] ;
522826a379SIngo Weinhold
53338b8dc3SIngo WeinholdSharedLibrary libhwinterface.so :
54a41a0db6SIngo Weinhold	BBitmapBuffer.cpp
55c2270088SStephan Aßmus	DWindowBuffer.cpp
562826a379SIngo Weinhold	HWInterface.cpp
57c2270088SStephan Aßmus	RGBColor.cpp
583f3c9fddSStephan Aßmus	UpdateQueue.cpp
592826a379SIngo Weinhold
608ff2f81fSX512	NetReceiver.cpp
618ff2f81fSX512	NetSender.cpp
628ff2f81fSX512	RemoteDrawingEngine.cpp
638ff2f81fSX512	RemoteEventStream.cpp
648ff2f81fSX512	RemoteHWInterface.cpp
658ff2f81fSX512	RemoteMessage.cpp
668ff2f81fSX512	StreamingRingBuffer.cpp
678ff2f81fSX512
687c374c6aSAugustin Cavalier	: # will depend on libtestappserver.so
692826a379SIngo Weinhold;
702826a379SIngo Weinhold
717c374c6aSAugustin Cavalier# We include --no-undefined in LINKFLAGS by default, which we can't use here
727c374c6aSAugustin Cavalier# because otherwise we would be trapped in a circular dependency.
737c374c6aSAugustin Cavalierlocal hwinterfaceLinkFlags ;
747c374c6aSAugustin Cavalierfor flag in [ on libhwinterface.so return $(LINKFLAGS) ] {
757c374c6aSAugustin Cavalier	if $(flag) = "--no-undefined" {
767c374c6aSAugustin Cavalier		hwinterfaceLinkFlags += "--allow-shlib-undefined" ;
777c374c6aSAugustin Cavalier		continue ;
787c374c6aSAugustin Cavalier	}
797c374c6aSAugustin Cavalier	hwinterfaceLinkFlags += $(flag) ;
807c374c6aSAugustin Cavalier}
817c374c6aSAugustin CavalierLINKFLAGS on libhwinterface.so = $(hwinterfaceLinkFlags) ;
828ff2f81fSX512LINKFLAGS on libhwinterface.so += -lnetwork -lbnetapi ;
832826a379SIngo Weinhold
847c374c6aSAugustin Cavalier# libhwinterfaceimpl.so needs to link against libbe *first*, but simply
857c374c6aSAugustin Cavalier# adding it to the library list would add it to LINKLIBS which is always
867c374c6aSAugustin Cavalier# appended after NEEDLIBS in the command line.
872826a379SIngo WeinholdLINKFLAGS on libhwinterfaceimpl.so ?= $(LINKFLAGS) ;
882826a379SIngo WeinholdLINKFLAGS on libhwinterfaceimpl.so += -lbe ;
892826a379SIngo Weinhold
90338b8dc3SIngo WeinholdSharedLibrary libhwinterfaceimpl.so :
91a41a0db6SIngo Weinhold	ViewHWInterface.cpp
92c2270088SStephan Aßmus	DWindowHWInterface.cpp
9304768381SAxel Dörfler	MultiLocker.cpp
942826a379SIngo Weinhold
959e54316cSCodeforEvolution#	libraries
969e54316cSCodeforEvolution	:
979e54316cSCodeforEvolution	libhwinterface.so
989e54316cSCodeforEvolution	[ TargetLibstdc++ ]
992826a379SIngo Weinhold;
1002826a379SIngo Weinhold
1018e8869a9SStephan Aßmuslocal decorator_src =
1028e8869a9SStephan Aßmus	DecorManager.cpp
1038e8869a9SStephan Aßmus	Decorator.cpp
1048e8869a9SStephan Aßmus	DefaultDecorator.cpp
1058e8869a9SStephan Aßmus	DefaultWindowBehaviour.cpp
1068e8869a9SStephan Aßmus	MagneticBorder.cpp
107cb7de03cSStephan Aßmus	TabDecorator.cpp
1088e8869a9SStephan Aßmus	WindowBehaviour.cpp
1098e8869a9SStephan Aßmus	;
1108e8869a9SStephan Aßmus
1118e8869a9SStephan Aßmuslocal font_src =
112*72d2ba2fSMáximo Castañeda	AppFontManager.cpp
1138e8869a9SStephan Aßmus	FontCache.cpp
1148e8869a9SStephan Aßmus	FontCacheEntry.cpp
1158e8869a9SStephan Aßmus	FontEngine.cpp
1168e8869a9SStephan Aßmus	FontFamily.cpp
1178e8869a9SStephan Aßmus	FontManager.cpp
1188e8869a9SStephan Aßmus	FontStyle.cpp
119*72d2ba2fSMáximo Castañeda	GlobalFontManager.cpp
1208e8869a9SStephan Aßmus	;
1218e8869a9SStephan Aßmus
122c2dcc4d5SAdrien Destugues# These files are shared between the test_app_server and the libhwintreface, so
123c2dcc4d5SAdrien Destugues# they can talk together.
1242c69b5b6SAxel DörflerSharedLibrary libtestappserver.so :
1252826a379SIngo Weinhold	Angle.cpp
1269a44fdc9SAxel Dörfler	ClientMemoryAllocator.cpp
1272826a379SIngo Weinhold	CursorData.cpp
128640b841dSAxel Dörfler	CursorManager.cpp
1292826a379SIngo Weinhold	CursorSet.cpp
130884412dfSAdrien Destugues	DelayedMessage.cpp
13112776185SAxel Dörfler	DesktopListener.cpp
13219b850b3SStephan Aßmus	DirectWindowInfo.cpp
133f74afb82SAxel Dörfler	DrawingEngine.cpp
134aca4f50dSAxel Dörfler	DrawState.cpp
1358e8869a9SStephan Aßmus	$(font_src)
13659e13a3fSStephan Aßmus	GlobalSubpixelSettings.cpp
137264fe59dSStephan Aßmus	IntPoint.cpp
138264fe59dSStephan Aßmus	IntRect.cpp
13904768381SAxel Dörfler	MultiLocker.cpp
1400ac013e6SAxel Dörfler	Overlay.cpp
1412826a379SIngo Weinhold	RGBColor.cpp
1422826a379SIngo Weinhold	ServerBitmap.cpp
1432826a379SIngo Weinhold	ServerCursor.cpp
1442826a379SIngo Weinhold	ServerFont.cpp
1452826a379SIngo Weinhold	SystemPalette.cpp
1462826a379SIngo Weinhold
1472826a379SIngo Weinhold	# drawing
1482826a379SIngo Weinhold	PatternHandler.cpp
1492826a379SIngo Weinhold
150264fe59dSStephan Aßmus#	trace.c
151264fe59dSStephan Aßmus
1522826a379SIngo Weinhold	# Misc. Sources
15367f3be42SStephan Aßmus	ProfileMessageSupport.cpp
1540e29f57aSAxel Dörfler	EventDispatcher.cpp
1550e29f57aSAxel Dörfler	EventStream.cpp
156e3d73948SJulian Harnath	TestServerLoopAdapter.cpp
15767f3be42SStephan Aßmus	MessageLooper.cpp
1582826a379SIngo Weinhold
159f74afb82SAxel Dörfler	# Decorator
1608e8869a9SStephan Aßmus	$(decorator_src)
161f74afb82SAxel Dörfler
1622826a379SIngo Weinhold	# Manager Classes
163be05d56cSAxel Dörfler	BitmapManager.cpp
164f7598223SAxel Dörfler	InputManager.cpp
1652826a379SIngo Weinhold	ScreenManager.cpp
1662826a379SIngo Weinhold
1672826a379SIngo Weinhold	AppServer.cpp
1682826a379SIngo Weinhold	Desktop.cpp
1692826a379SIngo Weinhold	ServerApp.cpp
1702826a379SIngo Weinhold	ServerWindow.cpp
1712826a379SIngo Weinhold
172fcd75d63SStephan Aßmus	# DrawingEngine Classes
173d3f08e7fSStephan Aßmus#	AccelerantBuffer.cpp
174d3f08e7fSStephan Aßmus#	AccelerantHWInterface.cpp
1752826a379SIngo Weinhold	BitmapBuffer.cpp
176ae50fc51SIngo Weinhold	BitmapDrawingEngine.cpp
177dd98ed8dSStephan Aßmus	drawing_support.cpp
1782826a379SIngo Weinhold	MallocBuffer.cpp
1792826a379SIngo Weinhold
18035d6e0feSAdrien Destugues	AlphaMask.cpp
181345d9bb4SJulian Harnath	AlphaMaskCache.cpp
1822826a379SIngo Weinhold	BitmapHWInterface.cpp
183ab1bd2fdSJulian Harnath	Canvas.cpp
184c2dcc4d5SAdrien Destugues	DesktopSettings.cpp
185551438b9SJulian Harnath	Layer.cpp
1862826a379SIngo Weinhold	OffscreenServerWindow.cpp
187437b1927SAxel Dörfler	OffscreenWindow.cpp
1888511f6acSJulian Harnath	PictureBoundingBoxPlayer.cpp
18939c9925fSStephan Aßmus	RegionPool.cpp
190437b1927SAxel Dörfler	Screen.cpp
19119b850b3SStephan Aßmus	ScreenConfigurations.cpp
1922826a379SIngo Weinhold	ServerPicture.cpp
193437b1927SAxel Dörfler	View.cpp
194c2dcc4d5SAdrien Destugues	VirtualScreen.cpp
195437b1927SAxel Dörfler	Window.cpp
196e83820edSAxel Dörfler	WindowList.cpp
1972826a379SIngo Weinhold	Workspace.cpp
198437b1927SAxel Dörfler	WorkspacesView.cpp
1992826a379SIngo Weinhold
20035d6e0feSAdrien Destugues	# libraries
2018028ede7SRene Gollent	: be libpainter.a libagg.a libtextencoding.so shared libstackandtile.a
2027c374c6aSAugustin Cavalier	liblinprog.a libhwinterface.so libhwinterfaceimpl.so
20335d6e0feSAdrien Destugues	[ BuildFeatureAttribute freetype : library ]
2049e54316cSCodeforEvolution	[ TargetLibstdc++ ]
20535d6e0feSAdrien Destugues;
20635d6e0feSAdrien Destugues
207ab1bd2fdSJulian HarnathIncludes [ FGristFiles AppServer.cpp BitmapManager.cpp Canvas.cpp
2088e8869a9SStephan Aßmus	ClientMemoryAllocator.cpp Desktop.cpp DesktopSettings.cpp
209ab1bd2fdSJulian Harnath	DrawState.cpp DrawingEngine.cpp ServerApp.cpp
2108e8869a9SStephan Aßmus	ServerBitmap.cpp ServerCursor.cpp ServerFont.cpp ServerPicture.cpp
2118e8869a9SStephan Aßmus	ServerWindow.cpp View.cpp Window.cpp WorkspacesView.cpp
2128e8869a9SStephan Aßmus	$(decorator_src) $(font_src) ]
2138e8869a9SStephan Aßmus	: [ BuildFeatureAttribute freetype : headers ] ;
2148e8869a9SStephan Aßmus
2158e8869a9SStephan Aßmus
21635d6e0feSAdrien DestuguesAddResources test_app_server : test_app_server.rdef ;
21735d6e0feSAdrien Destugues
21835d6e0feSAdrien DestuguesServer test_app_server :
21935d6e0feSAdrien Destugues
22035d6e0feSAdrien Destugues	# drawing
22135d6e0feSAdrien Destugues	drawing_support.cpp
222f74afb82SAxel Dörfler
2232826a379SIngo Weinhold	# libraries
2242826a379SIngo Weinhold	:
2257c6bff17SIngo Weinhold	[ BuildFeatureAttribute zlib : library ] libtestappserver.so be
22635d6e0feSAdrien Destugues	libhwinterface.so libhwinterfaceimpl.so libtextencoding.so
2278e7d9c72SAdrien Destugues	[ BuildFeatureAttribute freetype : library ]
228220d0402SOliver Tappe	[ TargetLibstdc++ ] [ TargetLibsupc++ ]
2292826a379SIngo Weinhold;
2302826a379SIngo Weinhold
231338b8dc3SIngo Weinhold# install in the test dir
232338b8dc3SIngo WeinholdHaikuInstall install-test-apps : $(HAIKU_APP_TEST_LIB_DIR)
2332c69b5b6SAxel Dörfler	: libtestappserver.so libbe_test.so
2348e7d9c72SAdrien Destugues	libhwinterface.so libhwinterfaceimpl.so libtextencoding.so
235338b8dc3SIngo Weinhold	: tests!apps ;
236338b8dc3SIngo Weinhold
2372c69b5b6SAxel DörflerHaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : test_app_server
238338b8dc3SIngo Weinhold	: tests!apps ;
239338b8dc3SIngo Weinhold
2409e54316cSCodeforEvolutionHaikuInstall install-test-apps : $(HAIKU_APP_TEST_DIR) : run.sh
2419e54316cSCodeforEvolution	: tests!apps ;
2429e54316cSCodeforEvolution
243ca9e5772SIngo Weinhold} # if $(TARGET_PLATFORM) = libbe_test
2442826a379SIngo Weinhold
2459813f97fSStephan AßmusSubInclude HAIKU_TOP src tests servers app archived_view ;
246ce158b43SStephan AßmusSubInclude HAIKU_TOP src tests servers app async_drawing ;
2477362a1d7SAxel DörflerSubInclude HAIKU_TOP src tests servers app avoid_focus ;
2487c265858SStephan AßmusSubInclude HAIKU_TOP src tests servers app benchmark ;
2499813f97fSStephan AßmusSubInclude HAIKU_TOP src tests servers app bitmap_bounds ;
250338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app bitmap_drawing ;
251c3b8f9f6SAxel DörflerSubInclude HAIKU_TOP src tests servers app code_to_name ;
25270ebf47bSAdrien DestuguesSubInclude HAIKU_TOP src tests servers app clip_to_picture ;
253ce158b43SStephan AßmusSubInclude HAIKU_TOP src tests servers app constrain_clipping_region ;
254338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app copy_bits ;
255da07353dSAxel DörflerSubInclude HAIKU_TOP src tests servers app cursor_test ;
25694dc3ed6SAxel DörflerSubInclude HAIKU_TOP src tests servers app desktop_window ;
25711dbc914SStephan AßmusSubInclude HAIKU_TOP src tests servers app draw_after_children ;
25877e5acc0SStephan AßmusSubInclude HAIKU_TOP src tests servers app draw_string_offsets ;
2593c905d81SMichael LotzSubInclude HAIKU_TOP src tests servers app drawing_debugger ;
2603d75dfbbSMichael LotzSubInclude HAIKU_TOP src tests servers app drawing_modes ;
261fc505229SAxel DörflerSubInclude HAIKU_TOP src tests servers app event_mask ;
2625ae0bbaaSStephan AßmusSubInclude HAIKU_TOP src tests servers app find_view ;
263dd98ed8dSStephan AßmusSubInclude HAIKU_TOP src tests servers app following ;
264cb7de03cSStephan AßmusSubInclude HAIKU_TOP src tests servers app font_spacing ;
2651f3acfaaSAdrien DestuguesSubInclude HAIKU_TOP src tests servers app gradients ;
266ea5c7202SAxel DörflerSubInclude HAIKU_TOP src tests servers app hide_and_show ;
26709f147fbSJérôme DuvalSubInclude HAIKU_TOP src tests servers app idle_test ;
268c10931f3SMáximo CastañedaSubInclude HAIKU_TOP src tests servers app inverse_clipping ;
269d36ae78cSStephan AßmusSubInclude HAIKU_TOP src tests servers app lagging_get_mouse ;
2703ecd9d8fSAxel DörflerSubInclude HAIKU_TOP src tests servers app lock_focus ;
271a7e6679bSAxel DörflerSubInclude HAIKU_TOP src tests servers app look_and_feel ;
2724c751e51SAxel DörflerSubInclude HAIKU_TOP src tests servers app menu_crash ;
273ffdeb47bSAxel DörflerSubInclude HAIKU_TOP src tests servers app no_pointer_history ;
274338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app painter ;
275338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app playground ;
276f9ba150bSMichael LotzSubInclude HAIKU_TOP src tests servers app pulsed_drawing ;
277ffdeb47bSAxel DörflerSubInclude HAIKU_TOP src tests servers app regularapps ;
278338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app resize_limits ;
279ce158b43SStephan AßmusSubInclude HAIKU_TOP src tests servers app scrollbar ;
280338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app scrolling ;
28176ab3f88SStephan AßmusSubInclude HAIKU_TOP src tests servers app shape_test ;
282afc5d438SAdrien DestuguesSubInclude HAIKU_TOP src tests servers app stacktile ;
283d36ae78cSStephan AßmusSubInclude HAIKU_TOP src tests servers app statusbar ;
284e7df4a48SStephan AßmusSubInclude HAIKU_TOP src tests servers app stress_test ;
285315ab332SStephan AßmusSubInclude HAIKU_TOP src tests servers app text_rendering ;
286338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src tests servers app textview ;
287c67dde0fSKacper KasperSubInclude HAIKU_TOP src tests servers app tiled_bitmap_test ;
28808e109e5SStephan AßmusSubInclude HAIKU_TOP src tests servers app transformation ;
289ad53a0d9SJulian HarnathSubInclude HAIKU_TOP src tests servers app unit_tests ;
290e0d7d87fSAxel DörflerSubInclude HAIKU_TOP src tests servers app view_state ;
29161e7172dSStephan AßmusSubInclude HAIKU_TOP src tests servers app view_transit ;
292ecef598eSStefano CeccheriniSubInclude HAIKU_TOP src tests servers app window_creation ;
293e527d809SAxel DörflerSubInclude HAIKU_TOP src tests servers app window_invalidation ;
294f0b714c8SAxel DörflerSubInclude HAIKU_TOP src tests servers app workspace_activated ;
2951214ef1bSAxel DörflerSubInclude HAIKU_TOP src tests servers app workspace_switcher ;
296