[BACK]Return to README CVS log [TXT][DIR] Up to [local] / xenocara

Annotation of xenocara/README, Revision 1.2

1.1       matthieu    1:
                      2:        Notes on building Xenocara for OpenBSD X hackers
                      3:
                      4: This document presents some techniques that can be useful for people
                      5: wanting to hack the xenocara tree. It assumes some basic knowledge of
                      6: the OpenBSD build system, as described in the release(8) manual page.
                      7:
                      8: o About Xenocara
                      9:   --------------
                     10: Xenocara is the name choosen for OpenBSD's version of X. It's
                     11: currently based on X.Org 7.2 and its dependencies. The goal of
                     12: Xenocara is to provide a framework to host local modifications and to
                     13: automate the build of the modular X.Org components, including 3rd
                     14: party packages and some software maintained by OpenBSD developpers.
                     15:
                     16: o Source tree
                     17:   -----------
                     18:
                     19: The organisation of the xenocara directory follows the general
                     20: organisation used in X.Org:
                     21:
                     22: - app:      X applications and utilities
                     23: - data:             various data files (keyboard mappings and bitmaps)
                     24: - doc:      documentation
                     25: - driver:    input and video drivers
                     26: - font:             fonts
                     27: - lib:      libraries
                     28: - proto:     X protocol headers
                     29: - util:             utilities that don't fit anywhere else
                     30: - xserver:   the source for the X servers
                     31:
                     32: In addition Xenocara uses the following directories:
                     33:
                     34: - dist:            contains the Mesa sources, shared by lib and xserver above
                     35: - distrib:  all binary distribution related tools and data
                     36: - etc:     mtree(8) data files
                     37: - share:    make(1) configuration for xenocara
                     38:
1.2     ! matthieu   39: At the top-level directory two files describe the individual
        !            40: components of xenocara:
1.1       matthieu   41:
1.2     ! matthieu   42: - MODULES  lists all X.Org components (imported from the X.Org
        !            43:           distribution at http://xorg.freedesktop.org/archive/)
        !            44: - 3RDPARTY lists all 3rd party software components provided in Xenora,
        !            45:           either as dependencies of the X.Org software, or as
        !            46:           complements to it to provide a more useable default
        !            47:           environment.
        !            48:
        !            49: o Compiling and installing
        !            50:   ------------------------
        !            51:
        !            52: Xenocara is made of more than three hundred of different
        !            53: independant packages that need to be build and installed in the right
        !            54: order, especially while bootstraping (while /usr/X11R6 is still
        !            55: empty). The xenocara Makefiles take care of that using the 'build'
        !            56: target.
        !            57:
        !            58:   Requirements
        !            59:
        !            60: A freshly checked out xenocara tree is buildable without any external
        !            61: tool. However if you start modifying things in the automake build
        !            62: system used by many packages, you will need to have the following
        !            63: GNU autools packages installed:
        !            64:
        !            65:     - automake 1.9 (devel/automake/1.9)
        !            66:     - autoconf 2.59 (devel/autoconf/2.59)
        !            67:     - pkg-config 0.19 (or later) (devel/pkgconfig)
        !            68:     - libtool 1.5.22 (or later) (devel/libtool)
        !            69:
        !            70:   Sudo
        !            71:
        !            72: If the SUDO variable points to your sudo(8) binary in /etc/mk.conf,
        !            73: 'make build' can be run as a normal user. It will raise its privileges
        !            74: whenever needed with sudo. Otherwise, you need to run make build as
        !            75: root.
        !            76:
        !            77: If you have installed the full xenocara X sets on your system, you
        !            78: don't need to build all of xenocara to patch one element. You can go
        !            79: to any module sub-directory and run 'make build' from there.
        !            80:
        !            81:   Objdirs
        !            82:
        !            83: Xenocara supports objdirs (and it's even the recommended way to build
        !            84: things). Just run 'make obj' at any level before 'make build' to make
        !            85: sure the object directory is created.
        !            86:
        !            87: XXX support for objdirs need to be improved! XXX
        !            88:
        !            89:   Shadow trees
        !            90:
        !            91: Alternatively, the old 'lndir(1)' method can still be used to build
        !            92: xenocara outside of its source tree. Just don't use 'make obj' in this
        !            93: case.
        !            94:
        !            95: o Regenerating configure scripts
        !            96:   ------------------------------
        !            97:
        !            98: Whenever you touched an import file for GNU autotools (Makefile.am,
        !            99: configure.ac mostly), you need to rebuild the configure script and
        !           100: makefiles skeletons. For that use the following command:
        !           101:
        !           102:  env XENOCARA_RERUN_AUTOCONF=Yes make -f Makefile.bsd-wrapper build
        !           103:
        !           104: You can also set XENOCARA_RERUN_AUTOCONF in /etc/mk.conf to force
        !           105: regeneration of configure scripts in every component.
        !           106:
        !           107: $OpenBSD$