From 2826a379d5f3d00ad2d33d75339695d11bedba3d Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 29 Jul 2005 14:44:35 +0000 Subject: [PATCH] The app server for the BeOS test environment is now built by src/tests/servers/app/Jamfile. This makes the original Jamfile much cleaner. Note that you now have to maintain two Jamfiles when adding/removing sources. The test app server is called haiku_app_server, its library libhaikuappserver.so. I adjusted a few paths in scripts accordingly, but I may have missed something elsewhere. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13858 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/Jamfile | 78 ++++----------- src/tests/servers/app/Jamfile | 122 +++++++++++++++++++++++ src/tests/servers/app/bitmap_drawing/run | 2 +- src/tests/servers/app/copy_bits/run | 2 +- src/tests/servers/app/playground/run | 2 +- src/tests/servers/app/resize_limits/run | 2 +- src/tests/servers/app/scrolling/run | 2 +- src/tests/servers/app/textview/run | 2 +- 8 files changed, 145 insertions(+), 67 deletions(-) diff --git a/src/servers/app/Jamfile b/src/servers/app/Jamfile index 381ac90cf8..e3ca93e56b 100644 --- a/src/servers/app/Jamfile +++ b/src/servers/app/Jamfile @@ -13,37 +13,12 @@ UseFreeTypeHeaders ; SEARCH_SOURCE += [ FDirName $(SUBDIR) drawing ] ; -HWINTERFACE_SOURCES = - BBitmapBuffer.cpp - HWInterface.cpp - MultiLocker.cpp -; +# This overrides the definitions in private/servers/app/ServerConfig.h +local defines = [ FDefines TEST_MODE=0 ] ; -if ( $(TARGET_PLATFORM) = haiku ) { - # This overrides the definitions in private/servers/app/ServerConfig.h - defines = [ FDefines TEST_MODE=0 ] ; +SubDirCcFlags $(defines) ; +SubDirC++Flags $(defines) ; - SubDirCcFlags $(defines) ; - SubDirC++Flags $(defines) ; - -} else { - SharedLibrary hwinterface : - $(HWINTERFACE_SOURCES) - ; - - LINKFLAGS on libhwinterfaceimpl.so ?= $(LINKFLAGS) ; - LINKFLAGS on libhwinterfaceimpl.so += -lbe ; - - SharedLibrary hwinterfaceimpl : - fake_input_server.cpp - ViewHWInterface.cpp - : libopenbeos.so libhwinterface.so - ; - - # make this empty, because it is already in the hwinterfaceimpl lib - # and therefore does not need to be included in app_server anymore - HWINTERFACE_SOURCES = ; -} SharedLibrary appserver : Angle.cpp @@ -68,6 +43,9 @@ SharedLibrary appserver : # drawing PatternHandler.cpp DisplayDriver.cpp + + # libraries + : libroot.so libbe.so libfreetype.so libtextencoding.so ; Server app_server : @@ -98,8 +76,10 @@ Server app_server : DisplayDriverPainter.cpp MallocBuffer.cpp UpdateQueue.cpp - # this will be empty when compiling for R5 - $(HWINTERFACE_SOURCES) + + BBitmapBuffer.cpp + HWInterface.cpp + MultiLocker.cpp VirtualScreen.cpp BitmapHWInterface.cpp @@ -113,36 +93,12 @@ Server app_server : WinBorder.cpp Workspace.cpp WorkspacesLayer.cpp + + # libraries + : + libroot.so libtranslation.so libz.so libpng.so libbe.so + libappserver.so libpainter.a libagg.a libfreetype.so + libtextencoding.so ; -# link libraries for app_server and libappserver.so - -if $(TARGET_PLATFORM) = haiku { - # link for Haiku - - LinkSharedOSLibs libappserver.so : - libroot.so libbe.so libfreetype.so libtextencoding.so ; - - LinkSharedOSLibs app_server : - libroot.so libtranslation.so libz.so libpng.so libbe.so - libappserver.so libpainter.a libagg.a libfreetype.so - libtextencoding.so ; - -} else { - # link as test application under R5 - - LinkSharedOSLibs libhwinterface.so : - libappserver.so libopenbeos.so ; - - LinkSharedOSLibs libappserver.so : - libopenbeos.so - libtextencoding.so libfreetype.so ; - - LinkSharedOSLibs app_server : - libz.so libpng.so libappserver.so - libpainter.a libopenbeos.so - libhwinterface.so libhwinterfaceimpl.so - libagg.a libfreetype.so libtextencoding.so ; -} - SubInclude OBOS_TOP src servers app drawing Painter ; diff --git a/src/tests/servers/app/Jamfile b/src/tests/servers/app/Jamfile index ec2b1624bd..918de28e7f 100644 --- a/src/tests/servers/app/Jamfile +++ b/src/tests/servers/app/Jamfile @@ -1,5 +1,127 @@ SubDir OBOS_TOP src tests servers app ; +UseLibraryHeaders agg png zlib ; +UsePrivateHeaders app interface shared [ FDirName servers app ] ; + +local appServerDir = [ FDirName $(OBOS_TOP) src servers app ] ; + +UseHeaders [ FDirName $(appServerDir) drawing ] ; +UseHeaders [ FDirName $(appServerDir) drawing Painter ] ; +UseHeaders [ FDirName $(appServerDir) drawing Painter drawing_modes ] ; +UseHeaders [ FDirName $(appServerDir) drawing Painter font_support ] ; +UseFreeTypeHeaders ; + +SEARCH_SOURCE += $(appServerDir) [ FDirName $(appServerDir) drawing ] ; + +# No need to define any of those targets, when building for haiku +if $(TARGET_PLATFORM) != haiku { + +SharedLibrary hwinterface : + BBitmapBuffer.cpp + HWInterface.cpp + MultiLocker.cpp + + : libhaikuappserver.so libopenbeos.so +; + + +# The reason for this is that libhwinterfaceimpl.so needs to link against +# libbe *first*, but simply adding it to the library list would add it to +# LINKLIBS which is always appended after NEEDLIBS in the command line. +LINKFLAGS on libhwinterfaceimpl.so ?= $(LINKFLAGS) ; +LINKFLAGS on libhwinterfaceimpl.so += -lbe ; + +SharedLibrary hwinterfaceimpl : + fake_input_server.cpp + ViewHWInterface.cpp + + : libopenbeos.so libhwinterface.so +; + +SharedLibrary haikuappserver : + Angle.cpp + BGet++.cpp + BitmapManager.cpp + ColorSet.cpp + CursorData.cpp + CursorSet.cpp + Decorator.cpp + FontFamily.cpp + IPoint.cpp + LayerData.cpp + RGBColor.cpp + ServerBitmap.cpp + ServerCursor.cpp + ServerFont.cpp + FontServer.cpp + SystemPalette.cpp + TokenHandler.cpp + Utils.cpp + + # drawing + PatternHandler.cpp + DisplayDriver.cpp + + # libraries + : + libopenbeos.so + libtextencoding.so libfreetype.so +; + +AddResources haiku_app_server : app_server.rdef ; + +Server haiku_app_server : + # Misc. Sources + DebugInfoManager.cpp + SubWindowList.cpp + PicturePlayer.cpp + PNGDump.cpp + RAMLinkMsgReader.cpp + MessageLooper.cpp + + # Manager Classes + CursorManager.cpp + DecorManager.cpp + ScreenManager.cpp + + AppServer.cpp + Desktop.cpp + DesktopSettings.cpp + + ServerApp.cpp + ServerWindow.cpp + + # DisplayDriver Classes + AccelerantBuffer.cpp + AccelerantHWInterface.cpp + BitmapBuffer.cpp + DisplayDriverPainter.cpp + MallocBuffer.cpp + UpdateQueue.cpp + + VirtualScreen.cpp + BitmapHWInterface.cpp + DefaultDecorator.cpp + Layer.cpp + OffscreenServerWindow.cpp + OffscreenWinBorder.cpp + RootLayer.cpp + ServerPicture.cpp + ServerScreen.cpp + WinBorder.cpp + Workspace.cpp + WorkspacesLayer.cpp + + # libraries + : + libz.so libpng.so libhaikuappserver.so + libpainter.a libopenbeos.so + libhwinterface.so libhwinterfaceimpl.so + libagg.a libfreetype.so libtextencoding.so +; + +} # if $(TARGET_PLATFORM) != haiku + SubInclude OBOS_TOP src tests servers app bitmap_drawing ; SubInclude OBOS_TOP src tests servers app copy_bits ; SubInclude OBOS_TOP src tests servers app painter ; diff --git a/src/tests/servers/app/bitmap_drawing/run b/src/tests/servers/app/bitmap_drawing/run index e2dd53a5db..b6bd70c0dc 100755 --- a/src/tests/servers/app/bitmap_drawing/run +++ b/src/tests/servers/app/bitmap_drawing/run @@ -1,6 +1,6 @@ #!/bin/sh ../../../../../tests/servers/registrar/run_haiku_registrar || exit -../../../../../distro/x86.R1/beos/system/servers/app_server & +../../../../../distro/x86.R1/beos/system/servers/haiku_app_server & sleep 1s ../../../../../distro/x86.R1/beos/apps/BitmapDrawing diff --git a/src/tests/servers/app/copy_bits/run b/src/tests/servers/app/copy_bits/run index 092d04a63b..00547e2037 100755 --- a/src/tests/servers/app/copy_bits/run +++ b/src/tests/servers/app/copy_bits/run @@ -1,6 +1,6 @@ #!/bin/sh ../../../../../tests/servers/registrar/run_haiku_registrar || exit -../../../../../distro/x86.R1/beos/system/servers/app_server & +../../../../../distro/x86.R1/beos/system/servers/haiku_app_server & sleep 1s ../../../../../tests/servers/app/copy_bits/CopyBits diff --git a/src/tests/servers/app/playground/run b/src/tests/servers/app/playground/run index f57873f44d..c56ea47a2b 100755 --- a/src/tests/servers/app/playground/run +++ b/src/tests/servers/app/playground/run @@ -1,6 +1,6 @@ #!/bin/sh ../../../../../tests/servers/registrar/run_haiku_registrar || exit -../../../../../distro/x86.R1/beos/system/servers/app_server & +../../../../../distro/x86.R1/beos/system/servers/haiku_app_server & sleep 1s ../../../../../distro/x86.R1/beos/apps/Playground diff --git a/src/tests/servers/app/resize_limits/run b/src/tests/servers/app/resize_limits/run index 8c29438607..519ff7d10a 100755 --- a/src/tests/servers/app/resize_limits/run +++ b/src/tests/servers/app/resize_limits/run @@ -1,6 +1,6 @@ #!/bin/sh ../../../../../tests/servers/registrar/run_haiku_registrar || exit -../../../../../distro/x86.R1/beos/system/servers/app_server & +../../../../../distro/x86.R1/beos/system/servers/haiku_app_server & sleep 1s ../../../../../distro/x86.R1/beos/apps/ResizeLimits diff --git a/src/tests/servers/app/scrolling/run b/src/tests/servers/app/scrolling/run index 8cd8423209..e6f1d6510c 100755 --- a/src/tests/servers/app/scrolling/run +++ b/src/tests/servers/app/scrolling/run @@ -1,6 +1,6 @@ #!/bin/sh ../../../../../tests/servers/registrar/run_haiku_registrar || exit -../../../../../distro/x86.R1/beos/system/servers/app_server & +../../../../../distro/x86.R1/beos/system/servers/haiku_app_server & sleep 1s ../../../../../tests/servers/app/scrolling/Scrolling diff --git a/src/tests/servers/app/textview/run b/src/tests/servers/app/textview/run index 629d94e84f..39a5ecce13 100755 --- a/src/tests/servers/app/textview/run +++ b/src/tests/servers/app/textview/run @@ -1,6 +1,6 @@ #!/bin/sh ../../../../../tests/servers/registrar/run_haiku_registrar || exit -../../../../../distro/x86.R1/beos/system/servers/app_server & +../../../../../distro/x86.R1/beos/system/servers/haiku_app_server & sleep 1s ../../../../../tests/servers/app/windows/Window