From b79ec69027fd8b65e7eccd78a445b6665e8ad53b Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 23 Jul 2009 17:41:21 +0200 Subject: build: combine iptables-multi and iptables-static Changed the Makefile so that: 1. --enable-shared / --disable-shared control the linkage against libdl (and thus the potential to use 3rd party extensions) 2. --enable-static / --disable-static controls whether shipped extensions are built-in or provided as modules iptables-static becomes redundant by this action; iptables-multi now has the feature. Signed-off-by: Jan Engelhardt --- INSTALL | 41 ++++++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 11 deletions(-) (limited to 'INSTALL') diff --git a/INSTALL b/INSTALL index 4a44989e..acb56cd5 100644 --- a/INSTALL +++ b/INSTALL @@ -41,18 +41,22 @@ Configuring and compiling It is enabled by default. +--enable-static + + Produce additional binaries, iptables-static/ip6tables-static, + which have all shipped extensions compiled in. + +--disable-shared + + Produce binaries that have dynamic loading of extensions disabled. + This implies --enable-static. + (See some details below.) + --enable-libipq This option causes libipq to be installed into ${libdir} and ${includedir}. ---enable-static - - Enable building single standalone multipurpose binaries, - (iptables-static and ip6tables-static), which contain every - extension compiled-in (and does not support additional - extensions). - --with-ksource= Xtables does not depend on kernel headers anymore, but you can @@ -74,7 +78,22 @@ The make process will automatically build multipurpose binaries. These have the core (iptables), -save, -restore and -xml code compiled into one binary, but extensions remain as modules. -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), you can use the --enable-static -configure flag. + +Static and shared +================= + +Basically there are three configuration modes defined: + + --disable-static --enable-shared (this is the default) + + Build a binary that relies upon dynamic loading of extensions. + + --enable-static --enable-shared + + Build a binary that has the shipped extensions built-in, but + is still capable of loading additional extensions. + + --enable-static --disable-shared + + Shipped extensions are built-in, and dynamic loading is + deactivated. -- cgit v1.2.3