Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Jeff Garzik

Kai Germaschewski wrote:
> I'm still not happy at least for the ".config does not exist" case. Since 


Easy, maintain the 2.4 behavior, which is sane :)

Jeff





---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Jeff Garzik

Kai Germaschewski wrote:
> On Sun, 22 Sep 2002, Jeff Garzik wrote:
> AFAICS, "quiet" only means the same thing as the traditional "make 
> oldconfig", but suppressing questions where the answers are known. (Which 
> I think is fine)

yeah, that's fine with me too


> I was just referring to the following, which really is not in the subtle 
> change category:
> 
> -
> [kai@zephyr linux-2.5.make]$ rm .config
> [kai@zephyr linux-2.5.make]$ make
> ***
> *** You have not yet configured your kernel!
> ***
> *** Please run some configurator (e.g. "make oldconfig" or
> *** "make menuconfig" or "make xconfig").
> ***
> make: *** [.config] Error 1
> -
> 
> whereas lkc changes this to run (the quiet) make oldconfig automatically.

h, looks like something got broken somewhere, then.

The proper behavior for this example is
cp arch/$arch/defconfig .config

Do a 'make oldconfig' or 'make config' with no .config, in a 2.4 kernel.

Please fix... :/



> Same thing for 
> 
> -
> [kai@zephyr linux-2.5.make]$ cp ../config-2.5 .config
> [kai@zephyr linux-2.5.make]$ make
> make[1]: Entering directory 
> `/home/kai/src/kernel/v2.5/linux-2.5.make/scripts'
> make[1]: Leaving directory 
> `/home/kai/src/kernel/v2.5/linux-2.5.make/scripts'
> ***
> *** You changed .config w/o running make *config?
> *** Please run "make oldconfig"
> ***
> -
> 
> Since people run automated builds, erroring out is IMHO preferable to 
> dropping into interactive mode, which likely happens when you run make 
> oldconfig.

agreed

Jeff





---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Roman Zippel

Hi,

On Sun, 22 Sep 2002, Kai Germaschewski wrote:

> I'm still not happy at least for the ".config does not exist" case. Since
> when I forget to "cp ../config-2.5 .config", I don't really want "make
> oldconfig", I want to do the forgotten cp.

Adding this check to the silent mode is trivial.

bye, Roman



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Roman Zippel

Hi,

On Sun, 22 Sep 2002, Kai Germaschewski wrote:

> > One cosmetic thing I mentioned to Roman, Config.new needs to be changed
> > to something better, like conf.in or build.conf or somesuch.
>
> I agree. (But I'm not particularly good at coming up with names ;)
> build.conf is maybe not too bad considering that there may be a day where
> it is extended to support ".conf" as well.

Maybe it should start with a capital letter like Makefile/Config.in, so
it's at the top of a directory listing.

> I intentionally only printed a message and errored out in this case, and I
> think that's more useful, particularly for people doing
>
> make all 2>&1 > make.log
>
> which now may take forever waiting for input.

You should have tried this first :) :

