1------------------------------------------------------------------------------- 2HACKING 3------------------------------------------------------------------------------- 4 5Development Guidelines 6---------------------- 7 8Please read http://www.coreboot.org/Development_Guidelines. 9 10 11Doxygen-generated Code/API Documentation 12---------------------------------------- 13 14The source code of coreboot is documented using Doxygen-style code comments. 15The Doxygen tool can generate HTML API documentation out of these comments. 16 17You can generate this documentation via: 18 19 make doxy 20 21The documentation will be stored in the doxygen/html directory. 22 23The generation of the documentation takes ca. 1-2 minutes, and may require 24more than 30 MB of space on the hard drive, depending on the options 25selected in the Doxygen config file, util/doxygen/Doxyfile.coreboot. 26 27Required software: 28 29 * Doxygen (tested with Doxgen 1.5.1) 30 http://www.doxygen.org/ 31 32 * dot (>= 1.8.10) 33 http://www.graphviz.org/ 34 35Building on Mac OS X 36------------------- 37 38You have to install MacPorts (tried with 1.4). 39 40Then you go 41 42 $ sudo port install gettext 43 $ sudo port install bison 44 $ sudo port install i386-elf-binutils 45 $ sudo port install i386-elf-gcc 46 $ rehash 47 48Third-party Code and License Overview 49------------------------------------- 50 51* util/dtc/*: GPLv2 or later 52 Source: git://www.jdl.com/software/dtc.git 53 Current version we use: 332c53642557a018ca9c729a4cd284c6e34b7f72 (07/2006) 54 55* util/kconfig/*: GPLv2 56 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 57 Current version we use: 15508d22d00277a1f2a1022dce38f2772c810d32 (02/2006) 58 59* util/lar/*: GPLv2 60 Independant project, but written specifically for coreboot. 61 62* util/lar/elf.h: LGPL-2.1 or later 63 Source: glibc, http://ftp.gnu.org/gnu/glibc/ 64 Original files: elf/elf.h 65 Current version we use: 2.7 66 67* include/lar.h, util/lar/lar.h, util/lar/example.c: 68 Dual-licensed (GPLv2 + revised BSD license) 69 70* util/lzma/C/*: Dual-licensed, LGPL + Common Public License (CPL). There's 71 a special exception, please see util/lzma/C/7zip/Decompress/LzmaDecode.c. 72 Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/ 73 Current version we use: LZMA SDK 4.42 (05/2006) 74 75* util/lzma/minilzma.cc: ? 76 Source: ? 77 Current version we use: ? 78 79* util/nrv2b/nrv2b.c: ? 80 Source: ? 81 Current version we use: ? 82 83* include/elf.h: LGPLv2.1 or later 84 Source: The GNU C Library, http://www.gnu.org/software/libc/ 85 You can get the latest version of the file via CVS: 86 cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc/elf/elf.h 87 Current version we use: CVS rev. 1.156 88 89* include/device/pci_ids.h: GPLv2 90 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 91 Current version we use: e81e557a8f1e22fab1b1bdc649ac0d24017ddce2 92 93* lib/lzmadecode.[ch]: Dual-licensed, LGPL + Common Public License (CPL). 94 There's a special exception, please see lib/lzmadecode.[ch]. 95 Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/ 96 Current version we use: LZMA SDK 4.40 (05/2006) 97 98* lib/compute_ip_checksum.c, include/ip_checksum.h: GPLv2 99 Source: kexec-tools, http://www.xmission.com/~ebiederm/files/kexec/ 100 Current version we use: kexec-tools 1.101 101 102* lib/clog2.c: Triple-licensed, MPL 1.1/GPL 2.0/LGPL 2.1 103 Source: http://lxr.mozilla.org/mozilla1.8.0/source/js/src/jscpucfg.c 104 Current version we use: CVS rev. 3.25 105 106* include/arch/x86/div64.h: GPLv2 107 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 108 Current version we use: e2afe67453e5b1499459ee3596b1e7924a5208f5 109 110* include/arch/x86/cpu.h: GPLv2 111 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 112 Files: include/asm-i386/processor.h, arch/i386/kernel/cpu/mtrr/state.c 113 Current version we use: 297d9c035edd04327fedc0d1da27c2b112b66fcc (06/2007) 114 115* include/arch/x86/arch/spinlock.h: GPLv2 116 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 117 Files: include/asm-i386/spinlock.h, include/asm-i386/spinlock_types.h 118 Current version we use: 139ec7c416248b9ea227d21839235344edfee1e0 (12/2006) 119 120* include/arch/x86/swab.h: GPLv2 121 Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 122 Current version we use: ? 123 124* arch/x86/i8259.c: GPLv2 125 Source: Linux kernel, arch/i386/boot/setup.S 126 Current version we use: Linux 2.2.26 127 128* console/vsprintf.c, console/vtxprintf.c: GPLv2 129 Source: Linux kernel, lib/vsprintf.c 130 Current version we use: ? 131 132

