[Dnsmasq-discuss] dnsmasq 2.75 build options

Simon Kelley simon at thekelleys.org.uk
Mon Dec 7 16:37:19 GMT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256



On 07/12/15 04:39, [redacted] wrote:
> Looking at the build options listed in /src/config.h it states the 
> following:
> 
> The default set of options to build
> 
> HAVE_DHCP HAVE_DHCP6 HAVE_TFTP HAVE_SCRIPT HAVE_AUTH HAVE_IPSET 
> HAVE_LOOP
> 
> In the same config.h file is says you can disable options using
> the following:
> 
> NO_IPV6 NO_TFTP NO_DHCP NO_DHCP6 NO_SCRIPT NO_LARGEFILE NO_AUTH 
> NO_INOTIFY NO_NETTLE_ECC NO_GMP
> 
> This apparently is the complete list of all the options you can 
> have:
> 
> HAVE_BROKEN_RTC HAVE_TFTP HAVE_DHCP HAVE_DHCP6 HAVE_SCRIPT 
> HAVE_LUASCRIPT HAVE_DBUS HAVE_IDN HAVE_CONNTRACK HAVE_IPSET 
> HAVE_AUTH HAVE_DNSSEC HAVE_LOOP HAVE_INOTIFY
> 
> I don't understand if the default build options above are the only 
> options built in during build time then why are there options to 
> disable  the following options where they have no HAVE options to
> go along with them:
> 
> NO_IPV6 NO_LARGEFILE NO_NETTLE_ECC NO_GMP
> 
> Why do the above 4 options exist if they don't for instance
> include HAVE_LARGEFILE or HAVE_GMP. Are the above 4 options build
> in by default as well and provide NO options to exclude them from
> the build process? I'm somewhat confused. Thank you for your time.

The answer varies.

There _is_ and HAVE_IPV6 option: it's value is determined
automatically by the presence of IPv6 support in the C library and
headers: If you can get IPv6 support, it will be included, unless you
set NO_IPV6

NO_LARGEFILE: Largefile is on by default, this switches it off.
There's probably no reason to do so, except maybe to run on very old
kernels.

NO_NETTLE_ECC is needed to allow error-free compilation against old
versions of libnettle, which don't support ECC. If the build doesn't
break, you don't need this.

NO_GMP inhibits linking against the Gnu multiprecision library, when
special versions of Nettle are in use which don't depend on that library
.


In general, HAVE_* and NO_* all things that you might want to define
to alter the build process. If it helps, think of eg NO_LARGEFILE as
equivalent to HAVE_NO_LARGEFILE.

Cheers,

Simon.


BTW, I've been
> 
> 
> --- This email has been checked for viruses by Avast antivirus 
> software. https://www.avast.com/antivirus
> 
> 
> 
> _______________________________________________ Dnsmasq-discuss 
> mailing list Dnsmasq-discuss at lists.thekelleys.org.uk 
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBCAAGBQJWZbW+AAoJEBXN2mrhkTWiUTUP/j6INd+rAG85k9JCWsZ9I09m
AJUues0TYoCX7fKdsp0TAGrVyVhwtoMhNzHEfbq/aNuN9xORyG4A0KJ5FJnPrHPB
1Yv3Uhrs4huWHiN1kArvX8g7qlu5IfC3V5fFp80TrWfS7hKZNp80foQv2i2iFMbo
sWNcrwDg5Dosrf5LHcyUlTqbTWktP948+b37srd8CXcoMtw4ZFWHQcf9BiLNlKX2
Y3Y3IDeDr+8Jtcx/f5f9uDVnbrrLjRqARsTgeI0HMmRVkwookg5W6tMdo30Ui4SU
ipva+TksYVpWV0QzVEOYwUXNvvAINObfTJFZedAIL4yk1h3A3dRgT4zGQraMlno8
Vh4obGvbLLl0C7r9qE2VtClPH5rMRjbpEEZk4WjKV7nOYjIRGKeSXGed+wjizlKH
BmsMy01DD7L+hUaIR46H4cLSve2DDIa9RY+vYxfUR3gaWRh00BXfMyw4pAWEmrB3
6QFkxwjhBxO32eEJQXZX6MYHXHK6PKhL+58qFhz2Oq0rcVlWmjAXclE7w1KASW90
5+6J6sXnLxmMp1PKMurBuX4VXZStl8ok5dh9Qctab/L43VgijGv728XX+DCvFBNy
iF83CrmdNprILaAk70Luj8gBhKwh42rbhdmeVVPR+wpesJZ3q8Esl2mPnh3M6rAo
cl96wWBFx2tCTATYRfms
=Uul5
-----END PGP SIGNATURE-----



More information about the Dnsmasq-discuss mailing list