summaryrefslogtreecommitdiffstats
path: root/INSTALL
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2008-01-20 13:14:00 +0000
committerPatrick McHardy <kaber@trash.net>2008-01-20 13:14:00 +0000
commitf82070f9871d281c2802c1624dcf222886b5fb50 (patch)
treec0e633b0867a4caab39d55b74f8521ecac724520 /INSTALL
parent8e707d7c64c53c92a36b6c609b129aba8e51fab7 (diff)
Converts the iptables build infrastructure to autotools.
- Can build both static and dynamic at the same time - iptables-static will be a multi-binary, semi-static (link against libc but w/o dynamic plugins) - Always build IPv6 modules - consider INSTALL Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL47
1 files changed, 26 insertions, 21 deletions
diff --git a/INSTALL b/INSTALL
index 5e840c65..a41e0cc5 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,15 +5,21 @@ FOLLOW THESE STEPS:
in a seperate package, called patch-o-matic. It is available from
ftp://ftp.netfilter.org/pub/patch-o-matic/
-1) Next, make the package.
- % make KERNEL_DIR=<<where-you-built-your-kernel>>
+1) Next, make the package. If you use a standard distribution kernel,
+ just run ./configure.
-2) Finally, you need to to install the shared libraries, and the binary:
- # make install KERNEL_DIR=<<where-you-built-your-kernel>>
+ If you want to build against an own kernel tree:
-If you are a developer, you can install the headers, development libraries
-and associated development man pages, with:
- # make install-devel
+ $ ./configure --with-kernel=/home/jengelh/mykernel
+
+ or whereever you put it. If you are using a dedicated kernel build
+ directory, you use:
+
+ $ ./configure --with-kbuild=<<where-built>> --with-ksource=<<source>>
+
+2) Finally, you need to install the binaries and shared libraries:
+
+ # make install
That's it!
================================================================
@@ -21,27 +27,26 @@ PROBLEMS YOU MAY ENCOUNTER:
1) This package requires a 2.4.4 kernel, or above.
-2) If you get the kernel directory wrong, you may see a message like:
- Please try `make KERNEL_DIR=path-to-correct-kernel'
+2) If you get the kernel directory wrong, you may get compile failures.
3) If you want to specify alternate directories for installation
(instead of /usr/local/ bin lib man), do this:
- % make BINDIR=/usr/bin LIBDIR=/usr/lib MANDIR=/usr/man
- # make BINDIR=/usr/bin LIBDIR=/usr/lib MANDIR=/usr/man install
+ $ ./configure --prefix=/usr
+ $ make
+ # make install
+
+4) The make process will automatically build a multipurpose binary under the
+ names iptables-multi and ip6tables-multi.
-4) If you want to build a statically linked version of the iptables binary,
+5) If you want to build a statically linked version of the iptables binary,
without the need for loading the plugins at runtime (e.g. for an embedded
device or router-on-a-disk), please use
- % make NO_SHARED_LIBS=1
-
-5) If you want to build a single BusyBox style multipurpose binary instead of
- the individual iptables, iptables-save and iptables-restore binaries, then
- please use
+ $ ./configure --enable-static
- % make DO_MULTI=1
+ which will build both a semi-static multi binary (iptables-mtss, uses
+ libc but not plugins) and a fully static multi binary (iptables-static).
-NOTE: make sure you build with at least the correct LIBDIR=
-specification, otherwise iptables(8) won't know where to find the
-dynamic objects.
+6) If you want to install libipq (old interface), add --enable-devel to
+ ./configure.