From owner-freebsd-hackers@FreeBSD.ORG Mon Jan 2 06:12:51 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6262E16A41F for ; Mon, 2 Jan 2006 06:12:51 +0000 (GMT) (envelope-from matt@gsicomp.on.ca) Received: from skippyii.compar.com (cistore.compar.com [216.208.38.130]) by mx1.FreeBSD.org (Postfix) with ESMTP id 79BA243D48 for ; Mon, 2 Jan 2006 06:12:50 +0000 (GMT) (envelope-from matt@gsicomp.on.ca) Received: from hermes (CPE00062566c7bb-CM0011e6ede298.cpe.net.cable.rogers.com [70.28.254.189]) by skippyii.compar.com (8.13.1/8.13.1) with ESMTP id k026EA5b074067 for ; Mon, 2 Jan 2006 01:14:10 -0500 (EST) (envelope-from matt@gsicomp.on.ca) Message-ID: <001801c60f63$b004ee90$1200a8c0@gsicomp.on.ca> From: "Matt Emmerton" To: Date: Mon, 2 Jan 2006 01:13:44 -0500 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1506 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 Subject: Compiling kernel/modules without INET? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Jan 2006 06:12:51 -0000 Howdy, One of my new years resolutions was to become a bit more masochistic, so I set out to see if I could build a kernel (and modules) without "options INET" on HEAD. This works flawlessly for the kernel part, but there are tons of issues when building modules -- various problems encountered during "make depend" and "make". So far there appear to be four different classes of errors: 1) Failures during "make depend" due to #error directives hit when INET is not defined. 2) #includes which are always needed but are only pulled in (implicitly) when INET is defined 3) Small blocks of code (variable declarations and tests) which are not wrapped with #ifdef INET (or other #defines), or simply wrapped with the wrong #ifdef 4) Larger messes such as GRE's hard-coded dependence on INET; SLIP/PPP's dependence on packet compress code, etc. I have what I think are valid fixes for the first 3 issues, but I know I'm just making a mess of things to resolve the last issue. Before I spit and polish these patches for public consumption, I want to know if this is even a worthy project. I know there are benefits simply because we should "do the right thing", but I'm sure I'm wading into murky waters. Any guidance would be appreciated. Regards, -- Matt Emmerton