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 ;