[LWN Logo]
[Timeline]
From:	Paul Vojta <vojta@math.berkeley.edu>
Date:	Mon, 7 Aug 2000 16:52:43 -0700 (PDT)
To:	linux-kernel@vger.rutgers.edu
Subject: A new config program -- anyone interested?

Folks:

All of the currently supported ways of configuring the kernel
("make config", "make menuconfig", and "make xconfig") are fundamentally
interactive in nature.  When I compile the kernel, I typically set
20-30 choices to non-default settings, and have come up with various
elaborate ways to keep track of those settings when I move to a new
kernel.

Eventually, I decided to write my own kernel config program.

I have called it "qconfig" (for lack of a better name).  It works as
follows.

1.  Create a file named "qconfig.in" in your main kernel directory.
    For each non-default config variable setting, put a line in qconfig.in
    giving the definition of the variable in question; e.g.,

	CONFIG_FOOBAR=n

    Comments work as in /bin/sh; note that the syntax
    "# CONFIG_FOOBAR is not defined" is not supported in this file (only
    in arch/$ARCH/defconfig).

2.  Instead of typing "make *config", type:

	make symlinks
	qconfig

3.  In addition to the files .config and include/linux/autoconf.h, qconfig
    will produce a file "qconfig.out" containing the script of what would
    have happened if one had typed "make config" and accepted all the
    default choices except those given in qconfig.in.

When I change kernel versions, I save the old qconfig.out (note that make
mrproper will delete it), copy over the qconfig.in file, run qconfig,
and diff the old and new qconfig.out files to see what has changed in
the configuration.

This program may also be useful for those who want to set up scripts for
automatically configuring and compiling the kernel.

I have placed the source to this program on the web:

	http://www.math.berkeley.edu/~vojta/qconfig.c

Comments anyone?

--Paul Vojta, vojta@math.berkeley.edu

----------

Some additional notes:

[1]  qconfig always starts from values stored in arch/$ARCH/defconfig.
     Current values in .config are ignored.

[2]  Users of the sparc64 and mips64 platforms should make sure they are
     getting the sparc64 or mips64 configuration and not the sparc or mips
     configuration.  I am not able to test this.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/