$ make | cat
make[1]: Entering directory `/home/roman/src/linux-lkc/scripts'
make[1]: Leaving directory `/home/roman/src/linux-lkc/scripts'
make[1]: Entering directory `/home/roman/src/lc'
make[1]: `conf' is up to date.
make[1]: Leaving directory `/home/roman/src/lc'
./scripts/lkc/conf -s arch/i386/config.new
#
# using defaults found in .config
#
*
* Restart config...
*
Enable loadable module support (MODULES) [Y/n/?] y
  Set version information on all module symbols (MODVERSIONS) [N/y/?] (NEW) aborted!

Console input/output is redirected. Run 'make oldconfig' to update configuration.

make: *** [include/linux/autoconf.h] Error 1

bye, Roman



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Kai Germaschewski

On Sun, 22 Sep 2002, Jeff Garzik wrote:

> Kai Germaschewski wrote:
> > On Sun, 22 Sep 2002, Jeff Garzik wrote:
> > 
> > 
> >>One cosmetic thing I mentioned to Roman, Config.new needs to be changed 
> >>to something better, like conf.in or build.conf or somesuch.
> > 
> > 
> > I agree. (But I'm not particularly good at coming up with names ;) 
> > build.conf is maybe not too bad considering that there may be a day where 
> > it is extended to support ".conf" as well.
> 
> We want to make sure the config format is extensible in case we want to 
> add Makefile rules or some other metadata (i.e. .conf contains 
> all config/make info needed to build a driver, just drop it in)
> 
> 
> > One other thing I wanted to mention but forgot was that lkc now
> > does a quiet "make oldconfig" when .config changed or does not exist, 
> > which is changed behavior.
> 
> 
> Can you elaborate a bit on that?  'make oldconfig' is one of the things 
> we want to keep working as-is...  That was a downside of ESR's system. 
> If you're saying "silent" as in, if-no-changes-occurred or 
> defconfig-copied-as-is, that's cool...

Roman probably knows better than I do, but anyway.

AFAICS, "quiet" only means the same thing as the traditional "make 
oldconfig", but suppressing questions where the answers are known. (Which 
I think is fine)

I was just referring to the following, which really is not in the subtle 
change category:

-
[kai@zephyr linux-2.5.make]$ rm .config
[kai@zephyr linux-2.5.make]$ make
***
*** You have not yet configured your kernel!
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make: *** [.config] Error 1
-

whereas lkc changes this to run (the quiet) make oldconfig automatically.

Same thing for 

-
[kai@zephyr linux-2.5.make]$ cp ../config-2.5 .config
[kai@zephyr linux-2.5.make]$ make
make[1]: Entering directory 
`/home/kai/src/kernel/v2.5/linux-2.5.make/scripts'
make[1]: Leaving directory 
`/home/kai/src/kernel/v2.5/linux-2.5.make/scripts'
***
*** You changed .config w/o running make *config?
*** Please run "make oldconfig"
***
-

Since people run automated builds, erroring out is IMHO preferable to 
dropping into interactive mode, which likely happens when you run make 
oldconfig.


--Kai





---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Jeff Garzik

Kai Germaschewski wrote:
> On Sun, 22 Sep 2002, Jeff Garzik wrote:
> 
> 
>>One cosmetic thing I mentioned to Roman, Config.new needs to be changed 
>>to something better, like conf.in or build.conf or somesuch.
> 
> 
> I agree. (But I'm not particularly good at coming up with names ;) 
> build.conf is maybe not too bad considering that there may be a day where 
> it is extended to support ".conf" as well.

We want to make sure the config format is extensible in case we want to 
add Makefile rules or some other metadata (i.e. .conf contains 
all config/make info needed to build a driver, just drop it in)


> One other thing I wanted to mention but forgot was that lkc now
> does a quiet "make oldconfig" when .config changed or does not exist, 
> which is changed behavior.


Can you elaborate a bit on that?  'make oldconfig' is one of the things 
we want to keep working as-is...  That was a downside of ESR's system. 
If you're saying "silent" as in, if-no-changes-occurred or 
defconfig-copied-as-is, that's cool...

Jeff





---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Kai Germaschewski

On Sun, 22 Sep 2002, Jeff Garzik wrote:

> One cosmetic thing I mentioned to Roman, Config.new needs to be changed 
> to something better, like conf.in or build.conf or somesuch.

I agree. (But I'm not particularly good at coming up with names ;) 
build.conf is maybe not too bad considering that there may be a day where 
it is extended to support ".conf" as well.


One other thing I wanted to mention but forgot was that lkc now
does a quiet "make oldconfig" when .config changed or does not exist, 
which is changed behavior.

I intentionally only printed a message and errored out in this case, and I 
think that's more useful, particularly for people doing

make all 2>&1 > make.log

which now may take forever waiting for input.

--Kai




---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Jeff Garzik

One cosmetic thing I mentioned to Roman, Config.new needs to be changed 
to something better, like conf.in or build.conf or somesuch.



---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Kai Germaschewski

On Sun, 22 Sep 2002, Roman Zippel wrote:

> > I have been working on integrating lkc with kbuild.
> > Here is the result.
> 
> Thanks, nice work. :)

Yup, I improved things a bit further.

> > Rules.make
> > - Added infrastructure to support host-ccprogs, in other words
> >   support tools written (partly) in c++.
> 
> There are all compiled with gcc instead of g++, are you sure that will ok
> with all supported gcc versions?

I fixed that.

> > scripts/lkc/Makefile*
> > - As kbuild does not distingush between individual objects,
> >   used for a given target, but (try to) build them all, I have
> >   found a solution where I create one Makefile for each executable.
> >   I could not see a clean way to integrate this in kbuild, and finally
> >   decided that in this special case a number of Makefiles did not
> >   hurt too much.
> 
> Here I thought about using "ifeq ($(MAKECMDGOALS),...)" to keep them in a
> single file. Did you try something like this?

That's now handled without obvious hacks.

> > flex/bison
> > - Prepared for "_shipped" files.
> >   Rename lex.zconf.c to lex.zconf.c_shipped etc. in the version
> >   reday to go in the kernel.
> 
> This works quite well for users, but it's very annoying for the developer.
> Kai, any chances to use md5sum for this at some point, e.g. with a helper
> script like this:
> 
> set -e
> src=$1
> dst=$2
> shift 2
> 
> test -f $dst && tail -1 $dst | sed 's,/\* \(.*\) \*/,\1,' | md5sum -c && touch $dst 
>&& exit 0
> echo "$@"
> "$@"
> echo "/* $(md5sum $src) */" >> $dst

I'm not particularly fond of these md5sum hacks. I don't think it's all 
that annoying for the developer, either, it's basically just a
alias make="make LKC_GENPARSER=1"

(Of course, you'll have to update the _shipped files eventually, but there 
isn't really any way around that either way)

One might consider setting LKC_GENPARSER based on a test if bison/flex are 
in the path.

> Something else I'd like to have for later is the ability to compile
> $(sharedobjs) as a shared library and install it somewhere so it can be
> used by external programs.

Well, later ;)

--Kai

I created a combined patch with lkc-0.6, Sam's patch and my things on top
of current 2.5-bk (And I would strongly suggest to make further releases
like this, if people need to first figure out how to install and what to
run, they won't test lkc at all). As a result, it's fairly large, so I put
it on

http://zephyr.physics.uiowa.edu/~kai/lkc/lkc-0.6-A

--Kai




---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] linux kernel conf 0.6

2002-09-22 Thread Roman Zippel

Hi,

On Fri, 20 Sep 2002, Sam Ravnborg wrote:

> I have been working on integrating lkc with kbuild.
> Here is the result.

Thanks, nice work. :)

> Rules.make
> - Added infrastructure to support host-ccprogs, in other words
>   support tools written (partly) in c++.

There are all compiled with gcc instead of g++, are you sure that will ok
with all supported gcc versions?

> scripts/lkc/Makefile*
> - As kbuild does not distingush between individual objects,
>   used for a given target, but (try to) build them all, I have
>   found a solution where I create one Makefile for each executable.
>   I could not see a clean way to integrate this in kbuild, and finally
>   decided that in this special case a number of Makefiles did not
>   hurt too much.

Here I thought about using "ifeq ($(MAKECMDGOALS),...)" to keep them in a
single file. Did you try something like this?

> flex/bison
> - Prepared for "_shipped" files.
>   Rename lex.zconf.c to lex.zconf.c_shipped etc. in the version
>   reday to go in the kernel.

This works quite well for users, but it's very annoying for the developer.
Kai, any chances to use md5sum for this at some point, e.g. with a helper
script like this:

set -e
src=$1
dst=$2
shift 2

test -f $dst && tail -1 $dst | sed 's,/\* \(.*\) \*/,\1,' | md5sum -c && touch $dst && 
exit 0
echo "$@"
"$@"
echo "/* $(md5sum $src) */" >> $dst

The only problem with this script is that it only supports a single input
and output file.

Something else I'd like to have for later is the ability to compile
$(sharedobjs) as a shared library and install it somewhere so it can be
used by external programs.

bye, Roman




---
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
___
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel