xref: /nrf52832-nimble/rt-thread/tools/kconfig-frontends/README (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZeroThis package contains the kconfig frontends and parser.
2*10465441SEvalZero
3*10465441SEvalZeroKconfig is the configuration language used by the Linux kernel. This package
4*10465441SEvalZerois a simple copy of the frontends and the parser found in the Linux kernel
5*10465441SEvalZerosource tree, with very minor changes to adapt them to being built out of
6*10465441SEvalZerothe kernel build infrastructure.
7*10465441SEvalZero
8*10465441SEvalZeroThis package does *not* take any change to the parser or frontends. Such
9*10465441SEvalZerochanges shall be directed directly to the appropriate mailing list, and they
10*10465441SEvalZerowill eventually find their way is this package at the next sync:
11*10465441SEvalZero    mailto:[email protected]
12*10465441SEvalZero
13*10465441SEvalZeroHowever, if there is a bug in the packaging infrastructure, patches are
14*10465441SEvalZeromost welcome, of course! Most notably, because this is my very first
15*10465441SEvalZeroautostuff-based package, I may have done mistakes here and there...
16*10465441SEvalZero
17*10465441SEvalZeroAs such, there are currently a few known limitations:
18*10465441SEvalZero
19*10465441SEvalZero- statically linking is much, much more complex than it should be. I have
20*10465441SEvalZero  been seemingly able to build part of the frontends with such incantations
21*10465441SEvalZero  of ./configure and make:
22*10465441SEvalZero    ./configure LDFLAGS=-static nconf_EXTRA_LIBS=-lgpm  \
23*10465441SEvalZero                --disable-shared --enable-static        \
24*10465441SEvalZero                --disable-gconf --disable-qconf
25*10465441SEvalZero    make LDFLAGS="-all-static -static-libtool-libs"
26*10465441SEvalZero
27*10465441SEvalZero- the nconf frontends requires (at least on my machine) to be linked against
28*10465441SEvalZero  GPM; this is not detected when statically linking (hence the nconf_EXTRA_LIBS
29*10465441SEvalZero  in the command above).
30*10465441SEvalZero
31*10465441SEvalZero- statically linking the graphical frontends (gconf and qconf) is *not*
32*10465441SEvalZero  supported: I am missing static libs for Qt3Support, so qconf does not link.
33*10465441SEvalZero  And there is a stupid bug in libtool that prevents properly linking against
34*10465441SEvalZero  installed static libraries (seemingly fixed in 2.4, but not quite yet, in
35*10465441SEvalZero  fact...), so gconf does not link. That's why they are disabled above.
36*10465441SEvalZero
37*10465441SEvalZeroFor a list of known issues, please also refer to file docs/known-issues.txt.
38*10465441SEvalZero
39*10465441SEvalZeroNote that, provided you have the required dependencies, all frontends are
40*10465441SEvalZeroproperly built if you link dynamically. The following just works as expected:
41*10465441SEvalZero    ./configure && make
42*10465441SEvalZero
43*10465441SEvalZeroNote: if using the git tree, or changing the autostuff sources, you'll first
44*10465441SEvalZerohave to run:
45*10465441SEvalZero    autoreconf -fi
46