From 82aa535b3f68167994db9d6fce8af9011ce44b4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 29 Mar 2005 16:21:55 +0000 Subject: [PATCH] Updated app_server Jamfile to be able to build a server that runs under Haiku if $TARGET_PLATFORM requires this. Note, "jam app_server" for R5 did not work for me before and does not work now although the number of errors are reduced - whoever knows the requirements for the app_server under R5 better than me, please fix this. Added the app_server as well as some more drivers to the Haiku HD image. Since RUN_WITHOUT_APP_SERVER is still defined, it won't work correctly, though. For the time being, you need to manually alter this and the Bootscript in order to run it. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12121 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- makehdimage | 11 ++++-- src/servers/app/Jamfile | 81 ++++++++++++++++++++++++++--------------- 2 files changed, 59 insertions(+), 33 deletions(-) diff --git a/makehdimage b/makehdimage index bdeb5ab0a0..d0c5bf8128 100755 --- a/makehdimage +++ b/makehdimage @@ -116,9 +116,9 @@ BEOS_SYSTEM_LIB="libbe.so libstdc++.r4.so libnet.so libmedia.so \ libtextencoding.so libz.so libfreetype.so libpng.so" BEOS_SYSTEM_SERVERS="registrar debug_server syslog_daemon media_server \ - media_addon_server input_server" + media_addon_server input_server app_server" -BEOS_ADD_ONS_ACCELERANTS="radeon.accelerant" +BEOS_ADD_ONS_ACCELERANTS="radeon.accelerant nv.accelerant mga.accelerant nm.accelerant" BEOS_ADD_ONS_TRANSLATORS="STXTTranslator RTF-Translator" BEOS_ADD_ONS_MEDIA="mixer.media_addon legacy.media_addon multi_audio.media_addon" BEOS_ADD_ONS_INPUT_DEVICES="keyboard" @@ -133,6 +133,7 @@ jam -j$(sysinfo -cpu | head -c 2) -q rc resattr kernel boot_loader config_manage $BEOS_ADD_ONS_TRANSLATORS $BEOS_ADD_ONS_MEDIA $BEOS_ADD_ONS_INPUT_DEVICES \ libnet.so dprintf null zero random ps2_hid \tty console \ \config vga_text timezone_files keymap_files radeon.driver \ + nv.driver nm.driver mga.driver \ bfs_shell fs_shell_command \ || { echo "*** Build failed!" 1>&2 ; exit 1; } @@ -242,7 +243,7 @@ done cd $sourceDir/distro/${arch}.R1/beos/system/add-ons/kernel/drivers/bin $scd ${sPrefix}$sourceDir/distro/${arch}.R1/beos/system/add-ons/kernel/drivers/bin -for f in ps2_hid radeon.driver; do +for f in ps2_hid radeon.driver nv.driver mga.driver nm.driver; do $cp ${sPrefix}$f $targetDir/beos/system/add-ons/kernel/drivers/bin done @@ -346,7 +347,9 @@ for f in drivers/dev/dprintf drivers/dev/keyboard drivers/dev/null \ drivers/dev/misc/config drivers/dev/tty drivers/dev/zero \ drivers/dev/disk/scsi/scsi_dsk drivers/dev/disk/scsi/scsi_cd \ drivers/dev/misc/config drivers/dev/input/ps2_hid \ - drivers/dev/console drivers/dev/graphics/radeon.driver; do + drivers/dev/console drivers/dev/graphics/radeon.driver \ + drivers/dev/graphics/nv.driver drivers/dev/graphics/mga.driver \ + drivers/dev/graphics/nm.driver; do relName=$(echo $f | sed -e s@drivers/dev/@@) linkName=bin/$(basename $f) while [ $relName != . ]; do diff --git a/src/servers/app/Jamfile b/src/servers/app/Jamfile index b1a5c0c118..e293b1b8a3 100644 --- a/src/servers/app/Jamfile +++ b/src/servers/app/Jamfile @@ -12,6 +12,33 @@ UseHeaders [ FDirName $(OBOS_TOP) src servers app drawing Painter drawing_modes UseHeaders [ FDirName $(OBOS_TOP) src servers app drawing Painter font_support ] ; UseFreeTypeHeaders ; +SEARCH_SOURCE += [ FDirName $(SUBDIR) drawing ] ; + +if ( $(TARGET_PLATFORM) = haiku ) { + # This overrides the definition in private/servers/app/ServerConfig.h + defines = [ FDefines DISPLAYDRIVER=HWDRIVER ] ; + SubDirCcFlags $(defines) ; + SubDirC++Flags $(defines) ; + + VIEW_DRIVER_SOURCES = AccelerantDriver.cpp ; +} else { + VIEW_DRIVER_SOURCES = + fake_input_server.cpp + AccelerantDriver.cpp + BitmapDriver.cpp + ViewDriver.cpp + DirectDriver.cpp + # We'll just remove this from the build for a little while... + #ScreenDriver.cpp + # Painter based DisplayDriver Classes + BitmapBuffer.cpp + DisplayDriverPainter.cpp + HWInterface.cpp + UpdateQueue.cpp + ViewHWInterface.cpp + ; +} + SharedLibrary appserver : Angle.cpp BGet++.cpp @@ -20,15 +47,10 @@ SharedLibrary appserver : CursorData.cpp CursorHandler.cpp Decorator.cpp - drawing/DisplayDriver.cpp - drawing/DisplayDriverImpl.cpp - drawing/DisplaySupport.cpp FontFamily.cpp GraphicsBuffer.cpp IPoint.cpp LayerData.cpp - drawing/PatternHandler.cpp - drawing/PixelRenderer.cpp RectUtils.cpp RGBColor.cpp ServerBitmap.cpp @@ -39,11 +61,14 @@ SharedLibrary appserver : SystemPalette.cpp TokenHandler.cpp Utils.cpp -; -LinkSharedOSLibs libappserver.so : root be - libopenbeos.so - libfreetype.so ; + # drawing + PatternHandler.cpp + PixelRenderer.cpp + DisplayDriver.cpp + DisplayDriverImpl.cpp + DisplaySupport.cpp +; Server app_server : # Misc. Sources @@ -60,21 +85,9 @@ Server app_server : ServerWindow.cpp # DisplayDriver Classes - drawing/fake_input_server.cpp - # Clipper.cpp - drawing/AccelerantDriver.cpp - drawing/BitmapDriver.cpp - drawing/ViewDriver.cpp - drawing/DirectDriver.cpp - # We'll just remove this from the build for a little while... - #drawing/ScreenDriver.cpp - # Painter based DisplayDriver Classes - drawing/BitmapBuffer.cpp - drawing/DisplayDriverPainter.cpp - drawing/HWInterface.cpp - drawing/UpdateQueue.cpp - drawing/ViewHWInterface.cpp + $(VIEW_DRIVER_SOURCES) + # Clipper.cpp DefaultDecorator.cpp Layer.cpp RootLayer.cpp @@ -82,15 +95,25 @@ Server app_server : ServerScreen.cpp WinBorder.cpp Workspace.cpp - ; -LINKFLAGS on app_server ?= $(LINKFLAGS) ; -LINKFLAGS on app_server += -lbe ; +# link libraries for app_server and libappserver.so -LinkSharedOSLibs app_server : root game translation libz.so libpng.so libappserver.so - libpainter.a libopenbeos.so - libagg.a libfreetype.so textencoding ; +if $(TARGET_PLATFORM) = haiku { + LinkSharedOSLibs libappserver.so : + libroot.so libbe.so libfreetype.so ; + LinkSharedOSLibs app_server : + libroot.so libtranslation.so libz.so libpng.so libbe.so + libappserver.so libfreetype.so libtextencoding.so ; +} else { + LinkSharedOSLibs libappserver.so : + root be libopenbeos.so + libfreetype.so ; + LinkSharedOSLibs app_server : + root be game translation libz.so libpng.so libappserver.so + libpainter.a libopenbeos.so + libagg.a libfreetype.so textencoding ; +} SubInclude OBOS_TOP src servers app fonts ; SubInclude OBOS_TOP src servers app drawing Painter ;