SubDir TOP haiku-on-genode kits interface ;
SetupHeadersHoG ;
UsePrivateHeaders app interface shared print tracker ; # find AppMisc.h, ColorConversion.h, AutoDeleter.h, pr_server.h
# also find AutoLock.h ... (only in layer 7+, for Shelf.cpp) -- Shelf.cpp really should be fixed to rely on Autodeleter-styles classes in lower kits, rather than on a *Tracker* class in upper libtracker.so
SubDirHdrs $(TOP)/haiku-on-genode/headers/private ; # find binary_compatibility/Interface.h
SubDirHdrs $(TOP)/haiku-on-genode/sys-icon ; # find IconUtils.h for BAlert etc
SubDirHdrs $(TOP)/haiku-on-genode/kits/app-private ; # find ServerReadOnlyMemory.h
SubDirHdrs $(TOP)/haiku-on-genode/kits/interface-private ; # find ViewLayoutItem.h
SubDirHdrs $(TOP)/haiku-on-genode/kits/locale-private ; # find SystemCatalog.h
SubDirC++Flags
-Wno-missing-field-initializers
;
SEARCH_SOURCE += $(SUBDIR)/layouter ;
SEARCH_SOURCE += $(SUBDIR)/textview_support ;
if $(GE_DECORATIONS_AND_WM) <= 0
{
# DESCRIPTION:
# If that switch is undefined (or set to 0) the below will set a #define
# so that we won't use any 'server side' decorations, and instead
# enable our own client-side window-manager and decorations painting.
# On the other hand,
# if you're building haiku.lib.so for SculptOS, you'll want to use
# SculptOS/Genode-side decorations and WM, by setting var GE_DECORATIONS_AND_WM=1 .
#
# REBUILDING on changes:
# If the environ variable "GE_DECORATIONS_AND_WM" is set initially and never changed again,
# no problem. However, if you ever change its value back and forth after starting building,
# either do a full rebuild ("jam -a .....") or trigger a rebuild of just the concerned files
# by 'touching' the relevant header ("touch haiku-on-genode/kits/interface/_CanvasGenode.h" ).
#
SubDirC++Flags -DHAS_MICRO_WINDOW_MANAGER=1 ;
}
# else:
# Shell var "GE_DECORATIONS_AND_WM" is set, so do not activate our custom decorator, do not #define HAS_MICRO_WINDOW_MANAGER to 'true'
#SubDirC++Flags -DHAS_MICRO_WINDOW_MANAGER=0 ;
if $(LayerLevel) >= 5
{
HaikuKit interface_kit.a :
# HoG-private:
_CanvasGenode.cpp
_GeInput.cpp
_WindowNitpickerPriv.cpp
# original haiku jamfile follows:
AbstractLayoutItem.cpp
Alignment.cpp
Bitmap.cpp
ColorConversion.cpp #++ move to interface-private/
Control.cpp
ControlLook.cpp
Font.cpp
Gradient.cpp
GradientLinear.cpp
GraphicsDefs.cpp
HaikuControlLook.cpp
InterfaceDefs.cpp
Layout.cpp
LayoutContext.cpp
LayoutItem.cpp
LayoutUtils.cpp
Menu.cpp
MenuBar.cpp
MenuField.cpp
MenuItem.cpp
Point.cpp
PopUpMenu.cpp
Rect.cpp
Region.cpp
RegionSupport.cpp
Screen.cpp
ScrollBar.cpp
SeparatorItem.cpp
Shape.cpp
TextView.cpp
View.cpp
Window.cpp
# BTextView support
InlineInput.cpp
LineBuffer.cpp
StyleBuffer.cpp
TextGapBuffer.cpp
UndoBuffer.cpp
WidthBuffer.cpp
;
}
if $(LayerLevel) >= 6
{
# BAlert is required by demos/Clock, which in turn requires BButton & layout:
HaikuKit interface_kit.a :
AbstractLayout.cpp
AffineTransform.cpp
Alert.cpp
Box.cpp
Button.cpp
CardLayout.cpp
CheckBox.cpp
ColorControl.cpp
Deskbar.cpp # required by demos/Pulse
Dragger.cpp
GroupLayout.cpp
GroupView.cpp # required by pulse/mandel
Polygon.cpp
SpaceLayoutItem.cpp
StringView.cpp # required by pulse/mandel
TabView.cpp # required by demos/Pulse
TwoDimensionalLayout.cpp
# layouter
CollapsingLayouter.cpp
ComplexLayouter.cpp
Layouter.cpp
LayoutOptimizer.cpp
OneElementLayouter.cpp
RadioButton.cpp
ScrollView.cpp
SimpleLayouter.cpp
TextControl.cpp
;
}
if $(LayerLevel) >= 7
{
HaikuKit interface_kit.a :
GradientRadial.cpp
OptionControl.cpp
OptionPopUp.cpp
Picture.cpp
Slider.cpp
SplitLayout.cpp
SplitView.cpp
StatusBar.cpp
;
}
if $(LayerLevel) >= 8 #DONE***/// make that "8" ? Indeed these are not needed by AC, just by "extra layer" ArmyKnife... And for deskbar/tracker..
{
HaikuKit interface_kit.a :
# for AK (& AC ?):
ListItem.cpp
ListView.cpp
StringItem.cpp
# for Tracker/Deskbar:
GridLayout.cpp
GridLayoutBuilder.cpp
GridView.cpp
GroupLayoutBuilder.cpp
SeparatorView.cpp
Shelf.cpp
;
}
if $(LayerLevel) >= 9
{
HaikuKit interface_kit.a :
CardView.cpp
# ChannelControl.cpp
# ChannelSlider.cpp
# ColorMenuItem.cpp
# DecorInfo.cpp
# GradientRadialFocus.cpp
# GradientDiamond.cpp
# GradientConic.cpp
#
# Input.cpp
#
#
#
OutlineListView.cpp
# PictureButton.cpp
# PictureDataWriter.cpp
# PicturePlayer.cpp
# PrintJob.cpp
# PrivateScreen.cpp
# Size.cpp
# SplitLayoutBuilder.cpp
#
# TextInput.cpp
# ToolTip.cpp
# ToolTipManager.cpp
#
# ViewPort.cpp
#
# : <$(architecture)>libshared.a
;
}
# find gems/chunky_texture.h :
ObjectHdrs _CanvasGenode.cpp :
$(GenodeRepos)/gems/include
;
#StaticLibrary [ MultiArchDefaultGristFiles libcolumnlistview.a ] :
# ColumnListView.cpp
# ColumnTypes.cpp
# ;