From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Satyam Sharma" Subject: Re: [PATCH 1/3] WAN Kconfig: change "depends on HDLC" to "select" Date: Tue, 8 May 2007 02:19:53 +0530 Message-ID: References: <463F27CE.2040008@garzik.org> <463F8CB4.3040603@garzik.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: "Roman Zippel" , "Krzysztof Halasa" , "Russell King" , lkml , netdev@vger.kernel.org, linux-arm-kernel@lists.arm.linux.org.uk To: "Jeff Garzik" Return-path: Received: from wr-out-0506.google.com ([64.233.184.236]:6005 "EHLO wr-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966583AbXEGUty (ORCPT ); Mon, 7 May 2007 16:49:54 -0400 Received: by wr-out-0506.google.com with SMTP id 76so1736542wra for ; Mon, 07 May 2007 13:49:53 -0700 (PDT) In-Reply-To: <463F8CB4.3040603@garzik.org> Content-Disposition: inline Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 5/8/07, Jeff Garzik wrote: > Satyam Sharma wrote: > > Yes, mixing select and depends is a recipe for build disasters. Call > > me a rabid fanatic, but I would in fact go as far as to say that this > > whole "select" thing in the Kconfig process is one big BUG, and not a > > feature. People are lazy by nature and would rather just "select" a > > dependency for their config option than burden users with several > > "depends". > > Tough, the kernel community has voted against you. Heh ... I guess I appeared a trifle _too_ fanatic there, but I'm not. That rant against it was actually more about controlling its {ab-,mis-}use and rampant proliferation (even to cases where it is inapplicable / avoidable) than removing it altogether. Especially, when a developer is lazy / wrong and mixes select and depends in the same dependency chain leading to errors. > It makes far more sense to include a driver during kernel configuration, > and have that driver pull in its libraries via 'select'. The lame > alternative requires developers to know which libraries they need BEFORE > picking their drivers, which is backwards and requires legwork on the > part of the kernel developer. (That bit about a developer _knowing_ which libraries to select manually before selecting a driver is not really true, you can "?" on a config item and get all its "depends" and "select" dependencies anyway -- and it requires more leg work, yes, but then you'll never have build failures either) Still, I don't really disagree w.r.t. "select"ing libraries, as long as we're careful to limit them to _only_ libraries.