------------------------------------------------------------------------------- HACKING ------------------------------------------------------------------------------- Development Guidelines ---------------------- Please read http://www.coreboot.org/Development_Guidelines. Doxygen-generated Code/API Documentation ---------------------------------------- The source code of coreboot is documented using Doxygen-style code comments. The Doxygen tool can generate HTML API documentation out of these comments. You can generate this documentation via: make doxy The documentation will be stored in the doxygen/html directory. The generation of the documentation takes ca. 1-2 minutes, and may require more than 30 MB of space on the hard drive, depending on the options selected in the Doxygen config file, util/doxygen/Doxyfile.coreboot. Required software: * Doxygen (tested with Doxgen 1.5.1) http://www.doxygen.org/ * dot (>= 1.8.10) http://www.graphviz.org/ Building on Mac OS X ------------------- You have to install MacPorts (tried with 1.4). Then you go $ sudo port install gettext $ sudo port install bison $ sudo port install i386-elf-binutils $ sudo port install i386-elf-gcc $ rehash Third-party Code and License Overview ------------------------------------- * util/dtc/*: GPLv2 or later Source: git://www.jdl.com/software/dtc.git Current version we use: 332c53642557a018ca9c729a4cd284c6e34b7f72 (07/2006) * util/kconfig/*: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: 15508d22d00277a1f2a1022dce38f2772c810d32 (02/2006) * util/lar/*: GPLv2 Independant project, but written specifically for coreboot. * util/lar/elf.h: LGPL-2.1 or later Source: glibc, http://ftp.gnu.org/gnu/glibc/ Original files: elf/elf.h Current version we use: 2.7 * include/lar.h, util/lar/lar.h, util/lar/example.c: Dual-licensed (GPLv2 + revised BSD license) * util/lzma/C/*: Dual-licensed, LGPL + Common Public License (CPL). There's a special exception, please see util/lzma/C/7zip/Decompress/LzmaDecode.c. Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/ Current version we use: LZMA SDK 4.42 (05/2006) * util/lzma/minilzma.cc: ? Source: ? Current version we use: ? * util/nrv2b/nrv2b.c: ? Source: ? Current version we use: ? * include/elf.h: LGPLv2.1 or later Source: The GNU C Library, http://www.gnu.org/software/libc/ You can get the latest version of the file via CVS: cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc/elf/elf.h Current version we use: CVS rev. 1.156 * include/device/pci_ids.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: e81e557a8f1e22fab1b1bdc649ac0d24017ddce2 * lib/lzmadecode.[ch]: Dual-licensed, LGPL + Common Public License (CPL). There's a special exception, please see lib/lzmadecode.[ch]. Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/ Current version we use: LZMA SDK 4.40 (05/2006) * lib/compute_ip_checksum.c, include/ip_checksum.h: GPLv2 Source: kexec-tools, http://www.xmission.com/~ebiederm/files/kexec/ Current version we use: kexec-tools 1.101 * lib/clog2.c: Triple-licensed, MPL 1.1/GPL 2.0/LGPL 2.1 Source: http://lxr.mozilla.org/mozilla1.8.0/source/js/src/jscpucfg.c Current version we use: CVS rev. 3.25 * include/arch/x86/div64.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: e2afe67453e5b1499459ee3596b1e7924a5208f5 * include/arch/x86/cpu.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Files: include/asm-i386/processor.h, arch/i386/kernel/cpu/mtrr/state.c Current version we use: 297d9c035edd04327fedc0d1da27c2b112b66fcc (06/2007) * include/arch/x86/arch/spinlock.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Files: include/asm-i386/spinlock.h, include/asm-i386/spinlock_types.h Current version we use: 139ec7c416248b9ea227d21839235344edfee1e0 (12/2006) * include/arch/x86/swab.h: GPLv2 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Current version we use: ? * arch/x86/i8259.c: GPLv2 Source: Linux kernel, arch/i386/boot/setup.S Current version we use: Linux 2.2.26 * console/vsprintf.c, console/vtxprintf.c: GPLv2 Source: Linux kernel, lib/vsprintf.c Current version we use: ?