From owner-freebsd-commit Wed Nov 29 10:54:30 1995 Return-Path: owner-commit Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id KAA10083 for freebsd-commit-outgoing; Wed, 29 Nov 1995 10:54:30 -0800 Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id KAA10057 for cvs-all-outgoing; Wed, 29 Nov 1995 10:53:01 -0800 Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id KAA10043 for cvs-usrsbin-outgoing; Wed, 29 Nov 1995 10:52:59 -0800 Received: from Root.COM (implode.Root.COM [198.145.90.17]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id KAA10030 ; Wed, 29 Nov 1995 10:52:49 -0800 Received: from corbin.Root.COM (corbin [198.145.90.50]) by Root.COM (8.6.12/8.6.5) with ESMTP id KAA01399; Wed, 29 Nov 1995 10:52:42 -0800 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.12/8.6.5) with SMTP id KAA00310; Wed, 29 Nov 1995 10:51:03 -0800 Message-Id: <199511291851.KAA00310@corbin.Root.COM> To: "Justin T. Gibbs" cc: CVS-committers@freefall.freebsd.org, cvs-usrsbin@freefall.freebsd.org Subject: Re: cvs commit: src/usr.sbin/config Makefile main.c In-reply-to: Your message of "Wed, 29 Nov 95 10:46:28 PST." <199511291846.KAA00293@corbin.Root.COM> From: David Greenman Reply-To: davidg@Root.COM Date: Wed, 29 Nov 1995 10:51:03 -0800 Sender: owner-commit@FreeBSD.ORG Precedence: bulk >>>That's impossible to do given the current scheme of 'everything is an >>>option'. However, I think a much better solution to the problem is to >>>have config kick out a 'remember to do a make clean' if the directory >>>exists. If the user chooses not to do that, then it's their problem not >>>ours. >> >>Why not make option lines add an entry to a common header file. Only >>modules that export an option need to include the "option" header. >>We could have a separate keyword "define" that gives the current behavior >>so you can still do it the old quick way for debugging. I think that >>a make depend would have much more value if this was done. > > The other idea is to add an option file for each supported option. Some >people don't like this because it makes adding a new option a little more >difficult (all the options would have to be listed in an options file, and ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I just realized that this might be confusingly worded... I mean you would have a options master file /sys/conf/options and /sys/i386/conf/options.i386 that would list all of the options. Config would use this in conjunction with your kernel config file to produce individual options_foobar.h files (where foobar is an option) that would/wouldn't have a #define FOOBAR. >you need to add a #include plus a #ifdef to each file that uses the option). >The idea is that the option file would have a name like "option_foobar.h" or >something deterministic which would be autogenerated by config. The file >would either have the #define or it would be null (consuming no disk space >and would be relative fast access). This approach allows for fine control >over the kernel options dependency. > >-DG