On Sun, 28 May 2006 22:35:56 PDT, 4Front Technologies said: > Yet one more reason to have something like kernel-config (similar to gtk-config > or xmms-config) where you can get the package's cflags, ldflags, other info. > > for example > > kernel-config --cflags should say -DUSE_REGPARM -I/lib/modules/blah/blah The problem is that there's *hundreds* of *lines* of config data, rather than just the half-dozen or so entries that the average pkgconfig produces, and some of the config lines influence the actual compile parameters and some don't. I happen to have a kernel build going - here's what the compile lines looks: 25616 pts/2 S+ 0:00 /bin/sh -c set -e; ? echo ' CC net/ipv4/udp.o'; gcc -m32 -Wp,-MD,net/ipv4/.udp.o.d -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.1/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wcomment -Wendif-labels -Wshadow -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -fasynchronous-unwind-tables -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mregparm=3 -ffreestanding -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(udp)" -D"KBUILD_MODNAME=KBUILD_STR(udp)" -c -o net/ipv4/udp.o net/ipv4/udp.c; scripts/basic/fixdep net/ipv4/.udp.o.d net/ipv4/udp.o 'gcc -m32 -Wp,-MD,net/ipv4/.udp.o.d -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.1/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -W! strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wcomment -Wendif-labels -Wshadow -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -fasynchronous-unwind-tables -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mregparm=3 -ffreestanding -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(udp)" -D"KBUILD_MODNAME=KBUILD_STR(udp)" -c -o net/ipv4/udp.o net/ipv4/udp.c' > net/ipv4/.udp.o.tmp; rm -f net/ipv4/.udp.o.d; mv -f net/ipv4/.udp.o.tmp net/ipv4/.udp.o.cmd 25617 pts/2 S+ 0:00 gcc -m32 -Wp,-MD,net/ipv4/.udp.o.d -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.1/include -D__KERNEL__ -Iinclude -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wcomment -Wendif-labels -Wshadow -Os -fno-omit-frame-pointer -fno-optimize-sibling-calls -fasynchronous-unwind-tables -pipe -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mregparm=3 -ffreestanding -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -Wno-pointer-sign -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(udp) -DKBUILD_MODNAME=KBUILD_STR(udp) -c -o net/ipv4/udp.o net/ipv4/udp.c 25618 pts/2 R+ 0:01 /usr/libexec/gcc/i386-redhat-linux/4.1.1/cc1 -quiet -nostdinc -Iinclude -Iinclude/asm-i386/mach-default -D__KERNEL__ -DKBUILD_STR(s)=#s -DKBUILD_BASENAME=KBUILD_STR(udp) -DKBUILD_MODNAME=KBUILD_STR(udp) -isystem /usr/lib/gcc/i386-redhat-linux/4.1.1/include -include include/linux/autoconf.h -MD net/ipv4/.udp.o.d net/ipv4/udp.c -quiet -dumpbase udp.c -m32 -msoft-float -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mregparm=3 -auxbase-strip net/ipv4/udp.o -Os -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -Wcomment -Wendif-labels -Wshadow -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-aliasing -fno-common -fno-omit-frame-pointer -fno-optimize-sibling-calls -fasynchronous-unwind-tables -ffreestanding -o - The reason we have the whole kbuild thing than pkgconfig is because it's a bit more complicated to build than what pkgconfig can easily express (for instance, the exact parameters are different for module versus built-in, and on some architectures it may even matter if a module is under fs/ or drivers/, and so on....)
Attachment:
pgpzXZjVCwV89.pgp
Description: PGP signature
- References:
- How to check if kernel sources are installed on a system?
- From: "devmazumdar" <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Lee Revell <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Arjan van de Ven <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Heiko Carstens <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Arjan van de Ven <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Lee Revell <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Arjan van de Ven <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Lee Revell <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: "Brian F. G. Bidulock" <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: Arjan van de Ven <[email protected]>
- Re: How to check if kernel sources are installed on a system?
- From: 4Front Technologies <[email protected]>
- How to check if kernel sources are installed on a system?
- Prev by Date: Re: gcc 4.1.1 issues with 2.6.17-rc5
- Next by Date: Re: OpenGL-based framebuffer concepts
- Previous by thread: Re: How to check if kernel sources are installed on a system?
- Next by thread: Re: How to check if kernel sources are installed on a system?
- Index(es):