xref: /aosp_15_r20/external/iptables/INSTALL (revision a71a954618bbadd4a345637e5edcf36eec826889)
1*a71a9546SAutomerger Merge WorkerInstallation instructions for iptables
2*a71a9546SAutomerger Merge Worker======================================
3*a71a9546SAutomerger Merge Worker
4*a71a9546SAutomerger Merge Workeriptables uses the well-known configure(autotools) infrastructure.
5*a71a9546SAutomerger Merge Worker
6*a71a9546SAutomerger Merge Worker	$ ./configure
7*a71a9546SAutomerger Merge Worker	$ make
8*a71a9546SAutomerger Merge Worker	# make install
9*a71a9546SAutomerger Merge Worker
10*a71a9546SAutomerger Merge Worker
11*a71a9546SAutomerger Merge WorkerPrerequisites
12*a71a9546SAutomerger Merge Worker=============
13*a71a9546SAutomerger Merge Worker
14*a71a9546SAutomerger Merge Worker	* no kernel-source required
15*a71a9546SAutomerger Merge Worker
16*a71a9546SAutomerger Merge Worker	* but obviously a compiler, glibc-devel and linux-kernel-headers
17*a71a9546SAutomerger Merge Worker	  (/usr/include/linux)
18*a71a9546SAutomerger Merge Worker
19*a71a9546SAutomerger Merge Worker
20*a71a9546SAutomerger Merge WorkerConfiguring and compiling
21*a71a9546SAutomerger Merge Worker=========================
22*a71a9546SAutomerger Merge Worker
23*a71a9546SAutomerger Merge Worker./configure [options]
24*a71a9546SAutomerger Merge Worker
25*a71a9546SAutomerger Merge Worker--prefix=
26*a71a9546SAutomerger Merge Worker
27*a71a9546SAutomerger Merge Worker	The prefix to put all installed files under. It defaults to
28*a71a9546SAutomerger Merge Worker	/usr/local, so the binaries will go into /usr/local/bin, sbin,
29*a71a9546SAutomerger Merge Worker	manpages into /usr/local/share/man, etc.
30*a71a9546SAutomerger Merge Worker
31*a71a9546SAutomerger Merge Worker--with-xtlibdir=
32*a71a9546SAutomerger Merge Worker
33*a71a9546SAutomerger Merge Worker	The path to where Xtables extensions should be installed to. It
34*a71a9546SAutomerger Merge Worker	defaults to ${libdir}/xtables.
35*a71a9546SAutomerger Merge Worker
36*a71a9546SAutomerger Merge Worker--enable-devel (or --disable-devel)
37*a71a9546SAutomerger Merge Worker
38*a71a9546SAutomerger Merge Worker	This option causes development files to be installed to
39*a71a9546SAutomerger Merge Worker	${includedir}, which is needed for building additional packages,
40*a71a9546SAutomerger Merge Worker	such as Xtables-addons or other 3rd-party extensions.
41*a71a9546SAutomerger Merge Worker
42*a71a9546SAutomerger Merge Worker	It is enabled by default.
43*a71a9546SAutomerger Merge Worker
44*a71a9546SAutomerger Merge Worker--enable-static
45*a71a9546SAutomerger Merge Worker
46*a71a9546SAutomerger Merge Worker	Produce additional binaries, iptables-static/ip6tables-static,
47*a71a9546SAutomerger Merge Worker	which have all shipped extensions compiled in.
48*a71a9546SAutomerger Merge Worker
49*a71a9546SAutomerger Merge Worker--disable-shared
50*a71a9546SAutomerger Merge Worker
51*a71a9546SAutomerger Merge Worker	Produce binaries that have dynamic loading of extensions disabled.
52*a71a9546SAutomerger Merge Worker	This implies --enable-static.
53*a71a9546SAutomerger Merge Worker	(See some details below.)
54*a71a9546SAutomerger Merge Worker
55*a71a9546SAutomerger Merge Worker--enable-libipq
56*a71a9546SAutomerger Merge Worker
57*a71a9546SAutomerger Merge Worker	This option causes libipq to be installed into ${libdir} and
58*a71a9546SAutomerger Merge Worker	${includedir}.
59*a71a9546SAutomerger Merge Worker
60*a71a9546SAutomerger Merge Worker--with-ksource=
61*a71a9546SAutomerger Merge Worker
62*a71a9546SAutomerger Merge Worker	Xtables does not depend on kernel headers anymore, but you can
63*a71a9546SAutomerger Merge Worker	optionally specify a search path to include anyway. This is
64*a71a9546SAutomerger Merge Worker	probably only useful for development.
65*a71a9546SAutomerger Merge Worker
66*a71a9546SAutomerger Merge WorkerIf you want to enable debugging, use
67*a71a9546SAutomerger Merge Worker
68*a71a9546SAutomerger Merge Worker	./configure CFLAGS="-ggdb3 -O0"
69*a71a9546SAutomerger Merge Worker
70*a71a9546SAutomerger Merge Worker(-O0 is used to turn off instruction reordering, which makes debugging
71*a71a9546SAutomerger Merge Workermuch easier.)
72*a71a9546SAutomerger Merge Worker
73*a71a9546SAutomerger Merge WorkerTo show debug traces you can add -DDEBUG to CFLAGS option
74*a71a9546SAutomerger Merge Worker
75*a71a9546SAutomerger Merge Worker
76*a71a9546SAutomerger Merge WorkerOther notes
77*a71a9546SAutomerger Merge Worker===========
78*a71a9546SAutomerger Merge Worker
79*a71a9546SAutomerger Merge WorkerThe make process will automatically build multipurpose binaries.
80*a71a9546SAutomerger Merge WorkerThese have the core (iptables), -save, -restore and -xml code
81*a71a9546SAutomerger Merge Workercompiled into one binary, but extensions remain as modules.
82*a71a9546SAutomerger Merge Worker
83*a71a9546SAutomerger Merge Worker
84*a71a9546SAutomerger Merge WorkerStatic and shared
85*a71a9546SAutomerger Merge Worker=================
86*a71a9546SAutomerger Merge Worker
87*a71a9546SAutomerger Merge WorkerBasically there are three configuration modes defined:
88*a71a9546SAutomerger Merge Worker
89*a71a9546SAutomerger Merge Worker --disable-static --enable-shared (this is the default)
90*a71a9546SAutomerger Merge Worker
91*a71a9546SAutomerger Merge Worker	Build a binary that relies upon dynamic loading of extensions.
92*a71a9546SAutomerger Merge Worker
93*a71a9546SAutomerger Merge Worker --enable-static --enable-shared
94*a71a9546SAutomerger Merge Worker
95*a71a9546SAutomerger Merge Worker	Build a binary that has the shipped extensions built-in, but
96*a71a9546SAutomerger Merge Worker	is still capable of loading additional extensions.
97*a71a9546SAutomerger Merge Worker
98*a71a9546SAutomerger Merge Worker --enable-static --disable-shared
99*a71a9546SAutomerger Merge Worker
100*a71a9546SAutomerger Merge Worker	Shipped extensions are built-in, and dynamic loading is
101*a71a9546SAutomerger Merge Worker	deactivated.
102