radeonhd - the X.org X11 driver for AMD GPG r5xx/r6xx chipsets
Building and Installing
==============================================================


This INSTALL file contains the following sections:
  * Installation
  * Common problems during builds
  * Getting and updating the radeonhd source code
  * Feeding back source code



Installation
============

With X.Org 7.0 and later:

   $ ./autogen.sh
   $ make
   $ make install

This will litter all kinds of compiled files throughout your source tree.

With X.Org prior to 7.0:

   $ xmkmf -a
   $ make EXTRA_INCLUDES="-I/usr/include/xorg" all
   $ make install

This uses imake and is for compatibility with older systems.

To avoid building in your source tree, do:

   $ mkdir _b && cd _b
   $ ../autogen.sh
   $ make
   $ make install

Runs the build in _b/ - and if something is completely messed up, you can
safely remove the _b/ directory and create a new one without affecting any
source files.

Hint: If you happen to have multiple branches in your git source tree, you
      can have per-branch _b-BRANCH/ build trees and _i-BRANCH/ install
      trees. ("... configure/autogen.sh ... --prefix=$PWD/_i-BRANCH")

Note that none of these methods will install the rhd_conntest tool. The
"xmkmf" method always requires a separate "make" run in utils/conntest. The
other two will build rhd_conntest by default if its requirements are met.



Common problems during builds
=============================

Problem:
--------

,----[ output of ./autogen.sh ]----
|autoreconf: running: /usr/bin/autoconf
|configure.ac:35: error: possibly undefined macro: XORG_DRIVER_CHECK_EXT
|      If this token and others are legitimate, please use m4_pattern_allow.
|      See the Autoconf documentation.
|autoreconf: /usr/bin/autoconf failed with exit status: 1
`----

The same error can happen with missing macro definitions for
XORG_MANPAGE_SECTIONS or XORG_RELEASE_VERSION.

Solution:
---------

Your system lacks one or more of these files in /usr/share/aclocal:
    xorg-macros.m4 xorg-server.m4

Make sure you have all required X.org development packages installed. These
may be called xorg-dev, xorg-x11-server-sdk and xorg-x11-util-macros,
xorg-build-macros, xutils-dev, xorg-util-macros, or something similar.

If you're on a FreeBSD system, you probably need to install the
devel/xorg-macros port/package.



Getting and updating the radeonhd source code
=============================================

Released radeonhd tarballs can be downloaded from

   ftp://ftp.freedesktop.org/pub/individual/driver/

The name of the tarball will be xf86-video-radeonhd-<version>.tar.bz2


The developer version of radeonhd is maintained in the git repository found at

   git://anongit.freedesktop.org/git/xorg/driver/xf86-video-radeonhd

You can find information on using git at the git website http://git.or.cz/
and a short intro at

   http://www.freedesktop.org/wiki/Infrastructure/git/Developers

You can get a copy of the repository like this:

   $ git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-radeonhd

This will create a directory xf86-video-radeonhd in the current directory.

If you have not made any local changes and want to update you source code
with the newest stuff from the official radeonhd repository, you can run this:

   $ git pull

If you HAVE made local changes and committed them locally to your master
branch (with "git commit -a"), you will be better off running

   $ git fetch
   $ git rebase origin

If you're using more branches, or run into a conflict during rebasing, read
the git docs.



Feeding back source code
========================

You can easily create patches to send to the developers using git.

   $ vi some_file.c
   $ git status
   $ git diff
   $ git commit -a

   $ git format-patch origin

Then you can sift through the 0*.patch files and choose a few to send to
the radeonhd mailing list.


