Stephan Aßmus 748533bbf9 figured out and solved several problems:
* views are now correctly clipped when they are
  (partly) hidden under their parent(s)
* removed fIsTopView, the top view in a window
  simply has no parent
* introduced WindowLayer::CopyContents() which
  blits part of the contents to another location,
  while moving that part in the dirty regions. Since
  this is currently used from the Desktop thread,
  messing with the update session dirty regions
  requires now to lock the clipping
* that feature is now used for blitting a view to its
  new location in ViewLayer::MoveBy(), which
  works for right and/or bottom aligned views just fine
* I left the global dirty region in Desktop for now,
  moving it into each WindowLayer gave quite a slowdown
  and caused all kinds of other problems.
* a view is now cleared to the background color right
  before the first drawing command from the client
  is executed for that view, this reduces flickering
  a lot because the content is drawn much more shortly
  after the background is cleared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-28 19:28:38 +00:00

Setting Up
--------

The build system uses Jam/MR (http://www.perforce.com/jam/jam.html).
A BeOS executable of Jam 2.5 is available at:

  http://haiku-os.org/downloads.php?mode=download&id=10&mirror=0

Unzip the executable and copy it to /boot/home/config/bin.
The Jam source code is also included in the source tree. You can as well cd
into "src/tools/jam" and run "make" to obtain an executable.

To build Haiku you also need Oliver Tappe's GCC 2.95.3. You can get it at BeBits:

  http://www.bebits.com/app/4011

Older versions of GCC 2.95.3 will likely not work.


Configuring
--------

Open a Terminal and change to your Haiku trunk folder. To configure the build you
can run configure like this:

  $ ./configure --target=TARGET

Where "TARGET" is the target platform for the build. Valid targets are "r5", "bone",
"dano" and "haiku". If you omit the target it defaults to "haiku". To configure for ZETA
use the "dano" target.

The configure script generates a file named "BuildConfig" in the "build" directory.
As long as configure is not modified (!), there is no need to call it again. That is for
re-building you only need to invoke Jam or makehdimage (see below).
If you don't update the source tree very frequently, you may want to execute
configure after each update just to be on the safe side.


Building
--------

The preferred method to build Haiku (currently only possible on a BeOS machine)
is this:

  $ makehdimage /Haiku

Where "/Haiku" is the mounted BFS partition where you want to install Haiku on.
This can be any BFS partition with enough space available. Use DriveSetup to initialize
a partition to BFS.
If the parameter is omitted, makehdimage currently creates a 60 MB Haiku image in
this directory that you can use for Bochs, Qemu and other emulators to boot.

To build the whole source tree for your selected target platform (to use the apps,
drivers, add-ons, etc.) you can simply invoke Jam:

  $ jam

Or to build only a specific app/driver/etc. include it as an argument:

  $ jam Pulse

NOTE: If you have checked out the latest SVN revision, it is not unlikely that
some parts of the tree won't build.


Running
-------

Generally there are two ways of running Haiku. On real hardware using a partition
and on emulated hardware using an emulator like Bochs.

1. On Real Hardware

If you have installed Haiku to it's own partition you can include this partition in
your bootmanager and try to boot Haiku like any other OS you have installed.
To include a new partition in the BeOS bootmanager run this in a Terminal:

  $ bootman

And follow the steps of the installer.

2. On Emulated Hardware

For emulated hardware you should build a "haiku.image" using makehdimage without
arguments. How to setup this image depends on your emulater. A tutorial for Bochs
on BeOS is below.


Bochs
-----

Version 2.2 of Bochs for BeOS (BeBochs) can be downloaded from BeBits:

  http://www.bebits.com/app/3324

The package installs to: /boot/apps/BeBochs2.2

You have to set up a configuration for Bochs. You should edit the ".bochsrc" to include
the following:

ata0-master: type=disk, path="/path/to/haiku.image", cylinders=122, heads=16, spt=63
boot: disk

Now you can start Bochs:

  $ cd /boot/apps/BeBochs2.2
  $ ./bochs

Answer with RETURN and with some patience you will see Haiku booting.
If booting into the graphical evironment fails you can try to hit "space" at the very
beginning of the boot process. The Haiku bootloader should then come up and you can
select some safe mode options.


Docbook documentation
---------------------

Requirements :
- Docbook XML DTD (http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip)
- Docbook Stylesheets (http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.68.1.tar.bz2)
- libxml2, xmllin (http://libpak.neoni.net/packages/LibPak_libxml2_dev.zip)
- libxslt, xsltproc (http://libpak.neoni.net/packages/LibPak_libxslt_dev.zip)

XML catalogs must be configured to avoid internet access :
- in Docbook Stylesheets directory : sh ./INSTALL
- in your .profile, add something like this :
	export XML_CATALOG_FILES="/boot/home/docbook-xsl-1.68.1/catalog.xml /boot/home/docbook-xml-4.2/catalog.xml /etc/xml/catalog"
S
Description
No description provided
Readme
483 MiB
Languages
C++ 51.9%
C 46.9%
Assembly 0.4%
HTML 0.3%