summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorBernhard Walle <bwalle@suse.de>2008-08-26 11:11:59 +0200
committerSimon Horman <horms@verge.net.au>2008-08-27 12:17:13 +1000
commit76e8efd603bf0134788634d2290490e7e346cca2 (patch)
treedbfca2aa889dec293f8f5fc9d9e5866e370ce8ce /INSTALL
parentffe7ad89763e21952b44872951fb915bf9e9ca85 (diff)
Update INSTALL
That patch should merge my accidentally written INSTALL file with that already present in the git tree. It adds following items: - static compilation - cross compilation And updates the instructions to build the auto-generated files to use the "bootstrap" script already present. Signed-off-by: Bernhard Walle <bwalle@suse.de> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL83
1 files changed, 61 insertions, 22 deletions
diff --git a/INSTALL b/INSTALL
index e422868..442215f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,38 +1,77 @@
-To build kexec-tools
+Installation
+============
-1. If ./include/config.h.in doesn't exist, create it
- # autoheader
+Checkout from git
+-----------------
- If you obtain kexec-tools from a released tarball, you can ommit this
- step. If on the other hand you obtain kexec-tools from git or some
- other revision control system, then you will probably need to do this.
+If you use the tarball, you can just skip that section. If you checked out the
+kexec-tools from git repository, you have to build the Autoconf-generated
+file yourself with running
-2. If ./configure deosn't exist, create it
+ ./bootstrap
- # autoconf
+You have to install "autoconf" for that. After that, you should have a file
+called "configure" in the top-level directory of kexec-tools, and you can
+continue with the next step.
- As per ./include/config.h.in, if you obtain kexec-tools from a released
- tarball, you can ommit this step. If on the other hand you obtain
- kexec-tools from git or some other revision control system, then you
- will probably need to do this.
-3. Run ./configure [--prefix=/usr/local] [options]...
+General
+-------
- e.g.
- # ./configure --prefix=/usr/local
+You should check first if your favourite Linux distribution doesn't offer a
+package. If that package is recent enough, you should consider using that
+package instead.
- For a full list of options run
+However, if you want to install kexec-tools from sources
- # ./configure --help
+ (1) Run ./configure [--prefix=/usr/local] [options]...
+ e.g.
-4. Run make
+ ./configure --prefix=/usr/local
- # make
+ For a full list of options run
-To install kexec-tools
+ ./configure --help
- After following the above instructions to build-kexec tools, run
+ (2) Run make
- # make install
+ make
+
+ (3) To install kexec-tools
+ After following the above instructions to build-kexec tools, run
+
+ make install
+
+
+Static compilation
+------------------
+
+To compile kexec-tools statically (i.e., independent of libraries that are
+present on the system), use
+
+ LDFLAGS=-static ./configure <options>
+
+instead.
+
+
+Cross compilation
+-----------------
+
+Because kexec is also used in the embedded world, cross-compilation is
+supported. You cannot only set "CC", "LD", "CCFLAGS" and "LDFLAGS" environment
+variables for the ./configure call as usual, you can also set
+
+ TARGET_CC -- the C compiler used for files that should run on the
+ target
+ TARGET_CCFLAGS -- compilation flags for $TARGET_CC
+ TARGET_LD -- linker used for files that should run on the
+ target
+
+Because the build process also requires files that must be executed during the
+build, you also need a host compiler, only the target compiler is not enough.
+
+ BUILD_CC -- the C compiler used for files that should run on the
+ host (the system that builds the kexec-tools)
+ BUILD_CFLAGS -- compilation flags for $BUILD_CC