Subject: Re: creeping protocol defines
To: Sean Doran <smd@ebone.net>
From: None <itojun@iijlab.net>
List: current-users
Date: 04/14/2000 22:42:38
>Why?  You could define them conditionally, and allow an
>explicit "disable define of -DINET6" by simply looking for
>USE_INET6, as done in pkgsrc.
>
>That is, use USE_INET6, and assume that if it's not "no",
>then the user wants -DINET6.

	as documented in pkgsrc/mk/mk.conf.example (may be it wasn't clear
	enough), USE_INET6 is not to be tweaked by users.  it basically shows
	if the platforms has IPv6 ready userland or not.  sometimes you
	go into trouble if you mix IPv4-only userland with IPv6 kernel with,
	or whatever.  it is much safer to obey whatever bsd.prefs.mk defines.

	this goes the same for non-pkgsrc userland.  we do have -DINET6
	in some cases, however, I think I do not really expect them to be
	turned off.  conditional compilation also impose maintenance cost
	(with n options we have 2^n combinations).

>This doesn't affect all that many files, afaict, as below.

	it looks many to me.  at least, I strongly object to conditionalize
	library builds, there'll be too much mess.  also distrib/sets/lists
	will become a headache, if we were to support binary distribution
	without IPv6 (I really hope this does not happen).

>P.S.: I would say that -DIPSEC and -DNETISO should also be conditionalized.

	I think we already have enough options to play with (KERBEROS,
	KERBEROS5, BUILD_POSTFIX - it is not documented in bsd.README BTW, 
	SKEY, crypto things).
	with 3 more switches, we will get 8 times more combinations.
	could you please volunteer to take care of 7/8 of all possible
	combinations? :-)

>P.S.S.: I am also willing to accept a "go soak your head, IPv6-Hater" answer.

	I don't say that.  footprint matters sometimes.

	if many feels it necessary to add conditional, I can do that, with
INET6=	yes
	in bsd.own.mk (on by default), just like SKEY.
	but I really need someone who takes care of non-IPv6 build and
	send detailed bug reports.

itojun