From f82070f9871d281c2802c1624dcf222886b5fb50 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sun, 20 Jan 2008 13:14:00 +0000 Subject: 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 --- INSTALL | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) (limited to 'INSTALL') 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=<> +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=<> + 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=<> --with-ksource=<> + +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. -- cgit v1.2.3