Installation instructions for Xtables-addons ============================================ Xtables-addons uses the well-known configure(autotools) infrastructure in combination with the kernel's Kbuild system. $ ./configure $ make # make install Prerequirements =============== * xtables(-devel) 1.5.0 * kernel-source >= 2.6.19 with prepared output directory Configuring and compiling ========================= ./configure [options] --with-kbuild= Specifies the path to the kernel build output directory. We need it for building the kernel extensions. It defaults to /lib/modules/$(running version)/build, which usually points to the right directory. (If not, you need to install something.) --with-ksource= Specifies the path to the kernel source directory. This is currently needed for building the userspace extensions because we use unsanitized kernel headers, but the option MAY DISAPPEAR IN FUTURE. --with-ksource=/usr/src/linux --with-xtables= Specifies the path to the directory where we may find xtables.h, should it not be within the standard C compiler include path (/usr/include), or if you want to override it. The directory will be checked for xtables.h and include/xtables.h. (This is to support the following specs:) --with-xtables=/usr/src/xtables --with-xtables=/usr/src/xtables/include --with-xtables=/opt/xtables/include --with-libxtdir= Specifies the path to where the newly built extensions should be installed when `make install` is run. It uses the same default as the Xtables package, ${libexecdir}/xtables. If you want to enable debugging, use ./configure CFLAGS="-ggdb3 -O0" (-O0 is used to turn off instruction reordering, which makes debugging much easier.) Note to distribution packagers ============================== Except for --with-kbuild, distributions should not have a need to supply any other flags (besides --prefix=/usr and perhaps --libdir=/usr/lib64, etc.) to configure when all prerequired packages are installed. If xtables-devel is installed, necessary headers should be in /usr/include, so --with-xtables is not needed.