buildroot/package/iputils/Config.in
Alejandro González 95b0078cc0 package/iputils: add config options to select which binaries to build/install
By default, the iputils build script might build binaries which are
useless for certain applications, like tftpd or ninfod. Those binaries
will add to the target filesystem size unless a post-build script removes
them manually, which is cumbersome and doesn't shorten build times.

In particular, in a certain aarch64 Buildroot project with musl selected
as a C library, this patch allowed to shrink the full iputils package from
219 KiB (if every option is selected) to 63 KiB (with only the ping
binary selected) - a 71.2% relative size decrease.

Moreover, upstream recently introduced a commit that disabled tftpd from
building by default, like rarpd. In the current state of things, this change
will introduce inconveniences for Buildroot users which prefer to use the
tftpd implementation provided by this package. With this patch, however, that
decision and similar future ones won't be a concern, because they will
have complete control of what binaries are built.

These changes add Kconfig options which let the user select what
binaries are built with ease.

Signed-off-by: Alejandro González <alejandro.gonzalez.correo@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-09-03 21:47:55 +02:00

77 lines
1.3 KiB
Plaintext

config BR2_PACKAGE_IPUTILS
bool "iputils"
depends on BR2_USE_MMU # fork()
help
This package is set of small useful utilities for Linux
networking. It includes complete versions of ping, traceroute,
etc.
https://github.com/iputils/iputils
if BR2_PACKAGE_IPUTILS
config BR2_PACKAGE_IPUTILS_ARPING
bool "arping"
default y
help
Installs arping.
config BR2_PACKAGE_IPUTILS_CLOCKDIFF
bool "clockdiff"
default y
help
Installs clockdiff.
config BR2_PACKAGE_IPUTILS_PING
bool "ping"
default y
help
Installs ping.
config BR2_PACKAGE_IPUTILS_RARPD
bool "rarpd"
help
Installs rarpd.
config BR2_PACKAGE_IPUTILS_RDISC
bool "rdisc"
default y
help
Installs rdisc.
config BR2_PACKAGE_IPUTILS_RDISC_SERVER
bool "rdisc (server code)"
default y
depends on BR2_PACKAGE_IPUTILS_RDISC
help
Builds rdisc with server code.
config BR2_PACKAGE_IPUTILS_TFTPD
bool "tftpd"
help
Installs tftpd.
config BR2_PACKAGE_IPUTILS_TRACEPATH
bool "tracepath"
default y
help
Installs tracepath.
config BR2_PACKAGE_IPUTILS_TRACEROUTE6
bool "traceroute6"
default y
help
Installs traceroute6.
config BR2_PACKAGE_IPUTILS_NINFOD
bool "ninfod"
default y
depends on BR2_TOOLCHAIN_HAS_THREADS # ninfod requires <pthread.h>
help
Installs ninfod.
comment "ninfod needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
endif