From owner-freebsd-current@FreeBSD.ORG Mon Jul 4 10:10:33 2005 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5014616A41C; Mon, 4 Jul 2005 10:10:33 +0000 (GMT) (envelope-from phk@phk.freebsd.dk) Received: from haven.freebsd.dk (haven.freebsd.dk [130.225.244.222]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0A26443D46; Mon, 4 Jul 2005 10:10:32 +0000 (GMT) (envelope-from phk@phk.freebsd.dk) Received: from phk.freebsd.dk (unknown [192.168.48.2]) by haven.freebsd.dk (Postfix) with ESMTP id 99469BC50; Mon, 4 Jul 2005 10:10:30 +0000 (UTC) To: gnn@freebsd.org From: "Poul-Henning Kamp" In-Reply-To: Your message of "Mon, 04 Jul 2005 17:44:49 +0900." Date: Mon, 04 Jul 2005 12:10:29 +0200 Message-ID: <29260.1120471829@phk.freebsd.dk> Sender: phk@phk.freebsd.dk Cc: Poul-Henning Kamp , Robert Watson , current@freebsd.org, Garance A Drosehn Subject: Re: Summary: experiences with NanoBSD, successes and nits on a Soekris 4801 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Jul 2005 10:10:33 -0000 In message , gnn@freebsd.org writes: >At Mon, 04 Jul 2005 10:25:34 +0200, >Poul-Henning Kamp wrote: >> I played with developing that graph by removing lines from LINT >> and see what compiled and what didn't. Based on the progress I >> made I would estimate the full graph will take about 1 CPU-year to >> calculate by trial&error. > >Hmm. Well, either I need a very fast CPU, or a more clever approach. >I guess we'll see... This was a dual Opteron, 2GHz, 4GB. It might be possible to do a less brute force and more analytical approach: Start out with sys/conf/files*, then add sys/conf/options. Then for each and every .c file, grep out the #includes and build a tree of complete _potential_ dependencies. Also grep out all #ifmumble constructs and record those. You now have a huge data structure from which it should be possible to determine potential dependencies. Ie: Which source files could possibly be affected by this option or conversely, which options could possibly affect this source file. By pruning the trival cases from the data structure, the brute force work would be a lot less. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.