path: root/INSTALL
diff options
authorJan Engelhardt <>2009-07-23 17:41:21 +0200
committerJan Engelhardt <>2009-07-25 21:40:56 +0200
commitb79ec69027fd8b65e7eccd78a445b6665e8ad53b (patch)
treed0fa5dae1958bbf190844ea109e7ed27fa778b60 /INSTALL
parent4186f8aa0b113ea1a52aa90292ff89b96bed9c39 (diff)
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 <>
Diffstat (limited to 'INSTALL')
1 files changed, 30 insertions, 11 deletions
diff --git a/INSTALL b/INSTALL
index 4a44989e..acb56cd5 100644
@@ -41,18 +41,22 @@ Configuring and compiling
It is enabled by default.
+ Produce additional binaries, iptables-static/ip6tables-static,
+ which have all shipped extensions compiled in.
+ Produce binaries that have dynamic loading of extensions disabled.
+ This implies --enable-static.
+ (See some details below.)
This option causes libipq to be installed into ${libdir} and
- Enable building single standalone multipurpose binaries,
- (iptables-static and ip6tables-static), which contain every
- extension compiled-in (and does not support additional
- extensions).
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.