mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-10 10:10:28 +03:00
Compare commits
567 Commits
2009.05
...
2009.11_rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31bd97417b | ||
|
|
ade675c55a | ||
|
|
69067025c0 | ||
|
|
4e385ee794 | ||
|
|
57922bfbf3 | ||
|
|
c589012eec | ||
|
|
4f399c3fb1 | ||
|
|
b1c416bed6 | ||
|
|
6b6bdaed76 | ||
|
|
70ce96305c | ||
|
|
1330cf5b19 | ||
|
|
2d04d56ec7 | ||
|
|
883f066797 | ||
|
|
9627e21153 | ||
|
|
3d82609bd1 | ||
|
|
08703917d7 | ||
|
|
4cc4e572e2 | ||
|
|
57403b74f1 | ||
|
|
a9f379abf0 | ||
|
|
b704677018 | ||
|
|
7ba54a07d4 | ||
|
|
bba2fd540b | ||
|
|
1dd9d9f345 | ||
|
|
9ab3ad7332 | ||
|
|
fa946b788e | ||
|
|
81e4ba320b | ||
|
|
f6cbb2687d | ||
|
|
27ab47c473 | ||
|
|
b06f14e4f7 | ||
|
|
d66727128a | ||
|
|
a1deb18ba6 | ||
|
|
57ea7207bc | ||
|
|
87d74d94cc | ||
|
|
2795e3d902 | ||
|
|
93341a451e | ||
|
|
5bb205b8e2 | ||
|
|
8974369074 | ||
|
|
e189fe1f78 | ||
|
|
8fb74cdece | ||
|
|
b8a917faaa | ||
|
|
1620cc3e35 | ||
|
|
41aaacd53d | ||
|
|
4eb64901e0 | ||
|
|
0017d6b3b5 | ||
|
|
796e2b6ccc | ||
|
|
b71951b0e7 | ||
|
|
6aac003abf | ||
|
|
07019b2c13 | ||
|
|
351b679608 | ||
|
|
3445ff4ade | ||
|
|
3848cd6dca | ||
|
|
bd49a62d8a | ||
|
|
406053d5dc | ||
|
|
83182dd28e | ||
|
|
e428886e57 | ||
|
|
09d62e89e7 | ||
|
|
638a4214f8 | ||
|
|
48ed49e91d | ||
|
|
882e137608 | ||
|
|
83f9881d64 | ||
|
|
26073d2aa7 | ||
|
|
f1a5f6e9c3 | ||
|
|
fdcc5bc087 | ||
|
|
4e27686c63 | ||
|
|
cfccdd350a | ||
|
|
d88b812d76 | ||
|
|
b18b46ebee | ||
|
|
13e753b414 | ||
|
|
5e5f3209f0 | ||
|
|
83f1ec65a0 | ||
|
|
bdf41d6c8c | ||
|
|
69ec17cd8d | ||
|
|
1ea44bb11a | ||
|
|
9af188d883 | ||
|
|
1eb391c500 | ||
|
|
c9816df886 | ||
|
|
065d0e76df | ||
|
|
fca4e38c80 | ||
|
|
61b57f10a6 | ||
|
|
95d7c26915 | ||
|
|
8d65822f9d | ||
|
|
bbbdf45f0e | ||
|
|
0575682552 | ||
|
|
434b007fce | ||
|
|
90be4efb38 | ||
|
|
04bd29b8d8 | ||
|
|
89dadc81ec | ||
|
|
5ebc568354 | ||
|
|
b2dcab30ce | ||
|
|
81ce2ae61c | ||
|
|
a1d2d172ec | ||
|
|
a305c33209 | ||
|
|
da25e92b08 | ||
|
|
8ec5a86616 | ||
|
|
31d34b4205 | ||
|
|
b208bd4daa | ||
|
|
08801720ac | ||
|
|
dc5ae2c428 | ||
|
|
ab17f40395 | ||
|
|
89b33886f7 | ||
|
|
7a3fa3efa1 | ||
|
|
61901bd74a | ||
|
|
0ad5869528 | ||
|
|
7d5d638a89 | ||
|
|
0cbfcbe433 | ||
|
|
f49ef854ca | ||
|
|
683a964c8f | ||
|
|
d7f5f04ba2 | ||
|
|
7a83c1458f | ||
|
|
524b203588 | ||
|
|
f72f3fd30e | ||
|
|
f1b7d78764 | ||
|
|
d360c61216 | ||
|
|
829d4ff63c | ||
|
|
28eefec5bd | ||
|
|
d6d7f13cd0 | ||
|
|
82f1ccf4c8 | ||
|
|
f985476225 | ||
|
|
f9e208866b | ||
|
|
ac5d17bf65 | ||
|
|
51a3b74b6e | ||
|
|
7f541e3047 | ||
|
|
03bdf67f43 | ||
|
|
1cd28840db | ||
|
|
ad1a8a156a | ||
|
|
ef951295bf | ||
|
|
10efac17fd | ||
|
|
42325834c9 | ||
|
|
473a91dbe6 | ||
|
|
c9a2b035ee | ||
|
|
6ef1705c42 | ||
|
|
e6bbcb0aba | ||
|
|
c45cd1fdbb | ||
|
|
263c2f8317 | ||
|
|
0bc7a43ff3 | ||
|
|
10eaccc233 | ||
|
|
076e720240 | ||
|
|
44b5637ab2 | ||
|
|
0b7ec8ea32 | ||
|
|
573550d723 | ||
|
|
51eb574a57 | ||
|
|
738357d3d5 | ||
|
|
8e7a4936cf | ||
|
|
82cefcbbda | ||
|
|
e90302ae2b | ||
|
|
edc6a89d9d | ||
|
|
15a85fce2a | ||
|
|
f7abeebf54 | ||
|
|
d31c7723ae | ||
|
|
b1ba675c85 | ||
|
|
8323cd9b87 | ||
|
|
2bd02ce28c | ||
|
|
34bba153ac | ||
|
|
3ae324f856 | ||
|
|
656ad7347e | ||
|
|
5f41548012 | ||
|
|
58fd779a43 | ||
|
|
6652770f41 | ||
|
|
c48bbb8c08 | ||
|
|
d5791db7cd | ||
|
|
8ac5d34e78 | ||
|
|
7b3c64fe8b | ||
|
|
1e32e0700a | ||
|
|
7c1c71f919 | ||
|
|
3a24e0385b | ||
|
|
c3bb9c1cc4 | ||
|
|
58508f39cc | ||
|
|
d1bce5051b | ||
|
|
e008caa06c | ||
|
|
e6e0ab231c | ||
|
|
59c8e4de91 | ||
|
|
94aac4698d | ||
|
|
b80f662168 | ||
|
|
0d6bea5119 | ||
|
|
1be5730aa2 | ||
|
|
191c59c2d2 | ||
|
|
8360f0c89b | ||
|
|
5502de5de8 | ||
|
|
88f6a98479 | ||
|
|
f9775c9148 | ||
|
|
0eca108b73 | ||
|
|
a6fc338726 | ||
|
|
96da2dfff9 | ||
|
|
fa324fb8bc | ||
|
|
b624c9e35e | ||
|
|
090b407fe1 | ||
|
|
a7c5ee544e | ||
|
|
b9df3aefc6 | ||
|
|
0b61765444 | ||
|
|
076f06e0f5 | ||
|
|
4e3f0e4f67 | ||
|
|
7f7bf9637e | ||
|
|
8a19a79565 | ||
|
|
01ca437954 | ||
|
|
6a0a14d4e4 | ||
|
|
3fdf0bffb8 | ||
|
|
d65976fe26 | ||
|
|
912ea81ad4 | ||
|
|
89464a9601 | ||
|
|
72a119c84b | ||
|
|
4d153cff9d | ||
|
|
44c10ff6b4 | ||
|
|
78145a624c | ||
|
|
abd76618a4 | ||
|
|
4114643de8 | ||
|
|
b5cbb760ad | ||
|
|
19dde3a7aa | ||
|
|
bc95b3ad3b | ||
|
|
255c8ea89c | ||
|
|
aa59f70425 | ||
|
|
a6dfb9265b | ||
|
|
91717c0148 | ||
|
|
5eb68019cd | ||
|
|
0d7e586a9f | ||
|
|
bdccd7b2e6 | ||
|
|
1f09b42f50 | ||
|
|
04bef3eb55 | ||
|
|
dbc3fd2f21 | ||
|
|
db5e305867 | ||
|
|
a4c6231cfc | ||
|
|
18994732d3 | ||
|
|
3ab4b632a0 | ||
|
|
31e026a7c4 | ||
|
|
483b2980d0 | ||
|
|
c2946d1139 | ||
|
|
416323e934 | ||
|
|
cb5710c538 | ||
|
|
be695dcc3c | ||
|
|
8a83e8d7b8 | ||
|
|
e7da301b42 | ||
|
|
1d9178db29 | ||
|
|
5fda7023ff | ||
|
|
c5388a1c62 | ||
|
|
171683950f | ||
|
|
0c2b9a4a2d | ||
|
|
1a9015f5d5 | ||
|
|
51173980cd | ||
|
|
bf5e693d75 | ||
|
|
b7f689ae2d | ||
|
|
1fe7bbb34d | ||
|
|
8e8354d4db | ||
|
|
0c050a7fe5 | ||
|
|
515b511d41 | ||
|
|
a07032e117 | ||
|
|
e18fcb4811 | ||
|
|
72cdec0a43 | ||
|
|
797551c8ce | ||
|
|
fe06da781b | ||
|
|
f5239c327e | ||
|
|
84a8eafd4c | ||
|
|
3b2a803d28 | ||
|
|
fd3800c197 | ||
|
|
a07d6b9d56 | ||
|
|
18183726d4 | ||
|
|
397fe5cc0b | ||
|
|
b3ee84e407 | ||
|
|
20be3ce9eb | ||
|
|
27cf8114bf | ||
|
|
6804b484a9 | ||
|
|
5d9d30a111 | ||
|
|
b96253a63e | ||
|
|
76aaac62a6 | ||
|
|
f76d8a3fd4 | ||
|
|
f1a0066b3d | ||
|
|
c4bd271661 | ||
|
|
848b76f2fe | ||
|
|
f39dbdea73 | ||
|
|
5cc0622a14 | ||
|
|
cd411d0d9c | ||
|
|
a2994caa17 | ||
|
|
dfca1b2e0e | ||
|
|
57f3b11d11 | ||
|
|
8c11895876 | ||
|
|
9929c6006c | ||
|
|
eda15d2327 | ||
|
|
df03cdaf3a | ||
|
|
0642da7818 | ||
|
|
4a37bf3b9e | ||
|
|
af2390c0f4 | ||
|
|
79c213fbe5 | ||
|
|
5c4555d1f5 | ||
|
|
3c35d55ea9 | ||
|
|
6cdf2481ee | ||
|
|
580c6d9b44 | ||
|
|
6538b1d1e7 | ||
|
|
4d0c00588f | ||
|
|
7b66a9435b | ||
|
|
7ee403d3c2 | ||
|
|
422ce6536b | ||
|
|
ee609f256d | ||
|
|
32518793e1 | ||
|
|
74834991a8 | ||
|
|
6b0d895f64 | ||
|
|
f38fe3a1a3 | ||
|
|
4d664738b0 | ||
|
|
129c2d1e1d | ||
|
|
a0dd551791 | ||
|
|
7cbed5d335 | ||
|
|
01f783dc09 | ||
|
|
49c47f55a8 | ||
|
|
2f6e59d00b | ||
|
|
f0eb8b58e4 | ||
|
|
cc8a917598 | ||
|
|
014df317d4 | ||
|
|
621e8726f9 | ||
|
|
8ed829a179 | ||
|
|
688c388ce7 | ||
|
|
1af58aff72 | ||
|
|
e5413e83d8 | ||
|
|
4595a2fc9f | ||
|
|
fc3eb18b70 | ||
|
|
717aaab9e8 | ||
|
|
4ae691ecb9 | ||
|
|
f6bd2da7a5 | ||
|
|
8bc2fbe6dc | ||
|
|
350b6c6e4b | ||
|
|
843c592a7c | ||
|
|
5cecbb7fba | ||
|
|
26e37dd3c4 | ||
|
|
7df179ae00 | ||
|
|
7e62e8ec72 | ||
|
|
1357368035 | ||
|
|
3de4ce5b32 | ||
|
|
7ad7a89244 | ||
|
|
dfc4deffd4 | ||
|
|
5e64f5057b | ||
|
|
da28297091 | ||
|
|
a0c23b6d2b | ||
|
|
4ebaaf41cf | ||
|
|
9f96221e5e | ||
|
|
fe370d6695 | ||
|
|
ccc42efe22 | ||
|
|
b6718de1ec | ||
|
|
0ed2f023d0 | ||
|
|
3f9261d05d | ||
|
|
15dab042b4 | ||
|
|
4838289a13 | ||
|
|
27c667c782 | ||
|
|
0468b5c132 | ||
|
|
3fb0bbdf40 | ||
|
|
87002cc704 | ||
|
|
6ce736a58c | ||
|
|
bd7b104e40 | ||
|
|
070424f0c8 | ||
|
|
83cc37a0b2 | ||
|
|
07fcc6ce70 | ||
|
|
6cd57ce392 | ||
|
|
1c559c3154 | ||
|
|
b1abe04105 | ||
|
|
bdca3189a8 | ||
|
|
5b72dda69f | ||
|
|
5e93ac8948 | ||
|
|
c0727fd319 | ||
|
|
efc3aed181 | ||
|
|
3190d5bf06 | ||
|
|
9be449ff55 | ||
|
|
9a6d6cf52b | ||
|
|
56fcdc9b6e | ||
|
|
81f9990e02 | ||
|
|
4840c451d9 | ||
|
|
a7b50b94bf | ||
|
|
ca5b75f7ff | ||
|
|
b062925376 | ||
|
|
44663da45b | ||
|
|
dcb752b165 | ||
|
|
ec386cbcdf | ||
|
|
bb14fc4019 | ||
|
|
37cea19340 | ||
|
|
e15c0d07e1 | ||
|
|
385e9e4ea5 | ||
|
|
0ef93af1e4 | ||
|
|
8d880c3e5c | ||
|
|
d4a8eebf59 | ||
|
|
4ff9489412 | ||
|
|
1a2433b58e | ||
|
|
33f13e393f | ||
|
|
00c8bdd561 | ||
|
|
5079d7a0b9 | ||
|
|
ff69aeea40 | ||
|
|
18865f7f2d | ||
|
|
4e9807a645 | ||
|
|
8162f3977a | ||
|
|
2a966bcd3b | ||
|
|
7a1a334c42 | ||
|
|
90a459ce4d | ||
|
|
930f3db167 | ||
|
|
2831a05d03 | ||
|
|
5d41383920 | ||
|
|
e63fd15e20 | ||
|
|
52dbe07119 | ||
|
|
d9a9501771 | ||
|
|
7e7576c3d8 | ||
|
|
f26acf61eb | ||
|
|
76dade1788 | ||
|
|
6fecd53e99 | ||
|
|
33a3e7ba2e | ||
|
|
6cd6353ff9 | ||
|
|
69f982cdad | ||
|
|
b0df9df39a | ||
|
|
4b3e11b3e7 | ||
|
|
074d73a919 | ||
|
|
314cdcbd25 | ||
|
|
53fd73611c | ||
|
|
072d89a883 | ||
|
|
660952565e | ||
|
|
27ce942e65 | ||
|
|
a248954890 | ||
|
|
c63d5d24b3 | ||
|
|
f4311822b1 | ||
|
|
b471c096d1 | ||
|
|
ba4fbdc948 | ||
|
|
c2dbefd86f | ||
|
|
57c2e79b27 | ||
|
|
c972a086e5 | ||
|
|
1f359c2fe0 | ||
|
|
eed7d8737a | ||
|
|
0cb591eb55 | ||
|
|
d639e0efee | ||
|
|
b6192fb975 | ||
|
|
261b3fc0f4 | ||
|
|
c1b3b6cab0 | ||
|
|
f91315e171 | ||
|
|
48abfcf5f0 | ||
|
|
441c122606 | ||
|
|
8c1fc169ab | ||
|
|
8cf20245a1 | ||
|
|
2845fa66ce | ||
|
|
20d2c70fbd | ||
|
|
74ecbaa23d | ||
|
|
b36a589480 | ||
|
|
6beeb755fa | ||
|
|
f2d8a44f26 | ||
|
|
ae8bbdf891 | ||
|
|
2d8153655c | ||
|
|
d776138bff | ||
|
|
1d5228acae | ||
|
|
958f2d5fa3 | ||
|
|
1a6f22d2a3 | ||
|
|
1aeeebc19b | ||
|
|
5d79f6caf0 | ||
|
|
0aa7062407 | ||
|
|
edb5ca9c52 | ||
|
|
adb9e905da | ||
|
|
ebb0495936 | ||
|
|
58050c286b | ||
|
|
715ab98169 | ||
|
|
5ddb904a86 | ||
|
|
cd0b1ce3b7 | ||
|
|
6b27f42180 | ||
|
|
56938f1873 | ||
|
|
f917e6b21b | ||
|
|
7bb5ce002c | ||
|
|
8232850c51 | ||
|
|
3e6a0a80d2 | ||
|
|
e3298fdae9 | ||
|
|
0fec1b5ce3 | ||
|
|
0adeeddb25 | ||
|
|
d4d7c7911a | ||
|
|
95b1d004f6 | ||
|
|
11eb084fc7 | ||
|
|
9e2bdce02c | ||
|
|
2fee20c837 | ||
|
|
da6f67d8f2 | ||
|
|
321c254be5 | ||
|
|
214da03d14 | ||
|
|
a2e93a0ab6 | ||
|
|
10e9b7ed08 | ||
|
|
b09d8a72d2 | ||
|
|
f08e9412ce | ||
|
|
2de62ac5ad | ||
|
|
d0f902e82e | ||
|
|
adfd17b0bc | ||
|
|
71c810ff93 | ||
|
|
ad0ccbcf30 | ||
|
|
e0debb7821 | ||
|
|
4adcb23673 | ||
|
|
b5d6f341c5 | ||
|
|
cc76043bd4 | ||
|
|
8c00f43904 | ||
|
|
2c502491f6 | ||
|
|
1956d0f6d6 | ||
|
|
5cfe019120 | ||
|
|
901b468e24 | ||
|
|
82bf777ed7 | ||
|
|
28aa0b47fb | ||
|
|
3026e9930e | ||
|
|
0afd2103f0 | ||
|
|
fd5570970e | ||
|
|
57692e2535 | ||
|
|
bd26b5821c | ||
|
|
00eddf0ee6 | ||
|
|
6c243d12d9 | ||
|
|
ea53650333 | ||
|
|
8703912fa0 | ||
|
|
e5afc25114 | ||
|
|
0167462218 | ||
|
|
1516aacdbe | ||
|
|
3a966abb62 | ||
|
|
2e71cd88e7 | ||
|
|
c1a5772aeb | ||
|
|
2c3a3af86e | ||
|
|
ddd0db77ab | ||
|
|
a1125b31af | ||
|
|
1bbceff78a | ||
|
|
d4dab10d0b | ||
|
|
8ae604912b | ||
|
|
b98de697b0 | ||
|
|
234fb283ed | ||
|
|
90c5d156f5 | ||
|
|
0a74a04e98 | ||
|
|
32154996a8 | ||
|
|
0468be6e07 | ||
|
|
264b9c115d | ||
|
|
51ef5b8122 | ||
|
|
b7d98b2d42 | ||
|
|
5818010f92 | ||
|
|
a928430ff7 | ||
|
|
99da30bf5d | ||
|
|
2945b06610 | ||
|
|
85df29b9fc | ||
|
|
e616c68acc | ||
|
|
e61606ad39 | ||
|
|
b26520ba90 | ||
|
|
e22a39fb44 | ||
|
|
533718a832 | ||
|
|
7af9cd3ac5 | ||
|
|
93308ccba3 | ||
|
|
ab5208886e | ||
|
|
263c8dc7b8 | ||
|
|
691cf5eb42 | ||
|
|
33f7d7929f | ||
|
|
ddb260707a | ||
|
|
9cf1786bf0 | ||
|
|
03bcf76223 | ||
|
|
a8fbfdff29 | ||
|
|
21da141911 | ||
|
|
95076c1ac4 | ||
|
|
0a5039dfaf | ||
|
|
627fc43262 | ||
|
|
b2c4191066 | ||
|
|
157d1c4639 | ||
|
|
11e7857989 | ||
|
|
da99a9eede | ||
|
|
6a5b9cebfe | ||
|
|
9310e12d5b | ||
|
|
40a5691f8f | ||
|
|
676032036b | ||
|
|
9456b58a8b | ||
|
|
643aa232f0 | ||
|
|
c239c1944b | ||
|
|
220dca451e | ||
|
|
56d63b6193 | ||
|
|
0b6b2e3470 | ||
|
|
1029ec82df | ||
|
|
e491611316 | ||
|
|
6fac68300e | ||
|
|
223750fba2 | ||
|
|
ee0ebdfd59 | ||
|
|
5198e6642c | ||
|
|
42eca21d2c | ||
|
|
d41f360565 | ||
|
|
82182c3e27 | ||
|
|
f6fa84f5ff | ||
|
|
871435fdb5 | ||
|
|
0ebab19479 | ||
|
|
e9bf6aac83 | ||
|
|
0b76735b47 |
7
.gitignore
vendored
7
.gitignore
vendored
@@ -1,7 +1,4 @@
|
||||
/build_*
|
||||
/project_*
|
||||
/toolchain_*
|
||||
/binaries
|
||||
/output
|
||||
/dl
|
||||
/.auto.deps
|
||||
/.config.cmd
|
||||
@@ -9,3 +6,5 @@
|
||||
/.config
|
||||
*.depend
|
||||
*.o
|
||||
*.orig
|
||||
*~
|
||||
|
||||
201
CHANGES
201
CHANGES
@@ -1,3 +1,204 @@
|
||||
2009.11-rc2, Released November 29th, 2009:
|
||||
|
||||
Additional fixes and cleanups.
|
||||
|
||||
Updated/fixed packages: busybox, dbus, fltk, gvfs, ltrace
|
||||
|
||||
2009.11-rc1, Released November 23rd, 2009:
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
Cleaned up / Simplified build directory layout. Refer to
|
||||
docs/buildroot.html#using for details.
|
||||
|
||||
Target defconfig files moved to configs/ and listed in 'make help'
|
||||
output.
|
||||
|
||||
Fixed *clean targets. Now clean removes everything generated,
|
||||
so you can do a fresh rebuild. Distclean furthermore removes
|
||||
kbuild tools and .config, bringing the source tree back in a
|
||||
pristine state.
|
||||
|
||||
Toolchain: ARM cortex A8 support, GCC 4.4.2, sensible default
|
||||
soft / hardfloat setting for architecture, ensure target-ldd
|
||||
gets installed.
|
||||
|
||||
New packages: divine, gvfs, libarchive, libmicrohttpd,
|
||||
sdl_sound, swfdec, sysstat
|
||||
|
||||
Updated/fixed packages: alsa-lib, alsamixergui, autoconf, bootutils,
|
||||
busybox, gcc, directfb, dnsmasq, e2fsprogs, festival, gamin, gperf,
|
||||
gqview, gstreamer, gst-plugins-bad, gst-plugins-base, gst-plugins-good,
|
||||
imagemagick, ipkg, iptables, iw, kernel-headers, kismet, leafpad,
|
||||
libelf, libevent, libglib2, libidn, liblockfile, libmad, libpcap,
|
||||
libupnp, libuuid, libxml2, lighttpd, ltrace, lua, lzma, magiccube4d,
|
||||
matchbox, mdadm, nbd, ncftp, ncurses, netkittelnet, netsnmp,
|
||||
ng-spice-rework, ntfs-3g, openntp, openssl, pcmanfm, php, psmisc,
|
||||
python, quagga, radvd, rpm, rsync, rubix, samba, sawman, sdl, sdl_image,
|
||||
shared-mime-info, sfdisk, spawn-fcgi, speech-tools, sqlite, squashfs,
|
||||
synergy, syslinux, sysklogd, target-binutils, tcpdump, torsmo, u-boot,
|
||||
udpcast, util-linux, valgrind, vsftpd, wipe, wpa-supplicant, x11vnc,
|
||||
xdata_xcursor-themes, xboard, xfsprogs, xstroke, zlib
|
||||
|
||||
Removed package: mdnsresponder, mpatrol, gcc 3.4.6 + 4.0.4, vice
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#301: allow to install libsmbclient
|
||||
#303: add gvfs package
|
||||
#477: Add sdl_sound package
|
||||
#487: Make kismet package sexier
|
||||
#511: New package usb_modeswitch
|
||||
#527: misc fixes for dnsmasq package
|
||||
#565: libevent: Bump version and clean up makefile
|
||||
#587: Use iptables multipurpose binaries and bump to 1.4.4
|
||||
#593: Missing early check for patch(1)
|
||||
#597: (REOP) Selecting busybox in buildroot's config clobbers ar ...
|
||||
#609: libmicrohttpd: New package
|
||||
#615: python: Don't delete .py files unless asked
|
||||
#617: netkit/inetd requires RPC and fails to build if RPC is disabled
|
||||
#619: netkittelnet requires netkitbase to install, but there's no ...
|
||||
#645: allow to build nbd-server with NBD package
|
||||
#653: [SECURITY] Update php package to version 5.2.11
|
||||
#655: Update sqlite package to version 3.6.18
|
||||
#657: Bug in imagemagick-clean target
|
||||
#663: Add option for NAND flash with 512B Page and 16 kB erasesize ...
|
||||
#665: [PATCH] Samba package
|
||||
#667: [PATCH] e2fsprogs
|
||||
#683: SDL-dfb does not select directfb
|
||||
#701: make install problem with unstripped binaries
|
||||
#703: [SECURITY] Update openssl package to 0.9.8l
|
||||
#705: Bump spawn-fcgi package to 1.6.3
|
||||
#709: Bump lighttpd package to 1.4.24
|
||||
#713: Migrate openntpd package to Makefile.autotools.in
|
||||
#715: Bump libidn package to 1.15 and other fixes
|
||||
#717: Bump dnsmasq to 2.51 and introduce new IDN option
|
||||
#731: Bump iw package to 0.9.17
|
||||
|
||||
2009.08, Released August 31th, 2009:
|
||||
|
||||
Additional fixes and cleanups.
|
||||
|
||||
Updated/fixed packages: ctorrent, saveconfig/getconfig,
|
||||
sdl_net, util-linux.
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#529: util-linux doesn't find headers and include libs correctly
|
||||
#557: Build ctorrent with SSL support if available
|
||||
|
||||
2009.08-rc3, Released August 26th, 2009:
|
||||
|
||||
Additional fixes and cleanups.
|
||||
|
||||
Updated/fixed packages: alsa-utils, berkeleydb, busybox, dbus,
|
||||
directfb, enchant, kernel headers.
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#471: Allow directfb compilation with debug
|
||||
#541: Removal of CVS directories in target filesystem broken
|
||||
#547: berkeleydb: Update config.{sub, guess}
|
||||
#549: enchant: Fix dependencies.
|
||||
#569: Fix alsa-utils build for x86 on x86-64
|
||||
|
||||
2009.08-rc2, Released August 6th, 2009:
|
||||
|
||||
Additional fixes and new features.
|
||||
|
||||
New packages: libuuid, gcc 4.3.4.
|
||||
|
||||
Updated/fixed packages: busybox, classpath, gzip, ipsec-tools,
|
||||
jamvm, libusb, microperl, neon, popt, sed, webkit.
|
||||
|
||||
Fixed issue with 'make oldconfig'
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#525: sed broken with external toolchain
|
||||
#537: Fix gzip build with recent glibc
|
||||
|
||||
2009.08-rc1, Released August 2nd, 2009:
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
Improvement of external toolchain support:
|
||||
- Support for glibc toolchains.
|
||||
- The toolchain configuration announced to Buildroot is
|
||||
verified against the real toolchain configuration.
|
||||
- Fixes, documentation.
|
||||
|
||||
Cleanup X.org support: clarified configuration options, and
|
||||
removed mandatory dependency on useless libraries such as
|
||||
libXt or libXaw.
|
||||
|
||||
New QT-based configurator, usable using 'make xconfig'.
|
||||
|
||||
Support for the Xtensa architecture.
|
||||
|
||||
Toolchain: GCC 4.4.1, 2.6.30 kernel headers, removed < 2.6.26
|
||||
headers.
|
||||
|
||||
New packages: bmon, ctorrent, dosfstools, enchant,
|
||||
gst-plugins-bad, iw, libmms, libnl, netstat-nat, ntfsprogs,
|
||||
sdl_gfx, spawn-fcgi.
|
||||
|
||||
Updated packages: bind, busybox, coreutils, sqlite, directfb,
|
||||
expat, gamin, gnuconfig, haserl, ipsec-tools, classpath,
|
||||
libcurl, libglib2, liblockfile, libpng, libsoup, libxml2,
|
||||
lighttpd, ltp-testsuite, lvm2, matchbox, memstat,
|
||||
gst-plugins-good, gstreamer, libogg, libvorbis, mplayer,
|
||||
neon, openssl, pciutils, php, qt, ruby, sawman, webkit,
|
||||
wpa-supplicant, xdriver_xf86-input-synaptics,
|
||||
xdriver_xf86-video-intel, xlib_libXfont, xlib_libXft,
|
||||
xlib_libXt, xproto_xproto, xserver-xorg, xutil_makedepend,
|
||||
xutil_util-macros.
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#83: liblockfile fails to compile due to eaccess redefinition
|
||||
#163: Xtensa architecture port
|
||||
#171: xorg-server / kernel headers 2.6.26 - vm86.c compilation issue
|
||||
#241: device mapper + lvm2: build together
|
||||
#243: ctorrent: new package
|
||||
#247: ntfsprogs: new package
|
||||
#271: Library 'libgcc_s.so.1' not installed in search path
|
||||
#287: New package libnl
|
||||
#289: New package iw
|
||||
#331: Update MPlayer to version 1.0rc2
|
||||
#333: Bump sqlite package to 3.6.15
|
||||
#349: update libsoup to version 2.26.2
|
||||
#357: New package netstat-nat
|
||||
#359,#413: Upgrade openvpn to Makefile.autotools.in
|
||||
#367: linux kernel compile error for arm926t
|
||||
#369: Add SDL_gfx package
|
||||
#373: Support for building gstreamer without libxml
|
||||
#379: update DirectFB to version 1.4.0
|
||||
#383: gst-plugins-good: Allow soup plugin to be configured
|
||||
#385: neon: Fix pkgconfig dependency
|
||||
#387: Tremor not installed to toolchain
|
||||
#389: New package bmon
|
||||
#391: gstreamer: Bump version to 0.10.23
|
||||
#393: gst-plugins-base: Bump version to 0.10.23
|
||||
#395: gst-plugins-bad: New package
|
||||
#403: Error while building iso9660 image
|
||||
#409: Bump php package to 5.2.10
|
||||
#411: ipsec-tools: Bump version to 0.7.2
|
||||
#417: New package spawn-fcgi
|
||||
#419: Bump lighttpd package to 1.4.23
|
||||
#421: toolchain: Clean up toolchain locale support menu
|
||||
#427: webkit: Update to WebKit svn r44552
|
||||
#437: ltp-testsuite: Bump version to 20090630
|
||||
#451: Upgrade from unmaintained dosfstools-2.11 to dosfstools-3.0.3
|
||||
#467: DirectFB 1.4.1
|
||||
#473: memstat_0.5.tar.gz has install with -D and that fails "make"
|
||||
#491: libxml2: Bump version to 0.7.3
|
||||
#495: Bump bind package to 9.5.1-P3 (security)
|
||||
#497: OpenSSL RSA key generation hangs on x86_64
|
||||
#509: Bump sqlite package to 3.6.16
|
||||
#523: pciutils broken with external toolchain
|
||||
#533: Update gamin to 0.1.10 to fix compilation
|
||||
|
||||
2009.05, Released June 1st, 2009:
|
||||
|
||||
Fixes for dropbear & diffutils, bump linux-advanced 2.6.29.x
|
||||
|
||||
44
Config.in
44
Config.in
@@ -8,7 +8,7 @@ config BR2_HAVE_DOT_CONFIG
|
||||
|
||||
config BR2_VERSION
|
||||
string
|
||||
default "2009.05"
|
||||
default "2009.11-rc2"
|
||||
|
||||
source "target/Config.in.arch"
|
||||
source "target/device/Config.in"
|
||||
@@ -27,6 +27,14 @@ config BR2_SVN_UP
|
||||
string "Subversion (svn) command to update source tree"
|
||||
default "svn up"
|
||||
|
||||
config BR2_BZR_CO
|
||||
string "Bazaar (bzr) command to download source tree"
|
||||
default "bzr co"
|
||||
|
||||
config BR2_BZR_UP
|
||||
string "Bazaar (bzr) command to update source tree"
|
||||
default "bzr up"
|
||||
|
||||
config BR2_GIT
|
||||
string "Git command to download source tree"
|
||||
default "git clone"
|
||||
@@ -61,13 +69,13 @@ config BR2_TAR_OPTIONS
|
||||
|
||||
config BR2_DL_DIR
|
||||
string "Download dir"
|
||||
default "$(BASE_DIR)/dl"
|
||||
default "$(TOPDIR)/dl"
|
||||
help
|
||||
Directory to store all the source files that we need to fetch.
|
||||
If the Linux shell environment has defined the BUILDROOT_DL_DIR
|
||||
environment variable, then this overrides this configuration item.
|
||||
|
||||
The default is $(BASE_DIR)/dl
|
||||
The default is $(TOPDIR)/dl
|
||||
|
||||
config BR2_COPYTO
|
||||
string "Copy result to..."
|
||||
@@ -80,7 +88,7 @@ source "target/device/Config.in.mirrors"
|
||||
|
||||
config BR2_STAGING_DIR
|
||||
string "Toolchain and header file location?"
|
||||
default "$(BUILD_DIR)/staging_dir"
|
||||
default "$(BASE_DIR)/staging"
|
||||
help
|
||||
This is the location where the toolchain will be installed. The
|
||||
toolchain will not work if it is moved from this location.
|
||||
@@ -89,32 +97,7 @@ config BR2_STAGING_DIR
|
||||
will be used.
|
||||
|
||||
Most people will leave this set to the default value of
|
||||
"$(BUILD_DIR)/staging_dir".
|
||||
|
||||
config BR2_FPU_SUFFIX
|
||||
bool "Add '_nofpu' suffix for softfloat toolchains"
|
||||
help
|
||||
If the toolchain is configured to use softfloat, then
|
||||
the "_nofpu" suffix will be added to the toolchain build
|
||||
directory name and to any rootfs image name
|
||||
|
||||
config BR2_TOPDIR_PREFIX
|
||||
string "Custom build dir prefix"
|
||||
default ""
|
||||
help
|
||||
Add a custom string to the beginning of the build directories.
|
||||
|
||||
build_ARCH -> [PREFIX]_build_ARCH
|
||||
toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH
|
||||
|
||||
config BR2_TOPDIR_SUFFIX
|
||||
string "Custom build dir suffix"
|
||||
default ""
|
||||
help
|
||||
Add a custom string to the end of the build directories.
|
||||
|
||||
build_ARCH -> build_ARCH_[SUFFIX]
|
||||
toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]
|
||||
"$(BASE_DIR)/staging".
|
||||
|
||||
config BR2_GNU_BUILD_SUFFIX
|
||||
string "GNU build hostname suffix"
|
||||
@@ -177,6 +160,7 @@ config BR2_RECENT
|
||||
|
||||
config BR2_CONFIG_CACHE
|
||||
bool "Use a central configure cache file"
|
||||
default y
|
||||
help
|
||||
This determines if a central config cache is used by
|
||||
packages, reducing the configure time for packages as each
|
||||
|
||||
260
Makefile
260
Makefile
@@ -22,23 +22,20 @@
|
||||
# Just run 'make menuconfig', configure stuff, then run 'make'.
|
||||
# You shouldn't need to mess with anything beyond this point...
|
||||
#--------------------------------------------------------------
|
||||
TOPDIR=./
|
||||
TOPDIR:=.
|
||||
CONFIG_CONFIG_IN=Config.in
|
||||
CONFIG_DEFCONFIG=.defconfig
|
||||
CONFIG=package/config
|
||||
DATE:=$(shell date +%Y%m%d)
|
||||
|
||||
noconfig_targets:=menuconfig config oldconfig randconfig \
|
||||
defconfig allyesconfig allnoconfig release tags \
|
||||
noconfig_targets:=menuconfig xconfig config oldconfig randconfig \
|
||||
defconfig allyesconfig allnoconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
source-check help
|
||||
|
||||
|
||||
# Use shell variables, if defined
|
||||
ifneq ($(BUILDROOT_LOCAL),)
|
||||
BR2_LOCAL:=$(BUILDROOT_LOCAL)
|
||||
else
|
||||
BR2_LOCAL:=$(TOPDIR)/local
|
||||
endif
|
||||
# Strip quotes and then whitespaces
|
||||
qstrip=$(strip $(subst ",,$(1)))
|
||||
#"))
|
||||
|
||||
# Variables for use in Make constructs
|
||||
comma:=,
|
||||
@@ -48,20 +45,13 @@ space:=$(empty) $(empty)
|
||||
# $(shell find . -name *_defconfig |sed 's/.*\///')
|
||||
# Pull in the user's configuration file
|
||||
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
|
||||
ifeq ($(BOARD),)
|
||||
# if "make BOARD=xyz" command
|
||||
-include .config
|
||||
else
|
||||
# if "make" command
|
||||
-include $(BR2_LOCAL)/$(BOARD)/$(BOARD).config
|
||||
endif
|
||||
endif
|
||||
|
||||
# Override BR2_DL_DIR if shell variable defined
|
||||
ifneq ($(BUILDROOT_DL_DIR),)
|
||||
BR2_DL_DIR:=$(BUILDROOT_DL_DIR)
|
||||
endif
|
||||
LOCAL:=$(BR2_LOCAL)
|
||||
|
||||
# To put more focus on warnings, be less verbose as default
|
||||
# Use 'make V=1' to see the full commands
|
||||
@@ -213,10 +203,67 @@ BASE_TARGETS:=uclibc
|
||||
endif
|
||||
TARGETS:=
|
||||
|
||||
# setup our paths
|
||||
include project/Makefile.in
|
||||
# silent mode requested?
|
||||
QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q)
|
||||
|
||||
BR2_DEPENDS_DIR=$(PROJECT_BUILD_DIR)/buildroot-config
|
||||
# Strip off the annoying quoting
|
||||
ARCH:=$(call qstrip,$(BR2_ARCH))
|
||||
ifeq ($(ARCH),xtensa)
|
||||
ARCH:=$(ARCH)_$(call qstrip,$(BR2_xtensa_core_name))
|
||||
endif
|
||||
WGET:=$(call qstrip,$(BR2_WGET)) $(SPIDER) $(QUIET)
|
||||
SVN_CO:=$(call qstrip,$(BR2_SVN_CO)) $(QUIET)
|
||||
SVN_UP:=$(call qstrip,$(BR2_SVN_UP)) $(QUIET)
|
||||
BZR_CO:=$(call qstrip,$(BR2_BZR_CO)) $(QUIET)
|
||||
BZR_UP:=$(call qstrip,$(BR2_BZR_UP)) $(QUIET)
|
||||
GIT:=$(call qstrip,$(BR2_GIT)) $(QUIET)
|
||||
ZCAT:=$(call qstrip,$(BR2_ZCAT))
|
||||
BZCAT:=$(call qstrip,$(BR2_BZCAT))
|
||||
TAR_OPTIONS=$(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
|
||||
ifneq ("$(origin O)", "command line")
|
||||
O:=output
|
||||
else
|
||||
# other packages might also support Linux-style out of tree builds
|
||||
# with the O=<dir> syntax (E.G. Busybox does). As make automatically
|
||||
# forwards command line variable definitions those packages get very
|
||||
# confused. Fix this by telling make to not do so
|
||||
MAKEOVERRIDES =
|
||||
endif
|
||||
|
||||
BASE_DIR := $(shell mkdir -p $(O) && cd $(O) && pwd)
|
||||
$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))
|
||||
|
||||
DL_DIR=$(call qstrip,$(BR2_DL_DIR))
|
||||
ifeq ($(DL_DIR),)
|
||||
DL_DIR:=$(TOPDIR)/dl
|
||||
endif
|
||||
|
||||
BUILD_DIR:=$(BASE_DIR)/build
|
||||
|
||||
GNU_TARGET_SUFFIX:=-$(call qstrip,$(BR2_GNU_TARGET_SUFFIX))
|
||||
|
||||
STAGING_DIR:=$(call qstrip,$(BR2_STAGING_DIR))
|
||||
|
||||
# packages compiled for the host goes here
|
||||
HOST_DIR:=$(BASE_DIR)/host
|
||||
|
||||
# stamp (dependency) files go here
|
||||
STAMP_DIR:=$(BASE_DIR)/stamps
|
||||
|
||||
BINARIES_DIR:=$(BASE_DIR)/images
|
||||
TARGET_DIR:=$(BASE_DIR)/target
|
||||
|
||||
# define values for prepatched source trees for toolchains
|
||||
VENDOR_SITE:=$(call qstrip,$(BR2_VENDOR_SITE))
|
||||
VENDOR_SUFFIX:=$(call qstrip,$(BR2_VENDOR_SUFFIX))
|
||||
VENDOR_BINUTILS_RELEASE:=$(call qstrip,$(BR2_VENDOR_BINUTILS_RELEASE))
|
||||
VENDOR_GCC_RELEASE:=$(call qstrip,$(BR2_VENDOR_GCC_RELEASE))
|
||||
VENDOR_UCLIBC_RELEASE:=$(call qstrip,$(BR2_VENDOR_UCLIBC_RELEASE))
|
||||
VENDOR_GDB_RELEASE:=$(call qstrip,$(BR2_VENDOR_GDB_RELEASE))
|
||||
VENDOR_PATCH_DIR:=$(call qstrip,$(BR2_VENDOR_PATCH_DIR))
|
||||
|
||||
BR2_DEPENDS_DIR=$(BUILD_DIR)/buildroot-config
|
||||
|
||||
include toolchain/Makefile.in
|
||||
include package/Makefile.in
|
||||
@@ -233,8 +280,6 @@ all: world
|
||||
# In this section, we need .config
|
||||
include .config.cmd
|
||||
|
||||
include project/*.mk
|
||||
|
||||
# We also need the various per-package makefiles, which also add
|
||||
# each selected package to TARGETS if that package was selected
|
||||
# in the .config file.
|
||||
@@ -285,21 +330,19 @@ $(BR2_DEPENDS_DIR): .config
|
||||
mkdir -p $(@D)
|
||||
cp -dpRf $(CONFIG)/buildroot-config $@
|
||||
|
||||
dirs: $(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(PROJECT_BUILD_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
|
||||
dirs: $(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||
|
||||
$(BASE_TARGETS): dirs
|
||||
|
||||
world: dependencies dirs target-host-info $(BASE_TARGETS) $(TARGETS_ALL)
|
||||
world: dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL)
|
||||
|
||||
|
||||
.PHONY: all world dirs clean dirclean distclean source \
|
||||
.PHONY: all world dirs clean distclean source \
|
||||
$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \
|
||||
$(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
|
||||
$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(PROJECT_BUILD_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
|
||||
$(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
@@ -307,8 +350,7 @@ world: dependencies dirs target-host-info $(BASE_TARGETS) $(TARGETS_ALL)
|
||||
# dependencies anywhere else
|
||||
#
|
||||
#############################################################
|
||||
$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(HOST_DIR) $(PROJECT_BUILD_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps $(BINARIES_DIR) $(STAMP_DIR):
|
||||
$(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR):
|
||||
@mkdir -p $@
|
||||
|
||||
$(STAGING_DIR):
|
||||
@@ -326,22 +368,25 @@ endif
|
||||
endif
|
||||
@mkdir -p $(STAGING_DIR)/usr/include
|
||||
|
||||
$(PROJECT_BUILD_DIR)/.root:
|
||||
$(BUILD_DIR)/.root:
|
||||
mkdir -p $(TARGET_DIR)
|
||||
if ! [ -d "$(TARGET_DIR)/bin" ]; then \
|
||||
if [ -d "$(TARGET_SKELETON)" ]; then \
|
||||
cp -fa $(TARGET_SKELETON)/* $(TARGET_DIR)/; \
|
||||
fi; \
|
||||
if [ -d "$(TARGET_SKELETON_PATCH)" ]; then \
|
||||
toolchain/patch-kernel.sh $(TARGET_DIR) $(TARGET_SKELETON_PATCH)/ \*patch\*; \
|
||||
fi; \
|
||||
touch $(STAGING_DIR)/.fakeroot.00000; \
|
||||
fi
|
||||
-find $(TARGET_DIR) -type d -name CVS -o -name .svn -print0 | xargs -0 rm -rf
|
||||
-find $(TARGET_DIR) -type d -name CVS -print0 -o -name .svn -print0 | xargs -0 rm -rf
|
||||
-find $(TARGET_DIR) -type f -name .empty -print0 | xargs -0 rm -rf
|
||||
touch $@
|
||||
|
||||
$(TARGET_DIR): $(PROJECT_BUILD_DIR)/.root
|
||||
$(TARGET_DIR): $(BUILD_DIR)/.root
|
||||
|
||||
erase-fakeroots:
|
||||
rm -f $(PROJECT_BUILD_DIR)/.fakeroot*
|
||||
rm -f $(BUILD_DIR)/.fakeroot*
|
||||
|
||||
target-finalize:
|
||||
ifeq ($(BR2_HAVE_DEVFILES),y)
|
||||
@@ -360,10 +405,17 @@ endif
|
||||
find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIPCMD) 2>/dev/null || true
|
||||
$(TARGET_LDCONFIG) -r $(TARGET_DIR) 2>/dev/null
|
||||
|
||||
mkdir -p $(TARGET_DIR)/etc
|
||||
echo $(BR2_VERSION)$(shell $(TOPDIR)/scripts/setlocalversion) > \
|
||||
$(TARGET_DIR)/etc/br-version
|
||||
|
||||
ifneq ($(BR2_ROOTFS_POST_BUILD_SCRIPT),"")
|
||||
$(BR2_ROOTFS_POST_BUILD_SCRIPT) $(TARGET_DIR)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
|
||||
LOCALE_WHITELIST=$(PROJECT_BUILD_DIR)/locales.nopurge
|
||||
LOCALE_NOPURGE=$(strip $(subst ",,$(BR2_ENABLE_LOCALE_WHITELIST)))
|
||||
#"))
|
||||
LOCALE_WHITELIST=$(BUILD_DIR)/locales.nopurge
|
||||
LOCALE_NOPURGE=$(call qstrip,$(BR2_ENABLE_LOCALE_WHITELIST))
|
||||
|
||||
target-purgelocales:
|
||||
rm -f $(LOCALE_WHITELIST)
|
||||
@@ -387,34 +439,6 @@ external-deps:
|
||||
@$(MAKE) -Bs BR2_WGET=$(TOPDIR)/toolchain/wget-show-external-deps.sh \
|
||||
SPIDER=--spider source
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Cleanup and misc junk
|
||||
#
|
||||
#############################################################
|
||||
clean: $(TARGETS_CLEAN)
|
||||
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
|
||||
|
||||
dirclean: $(TARGETS_DIRCLEAN)
|
||||
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
|
||||
|
||||
distclean:
|
||||
ifeq ($(DL_DIR),$(BASE_DIR)/dl)
|
||||
rm -rf $(DL_DIR)
|
||||
endif
|
||||
rm -rf $(TOOL_BUILD_DIR) $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(BINARIES_DIR) \
|
||||
.config.cmd
|
||||
$(MAKE) -C $(CONFIG) clean
|
||||
|
||||
sourceball:
|
||||
rm -rf $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(BINARIES_DIR)
|
||||
set -e; \
|
||||
cd ..; \
|
||||
rm -f buildroot.tar.bz2; \
|
||||
tar -cvf buildroot.tar buildroot; \
|
||||
bzip2 -9 buildroot.tar; \
|
||||
|
||||
|
||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
all: menuconfig
|
||||
@@ -431,13 +455,29 @@ $(CONFIG)/conf:
|
||||
-@if [ ! -f .config ]; then \
|
||||
cp $(CONFIG_DEFCONFIG) .config; \
|
||||
fi
|
||||
|
||||
$(CONFIG)/mconf:
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
$(MAKE) CC="$(HOSTCC)" -C $(CONFIG) conf mconf
|
||||
$(MAKE) CC="$(HOSTCC)" -C $(CONFIG) mconf
|
||||
-@if [ ! -f .config ]; then \
|
||||
cp $(CONFIG_DEFCONFIG) .config; \
|
||||
fi
|
||||
|
||||
$(CONFIG)/qconf:
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
$(MAKE) CC="$(HOSTCC)" -C $(CONFIG) qconf
|
||||
-@if [ ! -f .config ]; then \
|
||||
cp $(CONFIG_DEFCONFIG) .config; \
|
||||
fi
|
||||
|
||||
xconfig: $(CONFIG)/qconf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/qconf $(CONFIG_CONFIG_IN); then \
|
||||
test -f .config.cmd || rm -f .config; \
|
||||
fi
|
||||
|
||||
menuconfig: $(CONFIG)/mconf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
@@ -470,7 +510,6 @@ allyesconfig: $(CONFIG)/conf
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -y $(CONFIG_CONFIG_IN)
|
||||
#sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config
|
||||
|
||||
allnoconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@@ -478,6 +517,33 @@ allnoconfig: $(CONFIG)/conf
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
$(CONFIG)/conf -n $(CONFIG_CONFIG_IN)
|
||||
|
||||
randpackageconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ .config > .config.nopkg
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
KCONFIG_ALLCONFIG=.config.nopkg \
|
||||
$(CONFIG)/conf -r $(CONFIG_CONFIG_IN)
|
||||
@rm -f .config.nopkg
|
||||
|
||||
allyespackageconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ .config > .config.nopkg
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
KCONFIG_ALLCONFIG=.config.nopkg \
|
||||
$(CONFIG)/conf -y $(CONFIG_CONFIG_IN)
|
||||
@rm -f .config.nopkg
|
||||
|
||||
allnopackageconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@grep -v BR2_PACKAGE_ .config > .config.nopkg
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
|
||||
KCONFIG_ALLCONFIG=.config.nopkg \
|
||||
$(CONFIG)/conf -n $(CONFIG_CONFIG_IN)
|
||||
@rm -f .config.nopkg
|
||||
|
||||
defconfig: $(CONFIG)/conf
|
||||
@mkdir -p $(CONFIG)/buildroot-config
|
||||
@KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
|
||||
@@ -488,49 +554,43 @@ defconfig: $(CONFIG)/conf
|
||||
source-check: allyesconfig
|
||||
$(MAKE) _source-check
|
||||
|
||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Cleanup and misc junk
|
||||
#
|
||||
#############################################################
|
||||
clean:
|
||||
rm -f .config .config.old .config.cmd .tmpconfig.h .lognr.*
|
||||
-$(MAKE) -C $(CONFIG) clean
|
||||
rm -rf $(STAGING_DIR) $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
|
||||
$(STAMP_DIR) $(BUILD_DIR) $(TOOLCHAIN_DIR)
|
||||
|
||||
distclean: clean
|
||||
rm -rf sources/*
|
||||
|
||||
|
||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
ifeq ($(DL_DIR),$(TOPDIR)/dl)
|
||||
rm -rf $(DL_DIR)
|
||||
endif
|
||||
ifeq ($(O),output)
|
||||
rm -rf $(O)
|
||||
endif
|
||||
rm -rf .config .config.old .config.cmd .auto.deps
|
||||
-$(MAKE) -C $(CONFIG) clean
|
||||
|
||||
flush:
|
||||
rm -f $(PROJECT_BUILD_DIR)/tgt-config.cache
|
||||
rm -f $(BUILD_DIR)/tgt-config.cache
|
||||
|
||||
%_defconfig: $(CONFIG)/conf
|
||||
cp $(shell find ./target/ -name $@) .config
|
||||
-@$(MAKE) oldconfig
|
||||
|
||||
update:
|
||||
cp .config $(BOARD_PATH)/$(PROJECT)_defconfig
|
||||
%_defconfig: $(TOPDIR)/configs/%_defconfig
|
||||
cp $^ .config
|
||||
@$(MAKE) oldconfig
|
||||
|
||||
configured: dirs host-sed kernel-headers uclibc-config busybox-config linux26-config
|
||||
|
||||
prepatch: gcc-patched binutils-patched gdb-patched uclibc-patched
|
||||
|
||||
.lognr.$(PROJECT):
|
||||
@echo "0" > .lognr.$(PROJECT)
|
||||
|
||||
log: .lognr.$(PROJECT)
|
||||
@expr `cat .lognr.$(PROJECT)` + 1 > .lognr.$(PROJECT)
|
||||
@echo Creating $(PROJECT)-`cat .lognr.$(PROJECT)`.log
|
||||
@$(MAKE) > $(PROJECT)-`cat .lognr.$(PROJECT)`.log 2>&1
|
||||
|
||||
|
||||
cross: $(BASE_TARGETS)
|
||||
|
||||
help:
|
||||
@echo 'Cleaning:'
|
||||
@echo ' clean - delete temporary files created by build'
|
||||
@echo ' clean - delete all files created by build'
|
||||
@echo ' distclean - delete all non-source files (including .config)'
|
||||
@echo
|
||||
@echo 'Build:'
|
||||
@@ -538,10 +598,16 @@ help:
|
||||
@echo
|
||||
@echo 'Configuration:'
|
||||
@echo ' menuconfig - interactive curses-based configurator'
|
||||
@echo ' xconfig - interactive Qt-based configurator'
|
||||
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
||||
@echo ' randconfig - New config with random answer to all options'
|
||||
@echo ' defconfig - New config with default answer to all options'
|
||||
@echo ' allyesconfig - New config where all options are accepted with yes'
|
||||
@echo ' allnoconfig - New config where all options are answered with no'
|
||||
@echo ' randpackageconfig - New config with random answer to package options'
|
||||
@echo ' allyespackageconfig - New config where pkg options are accepted with yes'
|
||||
@echo ' allnopackageconfig - New config where package options are answered with no'
|
||||
@echo ' configured - make {uclibc/busybox/linux26}-config'
|
||||
@echo ' saveconfig - save current configuration under local/<project>'
|
||||
@echo ' getconfig - restore saved configuration from local/<project>'
|
||||
@echo
|
||||
@echo 'Miscellaneous:'
|
||||
@echo ' source - download all sources needed for offline-build'
|
||||
@@ -549,6 +615,9 @@ help:
|
||||
@echo ' external-deps - list external packages used'
|
||||
@echo ' flush - flush configuration cache'
|
||||
@echo
|
||||
@$(foreach b, $(notdir $(wildcard $(TOPDIR)/configs/*_defconfig)), \
|
||||
printf " %-35s - Build for %s\\n" $(b) $(b:_defconfig=);)
|
||||
@echo
|
||||
@echo 'See docs/README and docs/buildroot.html for further details'
|
||||
@echo
|
||||
|
||||
@@ -558,6 +627,5 @@ release: distclean
|
||||
tar cfz $$OUT.tar.gz --exclude .svn --exclude .git --exclude \*~ $$OUT; \
|
||||
rm -rf $$OUT
|
||||
|
||||
.PHONY: dummy subdirs release distclean clean config oldconfig \
|
||||
menuconfig tags check test depend defconfig help
|
||||
.PHONY: $(noconfig_targets)
|
||||
|
||||
|
||||
15
TODO
15
TODO
@@ -6,9 +6,12 @@ Buildroot2 TODOs
|
||||
packages/Makefile.autotools.in
|
||||
- fix setting of flags for packages
|
||||
|
||||
- stabilize for a 0.10.0 release
|
||||
|
||||
- think about using a common --config-cache for configure
|
||||
Should take care of expanding TARGET_CONFIGURE_ARGS for cross compiles
|
||||
to working presets.
|
||||
|
||||
- coreutils: use make install-strip to install the packages. For now,
|
||||
it fails beause even if we pass STRIP="/path/to/$(ARCH)-strip", the
|
||||
coreutils build system uses the host strip to strip target
|
||||
binaries. The ./configure execution done by Buildroot properly
|
||||
detects the cross-strip, but when running make, build-aux/missing
|
||||
gets run, complains about aclocal-1.10c and atuomake-1.10c not being
|
||||
present, and rerun the configuration... with the wrong environment
|
||||
variables (STRIP= is missing). An autoreconf on this package is
|
||||
probably necessary.
|
||||
|
||||
@@ -138,7 +138,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -232,7 +232,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
|
||||
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.30.config"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -628,7 +628,7 @@ BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -680,7 +680,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
|
||||
@@ -143,7 +143,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -237,7 +237,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
|
||||
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.30.config"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
BR2_UCLIBC_PROGRAM_INVOCATION=y
|
||||
BR2_PROGRAM_INVOCATION=y
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -283,7 +283,7 @@ BR2_GCC_SHARED_LIBGCC=y
|
||||
# Ccache Options
|
||||
#
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
BR2_CCACHE_DIR="$(TOOLCHAIN_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
@@ -343,7 +343,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -737,7 +737,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -788,7 +788,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -138,7 +138,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -548,7 +548,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -600,7 +600,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
|
||||
@@ -149,7 +149,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -268,7 +268,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -662,7 +662,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -713,7 +713,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -156,7 +156,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -255,7 +255,7 @@ BR2_ENABLE_LOCALE=y
|
||||
BR2_PTHREADS_OLD=y
|
||||
# BR2_PTHREADS_NATIVE is not set
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
BR2_UCLIBC_PROGRAM_INVOCATION=y
|
||||
BR2_PROGRAM_INVOCATION=y
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -303,7 +303,7 @@ BR2_GCC_SHARED_LIBGCC=y
|
||||
# Ccache Options
|
||||
#
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
BR2_CCACHE_DIR="$(TOOLCHAIN_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
@@ -355,7 +355,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -751,7 +751,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -802,7 +802,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -138,7 +138,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -548,7 +548,7 @@ BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -600,7 +600,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
|
||||
@@ -157,7 +157,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -276,7 +276,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -670,7 +670,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -721,7 +721,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -241,7 +241,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.4"
|
||||
BR2_PACKAGE_BUSYBOX_INSTALL_SYMLINKS=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
# BR2_PACKAGE_BUSYBOX_HIDE_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -499,7 +499,7 @@ BR2_PACKAGE_FBSET=y
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTE is not set
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_x11r7 is not set
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
@@ -533,8 +533,8 @@ BR2_PACKAGE_TSLIB=y
|
||||
BR2_COMPRESSOR_SUPPORT=y
|
||||
BR2_PACKAGE_GZIP=y
|
||||
BR2_PACKAGE_LZO=y
|
||||
BR2_PACKAGE_LZMA_TARGET=y
|
||||
# BR2_PACKAGE_LZMA_TARGET_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA=y
|
||||
# BR2_PACKAGE_LZMA_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA_HOST=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -159,7 +159,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -258,7 +258,7 @@ BR2_ENABLE_LOCALE=y
|
||||
BR2_PTHREADS_OLD=y
|
||||
# BR2_PTHREADS_NATIVE is not set
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
BR2_UCLIBC_PROGRAM_INVOCATION=y
|
||||
BR2_PROGRAM_INVOCATION=y
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -306,7 +306,7 @@ BR2_GCC_SHARED_LIBGCC=y
|
||||
# Ccache Options
|
||||
#
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
BR2_CCACHE_DIR="$(TOOLCHAIN_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
@@ -349,7 +349,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -751,7 +751,7 @@ BR2_PACKAGE_FBSET=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -817,8 +817,8 @@ BR2_PACKAGE_TSLIB=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
BR2_PACKAGE_LZMA_TARGET=y
|
||||
# BR2_PACKAGE_LZMA_TARGET_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA=y
|
||||
# BR2_PACKAGE_LZMA_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA_HOST=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -141,7 +141,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -551,7 +551,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -603,7 +603,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
|
||||
@@ -160,7 +160,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -307,7 +307,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -707,7 +707,7 @@ BR2_PACKAGE_FBSET=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -773,8 +773,8 @@ BR2_PACKAGE_TSLIB=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
BR2_PACKAGE_LZMA_TARGET=y
|
||||
# BR2_PACKAGE_LZMA_TARGET_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA=y
|
||||
# BR2_PACKAGE_LZMA_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA_HOST=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -157,7 +157,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -251,7 +251,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
|
||||
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.30.config"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
BR2_UCLIBC_PROGRAM_INVOCATION=y
|
||||
BR2_PROGRAM_INVOCATION=y
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -297,7 +297,7 @@ BR2_GCC_SHARED_LIBGCC=y
|
||||
# Ccache Options
|
||||
#
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
BR2_CCACHE_DIR="$(TOOLCHAIN_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
@@ -348,7 +348,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -748,7 +748,7 @@ BR2_PACKAGE_FBSET=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -814,8 +814,8 @@ BR2_PACKAGE_TSLIB=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
BR2_PACKAGE_LZMA_TARGET=y
|
||||
# BR2_PACKAGE_LZMA_TARGET_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA=y
|
||||
# BR2_PACKAGE_LZMA_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA_HOST=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -140,7 +140,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -550,7 +550,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -602,7 +602,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
|
||||
@@ -159,7 +159,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -269,7 +269,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -669,7 +669,7 @@ BR2_PACKAGE_FBSET=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -735,8 +735,8 @@ BR2_PACKAGE_TSLIB=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
BR2_PACKAGE_LZMA_TARGET=y
|
||||
# BR2_PACKAGE_LZMA_TARGET_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA=y
|
||||
# BR2_PACKAGE_LZMA_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA_HOST=y
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -157,7 +157,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -251,7 +251,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
|
||||
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.30.config"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
BR2_UCLIBC_PROGRAM_INVOCATION=y
|
||||
BR2_PROGRAM_INVOCATION=y
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -297,7 +297,7 @@ BR2_GCC_SHARED_LIBGCC=y
|
||||
# Ccache Options
|
||||
#
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
BR2_CCACHE_DIR="$(TOOLCHAIN_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
@@ -348,7 +348,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -685,7 +685,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -736,7 +736,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -138,7 +138,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -548,7 +548,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -600,7 +600,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
|
||||
@@ -157,7 +157,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -276,7 +276,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.2"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -670,7 +670,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -721,7 +721,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -91,7 +91,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="zcat"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -191,7 +191,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
BR2_UCLIBC_VERSION_STRING="0.9.30"
|
||||
BR2_UCLIBC_CONFIG="target/device/Atmel/uClibc.config.avr32"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -277,7 +277,7 @@ BR2_BUSYBOX_VERSION_1_14_X=y
|
||||
BR2_BUSYBOX_VERSION="1.14.0"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -91,7 +91,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="zcat"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -192,7 +192,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
BR2_UCLIBC_VERSION_STRING="0.9.30"
|
||||
BR2_UCLIBC_CONFIG="target/device/Atmel/uClibc.config.avr32"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -237,7 +237,7 @@ BR2_GCC_SHARED_LIBGCC=y
|
||||
# Ccache Options
|
||||
#
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR="$(TOOL_BUILD_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
BR2_CCACHE_DIR="$(TOOLCHAIN_DIR)/ccache-$(CCACHE_VER)/cache"
|
||||
|
||||
#
|
||||
# Gdb Options
|
||||
@@ -288,7 +288,7 @@ BR2_BUSYBOX_VERSION_1_14_X=y
|
||||
BR2_BUSYBOX_VERSION="1.14.0"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -611,7 +611,7 @@ BR2_PACKAGE_LINUX_FUSION=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -665,7 +665,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZOP is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -89,7 +89,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="zcat"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -197,7 +197,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
|
||||
BR2_UCLIBC_CONFIG="target/device/Atmel/uClibc.config.avr32"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -296,7 +296,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.4"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -656,7 +656,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -707,7 +707,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -90,7 +90,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="zcat"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -191,7 +191,7 @@ BR2_UCLIBC_VERSION_0_9_30=y
|
||||
BR2_UCLIBC_VERSION_STRING="0.9.30"
|
||||
BR2_UCLIBC_CONFIG="target/device/Atmel/uClibc.config.avr32"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
BR2_UCLIBC_PROGRAM_INVOCATION=y
|
||||
BR2_PROGRAM_INVOCATION=y
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -289,7 +289,7 @@ BR2_BUSYBOX_VERSION_1_14_X=y
|
||||
BR2_BUSYBOX_VERSION="1.14.0"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="target/device/Atmel/atstk100x/busybox-1.9.1.config"
|
||||
# BR2_PACKAGE_BUSYBOX_HIDE_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -686,14 +686,13 @@ BR2_PACKAGE_FBSET=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
BR2_PACKAGE_QTOPIA4=y
|
||||
# BR2_PACKAGE_QTOPIA4_DEBUG is not set
|
||||
BR2_PACKAGE_QTOPIA4_SHARED=y
|
||||
# BR2_PACKAGE_QTOPIA4_STATIC is not set
|
||||
# BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL is not set
|
||||
# BR2_PACKAGE_QTOPIA4_LICENSE_APPROVED is not set
|
||||
# BR2_PACKAGE_QTOPIA4_QT3SUPPORT is not set
|
||||
BR2_PACKAGE_QTOPIA4_GUI_MODULE=y
|
||||
BR2_PACKAGE_QT=y
|
||||
# BR2_PACKAGE_QT_DEBUG is not set
|
||||
BR2_PACKAGE_QT_SHARED=y
|
||||
# BR2_PACKAGE_QT_STATIC is not set
|
||||
# BR2_PACKAGE_QT_LICENSE_APPROVED is not set
|
||||
# BR2_PACKAGE_QT_QT3SUPPORT is not set
|
||||
BR2_PACKAGE_QT_GUI_MODULE=y
|
||||
|
||||
#
|
||||
# Pixel depths
|
||||
@@ -702,63 +701,62 @@ BR2_PACKAGE_QTOPIA4_GUI_MODULE=y
|
||||
#
|
||||
# Deselecting each option leads to Qt's default (8,16,32)
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_ALL is not set
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_1 is not set
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_4 is not set
|
||||
BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_8=y
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_12 is not set
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_15 is not set
|
||||
BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_16=y
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_18 is not set
|
||||
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_24 is not set
|
||||
BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_32=y
|
||||
BR2_PACKAGE_QTOPIA4_GIF=y
|
||||
BR2_PACKAGE_QTOPIA4_LIBMNG=y
|
||||
BR2_PACKAGE_QTOPIA4_NOJPEG=y
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMJPEG is not set
|
||||
# BR2_PACKAGE_QTOPIA4_QTJPEG is not set
|
||||
BR2_PACKAGE_QTOPIA4_NOPNG=y
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMPNG is not set
|
||||
# BR2_PACKAGE_QTOPIA4_QTPNG is not set
|
||||
BR2_PACKAGE_QTOPIA4_NOTIFF=y
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMTIFF is not set
|
||||
# BR2_PACKAGE_QTOPIA4_QTTIFF is not set
|
||||
BR2_PACKAGE_QTOPIA4_QTZLIB=y
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMZLIB is not set
|
||||
BR2_PACKAGE_QTOPIA4_NOFREETYPE=y
|
||||
# BR2_PACKAGE_QTOPIA4_QTFREETYPE is not set
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE is not set
|
||||
BR2_PACKAGE_QTOPIA4_EMB_PLATFORM="$(ARCH)"
|
||||
# BR2_PACKAGE_QTOPIA4_SQL_MODULE is not set
|
||||
# BR2_PACKAGE_QT_PIXEL_DEPTH_1 is not set
|
||||
# BR2_PACKAGE_QT_PIXEL_DEPTH_4 is not set
|
||||
BR2_PACKAGE_QT_PIXEL_DEPTH_8=y
|
||||
# BR2_PACKAGE_QT_PIXEL_DEPTH_12 is not set
|
||||
# BR2_PACKAGE_QT_PIXEL_DEPTH_15 is not set
|
||||
BR2_PACKAGE_QT_PIXEL_DEPTH_16=y
|
||||
# BR2_PACKAGE_QT_PIXEL_DEPTH_18 is not set
|
||||
# BR2_PACKAGE_QT_PIXEL_DEPTH_24 is not set
|
||||
BR2_PACKAGE_QT_PIXEL_DEPTH_32=y
|
||||
BR2_PACKAGE_QT_GIF=y
|
||||
BR2_PACKAGE_QT_LIBMNG=y
|
||||
BR2_PACKAGE_QT_NOJPEG=y
|
||||
# BR2_PACKAGE_QT_SYSTEMJPEG is not set
|
||||
# BR2_PACKAGE_QT_QTJPEG is not set
|
||||
BR2_PACKAGE_QT_NOPNG=y
|
||||
# BR2_PACKAGE_QT_SYSTEMPNG is not set
|
||||
# BR2_PACKAGE_QT_QTPNG is not set
|
||||
BR2_PACKAGE_QT_NOTIFF=y
|
||||
# BR2_PACKAGE_QT_SYSTEMTIFF is not set
|
||||
# BR2_PACKAGE_QT_QTTIFF is not set
|
||||
BR2_PACKAGE_QT_QTZLIB=y
|
||||
# BR2_PACKAGE_QT_SYSTEMZLIB is not set
|
||||
BR2_PACKAGE_QT_NOFREETYPE=y
|
||||
# BR2_PACKAGE_QT_QTFREETYPE is not set
|
||||
# BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
|
||||
BR2_PACKAGE_QT_EMB_PLATFORM="$(ARCH)"
|
||||
# BR2_PACKAGE_QT_SQL_MODULE is not set
|
||||
|
||||
#
|
||||
# Graphics drivers
|
||||
#
|
||||
BR2_PACKAGE_QTOPIA4_GFX_LINUXFB=y
|
||||
# BR2_PACKAGE_QTOPIA4_GFX_TRANSFORMED is not set
|
||||
# BR2_PACKAGE_QTOPIA4_GFX_QVFB is not set
|
||||
# BR2_PACKAGE_QTOPIA4_GFX_VNC is not set
|
||||
# BR2_PACKAGE_QTOPIA4_GFX_MULTISCREEN is not set
|
||||
BR2_PACKAGE_QT_GFX_LINUXFB=y
|
||||
# BR2_PACKAGE_QT_GFX_TRANSFORMED is not set
|
||||
# BR2_PACKAGE_QT_GFX_QVFB is not set
|
||||
# BR2_PACKAGE_QT_GFX_VNC is not set
|
||||
# BR2_PACKAGE_QT_GFX_MULTISCREEN is not set
|
||||
|
||||
#
|
||||
# Mouse drivers
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_PC is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_BUS is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_LINUXTP is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_YOPY is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_VR41XX is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_TSLIB is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_QVFB is not set
|
||||
# BR2_PACKAGE_QTOPIA4_PHONON is not set
|
||||
BR2_PACKAGE_QTOPIA4_XML=y
|
||||
# BR2_PACKAGE_QTOPIA4_XMLPATTERNS is not set
|
||||
# BR2_PACKAGE_QTOPIA4_SVG is not set
|
||||
BR2_PACKAGE_QTOPIA4_NETWORK=y
|
||||
# BR2_PACKAGE_QTOPIA4_WEBKIT is not set
|
||||
# BR2_PACKAGE_QTOPIA4_OPENSSL is not set
|
||||
BR2_PACKAGE_QTOPIA4_SCRIPT=y
|
||||
# BR2_PACKAGE_QTOPIA4_SCRIPTTOOLS is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_PC is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_BUS is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_LINUXTP is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_YOPY is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_VR41XX is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_TSLIB is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_QVFB is not set
|
||||
# BR2_PACKAGE_QT_PHONON is not set
|
||||
BR2_PACKAGE_QT_XML=y
|
||||
# BR2_PACKAGE_QT_XMLPATTERNS is not set
|
||||
# BR2_PACKAGE_QT_SVG is not set
|
||||
BR2_PACKAGE_QT_NETWORK=y
|
||||
# BR2_PACKAGE_QT_WEBKIT is not set
|
||||
# BR2_PACKAGE_QT_OPENSSL is not set
|
||||
BR2_PACKAGE_QT_SCRIPT=y
|
||||
# BR2_PACKAGE_QT_SCRIPTTOOLS is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -812,7 +810,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZOP is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -91,7 +91,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -178,7 +178,7 @@ BR2_UCLIBC_VERSION_0_9_30_1=y
|
||||
BR2_UCLIBC_VERSION_STRING="0.9.30.1"
|
||||
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.29.config"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -276,7 +276,7 @@ BR2_BUSYBOX_VERSION_1_14_X=y
|
||||
BR2_BUSYBOX_VERSION="1.14.0"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -588,7 +588,7 @@ BR2_PACKAGE_MTD_SUMTOOL=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -642,7 +642,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZOP is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -91,7 +91,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -178,7 +178,7 @@ BR2_UCLIBC_VERSION_0_9_30_1=y
|
||||
BR2_UCLIBC_VERSION_STRING="0.9.30.1"
|
||||
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.30.config"
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -276,7 +276,7 @@ BR2_BUSYBOX_VERSION_1_14_X=y
|
||||
BR2_BUSYBOX_VERSION="1.14.0"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -588,7 +588,7 @@ BR2_PACKAGE_MTD_SUMTOOL=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
# BR2_PACKAGE_XSERVER_tinyx is not set
|
||||
@@ -642,7 +642,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
#
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZOP is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -87,7 +87,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -185,7 +185,7 @@ BR2_UCLIBC_CONFIG="target/device/ARMLTD/uClibc.integrator926.config"
|
||||
BR2_PTHREADS_OLD=y
|
||||
# BR2_PTHREADS_NATIVE is not set
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -273,7 +273,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.4"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -640,7 +640,7 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -87,7 +87,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
BR2_COPYTO=""
|
||||
|
||||
#
|
||||
@@ -185,7 +185,7 @@ BR2_UCLIBC_CONFIG="target/device/ARMLTD/uClibc.integrator926.config"
|
||||
BR2_PTHREADS_OLD=y
|
||||
# BR2_PTHREADS_NATIVE is not set
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -274,7 +274,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.4"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
BR2_PACKAGE_BUSYBOX_HIDE_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -561,7 +561,7 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
|
||||
@@ -616,8 +616,8 @@ BR2_PACKAGE_XSERVER_none=y
|
||||
# Compressors / decompressors
|
||||
#
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
BR2_PACKAGE_LZMA_TARGET=y
|
||||
# BR2_PACKAGE_LZMA_TARGET_HEADERS is not set
|
||||
BR2_PACKAGE_LZMA=y
|
||||
# BR2_PACKAGE_LZMA_HEADERS is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -98,7 +98,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="gzip -d -c"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
|
||||
#
|
||||
# Mirrors and Download locations
|
||||
@@ -189,7 +189,7 @@ BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.29.config"
|
||||
BR2_PTHREADS_OLD=y
|
||||
# BR2_PTHREADS_NATIVE is not set
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
|
||||
#
|
||||
# Binutils Options
|
||||
@@ -268,7 +268,7 @@ BR2_BUSYBOX_VERSION_1_13_X=y
|
||||
BR2_BUSYBOX_VERSION="1.13.4"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-1.13.x.config"
|
||||
# BR2_PACKAGE_BUSYBOX_HIDE_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
||||
# BR2_PACKAGE_BUSYBOX_SKELETON is not set
|
||||
|
||||
#
|
||||
@@ -563,7 +563,7 @@ BR2_GRAPHIC_SUPPORT=y
|
||||
# other GUIs
|
||||
#
|
||||
# BR2_PACKAGE_QTE is not set
|
||||
# BR2_PACKAGE_QTOPIA4 is not set
|
||||
# BR2_PACKAGE_QT is not set
|
||||
BR2_PACKAGE_XSERVER_none=y
|
||||
# BR2_PACKAGE_XSERVER_x11r7 is not set
|
||||
# BR2_PACKAGE_XSERVER_xorg is not set
|
||||
@@ -632,7 +632,7 @@ BR2_X11_PREFIX="/usr"
|
||||
BR2_COMPRESSOR_SUPPORT=y
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
# BR2_PACKAGE_LZO is not set
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
# BR2_PACKAGE_ZLIB is not set
|
||||
BR2_SCRIPTING_SUPPORT=y
|
||||
@@ -69,7 +69,7 @@ BR2_GIT="git clone"
|
||||
BR2_ZCAT="zcat"
|
||||
BR2_BZCAT="bzcat"
|
||||
BR2_TAR_OPTIONS=""
|
||||
BR2_DL_DIR="$(BASE_DIR)/dl"
|
||||
BR2_DL_DIR="$(TOPDIR)/dl"
|
||||
|
||||
#
|
||||
# Mirrors and Download locations
|
||||
@@ -172,7 +172,7 @@ BR2_ENABLE_LOCALE=y
|
||||
BR2_PTHREADS_OLD=y
|
||||
# BR2_PTHREADS_NATIVE is not set
|
||||
# BR2_PTHREAD_DEBUG is not set
|
||||
# BR2_UCLIBC_PROGRAM_INVOCATION is not set
|
||||
# BR2_PROGRAM_INVOCATION is not set
|
||||
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
|
||||
|
||||
#
|
||||
@@ -258,7 +258,7 @@ BR2_BUSYBOX_VERSION_1_12_X=y
|
||||
BR2_BUSYBOX_VERSION="1.12.1"
|
||||
BR2_PACKAGE_BUSYBOX_FULLINSTALL=y
|
||||
BR2_PACKAGE_BUSYBOX_CONFIG="target/device/valka/v100sc2/busybox.config"
|
||||
# BR2_PACKAGE_BUSYBOX_HIDE_OTHERS is not set
|
||||
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
|
||||
BR2_PACKAGE_BUSYBOX_SKELETON=y
|
||||
|
||||
#
|
||||
@@ -542,57 +542,57 @@ BR2_PACKAGE_NCURSES=y
|
||||
#
|
||||
# other GUIs
|
||||
#
|
||||
BR2_PACKAGE_QTOPIA4=y
|
||||
# BR2_PACKAGE_QTOPIA4_DEBUG is not set
|
||||
BR2_PACKAGE_QTOPIA4_SHARED=y
|
||||
# BR2_PACKAGE_QTOPIA4_STATIC is not set
|
||||
BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_GPL=y
|
||||
# BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL is not set
|
||||
BR2_PACKAGE_QTOPIA4_GPL_LICENSE_APPROVED=y
|
||||
# BR2_PACKAGE_QTOPIA4_QT3SUPPORT is not set
|
||||
BR2_PACKAGE_QTOPIA4_DEPTHS="-depths 24,16,8"
|
||||
BR2_PACKAGE_QTOPIA4_GIF=y
|
||||
# BR2_PACKAGE_QTOPIA4_LIBMNG is not set
|
||||
# BR2_PACKAGE_QTOPIA4_NOJPEG is not set
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMJPEG is not set
|
||||
BR2_PACKAGE_QTOPIA4_QTJPEG=y
|
||||
# BR2_PACKAGE_QTOPIA4_NOPNG is not set
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMPNG is not set
|
||||
BR2_PACKAGE_QTOPIA4_QTPNG=y
|
||||
# BR2_PACKAGE_QTOPIA4_NOTIFF is not set
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMTIFF is not set
|
||||
BR2_PACKAGE_QTOPIA4_QTTIFF=y
|
||||
BR2_PACKAGE_QTOPIA4_QTZLIB=y
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMZLIB is not set
|
||||
# BR2_PACKAGE_QTOPIA4_NOFREETYPE is not set
|
||||
BR2_PACKAGE_QTOPIA4_QTFREETYPE=y
|
||||
# BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE is not set
|
||||
BR2_PACKAGE_QTOPIA4_EMB_PLATFORM="avr32"
|
||||
# BR2_PACKAGE_QTOPIA4_SQL_MODULE is not set
|
||||
BR2_PACKAGE_QT=y
|
||||
# BR2_PACKAGE_QT_DEBUG is not set
|
||||
BR2_PACKAGE_QT_SHARED=y
|
||||
# BR2_PACKAGE_QT_STATIC is not set
|
||||
BR2_PACKAGE_QT_GPL_LICENSE_APPROVED=y
|
||||
# BR2_PACKAGE_QT_QT3SUPPORT is not set
|
||||
BR2_PACKAGE_QT_PIXEL_DEPTH_8=y
|
||||
BR2_PACKAGE_QT_PIXEL_DEPTH_16=y
|
||||
BR2_PACKAGE_QT_PIXEL_DEPTH_24=y
|
||||
BR2_PACKAGE_QT_GIF=y
|
||||
# BR2_PACKAGE_QT_LIBMNG is not set
|
||||
# BR2_PACKAGE_QT_NOJPEG is not set
|
||||
# BR2_PACKAGE_QT_SYSTEMJPEG is not set
|
||||
BR2_PACKAGE_QT_QTJPEG=y
|
||||
# BR2_PACKAGE_QT_NOPNG is not set
|
||||
# BR2_PACKAGE_QT_SYSTEMPNG is not set
|
||||
BR2_PACKAGE_QT_QTPNG=y
|
||||
# BR2_PACKAGE_QT_NOTIFF is not set
|
||||
# BR2_PACKAGE_QT_SYSTEMTIFF is not set
|
||||
BR2_PACKAGE_QT_QTTIFF=y
|
||||
BR2_PACKAGE_QT_QTZLIB=y
|
||||
# BR2_PACKAGE_QT_SYSTEMZLIB is not set
|
||||
# BR2_PACKAGE_QT_NOFREETYPE is not set
|
||||
BR2_PACKAGE_QT_QTFREETYPE=y
|
||||
# BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
|
||||
BR2_PACKAGE_QT_EMB_PLATFORM="avr32"
|
||||
# BR2_PACKAGE_QT_SQL_MODULE is not set
|
||||
|
||||
#
|
||||
# Graphics drivers
|
||||
#
|
||||
BR2_PACKAGE_QTOPIA4_GFX_LINUXFB=y
|
||||
# BR2_PACKAGE_QTOPIA4_GFX_TRANSFORMED is not set
|
||||
# BR2_PACKAGE_QTOPIA4_GFX_QVFB is not set
|
||||
BR2_PACKAGE_QTOPIA4_GFX_VNC=y
|
||||
BR2_PACKAGE_QTOPIA4_GFX_MULTISCREEN=y
|
||||
BR2_PACKAGE_QT_GFX_LINUXFB=y
|
||||
# BR2_PACKAGE_QT_GFX_TRANSFORMED is not set
|
||||
# BR2_PACKAGE_QT_GFX_QVFB is not set
|
||||
BR2_PACKAGE_QT_GFX_VNC=y
|
||||
BR2_PACKAGE_QT_GFX_MULTISCREEN=y
|
||||
|
||||
#
|
||||
# Mouse drivers
|
||||
#
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_PC is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_BUS is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_LINUXTP is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_YOPY is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_VR41XX is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_TSLIB is not set
|
||||
# BR2_PACKAGE_QTOPIA4_MOUSE_QVFB is not set
|
||||
# BR2_PACKAGE_QTOPIA4_XMLPATTERNS is not set
|
||||
BR2_PACKAGE_QTOPIA4_SVG=y
|
||||
BR2_PACKAGE_QTOPIA4_WEBKIT=y
|
||||
BR2_PACKAGE_QTOPIA4_OPENSSL=y
|
||||
# BR2_PACKAGE_QT_MOUSE_PC is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_BUS is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_LINUXTP is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_YOPY is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_VR41XX is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_TSLIB is not set
|
||||
# BR2_PACKAGE_QT_MOUSE_QVFB is not set
|
||||
# BR2_PACKAGE_QT_XMLPATTERNS is not set
|
||||
BR2_PACKAGE_QT_SVG=y
|
||||
BR2_PACKAGE_QT_WEBKIT=y
|
||||
BR2_PACKAGE_QT_OPENSSL=y
|
||||
|
||||
#
|
||||
# X Window System server
|
||||
@@ -653,7 +653,7 @@ BR2_PACKAGE_LIBGLIB2=y
|
||||
BR2_COMPRESSOR_SUPPORT=y
|
||||
# BR2_PACKAGE_GZIP is not set
|
||||
BR2_PACKAGE_LZO=y
|
||||
# BR2_PACKAGE_LZMA_TARGET is not set
|
||||
# BR2_PACKAGE_LZMA is not set
|
||||
# BR2_PACKAGE_LZMA_HOST is not set
|
||||
BR2_PACKAGE_ZLIB=y
|
||||
# BR2_PACKAGE_ZLIB_TARGET_HEADERS is not set
|
||||
@@ -24,14 +24,15 @@
|
||||
<li><a href="#about">About Buildroot</a></li>
|
||||
<li><a href="#download">Obtaining Buildroot</a></li>
|
||||
<li><a href="#using">Using Buildroot</a></li>
|
||||
<li><a href="#custom_targetfs">Customizing the target filesystem</a></li>
|
||||
<li><a href="#custom_targetfs">Customizing the generated target filesystem</a></li>
|
||||
<li><a href="#custom_busybox">Customizing the Busybox
|
||||
configuration</a></li>
|
||||
<li><a href="#custom_uclibc">Customizing the uClibc
|
||||
configuration</a></li>
|
||||
<li><a href="#custom_linux26">Customizing the Linux kernel
|
||||
configuration</a></li>
|
||||
<li><a href="#rebuilding_packages">Understanding how to rebuild packages</a></li>
|
||||
<li><a href="#buildroot_innards">How Buildroot works</a></li>
|
||||
<li><a href="#multi_project">Building several projects in the
|
||||
same buildroot source tree</a></li>
|
||||
<li><a href="#using_toolchain">Using the uClibc toolchain
|
||||
outside Buildroot</a></li>
|
||||
<li><a href="#external_toolchain">Use an external toolchain</a></li>
|
||||
@@ -39,16 +40,16 @@
|
||||
</li>
|
||||
<li><a href="#add_software">Extending Buildroot with more
|
||||
Software</a></li>
|
||||
<li><a href="#board_support">Creating your own board support</a></li>
|
||||
<li><a href="#links">Resources</a></li>
|
||||
</ul>
|
||||
|
||||
<h2><a name="about" id="about"></a>About Buildroot</h2>
|
||||
|
||||
<p>Buildroot is a set of Makefiles and patches that allow to easily
|
||||
generate both a cross-compilation toolchain and a root filesystem for your
|
||||
target. The cross-compilation toolchain uses uClibc (<a href=
|
||||
"http://www.uclibc.org/">http://www.uclibc.org/</a>), a tiny C standard
|
||||
library. </p>
|
||||
<p>Buildroot is a set of Makefiles and patches that allow to
|
||||
easily generate a cross-compilation toolchain, a root filesystem
|
||||
and a Linux kernel image for your target. Buildroot can be used
|
||||
for either one, two or all of these options, independently.</p>
|
||||
|
||||
<p>Buildroot is useful mainly for people working with embedded systems.
|
||||
Embedded systems often use processors that are not the regular x86
|
||||
@@ -154,13 +155,20 @@
|
||||
$ make menuconfig
|
||||
</pre>
|
||||
|
||||
<p>to run the curses-based configurator, or</p>
|
||||
|
||||
<pre>
|
||||
$ make xconfig
|
||||
</pre>
|
||||
|
||||
<p>to run the Qt3-based configurator. On Debian-like systems, the
|
||||
<code>libncurses5-dev</code> package is required to use the
|
||||
<i>menuconfig</i> interface, and the <code>libqt3-mt-dev</code> is
|
||||
required to use the <i>xconfig</i> interface.</p>
|
||||
|
||||
<p>For each entry of the configuration tool, you can find associated help
|
||||
that describes the purpose of the entry. </p>
|
||||
|
||||
<p>One of the key configuration items is the <code>PROJECT</code> which
|
||||
determines where some board specific packages are built and where the
|
||||
results are stored. </p>
|
||||
|
||||
<p>Once everything is configured, the configuration tool has generated a
|
||||
<code>.config</code> file that contains the description of your
|
||||
configuration. It will be used by the Makefiles to do what's needed. </p>
|
||||
@@ -172,55 +180,64 @@
|
||||
$ make
|
||||
</pre>
|
||||
|
||||
<p>This command will download, configure and compile all the selected
|
||||
tools, and finally generate a target filesystem. The target filesystem will
|
||||
be named <code>root_fs_ARCH.EXT</code> where <code>ARCH</code> is your
|
||||
architecture and <code>EXT</code> depends on the type of target filesystem
|
||||
selected in the <code>Target options</code> section of the configuration
|
||||
tool.
|
||||
The file is stored in the "binaries/<code>$(PROJECT)</code>/" directory</p>
|
||||
<p>This command will download, configure and compile all the
|
||||
selected tools, and finally generate a toolchain, a root
|
||||
filesystem image and a kernel image (or only one of these
|
||||
elements, depending on the configuration).</p>
|
||||
|
||||
<h3><a name="local_board_support" id="local_board_support"></a>
|
||||
Creating your own board support</h3>
|
||||
<p>Buildroot output is stored in a single directory,
|
||||
<code>output/</code>. This directory contains several
|
||||
subdirectories:</p>
|
||||
|
||||
<p>Once a package has been unpacked, it is possible to manually update
|
||||
configuration files. Buildroot can automatically save the configuration
|
||||
of buildroot, linux, busybox, uclibc and u-boot in "local/$(PROJECT) by
|
||||
using the command:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<pre>
|
||||
$ make saveconfig
|
||||
</pre>
|
||||
<li><code>images/</code> where all the images (kernel image,
|
||||
bootloader and root filesystem images) are stored.</li>
|
||||
|
||||
<p>Once a buildroot configuration has been created by saveconfig,
|
||||
the default "$(TOPDIR)/.config" file can be overridden by</p>
|
||||
<li><code>build/</code> where all the components are built
|
||||
(tools needed to run Buildroot on the host and packages compiled
|
||||
for the target). The <code>build/</code> directory contains one
|
||||
subdirectory for each of these components. The toolchain
|
||||
components are however built in a separate directory.</li>
|
||||
|
||||
<pre>
|
||||
$ make BOARD=<project>
|
||||
</pre>
|
||||
<li><code>staging/</code> which contains a hierarchy similar to
|
||||
a root filesystem hierarchy. This directory contains the
|
||||
installation of cross-compilation toolchain and all the
|
||||
userspace packages selected for the target. However, this
|
||||
directory is <i>not</i> intended to be the root filesystem for
|
||||
the target: it contains a lot of development files, unstripped
|
||||
binaries and libraries, that make it far too big for an embedded
|
||||
system.</li>
|
||||
|
||||
<p>Buildroot will then use "local/<project>/<project>.config"
|
||||
instead of ".config". </p>
|
||||
<li><code>target/</code> which contains <i>almost</i> the root
|
||||
filesystem for the target: everything needed is present except
|
||||
the device files in <code>/dev/</code> (Buildroot can't create
|
||||
them because Buildroot doesn't run as root and does not want to
|
||||
run as root). Therefore, this directory <b>should not be used on
|
||||
your target</b> but instead you should use one of the images
|
||||
built in the <code>images/</code> directory. If you need an
|
||||
extracted image of the root filesystem, for booting over NFS,
|
||||
then use the tarball image generated in <code>images/</code> and
|
||||
extract it as root.<br/>Compared to <code>staging/</code>,
|
||||
<code>target/</code> contains only the necessary files to run
|
||||
the libraries and applications: all the development files
|
||||
(headers, etc.) are not present.</li>
|
||||
|
||||
<p>If you want to modify your board, you can copy the project configuration
|
||||
file to ".config" by using the command:</p>
|
||||
<li><code>host/</code> contains the installation of tools
|
||||
compiled for the host that are needed for the proper execution
|
||||
of Buildroot.</li>
|
||||
|
||||
<pre>
|
||||
$ make BOARD=<project> getconfig
|
||||
</pre>
|
||||
|
||||
<p>You can share your custom board support directory between several buildroot trees
|
||||
by setting the environment variable <code>BUILDROOT_LOCAL</code> to this directory,
|
||||
</p>
|
||||
<li><code>toolchain/</code> contains the build directories for
|
||||
the various components of the cross-compilation toolchain.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3><a name="offline_builds" id="offline_builds"></a>
|
||||
Offline builds</h3>
|
||||
|
||||
<p>If you intend to do an offline-build and just want to download all
|
||||
sources that you previously selected in "make menuconfig" then
|
||||
issue:</p>
|
||||
<p>If you intend to do an offline-build and just want to download
|
||||
all sources that you previously selected in the configurator
|
||||
(<i>menuconfig</i> or <i>xconfig</i>) then issue:</p>
|
||||
<pre>
|
||||
$ make source
|
||||
</pre>
|
||||
@@ -247,13 +264,20 @@
|
||||
<p>Buildroot optionally honors some environment variables that are passed
|
||||
to <code>make</code> :</p>
|
||||
<ul>
|
||||
<li>HOSTCXX</li>
|
||||
<li>HOSTCC</li>
|
||||
<li>UCLIBC_CONFIG_FILE=<path/to/.config></li>
|
||||
<li>BUSYBOX_CONFIG_FILE=<path/to/.config></li>
|
||||
<li>BUILDROOT_COPYTO</li>
|
||||
<li>BUILDROOT_DL_DIR</li>
|
||||
<li>BUILDROOT_LOCAL</li>
|
||||
<li><code>HOSTCXX</code>, the host C++ compiler to use</li>
|
||||
<li><code>HOSTCC</code>, the host C compiler to use</li>
|
||||
<li><code>UCLIBC_CONFIG_FILE=<path/to/.config></code>, path
|
||||
to the uClibc configuration file to use to compile uClibc if an
|
||||
internal toolchain is selected</li>
|
||||
<li><code>BUSYBOX_CONFIG_FILE=<path/to/.config></code>, path
|
||||
to the Busybox configuration file</li>
|
||||
<li><code>LINUX26_KCONFIG=<path/to/.config></code>, path
|
||||
to the Linux kernel configuration file</li>
|
||||
<li><code>BUILDROOT_COPYTO</code>, an additional location at which
|
||||
the binary images of the root filesystem, kernel, etc. built by
|
||||
Buildroot are copied</li>
|
||||
<li><code>BUILDROOT_DL_DIR</code> to override the directory in
|
||||
which Buildroot stores/retrieves downloaded files</li>
|
||||
</ul>
|
||||
|
||||
<p>An example that uses config files located in the toplevel directory and
|
||||
@@ -277,43 +301,14 @@ $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD
|
||||
$ export BUILDROOT_COPYTO=/tftpboot
|
||||
</pre>
|
||||
|
||||
|
||||
<h3><a name="helper_completion" id="helper_completion"></a>
|
||||
Using auto-completion</h3>
|
||||
|
||||
<p>If you are lazy enough that you don't want to type the entire <i>make
|
||||
menuconfig</i> command line, you can enable auto-completion in your shell.
|
||||
Here is how you can do that using <i>bash</i>:</p>
|
||||
<pre>
|
||||
$ complete -W menuconfig make
|
||||
</pre>
|
||||
|
||||
<p>Then just enter the beginning of the line, and ask <i>bash</i> to
|
||||
complete it for you by pressing the <i>TAB</i> key:</p>
|
||||
<pre>
|
||||
$ make me<TAB>
|
||||
</pre>
|
||||
|
||||
<p>will result in <i>bash</i> to append <i>nuconfig</i> for you!</p>
|
||||
|
||||
<p>Alternatively, some distributions (of which Debian and Mandriva are but
|
||||
an example) have more powerful make completion. Depending on you
|
||||
distribution, you may have to install a package to enable completion. Under
|
||||
Mandriva, this is <i>bash-completion</i>, while Debian ships it as part of
|
||||
the <i>bash</i> package.</p>
|
||||
|
||||
<p>Other shells, such as <i>zsh</i>, also have completion facilities. See
|
||||
the documentation for your shell.</p>
|
||||
|
||||
<h2><a name="custom_targetfs" id="custom_targetfs"></a>Customizing the
|
||||
target filesystem</h2>
|
||||
generated target filesystem</h2>
|
||||
|
||||
<p>There are a few ways to customize the resulting target filesystem:</p>
|
||||
|
||||
<ul>
|
||||
<li>Customize the target filesystem directly, and rebuild the image. The
|
||||
target filesystem is available under <code>project_build_ARCH/root/</code>
|
||||
where <code>ARCH</code> is the chosen target architecture.
|
||||
target filesystem is available under <code>output/target/</code>.
|
||||
You can simply make your changes here, and run make afterwards, which will
|
||||
rebuild the target filesystem image. This method allows to do everything
|
||||
on the target filesystem, but if you decide to completely rebuild your
|
||||
@@ -328,20 +323,33 @@ $ make me<TAB>
|
||||
toolchain and the tools. <br />
|
||||
You can also customize the <code>target/generic/device_table.txt</code>
|
||||
file which is used by the tools that generate the target filesystem image
|
||||
to properly set permissions and create device nodes. The
|
||||
<code>target/generic/skel.tar.gz</code> file contains the main
|
||||
directories of a root filesystem and there is no obvious reason for which
|
||||
it should be changed. These main directories are in an tarball inside of
|
||||
inside the skeleton because it contains symlinks that would be broken
|
||||
otherwise. <br />
|
||||
to properly set permissions and create device nodes.<br />
|
||||
These customizations are deployed into
|
||||
<code>project_build_ARCH/root/</code> just before the actual image
|
||||
<code>output/target/</code> just before the actual image
|
||||
is made. So simply rebuilding the image by running
|
||||
make should propagate any new changes to the image. </li>
|
||||
|
||||
<li>When configuring the build system, using <code>make menuconfig</code>,
|
||||
you can specify the contents of the /etc/hostname and /etc/issue
|
||||
(the welcome banner) in the <code>PROJECT</code> section</li>
|
||||
<li>Add support for your own target in Buildroot so that you
|
||||
have your own target skeleton, see <a href="#board_support">this
|
||||
section</a> for details</li>
|
||||
|
||||
<li>In Buildroot configuration, you can specify the path to a
|
||||
post-build script that gets called <i>after</i> Buildroot built
|
||||
all the selected software, but <i>before</i> the the rootfs
|
||||
packages are assembled. The destination root filesystem folder
|
||||
is given as first argument to this script, and this script can
|
||||
then be used to copy programs, static data or any other needed
|
||||
file to your target filesystem.<br/>You should, however, use
|
||||
that feature with care. Whenever you find that a certain package
|
||||
generates wrong or unneeded files, you should rather fix than
|
||||
package than working around it with a cleanup script.</li>
|
||||
|
||||
<li>A special package, <i>customize</i>, stored in
|
||||
<code>package/customize</code> can be used. You can put all the
|
||||
files that you want to see in the final target root filesystem
|
||||
in <code>package/customize/source</code>, and then enable this
|
||||
special package from the configuration system.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h2><a name="custom_busybox" id="custom_busybox"></a>Customizing the
|
||||
@@ -410,6 +418,85 @@ $ make me<TAB>
|
||||
<p>If you want to use an existing config file for uclibc, then see
|
||||
section <a href="#environment_variables">environment variables</a>. </p>
|
||||
|
||||
<h2><a name="custom_linux26" id="custom_linux26"></a>Customizing
|
||||
the Linux kernel configuration</h2>
|
||||
|
||||
<p>The Linux kernel configuration can be customized just like <a
|
||||
href="#custom_busybox">BusyBox</a> and <a href="#custom_uclibc">uClibc</a>
|
||||
using <code>make linux26-menuconfig</code>. Make sure you have
|
||||
enabled the kernel build in <code>make menuconfig</code> first.
|
||||
Once done, run <code>make</code> to (re)build everything.</p>
|
||||
|
||||
<p>If you want to use an existing config file for Linux, then see
|
||||
section <a href="#environment_variables">environment variables</a>.</p>
|
||||
|
||||
<h2><a name="#rebuilding_packages"
|
||||
id="rebuilding_packages">Understanding how to rebuild
|
||||
packages</a></h2>
|
||||
|
||||
<p>One of the most common question and issue about Buildroot
|
||||
encountered by users is how to rebuild a given package or how to
|
||||
remove a package without rebuilding everything from scratch.</p>
|
||||
|
||||
<p>Removing a package is currently unsupported by Buildroot
|
||||
without rebuilding from scratch. This is because Buildroot doesn't
|
||||
keep track of which package installs what files in the
|
||||
<code>output/staging</code> and <code>output/target</code>
|
||||
directories. However, implement clean package removal is on the
|
||||
TODO-list of Buildroot developers.</p>
|
||||
|
||||
<p>To rebuild a single package from scratch, the easiest way is to
|
||||
remove its build directory in <code>output/build</code>. Buildroot
|
||||
will then re-extract, re-configure, re-compile and re-install this
|
||||
package from scratch.</p>
|
||||
|
||||
<p>However, if you don't want to rebuild the package completely
|
||||
from scratch, a better understanding of the Buildroot internals is
|
||||
needed. Internally, to keep track of which steps have been done
|
||||
and which steps remains to be done, Buildroot maintains stamps
|
||||
files (i.e, empty files that just tell whether this or this action
|
||||
has been done). The problem is that these stamps files are not
|
||||
uniformely named and handled by the different packages, so some
|
||||
understanding of the particular package is needed.</p>
|
||||
|
||||
<p>For packages relying on the <i>autotools</i> Buildroot
|
||||
infrastructure (see <a href="#add_software">this section</a> for
|
||||
details), the following stamps files are interesting:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><code>output/build/packagename-version/.stamp_configured</code>. If
|
||||
removed, Buildroot will trigger the recompilation of the package
|
||||
from the configuration step (execution of
|
||||
<code>./configure</code>)</li>
|
||||
|
||||
<li><code>output/build/packagename-version/.stamp_built</code>. If
|
||||
removed, Buildroot will trigger the recompilation of the package
|
||||
from the compilation step (execution of <code>make</code>)</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>For other packages, an analysis of the specific
|
||||
<i>package.mk</i> file is needed. For example, the zlib Makefile
|
||||
looks like:</p>
|
||||
|
||||
<pre>
|
||||
$(ZLIB_DIR)/.configured: $(ZLIB_DIR)/.patched
|
||||
(cd $(ZLIB_DIR); rm -rf config.cache; \
|
||||
[...]
|
||||
)
|
||||
touch $@
|
||||
|
||||
$(ZLIB_DIR)/libz.a: $(ZLIB_DIR)/.configured
|
||||
$(MAKE) -C $(ZLIB_DIR) all libz.a
|
||||
touch -c $@
|
||||
</pre>
|
||||
|
||||
<p>So, if you want to trigger the reconfiguration, you need to
|
||||
remove <code>output/build/zlib-version/.configured</code> and if
|
||||
you want to trigger only the recompilation, you need to remove
|
||||
<code>output/build/zlib-version/libz.a</code>.</p>
|
||||
|
||||
<h2><a name="buildroot_innards" id="buildroot_innards"></a>How Buildroot
|
||||
works</h2>
|
||||
|
||||
@@ -464,334 +551,147 @@ $ make me<TAB>
|
||||
configuration is done) :</p>
|
||||
|
||||
<ol>
|
||||
<li>Create the download directory (<code>dl/</code> by default). This is
|
||||
where the tarballs will be downloaded. It is interesting to know that the
|
||||
tarballs are in this directory because it may be useful to save them
|
||||
somewhere to avoid further downloads. </li>
|
||||
|
||||
<li>Create the shared build directory (<code>build_ARCH/</code> by
|
||||
default, where <code>ARCH</code> is your architecture). This is where all
|
||||
non configurable user-space tools will be compiled.When building two or
|
||||
more targets using the same architecture, the first build will go through
|
||||
the full download, configure, make process, but the second and later
|
||||
builds will only copy the result from the first build to its project
|
||||
specific target directory significantly speeding up the build process</li>
|
||||
<li>Create all the output directories: <code>staging</code>,
|
||||
<code>target</code>, <code>build</code>, <code>stamps</code>,
|
||||
etc. in the output directory (<code>output/</code> by default,
|
||||
another value can be specified using <code>O=</code>)</li>
|
||||
|
||||
<li>Create the project specific build directory
|
||||
(<code>project_build_ARCH/$(PROJECT)</code> by default, where
|
||||
<code>ARCH</code> is your architecture). This is where all configurable
|
||||
user-space tools will be compiled. The project specific build directory
|
||||
is neccessary, if two different targets needs to use a specific package,
|
||||
but the packages have different configuration for both targets. Some
|
||||
examples of packages built in this directory are busybox and linux.
|
||||
</li>
|
||||
<li>Generate all the targets listed in the
|
||||
<code>BASE_TARGETS</code> variable. When an internal toolchain
|
||||
is used, it means generating the cross-compilation
|
||||
toolchain. When an external toolchain is used, it means checking
|
||||
the features of the external toolchain and importing it into the
|
||||
Buildroot environment.</li>
|
||||
|
||||
<li>Create the project specific result directory
|
||||
(<code>binaries/$(PROJECT)</code> by default, where <code>ARCH</code>
|
||||
is your architecture). This is where the root filesystem images are
|
||||
stored, It is also used to store the linux kernel image and any
|
||||
utilities, boot-loaders etc. needed for a target.
|
||||
</li>
|
||||
<li>Generate all the targets listed in the <code>TARGETS</code>
|
||||
variable. This variable is filled by all the individual
|
||||
components Makefiles. So, generating all these targets will
|
||||
trigger the compilation of the userspace packages (libraries,
|
||||
programs), the kernel, the bootloader and the generation of the
|
||||
root filesystem images, depending on the configuration.</li>
|
||||
|
||||
<li>Create the toolchain build directory
|
||||
(<code>toolchain_build_ARCH/</code> by default, where <code>ARCH</code>
|
||||
is your architecture). This is where the cross compilation toolchain will
|
||||
be compiled. </li>
|
||||
|
||||
<li>Setup the staging directory (<code>build_ARCH/staging_dir/</code> by
|
||||
default). This is where the cross-compilation toolchain will be
|
||||
installed. If you want to use the same cross-compilation toolchain for
|
||||
other purposes, such as compiling third-party applications, you can add
|
||||
<code>build_ARCH/staging_dir/usr/bin</code> to your PATH, and then use
|
||||
<code>arch-linux-gcc</code> to compile your application. In order to
|
||||
setup this staging directory, it first removes it, and then it creates
|
||||
various subdirectories and symlinks inside it. </li>
|
||||
|
||||
<li>Create the target directory (<code>project_build_ARCH/root/</code> by
|
||||
default) and the target filesystem skeleton. This directory will contain
|
||||
the final root filesystem. To setup it up, it first deletes it, then it
|
||||
uncompress the <code>target/generic/skel.tar.gz</code> file to create the
|
||||
main subdirectories and symlinks, copies the skeleton available in
|
||||
<code>target/generic/target_skeleton</code> and then removes useless
|
||||
<code>.svn/CVS</code> directories. </li>
|
||||
|
||||
<li>Add the <code>TARGETS</code> dependency. This should generally check
|
||||
if the configuration option for this package is enabled, and if so then
|
||||
"subscribe" this package to be compiled by adding it to the
|
||||
TARGETS global variable. </li>
|
||||
</ol>
|
||||
|
||||
<h2><a name="multi_project" id="multi_project"></a>Building several
|
||||
projects in the same buildroot source tree</h2>
|
||||
<h2><a name="board_support" id="board_support"></a>
|
||||
Creating your own board support</h2>
|
||||
|
||||
<p><i>Note: the contents of this section are obsolete since this
|
||||
feature has been implemented.</i></p>
|
||||
<p>Creating your own board support in Buildroot allows you to have
|
||||
a convenient place to store the Busybox, uClibc, kernel
|
||||
configurations, your target filesystem skeleton, and a Buildroot
|
||||
configuration that match your project.</p>
|
||||
|
||||
<h3>Background</h3>
|
||||
<p>Follow these steps to integrate your board in Buildroot:</p>
|
||||
|
||||
<p>Buildroot has always supported building several projects in the same
|
||||
tree if each project was for a different architecture. </p>
|
||||
|
||||
<p>The root file system has been created in the
|
||||
<code>"build_<ARCH>/root"</code>
|
||||
directory which is unique for each architecture.
|
||||
Toolchains have been built in
|
||||
<code>"toolchain_build_<ARCH>"</code>. </p>
|
||||
|
||||
<p> It the user wanted to build several root file systems for the same
|
||||
architecture, a prefix or suffix could be added in the configuration file
|
||||
so the root file system would be built in
|
||||
<code>"<PREFIX>_build_<ARCH>_<SUFFIX>/root"</code>
|
||||
By supplying <u>unique</u> combinations of
|
||||
<code>"<PREFIX>"</code> and
|
||||
<code>"<SUFFIX>"</code>
|
||||
each project would get a <u>unique</u> root file system tree. </p>
|
||||
|
||||
<p>The disadvantage of this approach is that a new toolchain was
|
||||
built for each project, adding considerable time to the build
|
||||
process, even if it was two projects for the same chip. </p>
|
||||
|
||||
<p>This drawback has been somewhat lessened with
|
||||
<code>gcc-4.x.y</code> which allows buildroot to use an external
|
||||
toolchain. Certain packages requires special
|
||||
features in the toolchain, and if an external toolchain is selected,
|
||||
this may lack the neccessary features to complete the build of the root
|
||||
file system.</p>
|
||||
|
||||
<p>A bigger problem was that the
|
||||
<code>"build_<ARCH>"</code> tree
|
||||
was also duplicated, so each </code>package</code> would also
|
||||
be rebuilt once per project, resulting in even longer build times.</p>
|
||||
|
||||
<h3>Project to share toolchain and package builds</h3>
|
||||
|
||||
<p>Work has started on a project which will allow the user to build
|
||||
multiple root file systems for the same architecture in the same tree.
|
||||
The toolchain and the package build directory will be shared, but each
|
||||
project will have a dedicated directory tree for project specific
|
||||
builds. </p>
|
||||
|
||||
<p>With this approach, most, if not all packages will be compiled
|
||||
when the first project is built.
|
||||
The process is almost identical to the original process.
|
||||
Packages are downloaded and extracted to the shared
|
||||
<code>"build_<ARCH>/<package>"</code>
|
||||
directory. They are configured and compiled. </p>
|
||||
|
||||
<p>Package libraries and headers are installed in the shared $(STAGING_DIR),
|
||||
and then the project specific root file system "$(TARGET_DIR)"
|
||||
is populated. </p>
|
||||
|
||||
<p>At the end of the build, the root file system will be used
|
||||
to generate the resulting root file system binaries. </p>
|
||||
|
||||
<p>Once the first project has been built, building other projects will
|
||||
typically involve populating the new project's root file system directory
|
||||
from the existing binaries generated in the shared
|
||||
<code>"build_<ARCH>/<>"</code> directory. </p>
|
||||
|
||||
<p>Only packages, not used by the first project, will have to go
|
||||
through the normal extract-configure-compile flow. </p>
|
||||
|
||||
<h3>Implementation</h3>
|
||||
|
||||
<p>The core of the solution is the introduction
|
||||
of two new directories: </p>
|
||||
|
||||
<ul>
|
||||
<li><code>project_build_<ARCH></code></li>
|
||||
|
||||
<li><code>binaries;</code></li>
|
||||
</ul>
|
||||
|
||||
<p>Each of the directories contain one subdirectory per project.
|
||||
The name of the subdirectory is configured by the user in the
|
||||
normal buildroot configuration, using the value of: </p>
|
||||
|
||||
<p><code>Project Options ---> Project name</code></p>
|
||||
|
||||
<p>The configuration defines the $(PROJECT) variable.</p>
|
||||
|
||||
<p>The default project name is <code>"uclibc"</code>.</p>
|
||||
|
||||
<p><code>"package/Makefile.in"</code> defines:
|
||||
<pre>
|
||||
<code>PROJECT_BUILD_DIR:=project_build_$(ARCH)/$(PROJECT)</code>
|
||||
<code>BINARIES_DIR:=binaries/$(PROJECT)</code>
|
||||
</pre>
|
||||
</p>
|
||||
|
||||
<p>It also defines the location for the target root file system:
|
||||
<pre>
|
||||
<code>TARGET_DIR:=$(PROJECT_BUILD_DIR)/$(PROJECT)/root</code>
|
||||
</pre>
|
||||
</p>
|
||||
|
||||
<p>I.E: If the user has choosen
|
||||
<code>"myproject"</code>
|
||||
as the $(PROJECT) name:
|
||||
|
||||
<ul>
|
||||
<li><code>"project_build_<ARCH>/myproject"</code></li>
|
||||
<li><code>"binaries/myproject"</code></li>
|
||||
</ul>
|
||||
|
||||
<p>will be created. </p>
|
||||
|
||||
<p>Currently, the <u>root file system</u>, <u>busybox</u> and an Atmel
|
||||
customized version of
|
||||
<u><code>U-Boot</code></u>, as well as some Atmel specific
|
||||
bootloaders like <u>at91-bootstrap</u> and <u>dataflashboot.bin</u>
|
||||
are built in
|
||||
<code>"$(PROJECT_BUILD_DIR)"</code>
|
||||
|
||||
<p>The resulting binaries for all architectures are stored in the
|
||||
<code>"$(BINARIES_DIR)"</code> directory. <p>
|
||||
|
||||
<h3>Summary</h3>
|
||||
|
||||
<p>The project will share directories which can be share without
|
||||
conflicts, but will use unique build directories, where the user
|
||||
can configure the build. </p>
|
||||
|
||||
<h2><a name="Linux" id="Linux"></a>Linux</h2>
|
||||
|
||||
<p>The user can select from three different Linux strategies:
|
||||
|
||||
<ul>
|
||||
<li>Legacy: Only use version supported by the kernel headers</li>
|
||||
<li>Advanced: Allow any 2.6.X.Y combination.
|
||||
(Minimum 2.6.19)</li>
|
||||
<li>Power-User Strategy: Allow
|
||||
<code>"-git"</code>, or
|
||||
<code>"-mm"</code>, or user downloadable kernels</li>
|
||||
</ul>
|
||||
|
||||
<p>The current kernel patches can be applied to the
|
||||
linux source tree even if the version differs from the
|
||||
kernel header version. </p>
|
||||
|
||||
<p>Since the user can select any kernel-patch
|
||||
he/she will be able to select a non-working combination.
|
||||
If the patch fails, the user will have to generate a new
|
||||
proprietary kernel-patch or decide to not apply the kernel
|
||||
patches</p>
|
||||
|
||||
<p>There is also support for <u>board specific</u> and
|
||||
<u>architecture specific</u> patches. </p>
|
||||
|
||||
<p>There will also be a way for the user to supply absolute
|
||||
or relative paths to patches, possibly outside the main tree.
|
||||
This can be used to apply custom kernel-header-patches, if
|
||||
the versions available in buildroot cannot be applied to the
|
||||
specific linux version used</p>
|
||||
|
||||
<p>Maybe, there will also be a possibility to supply an
|
||||
<code>"URL"</code> to a patch available on Internet. </p>
|
||||
|
||||
<p>
|
||||
If there is no linux config file available,
|
||||
buildroot starts the linux configuration system, which
|
||||
defaults to "make menuconfig".
|
||||
</p>
|
||||
|
||||
<h3>Todo</h3>
|
||||
<ol>
|
||||
|
||||
<li>Configurable packages</li>
|
||||
<p>Many packages can, on top of the simple
|
||||
"enable/disable build",
|
||||
be further configured using Kconfig.
|
||||
Currently these packages will be compiled using the
|
||||
configuration specified in the
|
||||
<code>".config"</code> file of the <u>first</u>
|
||||
project demanding the build of the package.</p>
|
||||
<li>Create a new directory in <code>target/device/</code>, named
|
||||
after your company or organization</li>
|
||||
|
||||
<p>If <u>another</u> project uses the same packages, but with
|
||||
a different configuration,these packages will <u>not</u> be rebuilt,
|
||||
and the root file system for the new project will be populated
|
||||
with files from the build of the <u>first</u> project</p>
|
||||
<li>Add a line <code>source
|
||||
"target/device/yourcompany/Config.in"</code> in
|
||||
<code>target/device/Config.in</code> so that your board appears
|
||||
in the configuration system</li>
|
||||
|
||||
<p>If multiple project are built, and a specific package
|
||||
needs two different configuration, then the user must
|
||||
delete the package from the
|
||||
<code>"build_<ARCH>"</code> directory
|
||||
before rebuilding the new project.<p>
|
||||
<li>In <code>target/device/yourcompany/</code>, create a
|
||||
directory for your project. This way, you'll be able to store
|
||||
several projects of your company/organization inside
|
||||
Buildroot.</li>
|
||||
|
||||
<p>A long term solution is to edit the package makefile and move
|
||||
the build of the configurable packages from
|
||||
<code>"build_<ARCH>"</code> to
|
||||
<code>"project_build_<ARCH>/<project name>"</code>
|
||||
and send a patch to the buildroot mailing list.
|
||||
<li>Create a <code>target/device/yourcompany/Config.in</code>
|
||||
file that looks like the following:
|
||||
|
||||
<li>Naming conventions</li>
|
||||
<pre>
|
||||
menuconfig BR2_TARGET_COMPANY
|
||||
bool "Company projects"
|
||||
|
||||
<p>Names of resulting binaries should reflect the
|
||||
"project name"
|
||||
if BR2_TARGET_COMPANY
|
||||
|
||||
<li>Generating File System binaries</li>
|
||||
<p>
|
||||
Packages which needs to be installed with the "root"
|
||||
as owner, will generate a
|
||||
<code>".fakeroot.<package>"</code> file
|
||||
which will be used for the final build of the root file system binary. </p>
|
||||
config BR2_TARGET_COMPANY_PROJECT_FOOBAR
|
||||
bool "Support for Company project Foobar"
|
||||
help
|
||||
This option enables support for Company project Foobar
|
||||
|
||||
<p>This was previously located in the
|
||||
<code>"$(STAGING_DIR)"</code> directory, but was
|
||||
recently moved to the
|
||||
<code>"$(PROJECT_BUILD_DIR)"</code> directory. </p>
|
||||
endif
|
||||
</pre>
|
||||
|
||||
<p>Currently only three packages:
|
||||
<code>"at"</code>,
|
||||
<code>"ltp-testsuite"</code> and
|
||||
<code>"nfs-utils"</code>
|
||||
requests fakeroot. <p>
|
||||
Of course, customize the different values to match your
|
||||
company/organization and your project. This file will create a
|
||||
menu entry that contains the different projects of your
|
||||
company/organization.</li>
|
||||
|
||||
<p>The makefile fragments for each file system type like
|
||||
<code>"ext2"</code>,
|
||||
<code>"jffs2"</code> or
|
||||
<code>"squashfs"</code>
|
||||
will, when the file system binary is generated,
|
||||
collect all present
|
||||
<code>".fakeroot.<package>"</code> files
|
||||
to a single <code>"_fakeroot.<file system>"</code>
|
||||
file and call fakeroot.</p>
|
||||
<code>".fakeroot.<package>"</code>
|
||||
files are deleted as the last action of the Buildroot Makefile. </p>
|
||||
<li>Create a <code>target/device/yourcompany/Makefile.in</code>
|
||||
file that looks like the following:
|
||||
|
||||
<p>It needs to be evaluated if any further action for the
|
||||
file system binary build is needed. </p>
|
||||
<pre>
|
||||
ifeq ($(BR2_TARGET_COMPANY_PROJECT_FOOBAR),y)
|
||||
include target/device/yourcompany/project-foobar/Makefile.in
|
||||
endif
|
||||
</pre>
|
||||
</li>
|
||||
|
||||
</ol>
|
||||
<li>Now, create the
|
||||
<code>target/device/yourcompany/project-foobar/Makefile.in</code>
|
||||
file. It is first recommended to define a
|
||||
<code>BOARD_PATH</code> variable set to
|
||||
<code>target/device/yourcompany/project-foobar</code>, as it
|
||||
will simplify further definitions. Then, the file might define
|
||||
one or several of the following variables:
|
||||
|
||||
<ul>
|
||||
|
||||
<li><code>TARGET_SKELETON</code> to a directory that contains
|
||||
the target skeleton for your project. If this variable is
|
||||
defined, this target skeleton will be used instead of the
|
||||
default one. If defined, the convention is to define it to
|
||||
<code>$(BOARD_PATH)/target_skeleton</code>, so that the target
|
||||
skeletonn is stored in the board specific directory.</li>
|
||||
|
||||
<li><code>TARGET_DEVICE_TABLE</code> to a file that contains
|
||||
the target device table, i.e the list of device files (in
|
||||
<code>/dev/</code>) created by the root filesystem building
|
||||
procedure. If this variable is defined, the given device table
|
||||
will be used instead of the default one. If defined, the
|
||||
convention is to define it to
|
||||
<code>$(BOARD_PATH)/target_device_table.txt</code>. See
|
||||
<code>target/generic/device_table.txt</code> for an example
|
||||
file.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<li>Then, in the
|
||||
<code>target/device/yourcompany/project-foobar/</code>
|
||||
directory, you can store configuration files for the kernel,
|
||||
for Busybox or uClibc.
|
||||
|
||||
You can furthermore create one or more preconfigured configuration
|
||||
files, referencing those files. These config files are named
|
||||
<code>something_defconfig</config> and are stored in the toplevel
|
||||
<code>configs/</code> directory. Your users will then be able
|
||||
to run <code>make something_defconfig</code> and get the right
|
||||
configuration for your project</li>
|
||||
|
||||
</ol>
|
||||
|
||||
<h2><a name="using_toolchain" id="using_toolchain"></a>Using the
|
||||
uClibc toolchain outside Buildroot</h2>
|
||||
generated toolchain outside Buildroot</h2>
|
||||
|
||||
<p>You may want to compile your own programs or other software
|
||||
that are not packaged in Buildroot. In order to do this, you can
|
||||
use the toolchain that was generated by Buildroot. </p>
|
||||
|
||||
<p>The toolchain generated by Buildroot by default is located in
|
||||
<code>build_ARCH/staging_dir/</code>. The simplest way to use it
|
||||
is to add <code>build_ARCH/staging_dir/usr/bin/</code> to your PATH
|
||||
<code>output/staging/</code>. The simplest way to use it
|
||||
is to add <code>output/staging/usr/bin/</code> to your PATH
|
||||
environnement variable, and then to use
|
||||
<code>arch-linux-gcc</code>, <code>arch-linux-objdump</code>,
|
||||
<code>arch-linux-ld</code>, etc. </p>
|
||||
<code>ARCH-linux-gcc</code>, <code>ARCH-linux-objdump</code>,
|
||||
<code>ARCH-linux-ld</code>, etc. </p>
|
||||
|
||||
<p>For example, you may add the following to your
|
||||
<code>.bashrc</code> (considering you're building for the MIPS
|
||||
architecture and that Buildroot is located in
|
||||
<code>~/buildroot/</code>) :</p>
|
||||
|
||||
<pre>
|
||||
export PATH="$PATH:~/buildroot/build_mips/staging_dir/usr/bin/"
|
||||
</pre>
|
||||
|
||||
<p>Then you can simply do :</p>
|
||||
|
||||
<pre>
|
||||
mips-linux-gcc -o foo foo.c
|
||||
</pre>
|
||||
<p>The easiest way is of course to add the
|
||||
<code>output/staging/usr/bin/</code> directory to your PATH
|
||||
environment variable.</p>
|
||||
|
||||
<p><b>Important</b> : do not try to move a gcc-3.x toolchain to an other
|
||||
directory, it won't work. There are some hardcoded paths in the
|
||||
@@ -802,8 +702,8 @@ mips-linux-gcc -o foo foo.c
|
||||
might be cumbersome.</p>
|
||||
|
||||
<p>It is also possible to generate the Buildroot toolchain in
|
||||
another directory than <code>build_ARCH/staging_dir</code> using
|
||||
the <code>Build options -> Toolchain and header file
|
||||
another directory than <code>output/staging</code> using the
|
||||
<code>Build options -> Toolchain and header file
|
||||
location</code> option. This could be useful if the toolchain
|
||||
must be shared with other users.</p>
|
||||
|
||||
@@ -911,9 +811,7 @@ config BR2_PACKAGE_FOO
|
||||
<em>sorted alphabetically</em> per category and are <em>NOT</em>
|
||||
supposed to contain anything but the <em>bare</em> name of the package.</p>
|
||||
<pre>
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
source "package/procps/Config.in"
|
||||
endif
|
||||
</pre>
|
||||
<p><strong>Note:</strong><br>
|
||||
Generally all packages should live <em>directly</em> in the
|
||||
@@ -963,7 +861,7 @@ endif
|
||||
|
||||
<p>On <a href="#ex1line9">line 9</a>, we tell Buildroot to install
|
||||
the application to the staging directory. The staging directory,
|
||||
located in <code>build_ARCH/staging_dir/</code> is the directory
|
||||
located in <code>output/staging/</code> is the directory
|
||||
where all the packages are installed, including their
|
||||
documentation, etc. By default, packages are installed in this
|
||||
location using the <code>make install</code> command.</p>
|
||||
|
||||
@@ -25,6 +25,6 @@ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
You have been warned.
|
||||
|
||||
You can contact the webmaster at <andersen@codepoet.org> if you have some sort
|
||||
You can contact the webmaster at <buildroot@uclibc.org> if you have some sort
|
||||
of problem with this.
|
||||
|
||||
|
||||
@@ -2,15 +2,21 @@
|
||||
|
||||
|
||||
<h3>Documentation</h3>
|
||||
Current documentation for buildroot includes:
|
||||
Documentation for buildroot includes:
|
||||
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<a href= "buildroot.html">Buildroot - Usage and
|
||||
documentation</a> is where you want to start reading if you wish to
|
||||
understand how buildroot work, or wish to change/extend/fix things. If you
|
||||
find any errors (factual, grammatical, whatever) please report them.
|
||||
Usage and documentation is where you want to start reading if you
|
||||
wish to understand how buildroot work, or wish to
|
||||
change/extend/fix things. If you find any errors (factual,
|
||||
grammatical, whatever) please report them. Choose between:
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="/downloads/buildroot.html">Latest stable release</a></li>
|
||||
<li><a href="buildroot.html">GIT head revision</a></li>
|
||||
</ul>
|
||||
<p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
@@ -20,7 +26,7 @@ Current documentation for buildroot includes:
|
||||
|
||||
<li>
|
||||
If you find that you need help with buildroot, you can ask for help on the
|
||||
<a href= "lists/uClibc/">buildroot mailing list</a> at buildroot at mail.uclibc.org.
|
||||
<a href= "lists.html">buildroot mailing list</a> at buildroot at uclibc.org.
|
||||
In addition the BusyBox, uClibc, and buildroot developers are also known to
|
||||
hang out on the uClibc IRC channel: #uclibc on irc.freenode.net.
|
||||
</li>
|
||||
|
||||
@@ -6,7 +6,23 @@
|
||||
|
||||
<p>
|
||||
|
||||
The latest release can always be dowloaded from
|
||||
The latest stable release is <b>2009.08</b>, which can be downloaded
|
||||
here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2009.08.tar.gz">buildroot-2009.08.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2009.08.tar.bz2">buildroot-2009.08.tar.bz2</a>.
|
||||
<p>
|
||||
|
||||
The latest release candidate is <b>2009.11-rc2</b>, which can be
|
||||
downloaded here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2009.11-rc2.tar.gz">buildroot-2009.11-rc2.tar.gz</a>
|
||||
or
|
||||
<a href="/downloads/buildroot-2009.11-rc2.tar.bz2">buildroot-2009.11-rc2.tar.bz2</a>.
|
||||
<p>
|
||||
|
||||
This and earlier releases can always be downloaded from
|
||||
<a href="/downloads/">http://buildroot.net/downloads/</a>.
|
||||
|
||||
<p>
|
||||
@@ -27,4 +43,3 @@ follow development, but cannot or do not wish to use Git.
|
||||
</ul>
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
|
||||
|
||||
@@ -27,12 +27,13 @@ tree at any time so it is in sync with the latest and greatest by entering your
|
||||
buildroot directory and running the command:
|
||||
|
||||
<pre>
|
||||
git pull</pre>
|
||||
git pull
|
||||
</pre>
|
||||
|
||||
Because you've only been granted anonymous access to the tree, you won't be
|
||||
able to commit any changes. Changes can be submitted for inclusion by posting
|
||||
them to the buildroot mailing list or to the <a
|
||||
href="http://bugs.uclibc.org/">Bug and Patch Tracking System</a>.
|
||||
href="https://bugs.uclibc.org/">Bug and Patch Tracking System</a>.
|
||||
|
||||
<!--#include file="footer.html" -->
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<br><a href="/download.html">Download</a>
|
||||
<br><a href="http://git.buildroot.net/buildroot">Browse Source</a>
|
||||
<br><a href="/git.html">Accessing Source</a>
|
||||
<br><a href="http://bugs.uclibc.org/">Bug Tracking</a>
|
||||
<br><a href="https://bugs.uclibc.org/">Bug Tracking</a>
|
||||
<br><a href="/docs.html">Documentation</a>
|
||||
<br><a href="/lists.html">Mailing Lists</a>
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@ list with frequently asked questions...
|
||||
|
||||
<center>
|
||||
<form method="GET" action="http://www.google.com/custom">
|
||||
<input type="hidden" name="domains" value="buildroot.uclibc.org">
|
||||
<input type="hidden" name="sitesearch" value="buildroot.uclibc.org">
|
||||
<input type="hidden" name="domains" value="lists.busybox.net">
|
||||
<input type="hidden" name="sitesearch" value="lists.busybox.net">
|
||||
<input type="text" name="q" size="31" maxlength="255" value="">
|
||||
<br>
|
||||
<input type="submit" name="sa" value="search the mailing list archives">
|
||||
|
||||
118
docs/news.html
118
docs/news.html
@@ -5,6 +5,108 @@
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
<li><b>29 November 2009 -- 2009.11-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.11_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.11-rc2.tar.bz2">2009.11-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>23 November 2009 -- 2009.11-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.11_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.11-rc1.tar.bz2">2009.11-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>7 September 2009 -- First Buildroot Developer Day</b>
|
||||
|
||||
<p>The first <i>Buildroot Developer Day</i> will take place on
|
||||
Saturday, October 17th in Grenoble, France, just the day after
|
||||
Embedded Linux Conference Europe. This <i>Developer Day</i> aims
|
||||
at allowing Buildroot developers to meet and exchange ideas on the
|
||||
project and its future.</p>
|
||||
|
||||
<p>As the number of places is limited, interested candidates are
|
||||
invited to send an e-mail to Peter Korsgaard (<code>jacmet at
|
||||
uclibc dot org</code>) and Thomas Petazzoni (<code>thomas dot
|
||||
petazzoni at free-electrons dot com</code>).</p>
|
||||
|
||||
<p>This <i>Developer Day</i> will take place thanks to the
|
||||
sponsoring of <a href="http://www.calao-systems.com">Calao
|
||||
Systems</a> and <a href="http://www.free-electrons.com">Free
|
||||
Electrons</a>.</p>
|
||||
|
||||
<li><b>31 August 2009 -- 2009.08 released</b>
|
||||
|
||||
<p>The stable 2009.08 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2009-August/029018.html">announcement</a>
|
||||
or <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08">CHANGES</a>
|
||||
for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2009.08.tar.bz2">2009.08
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>26 August 2009 -- 2009.08-rc3 released</b>
|
||||
<p>A number of bugfixes have been added to the tree since RC2
|
||||
(especially thanks to Thomas Petazzoni) - See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc3">CHANGES</a>
|
||||
file for details. This is very much expected to be the final release
|
||||
candidate, so give it a good test and expect a final 2009.08
|
||||
release next weekend unless critical issues are found.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.08-rc3.tar.bz2">2009.08-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>6 August 2009 -- 2009.08-rc2 released</b>
|
||||
|
||||
<p>RC2 is out with more cleanups and bugfixes, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc2">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.08-rc2.tar.bz2">2009.08-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>2 August 2009 -- 2009.08-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc1">CHANGES</a>
|
||||
file for details.
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2009.08-rc1.tar.bz2">2009.08-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>1 June 2009 -- 2009.05 released</b>
|
||||
|
||||
<p>The stable 2009.05 release is out - Thanks to everyone
|
||||
contributing and testing the release candidates. See the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2009-June/027640.html">announcement</a>
|
||||
or <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.05">CHANGES</a>
|
||||
for more details, and go to the <a href="/downloads/">downloads page</a>
|
||||
to pick up the <a href="/downloads/buildroot-2009.05.tar.bz2">2009.05
|
||||
release</a>.</p>
|
||||
|
||||
<li><b>27 May 2009 -- 2009.05-rc3 released</b>
|
||||
|
||||
<p>We had a number of fixes post-RC2, so RC3 is out (see <a
|
||||
@@ -16,7 +118,7 @@
|
||||
<a href="/downloads/buildroot-2009.05-rc3.tar.bz2">2009.05-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>19 May 2009 -- 2009.05-rc2 released</b>
|
||||
|
||||
@@ -29,7 +131,7 @@
|
||||
<a href="/downloads/buildroot-2009.05-rc2.tar.bz2">2009.05-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>14 May 2009 -- Buildroot.org</b>
|
||||
|
||||
@@ -51,7 +153,7 @@
|
||||
<a href="/downloads/buildroot-2009.05-rc1.tar.bz2">2009.05-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>3 May 2009 -- Moved to git</b>
|
||||
|
||||
@@ -91,7 +193,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc4.tar.bz2">2009.02-rc4
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>31 January 2009 -- 2009.02-rc3 released</b>
|
||||
<p>RC3 is out with more cleanups and bug fixes. Unless big issues
|
||||
@@ -102,7 +204,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc3.tar.bz2">2009.02-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>23 January 2009 -- 2009.02-rc2 released</b>
|
||||
<p>Another week, another release candidate with a bunch of
|
||||
@@ -112,7 +214,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc2.tar.bz2">2009.02-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>16 January 2009 -- Release candidate and new maintainer</b>
|
||||
<p>It has been a long time coming, but we finally have a new
|
||||
@@ -122,7 +224,7 @@
|
||||
<a href="/downloads/buildroot-2009.02-rc1.tar.bz2">2009.02-rc1
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="http://bugs.uclibc.org">bug tracker</a>. The plan is to
|
||||
href="https://bugs.uclibc.org">bug tracker</a>. The plan is to
|
||||
release 2009.02 in time for <a
|
||||
href="http://www.fosdem.org/2009/">FOSDEM</a>.</p>
|
||||
|
||||
@@ -150,7 +252,7 @@
|
||||
|
||||
If you find a bug in buildroot, or wish to submit a patch to fix a problem
|
||||
or add a shiny new feature, please use the <a
|
||||
href="http://bugs.uclibc.org/">Bug and Patch Tracking System</a> to post
|
||||
href="https://bugs.uclibc.org/">Bug and Patch Tracking System</a> to post
|
||||
the details, to make certain your work is not lost.
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ source "package/busybox/Config.in"
|
||||
|
||||
comment "The minimum needed to build a uClibc development system"
|
||||
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/bash/Config.in"
|
||||
source "package/bzip2/Config.in"
|
||||
source "package/coreutils/Config.in"
|
||||
@@ -12,15 +12,15 @@ source "package/diffutils/Config.in"
|
||||
source "package/findutils/Config.in"
|
||||
endif
|
||||
source "package/flex/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/gawk/Config.in"
|
||||
endif
|
||||
source "toolchain/gcc/Config.in.2"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/grep/Config.in"
|
||||
endif
|
||||
source "package/make/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/patch/Config.in"
|
||||
source "package/sed/Config.in"
|
||||
source "package/tar/Config.in"
|
||||
@@ -41,7 +41,6 @@ source "package/gperf/Config.in"
|
||||
source "package/mpfr/Config.in"
|
||||
source "package/libtool/Config.in"
|
||||
source "package/m4/Config.in"
|
||||
source "package/mpatrol/Config.in"
|
||||
source "package/oprofile/Config.in"
|
||||
source "package/pkg-config/Config.in"
|
||||
source "package/readline/Config.in"
|
||||
@@ -53,19 +52,20 @@ source "package/at/Config.in"
|
||||
source "package/beecrypt/Config.in"
|
||||
source "package/berkeleydb/Config.in"
|
||||
source "package/bsdiff/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/bootutils/Config.in"
|
||||
endif
|
||||
source "package/cups/Config.in"
|
||||
source "package/customize/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/dash/Config.in"
|
||||
endif
|
||||
source "package/enchant/Config.in"
|
||||
source "package/file/Config.in"
|
||||
source "package/gamin/Config.in"
|
||||
source "package/icu/Config.in"
|
||||
source "package/kexec/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/less/Config.in"
|
||||
endif
|
||||
source "package/libconfig/Config.in"
|
||||
@@ -87,16 +87,16 @@ source "package/lsof/Config.in"
|
||||
source "package/ltp-testsuite/Config.in"
|
||||
source "package/ltrace/Config.in"
|
||||
source "package/memstat/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/module-init-tools/Config.in"
|
||||
source "package/modutils/Config.in"
|
||||
endif
|
||||
source "package/ng-spice-rework/Config.in"
|
||||
source "package/popt/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/procps/Config.in"
|
||||
endif
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/psmisc/Config.in"
|
||||
endif
|
||||
source "package/screen/Config.in"
|
||||
@@ -104,7 +104,7 @@ source "package/shared-mime-info/Config.in"
|
||||
source "package/startup-notification/Config.in"
|
||||
source "package/strace/Config.in"
|
||||
source "package/sudo/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/sysklogd/Config.in"
|
||||
# busybox has init and the runit stuff
|
||||
source "package/sysvinit/Config.in"
|
||||
@@ -114,26 +114,23 @@ endif
|
||||
|
||||
source "package/database/Config.in"
|
||||
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
# busybox has an editor
|
||||
|
||||
# text editors
|
||||
source "package/editors/Config.in"
|
||||
|
||||
endif
|
||||
|
||||
menu "Networking"
|
||||
|
||||
comment "Networking applications"
|
||||
source "package/argus/Config.in"
|
||||
source "package/avahi/Config.in"
|
||||
source "package/axel/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/boa/Config.in"
|
||||
endif
|
||||
source "package/bind/Config.in"
|
||||
source "package/bmon/Config.in"
|
||||
source "package/bridge-utils/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
source "package/ctorrent/Config.in"
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/dhcp/Config.in"
|
||||
endif
|
||||
source "package/dnsmasq/Config.in"
|
||||
@@ -142,11 +139,11 @@ source "package/ethtool/Config.in"
|
||||
source "package/haserl/Config.in"
|
||||
source "package/hostap/Config.in"
|
||||
source "package/ifplugd/Config.in"
|
||||
#source "package/irda-utils/Config.in"
|
||||
source "package/iperf/Config.in"
|
||||
source "package/iproute2/Config.in"
|
||||
source "package/ipsec-tools/Config.in"
|
||||
source "package/iptables/Config.in"
|
||||
source "package/iw/Config.in"
|
||||
source "package/kismet/Config.in"
|
||||
source "package/l2tp/Config.in"
|
||||
source "package/libcgi/Config.in"
|
||||
@@ -154,17 +151,18 @@ source "package/libcgicc/Config.in"
|
||||
source "package/libcurl/Config.in"
|
||||
source "package/libdnet/Config.in"
|
||||
source "package/libeXosip2/Config.in"
|
||||
source "package/libmicrohttpd/Config.in"
|
||||
source "package/libnl/Config.in"
|
||||
source "package/libosip2/Config.in"
|
||||
source "package/libpcap/Config.in"
|
||||
source "package/libsoup/Config.in"
|
||||
source "package/libupnp/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/lighttpd/Config.in"
|
||||
endif
|
||||
source "package/links/Config.in"
|
||||
source "package/lrzsz/Config.in"
|
||||
source "package/mdnsresponder/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/microcom/Config.in"
|
||||
endif
|
||||
source "package/mii-diag/Config.in"
|
||||
@@ -173,13 +171,14 @@ source "package/mutt/Config.in"
|
||||
source "package/nbd/Config.in"
|
||||
source "package/ncftp/Config.in"
|
||||
source "package/neon/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/netcat/Config.in"
|
||||
endif
|
||||
source "package/netkitbase/Config.in"
|
||||
source "package/netkittelnet/Config.in"
|
||||
endif
|
||||
source "package/netplug/Config.in"
|
||||
source "package/netsnmp/Config.in"
|
||||
source "package/netstat-nat/Config.in"
|
||||
source "package/nfs-utils/Config.in"
|
||||
source "package/ntp/Config.in"
|
||||
source "package/olsr/Config.in"
|
||||
@@ -198,25 +197,22 @@ source "package/quagga/Config.in"
|
||||
source "package/rsync/Config.in"
|
||||
source "package/samba/Config.in"
|
||||
source "package/socat/Config.in"
|
||||
source "package/spawn-fcgi/Config.in"
|
||||
source "package/stunnel/Config.in"
|
||||
source "package/tcpdump/Config.in"
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/tftpd/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
source "package/thttpd/Config.in"
|
||||
source "package/tinyhttpd/Config.in"
|
||||
endif
|
||||
source "package/tn5250/Config.in"
|
||||
source "package/ttcp/Config.in"
|
||||
#if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
# ATTENTION! This was merged into busybox!
|
||||
#source "package/udhcp/Config.in"
|
||||
#endif
|
||||
source "package/udpcast/Config.in"
|
||||
source "package/vpnc/Config.in"
|
||||
source "package/vsftpd/Config.in"
|
||||
source "package/vtun/Config.in"
|
||||
source "package/webif/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/wget/Config.in"
|
||||
endif
|
||||
source "package/wireless-tools/Config.in"
|
||||
@@ -229,17 +225,20 @@ source "package/acpid/Config.in"
|
||||
source "package/dbus/Config.in"
|
||||
source "package/dbus-glib/Config.in"
|
||||
source "package/dbus-python/Config.in"
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/devmem2/Config.in"
|
||||
source "package/dm/Config.in"
|
||||
endif
|
||||
source "package/dmraid/Config.in"
|
||||
source "package/dosfstools/Config.in"
|
||||
source "package/e2fsprogs/Config.in"
|
||||
source "package/eeprog/Config.in"
|
||||
source "package/fconfig/Config.in"
|
||||
source "package/fis/Config.in"
|
||||
source "package/fuse/Config.in"
|
||||
source "package/gadgetfs-test/Config.in"
|
||||
source "package/gvfs/Config.in"
|
||||
source "package/hal/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/hdparm/Config.in"
|
||||
source "package/hotplug/Config.in"
|
||||
endif
|
||||
@@ -254,21 +253,23 @@ source "package/lm-sensors/Config.in"
|
||||
source "package/lvm2/Config.in"
|
||||
source "package/mdadm/Config.in"
|
||||
source "package/memtester/Config.in"
|
||||
source "package/mkdosfs/Config.in"
|
||||
source "package/mtd/Config.in"
|
||||
source "package/ntfs-3g/Config.in"
|
||||
source "package/ntfsprogs/Config.in"
|
||||
source "package/pciutils/Config.in"
|
||||
source "package/pcmcia/Config.in"
|
||||
source "package/setserial/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
# busybox has fdisk
|
||||
source "package/sfdisk/Config.in"
|
||||
endif
|
||||
source "package/smartmontools/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
source "package/sysstat/Config.in"
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
# mdev
|
||||
source "package/udev/Config.in"
|
||||
endif
|
||||
source "package/usb_modeswitch/Config.in"
|
||||
source "package/usbmount/Config.in"
|
||||
source "package/usbutils/Config.in"
|
||||
source "package/wipe/Config.in"
|
||||
@@ -290,6 +291,7 @@ source "package/dialog/Config.in"
|
||||
comment "graphic libraries"
|
||||
source "package/directfb/Config.in"
|
||||
source "package/directfb-examples/Config.in"
|
||||
source "package/divine/Config.in"
|
||||
source "package/fbdump/Config.in"
|
||||
source "package/imagemagick/Config.in"
|
||||
source "package/jpeg/Config.in"
|
||||
@@ -303,8 +305,10 @@ source "package/sawman/Config.in"
|
||||
source "package/sdl/Config.in"
|
||||
source "package/sdl_image/Config.in"
|
||||
source "package/sdl_mixer/Config.in"
|
||||
source "package/sdl_sound/Config.in"
|
||||
source "package/sdl_net/Config.in"
|
||||
source "package/sdl_ttf/Config.in"
|
||||
source "package/sdl_gfx/Config.in"
|
||||
source "package/tiff/Config.in"
|
||||
|
||||
comment "busybox graphic applications"
|
||||
@@ -313,46 +317,13 @@ source "package/fbv/Config.in"
|
||||
source "package/fbset/Config.in"
|
||||
|
||||
comment "other GUIs"
|
||||
source "package/qtopia4/Config.in"
|
||||
source "package/qt/Config.in"
|
||||
|
||||
#source "package/microwin/Config.in"
|
||||
|
||||
|
||||
choice
|
||||
prompt "X Window System server"
|
||||
default BR2_PACKAGE_XSERVER_none
|
||||
help
|
||||
Select the X Window System server to use
|
||||
|
||||
config BR2_PACKAGE_XSERVER_none
|
||||
bool "none"
|
||||
config BR2_PACKAGE_XSERVER_xorg
|
||||
bool "modular xorg"
|
||||
depends on BR2_USE_WCHAR && BR2_LARGEFILE && BR2_INSTALL_LIBSTDCPP # && BR2_ENABLE_LOCALE
|
||||
# depending on BR2_ENABLE_LOCALE gives a recursion error with dbus
|
||||
config BR2_PACKAGE_XSERVER_tinyx
|
||||
bool "tinyx"
|
||||
depends on BR2_USE_WCHAR
|
||||
endchoice
|
||||
|
||||
comment "xorg requires a toolchain with C++, LOCALE, LARGEFILE and WCHAR support"
|
||||
depends on !(BR2_USE_WCHAR && BR2_LARGEFILE && BR2_INSTALL_LIBSTDCPP && BR2_ENABLE_LOCALE)
|
||||
comment "tinyx requires a toolchain with WCHAR support"
|
||||
depends on !BR2_USE_WCHAR
|
||||
|
||||
config BR2_X11_PREFIX
|
||||
string
|
||||
default "/usr/X11R6" if BR2_PACKAGE_XSERVER_xorg
|
||||
default "/usr" if BR2_PACKAGE_XSERVER_tinyx
|
||||
help
|
||||
X11 apps root location
|
||||
|
||||
if !BR2_PACKAGE_XSERVER_none
|
||||
source "package/x11r7/Config.in"
|
||||
endif
|
||||
|
||||
comment "X libraries and helper libraries"
|
||||
#XXX: maybe some of these should depend on !BR2_PACKAGE_XSERVER_none
|
||||
source "package/atk/Config.in"
|
||||
source "package/cairo/Config.in"
|
||||
source "package/pango/Config.in"
|
||||
@@ -402,9 +373,10 @@ endmenu
|
||||
|
||||
menu "Compressors / decompressors"
|
||||
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/gzip/Config.in"
|
||||
endif
|
||||
source "package/libarchive/Config.in"
|
||||
source "package/lzo/Config.in"
|
||||
source "package/lzop/Config.in"
|
||||
source "package/lzma/Config.in"
|
||||
@@ -415,7 +387,7 @@ menu "Package managers"
|
||||
|
||||
source "package/ipkg/Config.in"
|
||||
source "package/portage/Config.in"
|
||||
if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
source "package/rpm/Config.in"
|
||||
endif
|
||||
endmenu
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
# list of (package) targets that must be built before foo
|
||||
# FOO_AUTORECONF [YES/NO, default NO]
|
||||
# run <autoreconf> before <configure>
|
||||
# FOO_AUTORECONF_OPT [default empty]
|
||||
# arguments passed to the <autoreconf> script
|
||||
# FOO_LIBTOOL_PATCH [YES/NO, default YES]
|
||||
# Do you want the standard buildroot patch applied to ltmain.sh? (libtool)
|
||||
# FOO_USE_CONFIG_CACHE [YES/NO default $(BR2_CONFIG_CACHE)]
|
||||
@@ -140,7 +142,7 @@ DOWNLOAD=$(WGET) -P $(DL_DIR) $(1)/$(2)
|
||||
else
|
||||
define DOWNLOAD
|
||||
$(Q)test -e $(DL_DIR)/$(2) || \
|
||||
for site in $(strip $(subst ",,$(BR2_PRIMARY_SITE))) $(1) $(strip $(subst ",,$(BR2_BACKUP_SITE))); \
|
||||
for site in $(call qstrip,$(BR2_PRIMARY_SITE)) $(1) $(call qstrip,$(BR2_BACKUP_SITE)); \
|
||||
do $(WGET) -P $(DL_DIR) $$site/$(2) && exit; done
|
||||
endef
|
||||
endif
|
||||
@@ -186,7 +188,8 @@ $(BUILD_DIR)/%/.stamp_extracted:
|
||||
$(BUILD_DIR)/%/.stamp_libtool_patch:
|
||||
$(call MESSAGE,"Patching libtool")
|
||||
# if the package uses libtool, patch it for cross-compiling in buildroot
|
||||
$(Q)if test "$($(PKG)_LIBTOOL_PATCH)" = "YES"; then \
|
||||
$(Q)if test "$($(PKG)_LIBTOOL_PATCH)" = "YES" -a \
|
||||
"$($(PKG)_AUTORECONF)" != "YES"; then \
|
||||
for i in `find $(@D) -name ltmain.sh`; do \
|
||||
toolchain/patch-kernel.sh $${i%/*} package buildroot-libtool.patch; \
|
||||
done \
|
||||
@@ -225,7 +228,7 @@ endif
|
||||
# Running autoreconf
|
||||
$(BUILD_DIR)/%/.stamp_autoconfigured:
|
||||
$(call MESSAGE,"Running autoreconf")
|
||||
$(Q)cd $(@D)/$($(PKG)_SUBDIR) && $(AUTORECONF)
|
||||
$(Q)cd $(@D)/$($(PKG)_SUBDIR) && $(AUTORECONF) $($(PKG)_AUTORECONF_OPT)
|
||||
# if the package uses libtool, patch it for cross-compiling in buildroot
|
||||
$(Q)if test "$($(PKG)_LIBTOOL_PATCH)" = "YES"; then \
|
||||
for i in `find $(@D)/$($(PKG)_SUBDIR) -name ltmain.sh`; do \
|
||||
@@ -243,7 +246,7 @@ $(BUILD_DIR)/%/.stamp_configured:
|
||||
$(TARGET_CONFIGURE_ENV) \
|
||||
$($(PKG)_CONF_ENV) \
|
||||
$(if $(THIS_SRCDIR),$(THIS_SRCDIR)/,./)configure \
|
||||
$(if $(filter YES,$($(PKG)_USE_CONFIG_CACHE)),--cache-file="$(PROJECT_BUILD_DIR)/tgt-config.cache",) \
|
||||
$(if $(filter YES,$($(PKG)_USE_CONFIG_CACHE)),--cache-file="$(BUILD_DIR)/tgt-config.cache",) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -253,6 +256,7 @@ $(BUILD_DIR)/%/.stamp_configured:
|
||||
$(DISABLE_DOCUMENTATION) \
|
||||
$(DISABLE_NLS) \
|
||||
$(DISABLE_LARGEFILE) \
|
||||
$(DISABLE_IPV6) \
|
||||
$(QUIET) $($(PKG)_CONF_OPT)
|
||||
$(Q)touch $@
|
||||
|
||||
@@ -274,7 +278,7 @@ $(BUILD_DIR)/%/.stamp_staging_installed:
|
||||
touch $@
|
||||
|
||||
# Install to target dir
|
||||
$(PROJECT_BUILD_DIR)/autotools-stamps/%_target_installed:
|
||||
$(BUILD_DIR)/%/.stamp_target_installed:
|
||||
$(call MESSAGE,"Installing to target")
|
||||
$($(PKG)_MAKE_ENV) $($(PKG)_MAKE) $($(PKG)_INSTALL_TARGET_OPT) -C $($(PKG)_DIR)/$($(PKG)_SUBDIR)
|
||||
$(if $(BR2_HAVE_MANPAGES),,for d in man share/man; do \
|
||||
@@ -329,6 +333,7 @@ $(2)_SITE ?= \
|
||||
http://$$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/$(1)
|
||||
$(2)_DEPENDENCIES ?=
|
||||
$(2)_AUTORECONF ?= NO
|
||||
$(2)_AUTORECONF_OPT ?=
|
||||
$(2)_LIBTOOL_PATCH ?= YES
|
||||
$(2)_USE_CONFIG_CACHE ?= $(if $(BR2_CONFIG_CACHE),YES,NO)
|
||||
$(2)_CONF_ENV ?=
|
||||
@@ -352,8 +357,7 @@ $(2)_DIR_PREFIX = $(if $(3),$(3),$(TOP_SRCDIR)/package)
|
||||
|
||||
|
||||
# define sub-target stamps
|
||||
# targets which affect $(TARGET_DIR) must use a unique stamp for each $(PROJECT)
|
||||
$(2)_TARGET_INSTALL_TARGET = $(PROJECT_BUILD_DIR)/autotools-stamps/$(1)_target_installed
|
||||
$(2)_TARGET_INSTALL_TARGET = $$($(2)_DIR)/.stamp_target_installed
|
||||
$(2)_TARGET_INSTALL_STAGING = $$($(2)_DIR)/.stamp_staging_installed
|
||||
$(2)_TARGET_BUILD = $$($(2)_DIR)/.stamp_built
|
||||
$(2)_TARGET_CONFIGURE = $$($(2)_DIR)/.stamp_configured
|
||||
@@ -369,7 +373,7 @@ $(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned
|
||||
$(2)_HOOK_POST_EXTRACT = $$($(2)_DIR)/.stamp_hook_post_extract
|
||||
$(2)_HOOK_POST_CONFIGURE = $$($(2)_DIR)/.stamp_hook_post_configure
|
||||
$(2)_HOOK_POST_BUILD = $$($(2)_DIR)/.stamp_hook_post_build
|
||||
$(2)_HOOK_POST_INSTALL = $(PROJECT_BUILD_DIR)/autotools-stamps/$(1)_hook_post_install
|
||||
$(2)_HOOK_POST_INSTALL = $$($(2)_DIR)/.stamp_hook_post_install
|
||||
|
||||
# human-friendly targets and target sequencing
|
||||
$(1): $(1)-install
|
||||
|
||||
@@ -45,12 +45,10 @@ TARGET_CFLAGS+= $(BR2_SYSROOT) $(BR2_ISYSROOT)
|
||||
TARGET_LDFLAGS+= $(BR2_SYSROOT)
|
||||
endif
|
||||
|
||||
CC_TARGET_TUNE_:=$(strip $(subst ",,$(BR2_GCC_TARGET_TUNE)))
|
||||
#"))
|
||||
CC_TARGET_ARCH_:=$(strip $(subst ",,$(BR2_GCC_TARGET_ARCH)))
|
||||
#"))
|
||||
CC_TARGET_ABI_:=$(strip $(subst ",,$(BR2_GCC_TARGET_ABI)))
|
||||
#"))
|
||||
CC_TARGET_TUNE_:=$(call qstrip,$(BR2_GCC_TARGET_TUNE))
|
||||
CC_TARGET_ARCH_:=$(call qstrip,$(BR2_GCC_TARGET_ARCH))
|
||||
CC_TARGET_ABI_:=$(call qstrip,$(BR2_GCC_TARGET_ABI))
|
||||
|
||||
ifneq ($(CC_TARGET_TUNE_),)
|
||||
TARGET_CFLAGS+=-mtune=$(CC_TARGET_TUNE_)
|
||||
endif
|
||||
@@ -99,7 +97,7 @@ TARGET_LDFLAGS=--sysroot $(STAGING_DIR)/
|
||||
endif
|
||||
#########################################################################
|
||||
#ifeq ($(BR2_ROOTFS_SUFFIX),)
|
||||
ROOTFS_SUFFIX:=$(strip $(subst ",, $(BR2_ROOTFS_SUFFIX)))
|
||||
ROOTFS_SUFFIX:=$(call qstrip,$(BR2_ROOTFS_SUFFIX))
|
||||
ifeq ($(ROOTFS_SUFFIX),)
|
||||
ROOTFS_SUFFIX:=
|
||||
else
|
||||
@@ -107,32 +105,23 @@ XXXX=xxxx
|
||||
ROOTFS_SUFFIX:=-$(BR2_ROOTFS_SUFFIX)
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(subst ",, $(BR2_FPU_SUFFIX))),y)
|
||||
COND_ARCH_FPU_SUFFIX:=$(ARCH_FPU_SUFFIX)
|
||||
else
|
||||
COND_ARCH_FPU_SUFFIX:=
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
|
||||
TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
|
||||
TOOLCHAIN_DIR=$(BASE_DIR)/toolchain
|
||||
|
||||
# Quotes are needed for spaces et al in path components.
|
||||
TARGET_PATH="$(TOOL_BUILD_DIR)/bin:$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(PATH)"
|
||||
IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX)
|
||||
TARGET_PATH="$(TOOLCHAIN_DIR)/bin:$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(PATH)"
|
||||
IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ROOTFS_SUFFIX)
|
||||
GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
|
||||
REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)$(GNU_TARGET_SUFFIX)
|
||||
TARGET_CROSS=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
|
||||
KERNEL_CROSS=$(TARGET_CROSS)
|
||||
else
|
||||
TOOLCHAIN_EXTERNAL_PREFIX:=$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_PREFIX)))
|
||||
#"))
|
||||
TOOLCHAIN_EXTERNAL_PATH:=$(strip $(subst ",, $(BR2_TOOLCHAIN_EXTERNAL_PATH)))
|
||||
#"))
|
||||
#TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(TOOLCHAIN_EXTERNAL_PREFIX)
|
||||
TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
|
||||
TARGET_PATH="$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(TOOL_BUILD_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
|
||||
TOOLCHAIN_EXTERNAL_PREFIX:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
|
||||
TOOLCHAIN_EXTERNAL_PATH:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH))
|
||||
TOOLCHAIN_DIR=$(BASE_DIR)/toolchain
|
||||
TARGET_PATH="$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(TOOLCHAIN_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
|
||||
#IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(TOOLCHAIN_EXTERNAL_PREFIX)$(ROOTFS_SUFFIX)
|
||||
IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX)
|
||||
IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(ROOTFS_SUFFIX)
|
||||
|
||||
REAL_GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX)
|
||||
GNU_TARGET_NAME=$(TOOLCHAIN_EXTERNAL_PREFIX)
|
||||
@@ -144,11 +133,7 @@ TARGET_AS=$(TARGET_CROSS)as
|
||||
TARGET_CC=$(TARGET_CROSS)gcc
|
||||
TARGET_CPP=$(TARGET_CROSS)cpp
|
||||
TARGET_CXX=$(TARGET_CROSS)g++
|
||||
ifeq ($(BR2_GCC_VERSION_3_4_6),y)
|
||||
TARGET_FC=$(TARGET_CROSS)g77
|
||||
else
|
||||
TARGET_FC=$(TARGET_CROSS)gfortran
|
||||
endif
|
||||
TARGET_LD=$(TARGET_CROSS)ld
|
||||
TARGET_NM=$(TARGET_CROSS)nm
|
||||
TARGET_RANLIB=$(TARGET_CROSS)ranlib
|
||||
@@ -178,10 +163,10 @@ TARGET_STRIP=$(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-sstrip
|
||||
STRIPCMD=$(TARGET_STRIP)
|
||||
endif
|
||||
ifeq ($(BR2_STRIP_none),y)
|
||||
TARGET_STRIP=true -Not_stripping
|
||||
TARGET_STRIP=true Not_stripping
|
||||
STRIPCMD=$(TARGET_STRIP)
|
||||
endif
|
||||
INSTALL=/usr/bin/install
|
||||
INSTALL:=$(shell which install || type -p install)
|
||||
FLEX:=$(shell which flex || type -p flex)
|
||||
BISON:=$(shell which bison || type -p bison)
|
||||
|
||||
@@ -205,19 +190,9 @@ HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
|
||||
-e 's/mipsel-.*/mipsel/' \
|
||||
-e 's/cris.*/cris/' \
|
||||
-e 's/i[3-9]86/i386/' \
|
||||
-e 's/xtensa.*/xtensa/' \
|
||||
)
|
||||
GNU_HOST_NAME:=$(HOST_ARCH)-$(subst ",,$(BR2_GNU_BUILD_SUFFIX))
|
||||
#")
|
||||
|
||||
AUTO_CONFIGURE_TARGET=\
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
$(TARGET_CONFIGURE_ENV) \
|
||||
$(if $(THIS_SRCDIR),$(THIS_SRCDIR)/,./)configure \
|
||||
$(if $(BR2_CONFIG_CACHE),--cache-file="$(PROJECT_BUILD_DIR)/tgt-config.cache",) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME)
|
||||
GNU_HOST_NAME:=$(HOST_ARCH)-$(call qstrip,$(BR2_GNU_BUILD_SUFFIX))
|
||||
|
||||
TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||
AR="$(TARGET_AR)" \
|
||||
@@ -252,7 +227,7 @@ TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
|
||||
DEFAULT_LINKER="$(TARGET_LD)" \
|
||||
PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
|
||||
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig$(PKG_CONFIG_PATH)" \
|
||||
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \
|
||||
STAGING_DIR="$(STAGING_DIR)"
|
||||
|
||||
TARGET_CONFIGURE_ENV=\
|
||||
@@ -297,9 +272,12 @@ HOST_CONFIGURE_OPTS=PATH=$(HOST_PATH) \
|
||||
ORIGINAL_NM_FOR_TARGET="$(TARGET_NM)" \
|
||||
ORIGINAL_OBJDUMP_FOR_TARGET="$(TARGET_OBJDUMP)" \
|
||||
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
PKG_CONFIG_PATH="$(HOST_DIR)/usr/lib/pkgconfig$(PKG_CONFIG_PATH)"
|
||||
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"
|
||||
|
||||
HOST_MAKE_ENV=PATH=$(HOST_PATH) \
|
||||
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig"
|
||||
|
||||
HOST_MAKE_ENV=PATH=$(HOST_PATH)
|
||||
|
||||
#######################################################################
|
||||
# settings we need to pass to configure
|
||||
@@ -363,7 +341,7 @@ DISABLE_LARGEFILE= --disable-largefile
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_HAVE_DOCUMENTATION),y)
|
||||
DISABLE_DOCUMENTATION=--without-html-dir --disable-gtk-doc
|
||||
DISABLE_DOCUMENTATION=--disable-gtk-doc
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_INET_IPV6),y)
|
||||
@@ -380,24 +358,8 @@ else
|
||||
ENABLE_DEBUG:=
|
||||
endif
|
||||
|
||||
|
||||
# X Windowing system
|
||||
|
||||
XSERVER:=
|
||||
ifeq ($(BR2_PACKAGE_TINYX),y)
|
||||
XSERVER+=tinyx
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_XORG),y)
|
||||
XSERVER+=xorg
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_XORG7),y)
|
||||
XSERVER+=xserver_xorg-server
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_XGGI),y)
|
||||
XSERVER+=xggi
|
||||
endif
|
||||
|
||||
X11_PREFIX:=$(strip $(subst ",, $(BR2_X11_PREFIX)))
|
||||
#"))
|
||||
X11_PREFIX:=$(call qstrip,$(BR2_X11_PREFIX))
|
||||
|
||||
include package/Makefile.autotools.in
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
config BR2_PACKAGE_ALSAMIXERGUI
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_FLTK
|
||||
bool "alsamixergui"
|
||||
help
|
||||
|
||||
@@ -12,7 +12,7 @@ ALSAMIXERGUI_INSTALL_TARGET = YES
|
||||
|
||||
ALSAMIXERGUI_CONF_OPT = LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -lstdc++ -lX11"
|
||||
|
||||
ALSAMIXERGUI_DEPENDENCIES = uclibc fltk
|
||||
ALSAMIXERGUI_DEPENDENCIES = fltk
|
||||
|
||||
$(eval $(call AUTOTARGETS,package,alsamixergui))
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ $(ARGUS_DIR)/.configured: $(ARGUS_DIR)/.unpacked
|
||||
(cd $(ARGUS_DIR); rm -rf config.cache; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -51,7 +51,7 @@ $(TARGET_DIR)/$(ARGUS_TARGET_BINARY): $(ARGUS_DIR)/$(ARGUS_BINARY)
|
||||
cp -dpf $(ARGUS_DIR)/$(ARGUS_BINARY) $@
|
||||
$(STRIPCMD) $(STRIP_STRIP_ALL) $@
|
||||
|
||||
argus: uclibc libpcap $(TARGET_DIR)/$(ARGUS_TARGET_BINARY)
|
||||
argus: libpcap $(TARGET_DIR)/$(ARGUS_TARGET_BINARY)
|
||||
|
||||
argus-clean:
|
||||
-$(MAKE) -C $(ARGUS_DIR) clean
|
||||
|
||||
@@ -25,7 +25,7 @@ $(AT_DIR)/.configured: $(AT_DIR)/.unpacked
|
||||
(cd $(AT_DIR); rm -rf config.cache; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -49,14 +49,14 @@ $(TARGET_DIR)/$(AT_TARGET_SCRIPT): $(AT_DIR)/$(AT_BINARY)
|
||||
# Use fakeroot to pretend to do 'make install' as root
|
||||
echo '$(MAKE) DAEMON_USERNAME=root DAEMON_GROUPNAME=root ' \
|
||||
'$(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(AT_DIR) install' \
|
||||
> $(PROJECT_BUILD_DIR)/.fakeroot.at
|
||||
> $(BUILD_DIR)/.fakeroot.at
|
||||
ifneq ($(BR2_HAVE_MANPAGES),y)
|
||||
echo 'rm -rf $(TARGET_DIR)/usr/man' >> $(PROJECT_BUILD_DIR)/.fakeroot.at
|
||||
echo 'rm -rf $(TARGET_DIR)/usr/man' >> $(BUILD_DIR)/.fakeroot.at
|
||||
endif
|
||||
echo 'rm -rf $(TARGET_DIR)/usr/doc/at' >> $(PROJECT_BUILD_DIR)/.fakeroot.at
|
||||
echo 'rm -rf $(TARGET_DIR)/usr/doc/at' >> $(BUILD_DIR)/.fakeroot.at
|
||||
$(INSTALL) -m 0755 -D $(AT_DIR)/debian/rc $(TARGET_DIR)/$(AT_TARGET_SCRIPT)
|
||||
|
||||
at: uclibc host-fakeroot $(TARGET_DIR)/$(AT_TARGET_SCRIPT)
|
||||
at: host-fakeroot $(TARGET_DIR)/$(AT_TARGET_SCRIPT)
|
||||
|
||||
at-clean:
|
||||
-$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(AT_DIR) uninstall
|
||||
|
||||
@@ -45,7 +45,7 @@ ATK_CONF_OPT = --enable-shared \
|
||||
--disable-glibtest --enable-explicit-deps=no \
|
||||
--disable-debug
|
||||
|
||||
ifneq ($(BR2_PACKAGE_XSERVER_none),y)
|
||||
ifeq ($(BR2_PACKAGE_XORG7),y)
|
||||
ATK_CONF_OPT += --with-x \
|
||||
--x-includes=$(STAGING_DIR)/usr/include/X11 \
|
||||
--x-libraries=$(STAGING_DIR)/usr/lib --disable-glibtest
|
||||
@@ -74,7 +74,7 @@ $(STAMP_DIR)/host_atk_configured: $(STAMP_DIR)/host_atk_unpacked $(STAMP_DIR)/ho
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--prefix="$(HOST_DIR)/usr" \
|
||||
--sysconfdir="$(HOST_DIR)/etc" \
|
||||
--enable-shared \
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# autoconf
|
||||
#
|
||||
#############################################################
|
||||
AUTOCONF_VERSION = 2.63
|
||||
AUTOCONF_VERSION = 2.64
|
||||
AUTOCONF_SOURCE = autoconf-$(AUTOCONF_VERSION).tar.bz2
|
||||
AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoconf
|
||||
|
||||
@@ -13,7 +13,7 @@ endif
|
||||
|
||||
AUTOCONF_CONF_ENV = EMACS="no"
|
||||
|
||||
AUTOCONF_DEPENDENCIES = uclibc microperl
|
||||
AUTOCONF_DEPENDENCIES = microperl
|
||||
|
||||
$(eval $(call AUTOTARGETS,package,autoconf))
|
||||
|
||||
@@ -39,7 +39,7 @@ $(STAMP_DIR)/host_autoconf_configured: $(STAMP_DIR)/host_autoconf_unpacked $(STA
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--prefix="$(HOST_DIR)/usr" \
|
||||
--sysconfdir="$(HOST_DIR)/etc" \
|
||||
--disable-static \
|
||||
|
||||
@@ -11,7 +11,7 @@ ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff
|
||||
AUTOMAKE_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
|
||||
endif
|
||||
|
||||
AUTOMAKE_DEPENDENCIES = uclibc autoconf microperl
|
||||
AUTOMAKE_DEPENDENCIES = autoconf microperl
|
||||
|
||||
$(eval $(call AUTOTARGETS,package,automake))
|
||||
|
||||
@@ -38,7 +38,7 @@ $(STAMP_DIR)/host_automake_configured: $(STAMP_DIR)/host_automake_unpacked $(STA
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--prefix="$(HOST_DIR)/usr" \
|
||||
--sysconfdir="$(HOST_DIR)/etc" \
|
||||
--disable-static \
|
||||
|
||||
@@ -18,6 +18,12 @@ case "$1" in
|
||||
if [ $? -eq 0 ]; then
|
||||
/sbin/ifconfig $interface 0.0.0.0
|
||||
fi
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -k $interface
|
||||
fi
|
||||
;;
|
||||
|
||||
leasefail|nak)
|
||||
if [ -x /usr/sbin/avahi-autoipd ]; then
|
||||
/usr/sbin/avahi-autoipd -wD $interface --no-chroot
|
||||
fi
|
||||
|
||||
@@ -36,7 +36,7 @@ ifeq ($(BR2_HAVE_MANPAGES),y)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(AXEL_DIR) install-man
|
||||
endif
|
||||
|
||||
axel: uclibc $(TARGET_DIR)/$(AXEL_TARGET_BINARY)
|
||||
axel: $(TARGET_DIR)/$(AXEL_TARGET_BINARY)
|
||||
|
||||
axel-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) -C $(AXEL_DIR) uninstall
|
||||
|
||||
@@ -46,7 +46,7 @@ $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
|
||||
bash_cv_getcwd_malloc=yes \
|
||||
bash_cv_func_sigsetjmp=present \
|
||||
bash_cv_printf_a_format=yes \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -92,9 +92,9 @@ endif
|
||||
# If both bash and busybox are selected, make certain bash wins
|
||||
# the fight over who gets to own the /bin/sh symlink.
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
|
||||
bash: ncurses uclibc busybox $(TARGET_DIR)/$(BASH_TARGET_BINARY)
|
||||
bash: ncurses busybox $(TARGET_DIR)/$(BASH_TARGET_BINARY)
|
||||
else
|
||||
bash: ncurses uclibc $(TARGET_DIR)/$(BASH_TARGET_BINARY)
|
||||
bash: ncurses $(TARGET_DIR)/$(BASH_TARGET_BINARY)
|
||||
endif
|
||||
|
||||
# If both bash and busybox are selected, the /bin/sh symlink
|
||||
|
||||
@@ -20,10 +20,11 @@ $(DB_DIR)/.dist: $(DL_DIR)/$(DB_SOURCE)
|
||||
touch $@
|
||||
|
||||
$(DB_DIR)/.configured: $(DB_DIR)/.dist
|
||||
$(CONFIG_UPDATE) $(DB_DIR)/dist
|
||||
(cd $(DB_DIR)/build_unix; rm -rf config.cache; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
../dist/configure \
|
||||
../dist/configure $(QUIET) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -89,7 +90,7 @@ berkeleydb-clean:
|
||||
berkeleydb-dirclean:
|
||||
rm -rf $(DB_DIR)
|
||||
|
||||
berkeleydb: uclibc $(TARGET_DIR)/lib/$(DB_SHARLIB)
|
||||
berkeleydb: $(TARGET_DIR)/lib/$(DB_SHARLIB)
|
||||
|
||||
#############################################################
|
||||
#
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
# bind
|
||||
#
|
||||
#############################################################
|
||||
BIND_VERSION = 9.5.1-P2
|
||||
BIND_VERSION = 9.5.1-P3
|
||||
BIND_SOURCE = bind-$(BIND_VERSION).tar.gz
|
||||
BIND_SITE = ftp://ftp.isc.org/isc/bind9/$(BIND_VERSION)
|
||||
BIND_LIBTOOL_PATCH = NO
|
||||
BIND_DEPENDENCIES = uclibc
|
||||
BIND_INSTALL_STAGING = NO
|
||||
BIND_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
|
||||
BIND_TARGET_SBINS = lwresd named named-checkconf named-checkzone
|
||||
|
||||
@@ -26,7 +26,7 @@ $(BISON_DIR)/.configured: $(BISON_DIR)/.unpacked
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
gt_cv_func_gnugettext2_libintl=yes \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -62,7 +62,7 @@ endif
|
||||
rm -rf $(TARGET_DIR)/usr/share/doc
|
||||
cp -a package/bison/yacc $(TARGET_DIR)/usr/bin/yacc
|
||||
|
||||
bison: uclibc $(TARGET_DIR)/$(BISON_TARGET_BINARY)
|
||||
bison: $(TARGET_DIR)/$(BISON_TARGET_BINARY)
|
||||
|
||||
bison-clean:
|
||||
-$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BISON_DIR) uninstall
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
config BR2_PACKAGE_BLACKBOX
|
||||
bool "blackbox"
|
||||
depends on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
help
|
||||
Blackbox is a fast, lightweight window manager for the X
|
||||
|
||||
@@ -14,6 +14,6 @@ BLACKBOX_INSTALL_TARGET:=YES
|
||||
BLACKBOX_CONF_OPT:=--x-includes=$(STAGING_DIR)/usr/include/X11 \
|
||||
--x-libraries=$(STAGING_DIR)/usr/lib
|
||||
|
||||
BLACKBOX_DEPENDENCIES:=uclibc $(XSERVER)
|
||||
BLACKBOX_DEPENDENCIES:=xserver_xorg-server
|
||||
|
||||
$(eval $(call AUTOTARGETS,package,blackbox))
|
||||
|
||||
5
package/bmon/Config.in
Normal file
5
package/bmon/Config.in
Normal file
@@ -0,0 +1,5 @@
|
||||
config BR2_PACKAGE_BMON
|
||||
bool "bmon"
|
||||
select BR2_PACKAGE_NCURSES
|
||||
help
|
||||
Linux bandwidth monitor
|
||||
36
package/bmon/bmon-gcc4.patch
Normal file
36
package/bmon/bmon-gcc4.patch
Normal file
@@ -0,0 +1,36 @@
|
||||
diff -ru bmon-2.1.0~/src/out_audio.c bmon-2.1.0/src/out_audio.c
|
||||
--- bmon-2.1.0~/src/out_audio.c 2008-07-26 20:06:24.000000000 +0200
|
||||
+++ bmon-2.1.0/src/out_audio.c 2008-07-26 20:09:42.000000000 +0200
|
||||
@@ -141,7 +141,7 @@
|
||||
.om_draw = audio_draw,
|
||||
.om_set_opts = audio_set_opts,
|
||||
.om_probe = audio_probe,
|
||||
- .om_shutdown audio_shutdown,
|
||||
+ .om_shutdown = audio_shutdown
|
||||
};
|
||||
|
||||
static void __init audio_init(void)
|
||||
diff -ru bmon-2.1.0~/src/out_db.c bmon-2.1.0/src/out_db.c
|
||||
--- bmon-2.1.0~/src/out_db.c 2008-07-26 20:06:24.000000000 +0200
|
||||
+++ bmon-2.1.0/src/out_db.c 2008-07-26 20:07:44.000000000 +0200
|
||||
@@ -679,7 +679,7 @@
|
||||
.om_draw = db_draw,
|
||||
.om_set_opts = db_set_opts,
|
||||
.om_probe = db_probe,
|
||||
- .om_shutdown db_shutdown,
|
||||
+ .om_shutdown = db_shutdown,
|
||||
};
|
||||
|
||||
static void __init db_init(void)
|
||||
diff -ru bmon-2.1.0~/src/out_xml_event.c bmon-2.1.0/src/out_xml_event.c
|
||||
--- bmon-2.1.0~/src/out_xml_event.c 2008-07-26 20:06:24.000000000 +0200
|
||||
+++ bmon-2.1.0/src/out_xml_event.c 2008-07-26 20:09:42.000000000 +0200
|
||||
@@ -127,7 +127,7 @@
|
||||
.om_draw = xml_event_draw,
|
||||
.om_set_opts = xml_event_set_opts,
|
||||
.om_probe = xml_event_probe,
|
||||
- .om_shutdown xml_event_shutdown,
|
||||
+ .om_shutdown = xml_event_shutdown
|
||||
};
|
||||
|
||||
static void __init xml_event_init(void)
|
||||
24
package/bmon/bmon-nolibnl.patch
Normal file
24
package/bmon/bmon-nolibnl.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
diff -Nura bmon/configure bmon.libnl/configure
|
||||
--- bmon/configure 2005-04-05 12:01:33.000000000 -0300
|
||||
+++ bmon.libnl/configure 2009-06-10 16:10:52.000000000 -0300
|
||||
@@ -7327,13 +7327,13 @@
|
||||
echo "${ECHO_T}$ac_cv_lib_nl_nl_connect" >&6
|
||||
if test $ac_cv_lib_nl_nl_connect = yes; then
|
||||
|
||||
-
|
||||
-cat >>confdefs.h <<_ACEOF
|
||||
-#define HAVE_NL "1"
|
||||
-_ACEOF
|
||||
-
|
||||
- LIBNL="-lnl"
|
||||
- NL="Yes"
|
||||
+ case ${target_os} in
|
||||
+ *linux*)
|
||||
+ echo
|
||||
+ echo "*** Warning: Building bmon on Linux w/o libnl ***"
|
||||
+ echo
|
||||
+ ;;
|
||||
+ esac
|
||||
|
||||
else
|
||||
|
||||
12
package/bmon/bmon-nostrip.patch
Normal file
12
package/bmon/bmon-nostrip.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -Nura bmon/GNUmakefile bmon.nostrip/GNUmakefile
|
||||
--- bmon/GNUmakefile 2005-04-05 12:01:33.000000000 -0300
|
||||
+++ bmon.nostrip/GNUmakefile 2009-06-10 16:12:04.000000000 -0300
|
||||
@@ -50,7 +50,7 @@
|
||||
install:
|
||||
./install-sh -d -m 0755 $(DESTDIR)$(prefix)/bin
|
||||
./install-sh -d -m 0755 $(DESTDIR)$(mandir)/man1
|
||||
- ./install-sh -c -s -m 0755 src/bmon $(DESTDIR)$(prefix)/bin
|
||||
+ ./install-sh -c -m 0755 src/bmon $(DESTDIR)$(prefix)/bin
|
||||
./install-sh -c -m 0644 man/bmon.1 $(DESTDIR)$(mandir)/man1
|
||||
|
||||
show: Makefile.opts
|
||||
18
package/bmon/bmon.mk
Normal file
18
package/bmon/bmon.mk
Normal file
@@ -0,0 +1,18 @@
|
||||
#############################################################
|
||||
#
|
||||
# bmon
|
||||
#
|
||||
#############################################################
|
||||
|
||||
BMON_VERSION = 2.1.0
|
||||
BMON_SOURCE = bmon-$(BMON_VERSION).tar.gz
|
||||
BMON_SITE = http://distfiles.gentoo.org/distfiles
|
||||
BMON_DEPENDENCIES = ncurses
|
||||
BMON_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
|
||||
|
||||
$(eval $(call AUTOTARGETS,package,bmon))
|
||||
|
||||
$(BMON_TARGET_UNINSTALL):
|
||||
$(call MESSAGE,"Uninstalling")
|
||||
rm -f $(TARGET_DIR)/usr/bin/bmon
|
||||
rm -f $(BMON_TARGET_INSTALL_TARGET) $(BMON_HOOK_POST_INSTALL)
|
||||
@@ -29,7 +29,7 @@ $(BOA_WORKDIR)/Makefile: $(BOA_DIR)/.unpacked
|
||||
(cd $(BOA_WORKDIR); rm -rf config.cache; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
$(BOA_DIR)/configure \
|
||||
$(BOA_DIR)/configure $(QUIET) \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
@@ -63,7 +63,7 @@ $(BOA_WORKDIR)/.installed: $(BOA_WORKDIR)/src/boa $(BOA_WORKDIR)/src/boa_indexer
|
||||
$(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/usr/sbin/boa $(TARGET_DIR)/usr/lib/boa/boa_indexer
|
||||
touch $(BOA_WORKDIR)/.installed
|
||||
|
||||
boa: uclibc $(BOA_WORKDIR)/.installed
|
||||
boa: $(BOA_WORKDIR)/.installed
|
||||
|
||||
boa-source: $(DL_DIR)/$(BOA_SOURCE)
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_BOOTUTILS
|
||||
bool "bootutils"
|
||||
depends on BR2_LARGEFILE
|
||||
help
|
||||
BootUtils is a collection of utilities to facilitate booting of
|
||||
Linux 2.6-based systems. The process of finding the root volume
|
||||
@@ -8,3 +9,5 @@ config BR2_PACKAGE_BOOTUTILS
|
||||
|
||||
http://bootutils.pr.linuxrulz.org/
|
||||
|
||||
comment "bootutils requires a toolchain with LARGEFILE support"
|
||||
depends on !BR2_LARGEFILE
|
||||
|
||||
@@ -12,7 +12,6 @@ BRIDGE_INSTALL_STAGING:=NO
|
||||
BRIDGE_INSTALL_TARGET:=YES
|
||||
BRIDGE_INSTALL_TARGET_OPT:=DESTDIR=$(TARGET_DIR) install
|
||||
BRIDGE_CONF_OPT:=--with-linux-headers=$(LINUX_HEADERS_DIR)
|
||||
BRIDGE_DEPENDENCIES:=uclibc
|
||||
|
||||
$(eval $(call AUTOTARGETS,package,bridge))
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ $(TARGET_DIR)/$(BSDIFF_TARGET_BINARY): $(BSDIFF_DIR)/$(BSDIFF_BINARY)
|
||||
cp -dpf $(BSDIFF_DIR)/bsdiff $(TARGET_DIR)/usr/bin/.
|
||||
cp -dpf $(BSDIFF_DIR)/bspatch $(TARGET_DIR)/usr/bin/.
|
||||
|
||||
bsdiff: uclibc bzip2 $(TARGET_DIR)/$(BSDIFF_TARGET_BINARY)
|
||||
bsdiff: bzip2 $(TARGET_DIR)/$(BSDIFF_TARGET_BINARY)
|
||||
|
||||
bsdiff-source: $(DL_DIR)/$(BSDIFF_SOURCE)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ config BR2_PACKAGE_BUSYBOX
|
||||
choice
|
||||
prompt "BusyBox Version"
|
||||
depends on BR2_PACKAGE_BUSYBOX
|
||||
default BR2_BUSYBOX_VERSION_1_14_X
|
||||
default BR2_BUSYBOX_VERSION_1_15_X
|
||||
help
|
||||
Select the version of BusyBox you wish to use.
|
||||
|
||||
@@ -22,10 +22,14 @@ choice
|
||||
|
||||
config BR2_BUSYBOX_VERSION_1_13_X
|
||||
bool "BusyBox 1.13.x"
|
||||
depends on BR2_DEPRECATED || BR2_RECENT
|
||||
depends on BR2_RECENT
|
||||
|
||||
config BR2_BUSYBOX_VERSION_1_14_X
|
||||
bool "BusyBox 1.14.x"
|
||||
depends on BR2_DEPRECATED || BR2_RECENT
|
||||
|
||||
config BR2_BUSYBOX_VERSION_1_15_X
|
||||
bool "BusyBox 1.15.x"
|
||||
|
||||
config BR2_PACKAGE_BUSYBOX_SNAPSHOT
|
||||
bool "daily snapshot"
|
||||
@@ -36,7 +40,8 @@ config BR2_BUSYBOX_VERSION
|
||||
string
|
||||
default "1.12.4" if BR2_BUSYBOX_VERSION_1_12_X
|
||||
default "1.13.4" if BR2_BUSYBOX_VERSION_1_13_X
|
||||
default "1.14.1" if BR2_BUSYBOX_VERSION_1_14_X
|
||||
default "1.14.4" if BR2_BUSYBOX_VERSION_1_14_X
|
||||
default "1.15.2" if BR2_BUSYBOX_VERSION_1_15_X
|
||||
|
||||
config BR2_PACKAGE_BUSYBOX_FULLINSTALL
|
||||
bool "Run BusyBox's own full installation"
|
||||
@@ -54,22 +59,22 @@ config BR2_PACKAGE_BUSYBOX_FULLINSTALL
|
||||
config BR2_PACKAGE_BUSYBOX_CONFIG
|
||||
string "BusyBox configuration file to use?"
|
||||
depends on BR2_PACKAGE_BUSYBOX
|
||||
default "target/device/x86/i386/busybox.config" if BR2_PACKAGE_BUSYBOX_SNAPSHOT
|
||||
default "package/busybox/busybox-1.13.x.config" if BR2_PACKAGE_BUSYBOX_SNAPSHOT
|
||||
default "package/busybox/busybox-1.11.x.config" if BR2_BUSYBOX_VERSION_1_12_X
|
||||
default "package/busybox/busybox-1.13.x.config" if BR2_BUSYBOX_VERSION_1_13_X
|
||||
default "package/busybox/busybox-1.13.x.config" if BR2_BUSYBOX_VERSION_1_14_X
|
||||
default "package/busybox/busybox-1.13.x.config" if BR2_BUSYBOX_VERSION_1_15_X
|
||||
help
|
||||
Some people may wish to use their own modified BusyBox configuration
|
||||
file, and will specify their config file location with this option.
|
||||
|
||||
Most people will just use the default BusyBox configuration file.
|
||||
|
||||
config BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
|
||||
bool "Hide applications that are provided by busybox"
|
||||
depends on BR2_PACKAGE_BUSYBOX
|
||||
default y
|
||||
config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
||||
bool "Show packages that are also provided by busybox" if BR2_PACKAGE_BUSYBOX
|
||||
default y if !BR2_PACKAGE_BUSYBOX
|
||||
help
|
||||
Do not show packages in menuconfig that are potentially provided
|
||||
Show packages in menuconfig that are potentially also provided
|
||||
by busybox.
|
||||
|
||||
config BR2_PACKAGE_BUSYBOX_SKELETON
|
||||
|
||||
@@ -562,7 +562,7 @@ CONFIG_DC=y
|
||||
# CONFIG_DEVFSD_FG_NP is not set
|
||||
# CONFIG_DEVFSD_VERBOSE is not set
|
||||
# CONFIG_FEATURE_DEVFS is not set
|
||||
# CONFIG_DEVMEM is not set
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_EJECT=y
|
||||
# CONFIG_FEATURE_EJECT_SCSI is not set
|
||||
# CONFIG_FBSPLASH is not set
|
||||
|
||||
104
package/busybox/busybox-1.15.2-flash-eraseall.patch
Normal file
104
package/busybox/busybox-1.15.2-flash-eraseall.patch
Normal file
@@ -0,0 +1,104 @@
|
||||
From 86cfb70ca5f2bde11f2d071bc59db75291d8552f Mon Sep 17 00:00:00 2001
|
||||
From: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
Date: Fri, 27 Nov 2009 13:26:17 +0100
|
||||
Subject: [PATCH] flash_eraseall: stop using obsolete mtd/jffs2-user.h; code shrink
|
||||
|
||||
function old new delta
|
||||
show_progress 68 67 -1
|
||||
flash_eraseall_main 1007 882 -125
|
||||
------------------------------------------------------------------------------
|
||||
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-126) Total: -126 bytes
|
||||
|
||||
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
---
|
||||
miscutils/flash_eraseall.c | 47 ++++++++++++++++++++++++++++---------------
|
||||
1 files changed, 30 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/miscutils/flash_eraseall.c b/miscutils/flash_eraseall.c
|
||||
index ba0a6b5..ca00a13 100644
|
||||
--- a/miscutils/flash_eraseall.c
|
||||
+++ b/miscutils/flash_eraseall.c
|
||||
@@ -12,22 +12,35 @@
|
||||
|
||||
#include "libbb.h"
|
||||
#include <mtd/mtd-user.h>
|
||||
-#include <mtd/jffs2-user.h>
|
||||
+#include <linux/jffs2.h>
|
||||
|
||||
#define OPTION_J (1 << 0)
|
||||
#define OPTION_Q (1 << 1)
|
||||
#define IS_NAND (1 << 2)
|
||||
#define BBTEST (1 << 3)
|
||||
|
||||
-struct globals {
|
||||
- /* This is used in the cpu_to_je/je_to_cpu macros in jffs2_user.h */
|
||||
- int tgt_endian;
|
||||
-};
|
||||
-#define G (*(struct globals*)&bb_common_bufsiz1)
|
||||
-#define target_endian (G.tgt_endian)
|
||||
-#define INIT_G() do { \
|
||||
- target_endian = __BYTE_ORDER; \
|
||||
-} while (0)
|
||||
+/* mtd/jffs2-user.h used to have this atrocity:
|
||||
+extern int target_endian;
|
||||
+
|
||||
+#define t16(x) ({ __u16 __b = (x); (target_endian==__BYTE_ORDER)?__b:bswap_16(__b); })
|
||||
+#define t32(x) ({ __u32 __b = (x); (target_endian==__BYTE_ORDER)?__b:bswap_32(__b); })
|
||||
+
|
||||
+#define cpu_to_je16(x) ((jint16_t){t16(x)})
|
||||
+#define cpu_to_je32(x) ((jint32_t){t32(x)})
|
||||
+#define cpu_to_jemode(x) ((jmode_t){t32(x)})
|
||||
+
|
||||
+#define je16_to_cpu(x) (t16((x).v16))
|
||||
+#define je32_to_cpu(x) (t32((x).v32))
|
||||
+#define jemode_to_cpu(x) (t32((x).m))
|
||||
+
|
||||
+but mtd/jffs2-user.h is gone now (at least 2.6.31.6 does not have it anymore)
|
||||
+*/
|
||||
+
|
||||
+/* We always use native endianness */
|
||||
+#undef cpu_to_je16
|
||||
+#undef cpu_to_je32
|
||||
+#define cpu_to_je16(v) ((jint16_t){(v)})
|
||||
+#define cpu_to_je32(v) ((jint32_t){(v)})
|
||||
|
||||
static uint32_t crc32(uint32_t val, const void *ss, int len,
|
||||
uint32_t *crc32_table)
|
||||
@@ -40,9 +53,11 @@ static uint32_t crc32(uint32_t val, const void *ss, int len,
|
||||
|
||||
static void show_progress(mtd_info_t *meminfo, erase_info_t *erase)
|
||||
{
|
||||
- printf("\rErasing %d Kibyte @ %x -- %2llu %% complete.",
|
||||
- (unsigned)meminfo->erasesize / 1024, erase->start,
|
||||
- (unsigned long long) erase->start * 100 / meminfo->size);
|
||||
+ printf("\rErasing %u Kibyte @ %x - %2u%% complete.",
|
||||
+ (unsigned)meminfo->erasesize / 1024,
|
||||
+ erase->start,
|
||||
+ (unsigned) ((unsigned long long) erase->start * 100 / meminfo->size)
|
||||
+ );
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
@@ -57,17 +72,15 @@ int flash_eraseall_main(int argc UNUSED_PARAM, char **argv)
|
||||
unsigned int flags;
|
||||
char *mtd_name;
|
||||
|
||||
- INIT_G();
|
||||
opt_complementary = "=1";
|
||||
flags = BBTEST | getopt32(argv, "jq");
|
||||
|
||||
mtd_name = argv[optind];
|
||||
- xstat(mtd_name, &st);
|
||||
+ fd = xopen(mtd_name, O_RDWR);
|
||||
+ fstat(fd, &st);
|
||||
if (!S_ISCHR(st.st_mode))
|
||||
bb_error_msg_and_die("%s: not a char device", mtd_name);
|
||||
|
||||
- fd = xopen(mtd_name, O_RDWR);
|
||||
-
|
||||
xioctl(fd, MEMGETINFO, &meminfo);
|
||||
erase.length = meminfo.erasesize;
|
||||
if (meminfo.type == MTD_NANDFLASH)
|
||||
--
|
||||
1.6.5
|
||||
|
||||
@@ -7,29 +7,28 @@
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX_SNAPSHOT),y)
|
||||
# Be aware that this changes daily....
|
||||
BUSYBOX_DIR:=$(PROJECT_BUILD_DIR)/busybox
|
||||
BUSYBOX_DIR:=$(BUILD_DIR)/busybox
|
||||
BUSYBOX_SOURCE:=busybox-snapshot.tar.bz2
|
||||
BUSYBOX_SITE:=http://www.busybox.net/downloads/snapshots
|
||||
else
|
||||
BUSYBOX_VERSION=$(strip $(subst ",, $(BR2_BUSYBOX_VERSION)))
|
||||
#"))
|
||||
BUSYBOX_DIR:=$(PROJECT_BUILD_DIR)/busybox-$(BUSYBOX_VERSION)
|
||||
BUSYBOX_VERSION=$(call qstrip,$(BR2_BUSYBOX_VERSION))
|
||||
BUSYBOX_DIR:=$(BUILD_DIR)/busybox-$(BUSYBOX_VERSION)
|
||||
BUSYBOX_SOURCE:=busybox-$(BUSYBOX_VERSION).tar.bz2
|
||||
BUSYBOX_SITE:=http://www.busybox.net/downloads
|
||||
endif
|
||||
|
||||
BUSYBOX_UNZIP=$(BZCAT)
|
||||
BUSYBOX_CFLAGS=$(TARGET_CFLAGS) -I$(LINUX_HEADERS_DIR)/include
|
||||
|
||||
ifndef BUSYBOX_CONFIG_FILE
|
||||
BUSYBOX_CONFIG_FILE=$(subst ",, $(strip $(BR2_PACKAGE_BUSYBOX_CONFIG)))
|
||||
#")
|
||||
BUSYBOX_CONFIG_FILE=$(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG))
|
||||
endif
|
||||
|
||||
$(DL_DIR)/$(BUSYBOX_SOURCE):
|
||||
$(call DOWNLOAD,$(BUSYBOX_SITE),$(BUSYBOX_SOURCE))
|
||||
|
||||
$(BUSYBOX_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE)
|
||||
$(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) -
|
||||
$(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
|
||||
ifeq ($(BR2_PACKAGE_SYSKLOGD),y)
|
||||
# if we have external syslogd, force busybox to use it
|
||||
$(SED) "/#include.*busybox\.h/a#define CONFIG_SYSLOGD" $(BUSYBOX_DIR)/init/init.c
|
||||
@@ -69,8 +68,15 @@ else
|
||||
endif
|
||||
ifeq ($(BR2_INET_IPV6),y)
|
||||
$(SED) "s/^.*CONFIG_FEATURE_IPV6.*/CONFIG_FEATURE_IPV6=y/;" $(BUSYBOX_DIR)/.config
|
||||
$(SED) "s/^.*CONFIG_FEATURE_IFUPDOWN_IPV6.*/CONFIG_FEATURE_IFUPDOWN_IPV6=y/;" $(BUSYBOX_DIR)/.config
|
||||
else
|
||||
$(SED) "s/^.*CONFIG_FEATURE_IPV6.*/CONFIG_FEATURE_IPV6=n/;" $(BUSYBOX_DIR)/.config
|
||||
$(SED) "s/^.*CONFIG_FEATURE_IFUPDOWN_IPV6.*/CONFIG_FEATURE_IFUPDOWN_IPV6=n/;" $(BUSYBOX_DIR)/.config
|
||||
endif
|
||||
ifeq ($(BR2_INET_RPC),y)
|
||||
$(SED) "s/^.*CONFIG_FEATURE_MOUNT_NFS.*/CONFIG_FEATURE_MOUNT_NFS=y/;" $(BUSYBOX_DIR)/.config
|
||||
else
|
||||
$(SED) "s/^.*CONFIG_FEATURE_MOUNT_NFS.*/CONFIG_FEATURE_MOUNT_NFS=n/;" $(BUSYBOX_DIR)/.config
|
||||
endif
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX_SKELETON),y)
|
||||
# force mdev on
|
||||
@@ -95,13 +101,13 @@ $(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.config
|
||||
$(MAKE) CC=$(TARGET_CC) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
||||
ARCH=$(KERNEL_ARCH) \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR)
|
||||
EXTRA_CFLAGS="$(BUSYBOX_CFLAGS)" -C $(BUSYBOX_DIR)
|
||||
ifeq ($(BR2_PREFER_IMA)$(BR2_PACKAGE_BUSYBOX_SNAPSHOT),yy)
|
||||
rm -f $@
|
||||
$(MAKE) CC=$(TARGET_CC) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
||||
ARCH=$(KERNEL_ARCH) STRIP="$(STRIPCMD)" \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR) \
|
||||
EXTRA_CFLAGS="$(BUSYBOX_CFLAGS)" -C $(BUSYBOX_DIR) \
|
||||
-f scripts/Makefile.IMA
|
||||
endif
|
||||
|
||||
@@ -110,22 +116,22 @@ ifeq ($(BR2_PACKAGE_BUSYBOX_FULLINSTALL),y)
|
||||
$(MAKE) CC=$(TARGET_CC) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \
|
||||
ARCH=$(KERNEL_ARCH) \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" -C $(BUSYBOX_DIR) install
|
||||
EXTRA_CFLAGS="$(BUSYBOX_CFLAGS)" -C $(BUSYBOX_DIR) install
|
||||
else
|
||||
install -D -m 0755 $(BUSYBOX_DIR)/busybox $(TARGET_DIR)/bin/busybox
|
||||
endif
|
||||
# Just in case
|
||||
-chmod a+x $(TARGET_DIR)/usr/share/udhcpc/default.script
|
||||
|
||||
busybox: uclibc $(TARGET_DIR)/bin/busybox
|
||||
busybox: $(TARGET_DIR)/bin/busybox
|
||||
|
||||
busybox-source: $(DL_DIR)/$(BUSYBOX_SOURCE)
|
||||
|
||||
busybox-unpacked: host-sed $(PROJECT_BUILD_DIR) $(BUSYBOX_DIR)/.unpacked
|
||||
busybox-unpacked: host-sed $(BUILD_DIR) $(BUSYBOX_DIR)/.unpacked
|
||||
|
||||
busybox-config: host-sed $(PROJECT_BUILD_DIR) $(BUSYBOX_DIR)/.config
|
||||
busybox-config: host-sed $(BUILD_DIR) $(BUSYBOX_DIR)/.config
|
||||
|
||||
busybox-menuconfig: host-sed $(PROJECT_BUILD_DIR) busybox-source $(BUSYBOX_DIR)/.config
|
||||
busybox-menuconfig: host-sed $(BUILD_DIR) busybox-source $(BUSYBOX_DIR)/.config
|
||||
$(MAKE) __TARGET_ARCH=$(ARCH) -C $(BUSYBOX_DIR) menuconfig
|
||||
|
||||
busybox-update:
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y)
|
||||
|
||||
BUSYBOX_INITRAMFS_DIR:=$(BUSYBOX_DIR)-initramfs
|
||||
BR2_INITRAMFS_DIR:=$(PROJECT_BUILD_DIR)/initramfs
|
||||
BR2_INITRAMFS_DIR:=$(BUILD_DIR)/initramfs
|
||||
BB_INITRAMFS_TARGET:=$(IMAGE).initramfs_lst
|
||||
|
||||
$(BUSYBOX_INITRAMFS_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE)
|
||||
@@ -105,39 +105,39 @@ $(BR2_INITRAMFS_DIR)/bin/busybox: $(BUSYBOX_INITRAMFS_DIR)/busybox
|
||||
|
||||
|
||||
$(BB_INITRAMFS_TARGET): host-fakeroot $(BR2_INITRAMFS_DIR)/bin/busybox
|
||||
ln -fs bin/busybox $(PROJECT_BUILD_DIR)/initramfs/init
|
||||
mkdir -p $(PROJECT_BUILD_DIR)/initramfs/etc
|
||||
ln -fs bin/busybox $(BUILD_DIR)/initramfs/init
|
||||
mkdir -p $(BUILD_DIR)/initramfs/etc
|
||||
cat target/generic/target_busybox_skeleton/etc/inittab > \
|
||||
$(PROJECT_BUILD_DIR)/initramfs/etc/inittab
|
||||
rm -f $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
(echo "chown -R 0:0 $(PROJECT_BUILD_DIR)/initramfs"; \
|
||||
echo "$(HOST_DIR)/usr/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(PROJECT_BUILD_DIR)/initramfs"; \
|
||||
echo "$(SHELL) target/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(PROJECT_BUILD_DIR)/initramfs > $(BB_INITRAMFS_TARGET)"; \
|
||||
) > $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
chmod +x $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
$(BUILD_DIR)/initramfs/etc/inittab
|
||||
rm -f $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
(echo "chown -R 0:0 $(BUILD_DIR)/initramfs"; \
|
||||
echo "$(HOST_DIR)/usr/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(BUILD_DIR)/initramfs"; \
|
||||
echo "$(SHELL) target/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(BUILD_DIR)/initramfs > $(BB_INITRAMFS_TARGET)"; \
|
||||
) > $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
chmod +x $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
$(HOST_DIR)/usr/bin/fakeroot -- \
|
||||
$(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
rm -f $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
$(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
rm -f $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET))
|
||||
touch -c $@
|
||||
|
||||
$(PROJECT_BUILD_DIR)/.initramfs_done: $(BR2_INITRAMFS_DIR)/bin/busybox \
|
||||
$(BUILD_DIR)/.initramfs_done: $(BR2_INITRAMFS_DIR)/bin/busybox \
|
||||
$(BB_INITRAMFS_TARGET)
|
||||
touch $@
|
||||
|
||||
busybox-initramfs-source:
|
||||
busybox-initramfs: uclibc $(PROJECT_BUILD_DIR)/.initramfs_done
|
||||
busybox-initramfs: $(BUILD_DIR)/.initramfs_done
|
||||
|
||||
busybox-initramfs-menuconfig: host-sed $(BUILD_DIR) busybox-source $(BUSYBOX_INITRAMFS_DIR)/.configured
|
||||
$(MAKE) __TARGET_ARCH=$(ARCH) -C $(BUSYBOX_INITRAMFS_DIR) menuconfig
|
||||
|
||||
busybox-initramfs-clean:
|
||||
rm -f $(BUSYBOX_INITRAMFS_DIR)/busybox $(PROJECT_BUILD_DIR)/.initramfs_*
|
||||
rm -f $(BUSYBOX_INITRAMFS_DIR)/busybox $(BUILD_DIR)/.initramfs_*
|
||||
rm -rf $(BR2_INITRAMFS_DIR) $(BB_INITRAMFS_TARGET)
|
||||
-$(MAKE) -C $(BUSYBOX_INITRAMFS_DIR) clean
|
||||
|
||||
busybox-initramfs-dirclean:
|
||||
rm -rf $(BUSYBOX_INITRAMFS_DIR) $(BR2_INITRAMFS_DIR) \
|
||||
$(PROJECT_BUILD_DIR)/.initramfs_*
|
||||
$(BUILD_DIR)/.initramfs_*
|
||||
endif
|
||||
#############################################################
|
||||
#
|
||||
|
||||
@@ -96,7 +96,7 @@ $(TARGET_DIR)/usr/lib/libbz2.a: $(STAGING_DIR)/usr/lib/libbz2.a
|
||||
|
||||
bzip2-headers: $(TARGET_DIR)/usr/lib/libbz2.a
|
||||
|
||||
bzip2: uclibc $(BZIP2_TARGET_BINARY)
|
||||
bzip2: $(BZIP2_TARGET_BINARY)
|
||||
|
||||
bzip2-clean:
|
||||
rm -f $(addprefix $(TARGET_DIR),/lib/libbz2.* \
|
||||
|
||||
@@ -39,7 +39,7 @@ CAIRO_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \
|
||||
ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \
|
||||
ac_use_included_regex=no gl_cv_c_restrict=no
|
||||
|
||||
CAIRO_DEPENDENCIES = uclibc host-pkgconfig fontconfig pixman
|
||||
CAIRO_DEPENDENCIES = host-pkgconfig fontconfig pixman
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DIRECTFB),y)
|
||||
CAIRO_CONF_OPT += --enable-directfb
|
||||
@@ -48,9 +48,9 @@ else
|
||||
CAIRO_CONF_OPT += --disable-directfb
|
||||
endif
|
||||
|
||||
ifneq ($(BR2_PACKAGE_XSERVER_none),y)
|
||||
ifeq ($(BR2_PACKAGE_XORG7),y)
|
||||
CAIRO_CONF_OPT += --enable-xlib --with-x
|
||||
CAIRO_DEPENDENCIES += $(XSERVER)
|
||||
CAIRO_DEPENDENCIES += xserver_xorg-server
|
||||
else
|
||||
CAIRO_CONF_OPT += --disable-xlib --without-x
|
||||
endif
|
||||
@@ -101,7 +101,7 @@ $(STAMP_DIR)/host_cairo_configured: $(STAMP_DIR)/host_cairo_unpacked $(STAMP_DIR
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
./configure \
|
||||
./configure $(QUIET) \
|
||||
--prefix="$(HOST_DIR)/usr" \
|
||||
--sysconfdir="$(HOST_DIR)/etc" \
|
||||
--enable-ps \
|
||||
|
||||
4
package/config/.gitignore
vendored
4
package/config/.gitignore
vendored
@@ -1,6 +1,10 @@
|
||||
/buildroot-config
|
||||
/conf
|
||||
/mconf
|
||||
/qconf
|
||||
/qconf.moc
|
||||
/.tmp_qtcheck
|
||||
/lkc_defs.h
|
||||
/lex.zconf.c
|
||||
/zconf.hash.c
|
||||
/zconf.tab.c
|
||||
|
||||
@@ -14,7 +14,10 @@ __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
|
||||
host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
|
||||
host-cmulti := $(foreach m,$(__hostprogs),\
|
||||
$(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
|
||||
host-cxxmulti := $(foreach m,$(__hostprogs),\
|
||||
$(if $($(m)-cxxobjs),$(m),$(if $($(m)-objs),)))
|
||||
host-cobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-objs)))
|
||||
host-cxxobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs)))
|
||||
|
||||
$(host-csingle): %: %.c
|
||||
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< $(HOST_LOADLIBES) -o $@
|
||||
@@ -22,9 +25,15 @@ $(host-csingle): %: %.c
|
||||
$(host-cmulti): %: $(host-cobjs) $(host-cshlib)
|
||||
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $(HOST_LOADLIBES) -o $@
|
||||
|
||||
$(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib)
|
||||
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $($@-cxxobjs) $(HOSTLOADLIBES_$@) -o $@
|
||||
|
||||
$(host-cobjs): %.o: %.c
|
||||
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@
|
||||
|
||||
$(host-cxxobjs): %.o: %.cc
|
||||
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) -c $< -o $@
|
||||
|
||||
$(obj)/%:: $(src)/%_shipped
|
||||
$(Q)cat $< > $@
|
||||
|
||||
|
||||
@@ -4,7 +4,11 @@
|
||||
|
||||
PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
|
||||
|
||||
ifdef KBUILD_KCONFIG
|
||||
Kconfig := $(KBUILD_KCONFIG)
|
||||
else
|
||||
Kconfig := arch/$(SRCARCH)/Kconfig
|
||||
endif
|
||||
|
||||
xconfig: $(obj)/qconf
|
||||
$< $(Kconfig)
|
||||
@@ -24,22 +28,25 @@ oldconfig: $(obj)/conf
|
||||
silentoldconfig: $(obj)/conf
|
||||
$< -s $(Kconfig)
|
||||
|
||||
# Create new linux.po file
|
||||
# Create new linux.pot file
|
||||
# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
|
||||
# The symlink is used to repair a deficiency in arch/um
|
||||
update-po-config: $(obj)/kxgettext
|
||||
xgettext --default-domain=linux \
|
||||
update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
|
||||
$(Q)echo " GEN config"
|
||||
$(Q)xgettext --default-domain=linux \
|
||||
--add-comments --keyword=_ --keyword=N_ \
|
||||
--from-code=UTF-8 \
|
||||
--files-from=scripts/kconfig/POTFILES.in \
|
||||
--output $(obj)/config.pot
|
||||
$(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
|
||||
$(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch
|
||||
(for i in `ls arch/`; \
|
||||
do \
|
||||
$(obj)/kxgettext arch/$$i/Kconfig; \
|
||||
done ) >> $(obj)/config.pot
|
||||
msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
|
||||
$(Q)(for i in `ls arch/*/Kconfig`; \
|
||||
do \
|
||||
echo " GEN $$i"; \
|
||||
$(obj)/kxgettext $$i \
|
||||
>> $(obj)/config.pot; \
|
||||
done )
|
||||
$(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
|
||||
--output $(obj)/linux.pot
|
||||
$(Q)rm -f arch/um/Kconfig.arch
|
||||
$(Q)rm -f $(obj)/config.pot
|
||||
@@ -76,7 +83,7 @@ help:
|
||||
@echo ' xconfig - Update current config utilising a QT based front-end'
|
||||
@echo ' gconfig - Update current config utilising a GTK based front-end'
|
||||
@echo ' oldconfig - Update current config utilising a provided .config as base'
|
||||
@echo ' silentoldconfig - Same as oldconfig, but quietly'
|
||||
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
|
||||
@echo ' randconfig - New config with random answer to all options'
|
||||
@echo ' defconfig - New config with default answer to all options'
|
||||
@echo ' allmodconfig - New config selecting modules when possible'
|
||||
@@ -93,17 +100,11 @@ HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
|
||||
|
||||
HOST_EXTRACFLAGS += -DLOCALE
|
||||
|
||||
PHONY += $(obj)/dochecklxdialog
|
||||
$(obj)/dochecklxdialog:
|
||||
$(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_LOADLIBES)
|
||||
|
||||
always := dochecklxdialog
|
||||
|
||||
|
||||
# ===========================================================================
|
||||
# Shared Makefile for the various kconfig executables:
|
||||
# conf: Used for defconfig, oldconfig and related targets
|
||||
# mconf: Used for the mconfig target.
|
||||
# mconf: Used for the menuconfig target
|
||||
# Utilizes the lxdialog package
|
||||
# qconf: Used for the xconfig target
|
||||
# Based on QT which needs to be installed to compile it
|
||||
@@ -124,12 +125,16 @@ ifeq ($(MAKECMDGOALS),menuconfig)
|
||||
hostprogs-y += mconf
|
||||
endif
|
||||
ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf)
|
||||
hostprogs-y += mconf
|
||||
hostprogs-y += mconf
|
||||
endif
|
||||
|
||||
ifeq ($(MAKECMDGOALS),xconfig)
|
||||
qconf-target := 1
|
||||
endif
|
||||
ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf)
|
||||
qconf-target := 1
|
||||
endif
|
||||
|
||||
ifeq ($(MAKECMDGOALS),gconfig)
|
||||
gconf-target := 1
|
||||
endif
|
||||
@@ -145,8 +150,17 @@ gconf-objs := gconf.o kconfig_load.o zconf.tab.o
|
||||
endif
|
||||
|
||||
clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
|
||||
.tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c
|
||||
.tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h
|
||||
clean-files += mconf qconf gconf
|
||||
clean-files += config.pot linux.pot
|
||||
|
||||
# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
|
||||
PHONY += $(obj)/dochecklxdialog
|
||||
$(addprefix $(obj)/,$(lxdialog)): $(obj)/dochecklxdialog
|
||||
$(obj)/dochecklxdialog:
|
||||
$(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES)
|
||||
|
||||
always := dochecklxdialog
|
||||
|
||||
# Add environment specific flags
|
||||
HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
|
||||
@@ -184,8 +198,8 @@ $(obj)/.tmp_qtcheck:
|
||||
done; \
|
||||
if [ -z "$$dir" ]; then \
|
||||
echo "*"; \
|
||||
echo "* Unable to find the QT installation. Please make sure that"; \
|
||||
echo "* the QT development package is correctly installed and"; \
|
||||
echo "* Unable to find the QT3 installation. Please make sure that"; \
|
||||
echo "* the QT3 development package is correctly installed and"; \
|
||||
echo "* either install pkg-config or set the QTDIR environment"; \
|
||||
echo "* variable to the correct location."; \
|
||||
echo "*"; \
|
||||
@@ -251,6 +265,9 @@ $(obj)/%.moc: $(src)/%.h
|
||||
$(obj)/lkc_defs.h: $(src)/lkc_proto.h
|
||||
sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
|
||||
|
||||
# Extract gconf menu items for I18N support
|
||||
$(obj)/gconf.glade.h: $(obj)/gconf.glade
|
||||
intltool-extract --type=gettext/glade $(obj)/gconf.glade
|
||||
|
||||
###
|
||||
# The following requires flex/bison/gperf
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
scripts/kconfig/lxdialog/checklist.c
|
||||
scripts/kconfig/lxdialog/inputbox.c
|
||||
scripts/kconfig/lxdialog/menubox.c
|
||||
scripts/kconfig/lxdialog/textbox.c
|
||||
scripts/kconfig/lxdialog/util.c
|
||||
scripts/kconfig/lxdialog/yesno.c
|
||||
scripts/kconfig/mconf.c
|
||||
scripts/kconfig/conf.c
|
||||
scripts/kconfig/confdata.c
|
||||
scripts/kconfig/gconf.c
|
||||
scripts/kconfig/gconf.glade.h
|
||||
scripts/kconfig/qconf.cc
|
||||
|
||||
@@ -3,13 +3,15 @@
|
||||
* Released under the terms of the GNU GPL v2.0.
|
||||
*/
|
||||
|
||||
#include <locale.h>
|
||||
#include <ctype.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#define LKC_DIRECT_LINK
|
||||
#include "lkc.h"
|
||||
@@ -31,6 +33,7 @@ char *defconfig_file;
|
||||
|
||||
static int indent = 1;
|
||||
static int valid_stdin = 1;
|
||||
static int sync_kconfig;
|
||||
static int conf_cnt;
|
||||
static char line[128];
|
||||
static struct menu *rootEntry;
|
||||
@@ -40,7 +43,7 @@ static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n"
|
||||
static const char *get_help(struct menu *menu)
|
||||
{
|
||||
if (menu_has_help(menu))
|
||||
return menu_get_help(menu);
|
||||
return _(menu_get_help(menu));
|
||||
else
|
||||
return nohelp_text;
|
||||
}
|
||||
@@ -64,7 +67,7 @@ static void strip(char *str)
|
||||
|
||||
static void check_stdin(void)
|
||||
{
|
||||
if (!valid_stdin && input_mode == ask_silent) {
|
||||
if (!valid_stdin) {
|
||||
printf(_("aborted!\n\n"));
|
||||
printf(_("Console input/output is redirected. "));
|
||||
printf(_("Run 'make oldconfig' to update configuration.\n\n"));
|
||||
@@ -75,10 +78,9 @@ static void check_stdin(void)
|
||||
static int conf_askvalue(struct symbol *sym, const char *def)
|
||||
{
|
||||
enum symbol_type type = sym_get_type(sym);
|
||||
tristate val;
|
||||
|
||||
if (!sym_has_value(sym))
|
||||
printf("(NEW) ");
|
||||
printf(_("(NEW) "));
|
||||
|
||||
line[0] = '\n';
|
||||
line[1] = 0;
|
||||
@@ -91,15 +93,6 @@ static int conf_askvalue(struct symbol *sym, const char *def)
|
||||
}
|
||||
|
||||
switch (input_mode) {
|
||||
case set_no:
|
||||
case set_mod:
|
||||
case set_yes:
|
||||
case set_random:
|
||||
if (sym_has_value(sym)) {
|
||||
printf("%s\n", def);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ask_new:
|
||||
case ask_silent:
|
||||
if (sym_has_value(sym)) {
|
||||
@@ -111,9 +104,6 @@ static int conf_askvalue(struct symbol *sym, const char *def)
|
||||
fflush(stdout);
|
||||
fgets(line, 128, stdin);
|
||||
return 1;
|
||||
case set_default:
|
||||
printf("%s\n", def);
|
||||
return 1;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -127,52 +117,6 @@ static int conf_askvalue(struct symbol *sym, const char *def)
|
||||
default:
|
||||
;
|
||||
}
|
||||
switch (input_mode) {
|
||||
case set_yes:
|
||||
if (sym_tristate_within_range(sym, yes)) {
|
||||
line[0] = 'y';
|
||||
line[1] = '\n';
|
||||
line[2] = 0;
|
||||
break;
|
||||
}
|
||||
case set_mod:
|
||||
if (type == S_TRISTATE) {
|
||||
if (sym_tristate_within_range(sym, mod)) {
|
||||
line[0] = 'm';
|
||||
line[1] = '\n';
|
||||
line[2] = 0;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (sym_tristate_within_range(sym, yes)) {
|
||||
line[0] = 'y';
|
||||
line[1] = '\n';
|
||||
line[2] = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
case set_no:
|
||||
if (sym_tristate_within_range(sym, no)) {
|
||||
line[0] = 'n';
|
||||
line[1] = '\n';
|
||||
line[2] = 0;
|
||||
break;
|
||||
}
|
||||
case set_random:
|
||||
do {
|
||||
val = (tristate)(random() % 3);
|
||||
} while (!sym_tristate_within_range(sym, val));
|
||||
switch (val) {
|
||||
case no: line[0] = 'n'; break;
|
||||
case mod: line[0] = 'm'; break;
|
||||
case yes: line[0] = 'y'; break;
|
||||
}
|
||||
line[1] = '\n';
|
||||
line[2] = 0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
printf("%s", line);
|
||||
return 1;
|
||||
}
|
||||
@@ -183,7 +127,7 @@ int conf_string(struct menu *menu)
|
||||
const char *def;
|
||||
|
||||
while (1) {
|
||||
printf("%*s%s ", indent - 1, "", menu->prompt->text);
|
||||
printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
|
||||
printf("(%s) ", sym->name);
|
||||
def = sym_get_string_value(sym);
|
||||
if (sym_get_string_value(sym))
|
||||
@@ -216,7 +160,7 @@ static int conf_sym(struct menu *menu)
|
||||
tristate oldval, newval;
|
||||
|
||||
while (1) {
|
||||
printf("%*s%s ", indent - 1, "", menu->prompt->text);
|
||||
printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
|
||||
if (sym->name)
|
||||
printf("(%s) ", sym->name);
|
||||
type = sym_get_type(sym);
|
||||
@@ -306,7 +250,7 @@ static int conf_choice(struct menu *menu)
|
||||
case no:
|
||||
return 1;
|
||||
case mod:
|
||||
printf("%*s%s\n", indent - 1, "", menu_get_prompt(menu));
|
||||
printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu)));
|
||||
return 0;
|
||||
case yes:
|
||||
break;
|
||||
@@ -316,7 +260,7 @@ static int conf_choice(struct menu *menu)
|
||||
while (1) {
|
||||
int cnt, def;
|
||||
|
||||
printf("%*s%s\n", indent - 1, "", menu_get_prompt(menu));
|
||||
printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu)));
|
||||
def_sym = sym_get_choice_value(sym);
|
||||
cnt = def = 0;
|
||||
line[0] = 0;
|
||||
@@ -324,7 +268,7 @@ static int conf_choice(struct menu *menu)
|
||||
if (!menu_is_visible(child))
|
||||
continue;
|
||||
if (!child->sym) {
|
||||
printf("%*c %s\n", indent, '*', menu_get_prompt(child));
|
||||
printf("%*c %s\n", indent, '*', _(menu_get_prompt(child)));
|
||||
continue;
|
||||
}
|
||||
cnt++;
|
||||
@@ -333,14 +277,14 @@ static int conf_choice(struct menu *menu)
|
||||
printf("%*c", indent, '>');
|
||||
} else
|
||||
printf("%*c", indent, ' ');
|
||||
printf(" %d. %s", cnt, menu_get_prompt(child));
|
||||
printf(" %d. %s", cnt, _(menu_get_prompt(child)));
|
||||
if (child->sym->name)
|
||||
printf(" (%s)", child->sym->name);
|
||||
if (!sym_has_value(child->sym))
|
||||
printf(" (NEW)");
|
||||
printf(_(" (NEW)"));
|
||||
printf("\n");
|
||||
}
|
||||
printf("%*schoice", indent - 1, "");
|
||||
printf(_("%*schoice"), indent - 1, "");
|
||||
if (cnt == 1) {
|
||||
printf("[1]: 1\n");
|
||||
goto conf_childs;
|
||||
@@ -373,15 +317,7 @@ static int conf_choice(struct menu *menu)
|
||||
else
|
||||
continue;
|
||||
break;
|
||||
case set_random:
|
||||
if (is_new)
|
||||
def = (random() % cnt) + 1;
|
||||
case set_default:
|
||||
case set_yes:
|
||||
case set_mod:
|
||||
case set_no:
|
||||
cnt = def;
|
||||
printf("%d\n", cnt);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -399,9 +335,9 @@ static int conf_choice(struct menu *menu)
|
||||
continue;
|
||||
}
|
||||
sym_set_choice_value(sym, child->sym);
|
||||
if (child->list) {
|
||||
for (child = child->list; child; child = child->next) {
|
||||
indent += 2;
|
||||
conf(child->list);
|
||||
conf(child);
|
||||
indent -= 2;
|
||||
}
|
||||
return 1;
|
||||
@@ -433,7 +369,7 @@ static void conf(struct menu *menu)
|
||||
if (prompt)
|
||||
printf("%*c\n%*c %s\n%*c\n",
|
||||
indent, '*',
|
||||
indent, '*', prompt,
|
||||
indent, '*', _(prompt),
|
||||
indent, '*');
|
||||
default:
|
||||
;
|
||||
@@ -495,30 +431,29 @@ static void check_conf(struct menu *menu)
|
||||
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
int i = 1;
|
||||
int opt;
|
||||
const char *name;
|
||||
struct stat tmpstat;
|
||||
|
||||
if (ac > i && av[i][0] == '-') {
|
||||
switch (av[i++][1]) {
|
||||
setlocale(LC_ALL, "");
|
||||
bindtextdomain(PACKAGE, LOCALEDIR);
|
||||
textdomain(PACKAGE);
|
||||
|
||||
while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) {
|
||||
switch (opt) {
|
||||
case 'o':
|
||||
input_mode = ask_new;
|
||||
input_mode = ask_silent;
|
||||
break;
|
||||
case 's':
|
||||
input_mode = ask_silent;
|
||||
valid_stdin = isatty(0) && isatty(1) && isatty(2);
|
||||
sync_kconfig = 1;
|
||||
break;
|
||||
case 'd':
|
||||
input_mode = set_default;
|
||||
break;
|
||||
case 'D':
|
||||
input_mode = set_default;
|
||||
defconfig_file = av[i++];
|
||||
if (!defconfig_file) {
|
||||
printf(_("%s: No default config file specified\n"),
|
||||
av[0]);
|
||||
exit(1);
|
||||
}
|
||||
defconfig_file = optarg;
|
||||
break;
|
||||
case 'n':
|
||||
input_mode = set_no;
|
||||
@@ -530,44 +465,63 @@ int main(int ac, char **av)
|
||||
input_mode = set_yes;
|
||||
break;
|
||||
case 'r':
|
||||
{
|
||||
struct timeval now;
|
||||
unsigned int seed;
|
||||
|
||||
/*
|
||||
* Use microseconds derived seed,
|
||||
* compensate for systems where it may be zero
|
||||
*/
|
||||
gettimeofday(&now, NULL);
|
||||
|
||||
seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1));
|
||||
srand(seed);
|
||||
|
||||
input_mode = set_random;
|
||||
srandom(time(NULL));
|
||||
break;
|
||||
}
|
||||
case 'h':
|
||||
case '?':
|
||||
fprintf(stderr, "See README for usage info\n");
|
||||
printf(_("See README for usage info\n"));
|
||||
exit(0);
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, _("See README for usage info\n"));
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
name = av[i];
|
||||
if (!name) {
|
||||
if (ac == optind) {
|
||||
printf(_("%s: Kconfig file missing\n"), av[0]);
|
||||
exit(1);
|
||||
}
|
||||
name = av[optind];
|
||||
conf_parse(name);
|
||||
/*zconfdump(stdout);*/
|
||||
if (sync_kconfig) {
|
||||
name = conf_get_configname();
|
||||
if (stat(name, &tmpstat)) {
|
||||
fprintf(stderr, _("***\n"
|
||||
"*** You have not yet configured Buildroot!\n"
|
||||
"*** (missing .config file \"%s\")\n"
|
||||
"***\n"
|
||||
"*** Please run some configurator (e.g. \"make oldconfig\" or\n"
|
||||
"*** \"make menuconfig\" or \"make xconfig\").\n"
|
||||
"***\n"), name);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
switch (input_mode) {
|
||||
case set_default:
|
||||
if (!defconfig_file)
|
||||
defconfig_file = conf_get_default_confname();
|
||||
if (conf_read(defconfig_file)) {
|
||||
printf("***\n"
|
||||
printf(_("***\n"
|
||||
"*** Can't find default configuration \"%s\"!\n"
|
||||
"***\n", defconfig_file);
|
||||
"***\n"), defconfig_file);
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
case ask_silent:
|
||||
if (stat(".config", &tmpstat)) {
|
||||
printf(_("***\n"
|
||||
"*** You have not yet configured Buildroot!\n"
|
||||
"*** (missing .config file)\n"
|
||||
"***\n"
|
||||
"*** Please run some configurator (e.g. \"make oldconfig\" or\n"
|
||||
"*** \"make menuconfig\" or \"make config\").\n"
|
||||
"***\n"));
|
||||
exit(1);
|
||||
}
|
||||
case ask_all:
|
||||
case ask_new:
|
||||
conf_read(NULL);
|
||||
@@ -597,35 +551,70 @@ int main(int ac, char **av)
|
||||
break;
|
||||
}
|
||||
|
||||
if (input_mode != ask_silent) {
|
||||
if (sync_kconfig) {
|
||||
if (conf_get_changed()) {
|
||||
name = getenv("KCONFIG_NOSILENTUPDATE");
|
||||
if (name && *name) {
|
||||
fprintf(stderr,
|
||||
_("\n*** Buildroot configuration requires explicit update.\n\n"));
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
valid_stdin = isatty(0) && isatty(1) && isatty(2);
|
||||
}
|
||||
|
||||
switch (input_mode) {
|
||||
case set_no:
|
||||
conf_set_all_new_symbols(def_no);
|
||||
break;
|
||||
case set_yes:
|
||||
conf_set_all_new_symbols(def_yes);
|
||||
break;
|
||||
case set_mod:
|
||||
conf_set_all_new_symbols(def_mod);
|
||||
break;
|
||||
case set_random:
|
||||
conf_set_all_new_symbols(def_random);
|
||||
break;
|
||||
case set_default:
|
||||
conf_set_all_new_symbols(def_default);
|
||||
break;
|
||||
case ask_new:
|
||||
case ask_all:
|
||||
rootEntry = &rootmenu;
|
||||
conf(&rootmenu);
|
||||
if (input_mode == ask_all) {
|
||||
input_mode = ask_silent;
|
||||
valid_stdin = 1;
|
||||
input_mode = ask_silent;
|
||||
/* fall through */
|
||||
case ask_silent:
|
||||
/* Update until a loop caused no more changes */
|
||||
do {
|
||||
conf_cnt = 0;
|
||||
check_conf(&rootmenu);
|
||||
} while (conf_cnt);
|
||||
break;
|
||||
}
|
||||
|
||||
if (sync_kconfig) {
|
||||
/* silentoldconfig is used during the build so we shall update autoconf.
|
||||
* All other commands are only used to generate a config.
|
||||
*/
|
||||
if (conf_get_changed() && conf_write(NULL)) {
|
||||
fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n"));
|
||||
exit(1);
|
||||
}
|
||||
} else if (conf_get_changed()) {
|
||||
name = getenv("KCONFIG_NOSILENTUPDATE");
|
||||
if (name && *name) {
|
||||
fprintf(stderr, _("\n*** Buildroot configuration requires explicit update.\n\n"));
|
||||
if (conf_write_autoconf()) {
|
||||
fprintf(stderr, _("\n*** Error during update of the Buildroot configuration.\n\n"));
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
if (conf_write(NULL)) {
|
||||
fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n"));
|
||||
exit(1);
|
||||
}
|
||||
if (conf_write_autoconf()) {
|
||||
fprintf(stderr, _("\n*** Error during update of the Buildroot configuration.\n\n"));
|
||||
return 1;
|
||||
}
|
||||
} else
|
||||
goto skip_check;
|
||||
|
||||
do {
|
||||
conf_cnt = 0;
|
||||
check_conf(&rootmenu);
|
||||
} while (conf_cnt);
|
||||
if (conf_write(NULL)) {
|
||||
fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n"));
|
||||
return 1;
|
||||
}
|
||||
skip_check:
|
||||
if (/*input_mode == ask_silent &&*/ conf_write_autoconf()) {
|
||||
fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n"));
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -42,6 +42,11 @@ const char *conf_get_configname(void)
|
||||
return name ? name : ".config";
|
||||
}
|
||||
|
||||
const char *conf_get_autoconfig_name(void)
|
||||
{
|
||||
return getenv("KCONFIG_AUTOCONFIG");
|
||||
}
|
||||
|
||||
static char *conf_expand_value(const char *in)
|
||||
{
|
||||
struct symbol *sym;
|
||||
@@ -224,7 +229,7 @@ load:
|
||||
if (def == S_DEF_USER) {
|
||||
sym = sym_find(line + 2);
|
||||
if (!sym) {
|
||||
conf_warning("trying to assign nonexistent symbol %s", line + 2);
|
||||
sym_add_change_count(1);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
@@ -233,8 +238,7 @@ load:
|
||||
sym->type = S_BOOLEAN;
|
||||
}
|
||||
if (sym->flags & def_flags) {
|
||||
conf_warning("trying to reassign symbol %s", sym->name);
|
||||
break;
|
||||
conf_warning("override: reassigning to symbol %s", sym->name);
|
||||
}
|
||||
switch (sym->type) {
|
||||
case S_BOOLEAN:
|
||||
@@ -260,7 +264,7 @@ load:
|
||||
if (def == S_DEF_USER) {
|
||||
sym = sym_find(line);
|
||||
if (!sym) {
|
||||
conf_warning("trying to assign nonexistent symbol %s", line);
|
||||
sym_add_change_count(1);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
@@ -269,8 +273,7 @@ load:
|
||||
sym->type = S_OTHER;
|
||||
}
|
||||
if (sym->flags & def_flags) {
|
||||
conf_warning("trying to reassign symbol %s", sym->name);
|
||||
break;
|
||||
conf_warning("override: reassigning to symbol %s", sym->name);
|
||||
}
|
||||
if (conf_set_sym_val(sym, def, def_flags, p))
|
||||
continue;
|
||||
@@ -294,14 +297,12 @@ load:
|
||||
}
|
||||
break;
|
||||
case yes:
|
||||
if (cs->def[def].tri != no) {
|
||||
conf_warning("%s creates inconsistent choice state", sym->name);
|
||||
cs->flags &= ~def_flags;
|
||||
} else
|
||||
cs->def[def].val = sym;
|
||||
if (cs->def[def].tri != no)
|
||||
conf_warning("override: %s changes choice state", sym->name);
|
||||
cs->def[def].val = sym;
|
||||
break;
|
||||
}
|
||||
cs->def[def].tri = E_OR(cs->def[def].tri, sym->def[def].tri);
|
||||
cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri);
|
||||
}
|
||||
}
|
||||
fclose(in);
|
||||
@@ -313,7 +314,7 @@ load:
|
||||
|
||||
int conf_read(const char *name)
|
||||
{
|
||||
struct symbol *sym;
|
||||
struct symbol *sym, *choice_sym;
|
||||
struct property *prop;
|
||||
struct expr *e;
|
||||
int i, flags;
|
||||
@@ -354,9 +355,9 @@ int conf_read(const char *name)
|
||||
*/
|
||||
prop = sym_get_choice_prop(sym);
|
||||
flags = sym->flags;
|
||||
for (e = prop->expr; e; e = e->left.expr)
|
||||
if (e->right.sym->visible != no)
|
||||
flags &= e->right.sym->flags;
|
||||
expr_list_for_each_sym(prop->expr, e, choice_sym)
|
||||
if (choice_sym->visible != no)
|
||||
flags &= choice_sym->flags;
|
||||
sym->flags &= flags | ~SYMBOL_DEF_USER;
|
||||
}
|
||||
|
||||
@@ -554,15 +555,15 @@ int conf_write(const char *name)
|
||||
|
||||
int conf_split_config(void)
|
||||
{
|
||||
char *name, path[128], *opwd, *dir, *_name;
|
||||
const char *name;
|
||||
char path[128];
|
||||
char *opwd, *dir, *_name;
|
||||
char *s, *d, c;
|
||||
struct symbol *sym;
|
||||
struct stat sb;
|
||||
int res, i, fd;
|
||||
|
||||
name = getenv("KCONFIG_AUTOCONFIG");
|
||||
if (!name)
|
||||
name = "include/config/auto.conf";
|
||||
name = conf_get_autoconfig_name();
|
||||
conf_read_simple(name, S_DEF_AUTO);
|
||||
|
||||
opwd = malloc(256);
|
||||
@@ -683,7 +684,7 @@ int conf_write_autoconf(void)
|
||||
{
|
||||
struct symbol *sym;
|
||||
const char *str;
|
||||
char *name;
|
||||
const char *name;
|
||||
FILE *out, *out_h;
|
||||
time_t now;
|
||||
int i, l;
|
||||
@@ -783,9 +784,7 @@ int conf_write_autoconf(void)
|
||||
name = "include/linux/autoconf.h";
|
||||
if (rename(".tmpconfig.h", name))
|
||||
return 1;
|
||||
name = getenv("KCONFIG_AUTOCONFIG");
|
||||
if (!name)
|
||||
name = "include/config/auto.conf";
|
||||
name = conf_get_autoconfig_name();
|
||||
/*
|
||||
* This must be the last step, kbuild has a dependency on auto.conf
|
||||
* and this marks the successful completion of the previous steps.
|
||||
@@ -822,3 +821,93 @@ void conf_set_changed_callback(void (*fn)(void))
|
||||
{
|
||||
conf_changed_callback = fn;
|
||||
}
|
||||
|
||||
|
||||
void conf_set_all_new_symbols(enum conf_def_mode mode)
|
||||
{
|
||||
struct symbol *sym, *csym;
|
||||
struct property *prop;
|
||||
struct expr *e;
|
||||
int i, cnt, def;
|
||||
|
||||
for_all_symbols(i, sym) {
|
||||
if (sym_has_value(sym))
|
||||
continue;
|
||||
switch (sym_get_type(sym)) {
|
||||
case S_BOOLEAN:
|
||||
case S_TRISTATE:
|
||||
switch (mode) {
|
||||
case def_yes:
|
||||
sym->def[S_DEF_USER].tri = yes;
|
||||
break;
|
||||
case def_mod:
|
||||
sym->def[S_DEF_USER].tri = mod;
|
||||
break;
|
||||
case def_no:
|
||||
sym->def[S_DEF_USER].tri = no;
|
||||
break;
|
||||
case def_random:
|
||||
sym->def[S_DEF_USER].tri = (tristate)(rand() % 3);
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
if (!(sym_is_choice(sym) && mode == def_random))
|
||||
sym->flags |= SYMBOL_DEF_USER;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sym_clear_all_valid();
|
||||
|
||||
if (mode != def_random)
|
||||
return;
|
||||
/*
|
||||
* We have different type of choice blocks.
|
||||
* If curr.tri equal to mod then we can select several
|
||||
* choice symbols in one block.
|
||||
* In this case we do nothing.
|
||||
* If curr.tri equal yes then only one symbol can be
|
||||
* selected in a choice block and we set it to yes,
|
||||
* and the rest to no.
|
||||
*/
|
||||
for_all_symbols(i, csym) {
|
||||
if (sym_has_value(csym) || !sym_is_choice(csym))
|
||||
continue;
|
||||
|
||||
sym_calc_value(csym);
|
||||
|
||||
if (csym->curr.tri != yes)
|
||||
continue;
|
||||
|
||||
prop = sym_get_choice_prop(csym);
|
||||
|
||||
/* count entries in choice block */
|
||||
cnt = 0;
|
||||
expr_list_for_each_sym(prop->expr, e, sym)
|
||||
cnt++;
|
||||
|
||||
/*
|
||||
* find a random value and set it to yes,
|
||||
* set the rest to no so we have only one set
|
||||
*/
|
||||
def = (rand() % cnt);
|
||||
|
||||
cnt = 0;
|
||||
expr_list_for_each_sym(prop->expr, e, sym) {
|
||||
if (def == cnt++) {
|
||||
sym->def[S_DEF_USER].tri = yes;
|
||||
csym->def[S_DEF_USER].val = sym;
|
||||
}
|
||||
else {
|
||||
sym->def[S_DEF_USER].tri = no;
|
||||
}
|
||||
}
|
||||
csym->flags |= SYMBOL_DEF_USER;
|
||||
/* clear VALID to get value calculated */
|
||||
csym->flags &= ~(SYMBOL_VALID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ struct expr *expr_copy(struct expr *org)
|
||||
break;
|
||||
case E_AND:
|
||||
case E_OR:
|
||||
case E_CHOICE:
|
||||
case E_LIST:
|
||||
e->left.expr = expr_copy(org->left.expr);
|
||||
e->right.expr = expr_copy(org->right.expr);
|
||||
break;
|
||||
@@ -217,7 +217,7 @@ int expr_eq(struct expr *e1, struct expr *e2)
|
||||
expr_free(e2);
|
||||
trans_count = old_count;
|
||||
return res;
|
||||
case E_CHOICE:
|
||||
case E_LIST:
|
||||
case E_RANGE:
|
||||
case E_NONE:
|
||||
/* panic */;
|
||||
@@ -648,7 +648,7 @@ struct expr *expr_transform(struct expr *e)
|
||||
case E_EQUAL:
|
||||
case E_UNEQUAL:
|
||||
case E_SYMBOL:
|
||||
case E_CHOICE:
|
||||
case E_LIST:
|
||||
break;
|
||||
default:
|
||||
e->left.expr = expr_transform(e->left.expr);
|
||||
@@ -932,7 +932,7 @@ struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symb
|
||||
break;
|
||||
case E_SYMBOL:
|
||||
return expr_alloc_comp(type, e->left.sym, sym);
|
||||
case E_CHOICE:
|
||||
case E_LIST:
|
||||
case E_RANGE:
|
||||
case E_NONE:
|
||||
/* panic */;
|
||||
@@ -955,14 +955,14 @@ tristate expr_calc_value(struct expr *e)
|
||||
case E_AND:
|
||||
val1 = expr_calc_value(e->left.expr);
|
||||
val2 = expr_calc_value(e->right.expr);
|
||||
return E_AND(val1, val2);
|
||||
return EXPR_AND(val1, val2);
|
||||
case E_OR:
|
||||
val1 = expr_calc_value(e->left.expr);
|
||||
val2 = expr_calc_value(e->right.expr);
|
||||
return E_OR(val1, val2);
|
||||
return EXPR_OR(val1, val2);
|
||||
case E_NOT:
|
||||
val1 = expr_calc_value(e->left.expr);
|
||||
return E_NOT(val1);
|
||||
return EXPR_NOT(val1);
|
||||
case E_EQUAL:
|
||||
sym_calc_value(e->left.sym);
|
||||
sym_calc_value(e->right.sym);
|
||||
@@ -1000,9 +1000,9 @@ int expr_compare_type(enum expr_type t1, enum expr_type t2)
|
||||
if (t2 == E_OR)
|
||||
return 1;
|
||||
case E_OR:
|
||||
if (t2 == E_CHOICE)
|
||||
if (t2 == E_LIST)
|
||||
return 1;
|
||||
case E_CHOICE:
|
||||
case E_LIST:
|
||||
if (t2 == 0)
|
||||
return 1;
|
||||
default:
|
||||
@@ -1034,12 +1034,18 @@ void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *
|
||||
expr_print(e->left.expr, fn, data, E_NOT);
|
||||
break;
|
||||
case E_EQUAL:
|
||||
fn(data, e->left.sym, e->left.sym->name);
|
||||
if (e->left.sym->name)
|
||||
fn(data, e->left.sym, e->left.sym->name);
|
||||
else
|
||||
fn(data, NULL, "<choice>");
|
||||
fn(data, NULL, "=");
|
||||
fn(data, e->right.sym, e->right.sym->name);
|
||||
break;
|
||||
case E_UNEQUAL:
|
||||
fn(data, e->left.sym, e->left.sym->name);
|
||||
if (e->left.sym->name)
|
||||
fn(data, e->left.sym, e->left.sym->name);
|
||||
else
|
||||
fn(data, NULL, "<choice>");
|
||||
fn(data, NULL, "!=");
|
||||
fn(data, e->right.sym, e->right.sym->name);
|
||||
break;
|
||||
@@ -1053,11 +1059,11 @@ void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *
|
||||
fn(data, NULL, " && ");
|
||||
expr_print(e->right.expr, fn, data, E_AND);
|
||||
break;
|
||||
case E_CHOICE:
|
||||
case E_LIST:
|
||||
fn(data, e->right.sym, e->right.sym->name);
|
||||
if (e->left.expr) {
|
||||
fn(data, NULL, " ^ ");
|
||||
expr_print(e->left.expr, fn, data, E_CHOICE);
|
||||
expr_print(e->left.expr, fn, data, E_LIST);
|
||||
}
|
||||
break;
|
||||
case E_RANGE:
|
||||
|
||||
@@ -25,14 +25,13 @@ struct file {
|
||||
|
||||
#define FILE_BUSY 0x0001
|
||||
#define FILE_SCANNED 0x0002
|
||||
#define FILE_PRINTED 0x0004
|
||||
|
||||
typedef enum tristate {
|
||||
no, mod, yes
|
||||
} tristate;
|
||||
|
||||
enum expr_type {
|
||||
E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_CHOICE, E_SYMBOL, E_RANGE
|
||||
E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_LIST, E_SYMBOL, E_RANGE
|
||||
};
|
||||
|
||||
union expr_data {
|
||||
@@ -45,9 +44,12 @@ struct expr {
|
||||
union expr_data left, right;
|
||||
};
|
||||
|
||||
#define E_OR(dep1, dep2) (((dep1)>(dep2))?(dep1):(dep2))
|
||||
#define E_AND(dep1, dep2) (((dep1)<(dep2))?(dep1):(dep2))
|
||||
#define E_NOT(dep) (2-(dep))
|
||||
#define EXPR_OR(dep1, dep2) (((dep1)>(dep2))?(dep1):(dep2))
|
||||
#define EXPR_AND(dep1, dep2) (((dep1)<(dep2))?(dep1):(dep2))
|
||||
#define EXPR_NOT(dep) (2-(dep))
|
||||
|
||||
#define expr_list_for_each_sym(l, e, s) \
|
||||
for (e = (l); e && (s = e->right.sym); e = e->left.expr)
|
||||
|
||||
struct expr_value {
|
||||
struct expr *expr;
|
||||
@@ -63,9 +65,13 @@ enum symbol_type {
|
||||
S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER
|
||||
};
|
||||
|
||||
/* enum values are used as index to symbol.def[] */
|
||||
enum {
|
||||
S_DEF_USER, /* main user value */
|
||||
S_DEF_AUTO
|
||||
S_DEF_AUTO, /* values read from auto.conf */
|
||||
S_DEF_DEF3, /* Reserved for UI usage */
|
||||
S_DEF_DEF4, /* Reserved for UI usage */
|
||||
S_DEF_COUNT
|
||||
};
|
||||
|
||||
struct symbol {
|
||||
@@ -73,7 +79,7 @@ struct symbol {
|
||||
char *name;
|
||||
enum symbol_type type;
|
||||
struct symbol_value curr;
|
||||
struct symbol_value def[4];
|
||||
struct symbol_value def[S_DEF_COUNT];
|
||||
tristate visible;
|
||||
int flags;
|
||||
struct property *prop;
|
||||
@@ -82,42 +88,64 @@ struct symbol {
|
||||
|
||||
#define for_all_symbols(i, sym) for (i = 0; i < 257; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER)
|
||||
|
||||
#define SYMBOL_CONST 0x0001
|
||||
#define SYMBOL_CHECK 0x0008
|
||||
#define SYMBOL_CHOICE 0x0010
|
||||
#define SYMBOL_CHOICEVAL 0x0020
|
||||
#define SYMBOL_PRINTED 0x0040
|
||||
#define SYMBOL_VALID 0x0080
|
||||
#define SYMBOL_OPTIONAL 0x0100
|
||||
#define SYMBOL_WRITE 0x0200
|
||||
#define SYMBOL_CHANGED 0x0400
|
||||
#define SYMBOL_AUTO 0x1000
|
||||
#define SYMBOL_CHECKED 0x2000
|
||||
#define SYMBOL_WARNED 0x8000
|
||||
#define SYMBOL_DEF 0x10000
|
||||
#define SYMBOL_DEF_USER 0x10000
|
||||
#define SYMBOL_DEF_AUTO 0x20000
|
||||
#define SYMBOL_DEF3 0x40000
|
||||
#define SYMBOL_DEF4 0x80000
|
||||
#define SYMBOL_CONST 0x0001 /* symbol is const */
|
||||
#define SYMBOL_CHECK 0x0008 /* used during dependency checking */
|
||||
#define SYMBOL_CHOICE 0x0010 /* start of a choice block (null name) */
|
||||
#define SYMBOL_CHOICEVAL 0x0020 /* used as a value in a choice block */
|
||||
#define SYMBOL_VALID 0x0080 /* set when symbol.curr is calculated */
|
||||
#define SYMBOL_OPTIONAL 0x0100 /* choice is optional - values can be 'n' */
|
||||
#define SYMBOL_WRITE 0x0200 /* ? */
|
||||
#define SYMBOL_CHANGED 0x0400 /* ? */
|
||||
#define SYMBOL_AUTO 0x1000 /* value from environment variable */
|
||||
#define SYMBOL_CHECKED 0x2000 /* used during dependency checking */
|
||||
#define SYMBOL_WARNED 0x8000 /* warning has been issued */
|
||||
|
||||
/* Set when symbol.def[] is used */
|
||||
#define SYMBOL_DEF 0x10000 /* First bit of SYMBOL_DEF */
|
||||
#define SYMBOL_DEF_USER 0x10000 /* symbol.def[S_DEF_USER] is valid */
|
||||
#define SYMBOL_DEF_AUTO 0x20000 /* symbol.def[S_DEF_AUTO] is valid */
|
||||
#define SYMBOL_DEF3 0x40000 /* symbol.def[S_DEF_3] is valid */
|
||||
#define SYMBOL_DEF4 0x80000 /* symbol.def[S_DEF_4] is valid */
|
||||
|
||||
#define SYMBOL_MAXLENGTH 256
|
||||
#define SYMBOL_HASHSIZE 257
|
||||
#define SYMBOL_HASHMASK 0xff
|
||||
|
||||
/* A property represent the config options that can be associated
|
||||
* with a config "symbol".
|
||||
* Sample:
|
||||
* config FOO
|
||||
* default y
|
||||
* prompt "foo prompt"
|
||||
* select BAR
|
||||
* config BAZ
|
||||
* int "BAZ Value"
|
||||
* range 1..255
|
||||
*/
|
||||
enum prop_type {
|
||||
P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE, P_SELECT, P_RANGE
|
||||
P_UNKNOWN,
|
||||
P_PROMPT, /* prompt "foo prompt" or "BAZ Value" */
|
||||
P_COMMENT, /* text associated with a comment */
|
||||
P_MENU, /* prompt associated with a menuconfig option */
|
||||
P_DEFAULT, /* default y */
|
||||
P_CHOICE, /* choice value */
|
||||
P_SELECT, /* select BAR */
|
||||
P_RANGE, /* range 7..100 (for a symbol) */
|
||||
P_ENV, /* value from environment variable */
|
||||
};
|
||||
|
||||
struct property {
|
||||
struct property *next;
|
||||
struct symbol *sym;
|
||||
enum prop_type type;
|
||||
const char *text;
|
||||
struct property *next; /* next property - null if last */
|
||||
struct symbol *sym; /* the symbol for which the property is associated */
|
||||
enum prop_type type; /* type of property */
|
||||
const char *text; /* the prompt value - P_PROMPT, P_MENU, P_COMMENT */
|
||||
struct expr_value visible;
|
||||
struct expr *expr;
|
||||
struct menu *menu;
|
||||
struct file *file;
|
||||
int lineno;
|
||||
struct expr *expr; /* the optional conditional part of the property */
|
||||
struct menu *menu; /* the menu the property are associated with
|
||||
* valid for: P_SELECT, P_RANGE, P_CHOICE,
|
||||
* P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */
|
||||
struct file *file; /* what file was this property defined */
|
||||
int lineno; /* what lineno was this property defined */
|
||||
};
|
||||
|
||||
#define for_all_properties(sym, st, tok) \
|
||||
|
||||
@@ -119,8 +119,6 @@ const char *dbg_print_flags(int val)
|
||||
strcat(buf, "choice/");
|
||||
if (val & SYMBOL_CHOICEVAL)
|
||||
strcat(buf, "choiceval/");
|
||||
if (val & SYMBOL_PRINTED)
|
||||
strcat(buf, "printed/");
|
||||
if (val & SYMBOL_VALID)
|
||||
strcat(buf, "valid/");
|
||||
if (val & SYMBOL_OPTIONAL)
|
||||
@@ -457,14 +455,18 @@ static void text_insert_help(struct menu *menu)
|
||||
{
|
||||
GtkTextBuffer *buffer;
|
||||
GtkTextIter start, end;
|
||||
const char *prompt = menu_get_prompt(menu);
|
||||
const char *prompt = _(menu_get_prompt(menu));
|
||||
gchar *name;
|
||||
const char *help;
|
||||
|
||||
help = _(menu_get_help(menu));
|
||||
help = menu_get_help(menu);
|
||||
|
||||
/* Gettextize if the help text not empty */
|
||||
if ((help != 0) && (help[0] != 0))
|
||||
help = _(help);
|
||||
|
||||
if (menu->sym && menu->sym->name)
|
||||
name = g_strdup_printf(_(menu->sym->name));
|
||||
name = g_strdup_printf(menu->sym->name);
|
||||
else
|
||||
name = g_strdup("");
|
||||
|
||||
@@ -1171,7 +1173,7 @@ static gchar **fill_row(struct menu *menu)
|
||||
bzero(row, sizeof(row));
|
||||
|
||||
row[COL_OPTION] =
|
||||
g_strdup_printf("%s %s", menu_get_prompt(menu),
|
||||
g_strdup_printf("%s %s", _(menu_get_prompt(menu)),
|
||||
sym && sym_has_value(sym) ? "(NEW)" : "");
|
||||
|
||||
if (show_all && !menu_is_visible(menu))
|
||||
@@ -1221,7 +1223,7 @@ static gchar **fill_row(struct menu *menu)
|
||||
|
||||
if (def_menu)
|
||||
row[COL_VALUE] =
|
||||
g_strdup(menu_get_prompt(def_menu));
|
||||
g_strdup(_(menu_get_prompt(def_menu)));
|
||||
}
|
||||
if (sym->flags & SYMBOL_CHOICEVAL)
|
||||
row[COL_BTNRAD] = GINT_TO_POINTER(TRUE);
|
||||
|
||||
@@ -24,7 +24,7 @@ visible if its parent entry is also visible.
|
||||
Menu entries
|
||||
------------
|
||||
|
||||
Most entries define a config option, all other entries help to organize
|
||||
Most entries define a config option; all other entries help to organize
|
||||
them. A single configuration option is defined like this:
|
||||
|
||||
config MODVERSIONS
|
||||
@@ -50,7 +50,7 @@ applicable everywhere (see syntax).
|
||||
|
||||
- type definition: "bool"/"tristate"/"string"/"hex"/"int"
|
||||
Every config option must have a type. There are only two basic types:
|
||||
tristate and string, the other types are based on these two. The type
|
||||
tristate and string; the other types are based on these two. The type
|
||||
definition optionally accepts an input prompt, so these two examples
|
||||
are equivalent:
|
||||
|
||||
@@ -104,14 +104,15 @@ applicable everywhere (see syntax).
|
||||
Reverse dependencies can only be used with boolean or tristate
|
||||
symbols.
|
||||
Note:
|
||||
select is evil.... select will by brute force set a symbol
|
||||
equal to 'y' without visiting the dependencies. So abusing
|
||||
select you are able to select a symbol FOO even if FOO depends
|
||||
on BAR that is not set. In general use select only for
|
||||
non-visible symbols (no promts anywhere) and for symbols with
|
||||
no dependencies. That will limit the usefulness but on the
|
||||
other hand avoid the illegal configurations all over. kconfig
|
||||
should one day warn about such things.
|
||||
select should be used with care. select will force
|
||||
a symbol to a value without visiting the dependencies.
|
||||
By abusing select you are able to select a symbol FOO even
|
||||
if FOO depends on BAR that is not set.
|
||||
In general use select only for non-visible symbols
|
||||
(no prompts anywhere) and for symbols with no dependencies.
|
||||
That will limit the usefulness but on the other hand avoid
|
||||
the illegal configurations all over.
|
||||
kconfig should one day warn about such things.
|
||||
|
||||
- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
|
||||
This allows to limit the range of possible input values for int
|
||||
@@ -127,6 +128,27 @@ applicable everywhere (see syntax).
|
||||
used to help visually separate configuration logic from help within
|
||||
the file as an aid to developers.
|
||||
|
||||
- misc options: "option" <symbol>[=<value>]
|
||||
Various less common options can be defined via this option syntax,
|
||||
which can modify the behaviour of the menu entry and its config
|
||||
symbol. These options are currently possible:
|
||||
|
||||
- "defconfig_list"
|
||||
This declares a list of default entries which can be used when
|
||||
looking for the default configuration (which is used when the main
|
||||
.config doesn't exists yet.)
|
||||
|
||||
- "modules"
|
||||
This declares the symbol to be used as the MODULES symbol, which
|
||||
enables the third modular state for all config symbols.
|
||||
|
||||
- "env"=<value>
|
||||
This imports the environment variable into Kconfig. It behaves like
|
||||
a default, except that the value comes from the environment, this
|
||||
also means that the behaviour when mixing it with normal defaults is
|
||||
undefined at this point. The symbol is currently not exported back
|
||||
to the build environment (if this is desired, it can be done via
|
||||
another symbol).
|
||||
|
||||
Menu dependencies
|
||||
-----------------
|
||||
@@ -162,9 +184,9 @@ An expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2
|
||||
respectively for calculations). A menu entry becomes visible when it's
|
||||
expression evaluates to 'm' or 'y'.
|
||||
|
||||
There are two types of symbols: constant and nonconstant symbols.
|
||||
Nonconstant symbols are the most common ones and are defined with the
|
||||
'config' statement. Nonconstant symbols consist entirely of alphanumeric
|
||||
There are two types of symbols: constant and non-constant symbols.
|
||||
Non-constant symbols are the most common ones and are defined with the
|
||||
'config' statement. Non-constant symbols consist entirely of alphanumeric
|
||||
characters or underscores.
|
||||
Constant symbols are only part of expressions. Constant symbols are
|
||||
always surrounded by single or double quotes. Within the quote, any
|
||||
@@ -301,3 +323,57 @@ mainmenu:
|
||||
|
||||
This sets the config program's title bar if the config program chooses
|
||||
to use it.
|
||||
|
||||
|
||||
Kconfig hints
|
||||
-------------
|
||||
This is a collection of Kconfig tips, most of which aren't obvious at
|
||||
first glance and most of which have become idioms in several Kconfig
|
||||
files.
|
||||
|
||||
Adding common features and make the usage configurable
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
It is a common idiom to implement a feature/functionality that are
|
||||
relevant for some architectures but not all.
|
||||
The recommended way to do so is to use a config variable named HAVE_*
|
||||
that is defined in a common Kconfig file and selected by the relevant
|
||||
architectures.
|
||||
An example is the generic IOMAP functionality.
|
||||
|
||||
We would in lib/Kconfig see:
|
||||
|
||||
# Generic IOMAP is used to ...
|
||||
config HAVE_GENERIC_IOMAP
|
||||
|
||||
config GENERIC_IOMAP
|
||||
depends on HAVE_GENERIC_IOMAP && FOO
|
||||
|
||||
And in lib/Makefile we would see:
|
||||
obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
|
||||
|
||||
For each architecture using the generic IOMAP functionality we would see:
|
||||
|
||||
config X86
|
||||
select ...
|
||||
select HAVE_GENERIC_IOMAP
|
||||
select ...
|
||||
|
||||
Note: we use the existing config option and avoid creating a new
|
||||
config variable to select HAVE_GENERIC_IOMAP.
|
||||
|
||||
Note: the use of the internal config variable HAVE_GENERIC_IOMAP, it is
|
||||
introduced to overcome the limitation of select which will force a
|
||||
config option to 'y' no matter the dependencies.
|
||||
The dependencies are moved to the symbol GENERIC_IOMAP and we avoid the
|
||||
situation where select forces a symbol equals to 'y'.
|
||||
|
||||
Build as module only
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
To restrict a component build to module-only, qualify its config symbol
|
||||
with "depends on m". E.g.:
|
||||
|
||||
config FOO
|
||||
depends on BAR && m
|
||||
|
||||
limits FOO to module (=m) or disabled (=n).
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -43,6 +43,10 @@ static char *escape(const char* text, char *bf, int len)
|
||||
++text;
|
||||
goto next;
|
||||
}
|
||||
else if (*text == '\\') {
|
||||
*bfp++ = '\\';
|
||||
len--;
|
||||
}
|
||||
*bfp++ = *text++;
|
||||
next:
|
||||
--len;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#define FLEX_SCANNER
|
||||
#define YY_FLEX_MAJOR_VERSION 2
|
||||
#define YY_FLEX_MINOR_VERSION 5
|
||||
#define YY_FLEX_SUBMINOR_VERSION 33
|
||||
#define YY_FLEX_SUBMINOR_VERSION 35
|
||||
#if YY_FLEX_SUBMINOR_VERSION > 0
|
||||
#define FLEX_BETA
|
||||
#endif
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
|
||||
|
||||
#if __STDC_VERSION__ >= 199901L
|
||||
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
||||
|
||||
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
|
||||
* if you want the limit (max/min) macros for int types.
|
||||
@@ -72,7 +72,6 @@ typedef int flex_int32_t;
|
||||
typedef unsigned char flex_uint8_t;
|
||||
typedef unsigned short int flex_uint16_t;
|
||||
typedef unsigned int flex_uint32_t;
|
||||
#endif /* ! C99 */
|
||||
|
||||
/* Limits of integral types. */
|
||||
#ifndef INT8_MIN
|
||||
@@ -103,6 +102,8 @@ typedef unsigned int flex_uint32_t;
|
||||
#define UINT32_MAX (4294967295U)
|
||||
#endif
|
||||
|
||||
#endif /* ! C99 */
|
||||
|
||||
#endif /* ! FLEXINT_H */
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -112,11 +113,12 @@ typedef unsigned int flex_uint32_t;
|
||||
|
||||
#else /* ! __cplusplus */
|
||||
|
||||
#if __STDC__
|
||||
/* C99 requires __STDC__ to be defined as 1. */
|
||||
#if defined (__STDC__)
|
||||
|
||||
#define YY_USE_CONST
|
||||
|
||||
#endif /* __STDC__ */
|
||||
#endif /* defined (__STDC__) */
|
||||
#endif /* ! __cplusplus */
|
||||
|
||||
#ifdef YY_USE_CONST
|
||||
@@ -196,14 +198,9 @@ extern FILE *zconfin, *zconfout;
|
||||
|
||||
#define unput(c) yyunput( c, (yytext_ptr) )
|
||||
|
||||
/* The following is because we cannot portably get our hands on size_t
|
||||
* (without autoconf's help, which isn't available because we want
|
||||
* flex-generated scanners to compile on their own).
|
||||
*/
|
||||
|
||||
#ifndef YY_TYPEDEF_YY_SIZE_T
|
||||
#define YY_TYPEDEF_YY_SIZE_T
|
||||
typedef unsigned int yy_size_t;
|
||||
typedef size_t yy_size_t;
|
||||
#endif
|
||||
|
||||
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
||||
@@ -767,6 +764,7 @@ int zconf_flex_debug = 0;
|
||||
#define YY_MORE_ADJ 0
|
||||
#define YY_RESTORE_YY_MORE_OFFSET
|
||||
char *zconftext;
|
||||
#define YY_NO_INPUT 1
|
||||
|
||||
/*
|
||||
* Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
|
||||
@@ -815,12 +813,6 @@ void new_string(void)
|
||||
void append_string(const char *str, int size)
|
||||
{
|
||||
int new_size = text_size + size + 1;
|
||||
|
||||
if ((YY_START == 2 /* HELP */) && (size > 70)) {
|
||||
fprintf (stderr, "%s:%d warning: Overlong line\n",
|
||||
current_file->name, current_file->lineno);
|
||||
}
|
||||
|
||||
if (new_size > text_asize) {
|
||||
new_size += START_STRSIZE - 1;
|
||||
new_size &= -START_STRSIZE;
|
||||
@@ -859,6 +851,35 @@ void alloc_string(const char *str, int size)
|
||||
|
||||
static int yy_init_globals (void );
|
||||
|
||||
/* Accessor methods to globals.
|
||||
These are made visible to non-reentrant scanners for convenience. */
|
||||
|
||||
int zconflex_destroy (void );
|
||||
|
||||
int zconfget_debug (void );
|
||||
|
||||
void zconfset_debug (int debug_flag );
|
||||
|
||||
YY_EXTRA_TYPE zconfget_extra (void );
|
||||
|
||||
void zconfset_extra (YY_EXTRA_TYPE user_defined );
|
||||
|
||||
FILE *zconfget_in (void );
|
||||
|
||||
void zconfset_in (FILE * in_str );
|
||||
|
||||
FILE *zconfget_out (void );
|
||||
|
||||
void zconfset_out (FILE * out_str );
|
||||
|
||||
int zconfget_leng (void );
|
||||
|
||||
char *zconfget_text (void );
|
||||
|
||||
int zconfget_lineno (void );
|
||||
|
||||
void zconfset_lineno (int line_number );
|
||||
|
||||
/* Macros after this point can all be overridden by user definitions in
|
||||
* section 1.
|
||||
*/
|
||||
@@ -901,7 +922,7 @@ static int input (void );
|
||||
/* This used to be an fputs(), but since the string might contain NUL's,
|
||||
* we now use fwrite().
|
||||
*/
|
||||
#define ECHO (void) fwrite( zconftext, zconfleng, 1, zconfout )
|
||||
#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
|
||||
#endif
|
||||
|
||||
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
|
||||
@@ -1281,6 +1302,11 @@ YY_RULE_SETUP
|
||||
case 32:
|
||||
YY_RULE_SETUP
|
||||
{
|
||||
while (zconfleng) {
|
||||
if ((zconftext[zconfleng-1] != ' ') && (zconftext[zconfleng-1] != '\t'))
|
||||
break;
|
||||
zconfleng--;
|
||||
}
|
||||
append_string(zconftext, zconfleng);
|
||||
if (!first_ts)
|
||||
first_ts = last_ts;
|
||||
@@ -1536,7 +1562,7 @@ static int yy_get_next_buffer (void)
|
||||
|
||||
/* Read in more data. */
|
||||
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
|
||||
(yy_n_chars), num_to_read );
|
||||
(yy_n_chars), (size_t) num_to_read );
|
||||
|
||||
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
|
||||
}
|
||||
@@ -1560,6 +1586,14 @@ static int yy_get_next_buffer (void)
|
||||
else
|
||||
ret_val = EOB_ACT_CONTINUE_SCAN;
|
||||
|
||||
if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
|
||||
/* Extend the array by 50%, plus the number we really need. */
|
||||
yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
|
||||
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) zconfrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
|
||||
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
|
||||
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
|
||||
}
|
||||
|
||||
(yy_n_chars) += number_to_move;
|
||||
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
|
||||
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
|
||||
@@ -1946,7 +1980,9 @@ static void zconfensure_buffer_stack (void)
|
||||
(yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
|
||||
(num_to_alloc * sizeof(struct yy_buffer_state*)
|
||||
);
|
||||
|
||||
if ( ! (yy_buffer_stack) )
|
||||
YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
|
||||
|
||||
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
|
||||
|
||||
(yy_buffer_stack_max) = num_to_alloc;
|
||||
@@ -1964,6 +2000,8 @@ static void zconfensure_buffer_stack (void)
|
||||
((yy_buffer_stack),
|
||||
num_to_alloc * sizeof(struct yy_buffer_state*)
|
||||
);
|
||||
if ( ! (yy_buffer_stack) )
|
||||
YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
|
||||
|
||||
/* zero only the new slots.*/
|
||||
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
|
||||
@@ -2008,7 +2046,7 @@ YY_BUFFER_STATE zconf_scan_buffer (char * base, yy_size_t size )
|
||||
|
||||
/** Setup the input buffer state to scan a string. The next call to zconflex() will
|
||||
* scan from a @e copy of @a str.
|
||||
* @param str a NUL-terminated string to scan
|
||||
* @param yystr a NUL-terminated string to scan
|
||||
*
|
||||
* @return the newly allocated buffer state object.
|
||||
* @note If you want to scan bytes that may contain NUL values, then use
|
||||
@@ -2332,11 +2370,14 @@ void zconf_nextfile(const char *name)
|
||||
current_buf = buf;
|
||||
|
||||
if (file->flags & FILE_BUSY) {
|
||||
printf("recursive scan (%s)?\n", name);
|
||||
printf("%s:%d: do not source '%s' from itself\n",
|
||||
zconf_curname(), zconf_lineno(), name);
|
||||
exit(1);
|
||||
}
|
||||
if (file->flags & FILE_SCANNED) {
|
||||
printf("file %s already scanned?\n", name);
|
||||
printf("%s:%d: file '%s' is already sourced from '%s'\n",
|
||||
zconf_curname(), zconf_lineno(), name,
|
||||
file->parent->name);
|
||||
exit(1);
|
||||
}
|
||||
file->flags |= FILE_BUSY;
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
#ifndef KBUILD_NO_NLS
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# define gettext(Msgid) ((const char *) (Msgid))
|
||||
# define textdomain(Domainname) ((const char *) (Domainname))
|
||||
# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
|
||||
static inline const char *gettext(const char *txt) { return txt; }
|
||||
static inline void textdomain(const char *domainname) {}
|
||||
static inline void bindtextdomain(const char *name, const char *dir) {}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -42,8 +42,17 @@ extern "C" {
|
||||
#define TF_PARAM 0x0002
|
||||
#define TF_OPTION 0x0004
|
||||
|
||||
enum conf_def_mode {
|
||||
def_default,
|
||||
def_yes,
|
||||
def_mod,
|
||||
def_no,
|
||||
def_random
|
||||
};
|
||||
|
||||
#define T_OPT_MODULES 1
|
||||
#define T_OPT_DEFCONFIG_LIST 2
|
||||
#define T_OPT_ENV 3
|
||||
|
||||
struct kconf_id {
|
||||
int name;
|
||||
@@ -65,15 +74,18 @@ char *zconf_curname(void);
|
||||
|
||||
/* confdata.c */
|
||||
const char *conf_get_configname(void);
|
||||
const char *conf_get_autoconfig_name(void);
|
||||
char *conf_get_default_confname(void);
|
||||
void sym_set_change_count(int count);
|
||||
void sym_add_change_count(int count);
|
||||
void conf_set_all_new_symbols(enum conf_def_mode mode);
|
||||
|
||||
/* kconfig_load.c */
|
||||
void kconfig_load(void);
|
||||
|
||||
/* menu.c */
|
||||
void menu_init(void);
|
||||
void menu_warn(struct menu *menu, const char *fmt, ...);
|
||||
struct menu *menu_add_menu(void);
|
||||
void menu_end_menu(void);
|
||||
void menu_add_entry(struct symbol *sym);
|
||||
@@ -103,6 +115,8 @@ void str_printf(struct gstr *gs, const char *fmt, ...);
|
||||
const char *str_get(struct gstr *gs);
|
||||
|
||||
/* symbol.c */
|
||||
extern struct expr *sym_env_list;
|
||||
|
||||
void sym_init(void);
|
||||
void sym_clear_all_valid(void);
|
||||
void sym_set_all_changed(void);
|
||||
@@ -110,6 +124,7 @@ void sym_set_changed(struct symbol *sym);
|
||||
struct symbol *sym_check_deps(struct symbol *sym);
|
||||
struct property *prop_alloc(enum prop_type type, struct symbol *sym);
|
||||
struct symbol *prop_get_symbol(struct property *prop);
|
||||
struct property *sym_get_env_prop(struct symbol *sym);
|
||||
|
||||
static inline tristate sym_get_tristate_value(struct symbol *sym)
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@ P(menu_get_help,const char *,(struct menu *menu));
|
||||
/* symbol.c */
|
||||
P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
|
||||
|
||||
P(sym_lookup,struct symbol *,(const char *name, int isconst));
|
||||
P(sym_lookup,struct symbol *,(const char *name, int flags));
|
||||
P(sym_find,struct symbol *,(const char *name));
|
||||
P(sym_re_search,struct symbol **,(const char *pattern));
|
||||
P(sym_type_name,const char *,(enum symbol_type type));
|
||||
|
||||
@@ -36,19 +36,23 @@ trap "rm -f $tmp" 0 1 2 3 15
|
||||
|
||||
# Check if we can link to ncurses
|
||||
check() {
|
||||
echo "main() {}" | $cc -xc - -o $tmp 2> /dev/null
|
||||
$cc -xc - -o $tmp 2>/dev/null <<'EOF'
|
||||
#include CURSES_LOC
|
||||
main() {}
|
||||
EOF
|
||||
if [ $? != 0 ]; then
|
||||
echo " *** Unable to find the ncurses libraries." 1>&2
|
||||
echo " *** make menuconfig require the ncurses libraries" 1>&2
|
||||
echo " *** " 1>&2
|
||||
echo " *** Install ncurses (ncurses-devel) and try again" 1>&2
|
||||
echo " *** " 1>&2
|
||||
exit 1
|
||||
echo " *** Unable to find the ncurses libraries or the" 1>&2
|
||||
echo " *** required header files." 1>&2
|
||||
echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
|
||||
echo " *** " 1>&2
|
||||
echo " *** Install ncurses (ncurses-devel) and try again." 1>&2
|
||||
echo " *** " 1>&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
usage() {
|
||||
printf "Usage: $0 [-check compiler options|-header|-library]\n"
|
||||
printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n"
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
|
||||
@@ -41,7 +41,8 @@ static void print_item(WINDOW * win, int choice, int selected)
|
||||
wmove(win, choice, check_x);
|
||||
wattrset(win, selected ? dlg.check_selected.atr
|
||||
: dlg.check.atr);
|
||||
wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
|
||||
if (!item_is_tag(':'))
|
||||
wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
|
||||
|
||||
wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr);
|
||||
mvwaddch(win, choice, item_x, item_str()[0]);
|
||||
@@ -97,8 +98,8 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected)
|
||||
int x = width / 2 - 11;
|
||||
int y = height - 2;
|
||||
|
||||
print_button(dialog, "Select", y, x, selected == 0);
|
||||
print_button(dialog, " Help ", y, x + 14, selected == 1);
|
||||
print_button(dialog, gettext("Select"), y, x, selected == 0);
|
||||
print_button(dialog, gettext(" Help "), y, x + 14, selected == 1);
|
||||
|
||||
wmove(dialog, y, x + 1 + 14 * selected);
|
||||
wrefresh(dialog);
|
||||
|
||||
@@ -26,6 +26,12 @@
|
||||
#include <string.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifndef KBUILD_NO_NLS
|
||||
# include <libintl.h>
|
||||
#else
|
||||
# define gettext(Msgid) ((const char *) (Msgid))
|
||||
#endif
|
||||
|
||||
#ifdef __sun__
|
||||
#define CURS_MACROS
|
||||
#endif
|
||||
@@ -187,10 +193,9 @@ int item_is_tag(char tag);
|
||||
int on_key_esc(WINDOW *win);
|
||||
int on_key_resize(void);
|
||||
|
||||
void init_dialog(const char *backtitle);
|
||||
int init_dialog(const char *backtitle);
|
||||
void set_dialog_backtitle(const char *backtitle);
|
||||
void reset_dialog(void);
|
||||
void end_dialog(void);
|
||||
void end_dialog(int x, int y);
|
||||
void attr_clear(WINDOW * win, int height, int width, chtype attr);
|
||||
void dialog_clear(void);
|
||||
void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x);
|
||||
|
||||
@@ -31,8 +31,8 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected)
|
||||
int x = width / 2 - 11;
|
||||
int y = height - 2;
|
||||
|
||||
print_button(dialog, " Ok ", y, x, selected == 0);
|
||||
print_button(dialog, " Help ", y, x + 14, selected == 1);
|
||||
print_button(dialog, gettext(" Ok "), y, x, selected == 0);
|
||||
print_button(dialog, gettext(" Help "), y, x + 14, selected == 1);
|
||||
|
||||
wmove(dialog, y, x + 1 + 14 * selected);
|
||||
wrefresh(dialog);
|
||||
@@ -89,7 +89,7 @@ do_resize:
|
||||
box_y = y + 2;
|
||||
box_x = (width - box_width) / 2;
|
||||
draw_box(dialog, y + 1, box_x - 1, 3, box_width + 2,
|
||||
dlg.border.atr, dlg.dialog.atr);
|
||||
dlg.dialog.atr, dlg.border.atr);
|
||||
|
||||
print_buttons(dialog, height, width, 0);
|
||||
|
||||
|
||||
@@ -157,9 +157,9 @@ static void print_buttons(WINDOW * win, int height, int width, int selected)
|
||||
int x = width / 2 - 16;
|
||||
int y = height - 2;
|
||||
|
||||
print_button(win, "Select", y, x, selected == 0);
|
||||
print_button(win, " Exit ", y, x + 12, selected == 1);
|
||||
print_button(win, " Help ", y, x + 24, selected == 2);
|
||||
print_button(win, gettext("Select"), y, x, selected == 0);
|
||||
print_button(win, gettext(" Exit "), y, x + 12, selected == 1);
|
||||
print_button(win, gettext(" Help "), y, x + 24, selected == 2);
|
||||
|
||||
wmove(win, y, x + 1 + 12 * selected);
|
||||
wrefresh(win);
|
||||
|
||||
@@ -114,7 +114,7 @@ do_resize:
|
||||
|
||||
print_title(dialog, title, width);
|
||||
|
||||
print_button(dialog, " Exit ", height - 2, width / 2 - 4, TRUE);
|
||||
print_button(dialog, gettext(" Exit "), height - 2, width / 2 - 4, TRUE);
|
||||
wnoutrefresh(dialog);
|
||||
getyx(dialog, cur_y, cur_x); /* Save cursor position */
|
||||
|
||||
|
||||
@@ -266,10 +266,26 @@ void dialog_clear(void)
|
||||
/*
|
||||
* Do some initialization for dialog
|
||||
*/
|
||||
void init_dialog(const char *backtitle)
|
||||
int init_dialog(const char *backtitle)
|
||||
{
|
||||
int height, width;
|
||||
|
||||
initscr(); /* Init curses */
|
||||
getmaxyx(stdscr, height, width);
|
||||
if (height < 19 || width < 80) {
|
||||
endwin();
|
||||
return -ERRDISPLAYTOOSMALL;
|
||||
}
|
||||
|
||||
dlg.backtitle = backtitle;
|
||||
color_setup(getenv("MENUCONFIG_COLOR"));
|
||||
|
||||
keypad(stdscr, TRUE);
|
||||
cbreak();
|
||||
noecho();
|
||||
dialog_clear();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void set_dialog_backtitle(const char *backtitle)
|
||||
@@ -277,20 +293,14 @@ void set_dialog_backtitle(const char *backtitle)
|
||||
dlg.backtitle = backtitle;
|
||||
}
|
||||
|
||||
void reset_dialog(void)
|
||||
{
|
||||
initscr(); /* Init curses */
|
||||
keypad(stdscr, TRUE);
|
||||
cbreak();
|
||||
noecho();
|
||||
dialog_clear();
|
||||
}
|
||||
|
||||
/*
|
||||
* End using dialog functions.
|
||||
*/
|
||||
void end_dialog(void)
|
||||
void end_dialog(int x, int y)
|
||||
{
|
||||
/* move cursor back to original position */
|
||||
move(y, x);
|
||||
refresh();
|
||||
endwin();
|
||||
}
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected)
|
||||
int x = width / 2 - 10;
|
||||
int y = height - 2;
|
||||
|
||||
print_button(dialog, " Yes ", y, x, selected == 0);
|
||||
print_button(dialog, " No ", y, x + 13, selected == 1);
|
||||
print_button(dialog, gettext(" Yes "), y, x, selected == 0);
|
||||
print_button(dialog, gettext(" No "), y, x + 13, selected == 1);
|
||||
|
||||
wmove(dialog, y, x + 1 + 13 * selected);
|
||||
wrefresh(dialog);
|
||||
|
||||
@@ -8,17 +8,13 @@
|
||||
* i18n, 2005, Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
||||
*/
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/wait.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <termios.h>
|
||||
#include <unistd.h>
|
||||
#include <locale.h>
|
||||
|
||||
@@ -274,8 +270,6 @@ search_help[] = N_(
|
||||
"\n");
|
||||
|
||||
static int indent;
|
||||
static struct termios ios_org;
|
||||
static int rows = 0, cols = 0;
|
||||
static struct menu *current_menu;
|
||||
static int child_count;
|
||||
static int single_menu_mode;
|
||||
@@ -289,51 +283,16 @@ static void show_textbox(const char *title, const char *text, int r, int c);
|
||||
static void show_helptext(const char *title, const char *text);
|
||||
static void show_help(struct menu *menu);
|
||||
|
||||
static void init_wsize(void)
|
||||
{
|
||||
struct winsize ws;
|
||||
char *env;
|
||||
|
||||
if (!ioctl(STDIN_FILENO, TIOCGWINSZ, &ws)) {
|
||||
rows = ws.ws_row;
|
||||
cols = ws.ws_col;
|
||||
}
|
||||
|
||||
if (!rows) {
|
||||
env = getenv("LINES");
|
||||
if (env)
|
||||
rows = atoi(env);
|
||||
if (!rows)
|
||||
rows = 24;
|
||||
}
|
||||
if (!cols) {
|
||||
env = getenv("COLUMNS");
|
||||
if (env)
|
||||
cols = atoi(env);
|
||||
if (!cols)
|
||||
cols = 80;
|
||||
}
|
||||
|
||||
if (rows < 19 || cols < 80) {
|
||||
fprintf(stderr, N_("Your display is too small to run Menuconfig!\n"));
|
||||
fprintf(stderr, N_("It must be at least 19 lines by 80 columns.\n"));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
rows -= 4;
|
||||
cols -= 5;
|
||||
}
|
||||
|
||||
static void get_prompt_str(struct gstr *r, struct property *prop)
|
||||
{
|
||||
int i, j;
|
||||
struct menu *submenu[8], *menu;
|
||||
|
||||
str_printf(r, "Prompt: %s\n", prop->text);
|
||||
str_printf(r, " Defined at %s:%d\n", prop->menu->file->name,
|
||||
str_printf(r, _("Prompt: %s\n"), _(prop->text));
|
||||
str_printf(r, _(" Defined at %s:%d\n"), prop->menu->file->name,
|
||||
prop->menu->lineno);
|
||||
if (!expr_is_yes(prop->visible.expr)) {
|
||||
str_append(r, " Depends on: ");
|
||||
str_append(r, _(" Depends on: "));
|
||||
expr_gstr_print(prop->visible.expr, r);
|
||||
str_append(r, "\n");
|
||||
}
|
||||
@@ -341,13 +300,13 @@ static void get_prompt_str(struct gstr *r, struct property *prop)
|
||||
for (i = 0; menu != &rootmenu && i < 8; menu = menu->parent)
|
||||
submenu[i++] = menu;
|
||||
if (i > 0) {
|
||||
str_printf(r, " Location:\n");
|
||||
str_printf(r, _(" Location:\n"));
|
||||
for (j = 4; --i >= 0; j += 2) {
|
||||
menu = submenu[i];
|
||||
str_printf(r, "%*c-> %s", j, ' ', menu_get_prompt(menu));
|
||||
str_printf(r, "%*c-> %s", j, ' ', _(menu_get_prompt(menu)));
|
||||
if (menu->sym) {
|
||||
str_printf(r, " (%s [=%s])", menu->sym->name ?
|
||||
menu->sym->name : "<choice>",
|
||||
menu->sym->name : _("<choice>"),
|
||||
sym_get_string_value(menu->sym));
|
||||
}
|
||||
str_append(r, "\n");
|
||||
@@ -377,7 +336,7 @@ static void get_symbol_str(struct gstr *r, struct symbol *sym)
|
||||
if (hit)
|
||||
str_append(r, "\n");
|
||||
if (sym->rev_dep.expr) {
|
||||
str_append(r, " Selected by: ");
|
||||
str_append(r, _(" Selected by: "));
|
||||
expr_gstr_print(sym->rev_dep.expr, r);
|
||||
str_append(r, "\n");
|
||||
}
|
||||
@@ -393,7 +352,7 @@ static struct gstr get_relations_str(struct symbol **sym_arr)
|
||||
for (i = 0; sym_arr && (sym = sym_arr[i]); i++)
|
||||
get_symbol_str(&res, sym);
|
||||
if (!i)
|
||||
str_append(&res, "No matches found.\n");
|
||||
str_append(&res, _("No matches found.\n"));
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -473,6 +432,7 @@ static void build_conf(struct menu *menu)
|
||||
switch (prop->type) {
|
||||
case P_MENU:
|
||||
child_count++;
|
||||
prompt = _(prompt);
|
||||
if (single_menu_mode) {
|
||||
item_make("%s%*c%s",
|
||||
menu->data ? "-->" : "++>",
|
||||
@@ -488,7 +448,7 @@ static void build_conf(struct menu *menu)
|
||||
case P_COMMENT:
|
||||
if (prompt) {
|
||||
child_count++;
|
||||
item_make(" %*c*** %s ***", indent + 1, ' ', prompt);
|
||||
item_make(" %*c*** %s ***", indent + 1, ' ', _(prompt));
|
||||
item_set_tag(':');
|
||||
item_set_data(menu);
|
||||
}
|
||||
@@ -496,7 +456,7 @@ static void build_conf(struct menu *menu)
|
||||
default:
|
||||
if (prompt) {
|
||||
child_count++;
|
||||
item_make("---%*c%s", indent + 1, ' ', prompt);
|
||||
item_make("---%*c%s", indent + 1, ' ', _(prompt));
|
||||
item_set_tag(':');
|
||||
item_set_data(menu);
|
||||
}
|
||||
@@ -540,10 +500,10 @@ static void build_conf(struct menu *menu)
|
||||
item_set_data(menu);
|
||||
}
|
||||
|
||||
item_add_str("%*c%s", indent + 1, ' ', menu_get_prompt(menu));
|
||||
item_add_str("%*c%s", indent + 1, ' ', _(menu_get_prompt(menu)));
|
||||
if (val == yes) {
|
||||
if (def_menu) {
|
||||
item_add_str(" (%s)", menu_get_prompt(def_menu));
|
||||
item_add_str(" (%s)", _(menu_get_prompt(def_menu)));
|
||||
item_add_str(" --->");
|
||||
if (def_menu->list) {
|
||||
indent += 2;
|
||||
@@ -555,7 +515,7 @@ static void build_conf(struct menu *menu)
|
||||
}
|
||||
} else {
|
||||
if (menu == current_menu) {
|
||||
item_make("---%*c%s", indent + 1, ' ', menu_get_prompt(menu));
|
||||
item_make("---%*c%s", indent + 1, ' ', _(menu_get_prompt(menu)));
|
||||
item_set_tag(':');
|
||||
item_set_data(menu);
|
||||
goto conf_childs;
|
||||
@@ -598,17 +558,17 @@ static void build_conf(struct menu *menu)
|
||||
tmp = indent - tmp + 4;
|
||||
if (tmp < 0)
|
||||
tmp = 0;
|
||||
item_add_str("%*c%s%s", tmp, ' ', menu_get_prompt(menu),
|
||||
item_add_str("%*c%s%s", tmp, ' ', _(menu_get_prompt(menu)),
|
||||
(sym_has_value(sym) || !sym_is_changable(sym)) ?
|
||||
"" : " (NEW)");
|
||||
"" : _(" (NEW)"));
|
||||
item_set_tag('s');
|
||||
item_set_data(menu);
|
||||
goto conf_childs;
|
||||
}
|
||||
}
|
||||
item_add_str("%*c%s%s", indent + 1, ' ', menu_get_prompt(menu),
|
||||
item_add_str("%*c%s%s", indent + 1, ' ', _(menu_get_prompt(menu)),
|
||||
(sym_has_value(sym) || !sym_is_changable(sym)) ?
|
||||
"" : " (NEW)");
|
||||
"" : _(" (NEW)"));
|
||||
if (menu->prompt->type == P_MENU) {
|
||||
item_add_str(" --->");
|
||||
return;
|
||||
@@ -646,7 +606,7 @@ static void conf(struct menu *menu)
|
||||
item_set_tag('S');
|
||||
}
|
||||
dialog_clear();
|
||||
res = dialog_menu(prompt ? prompt : _("Main Menu"),
|
||||
res = dialog_menu(prompt ? _(prompt) : _("Main Menu"),
|
||||
_(menu_instructions),
|
||||
active_menu, &s_scroll);
|
||||
if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL)
|
||||
@@ -693,7 +653,7 @@ static void conf(struct menu *menu)
|
||||
if (sym)
|
||||
show_help(submenu);
|
||||
else
|
||||
show_helptext("README", _(mconf_readme));
|
||||
show_helptext(_("README"), _(mconf_readme));
|
||||
break;
|
||||
case 3:
|
||||
if (item_is_tag('t')) {
|
||||
@@ -743,7 +703,7 @@ static void show_help(struct menu *menu)
|
||||
if (menu_has_help(menu))
|
||||
{
|
||||
if (sym->name) {
|
||||
str_printf(&help, "%s:\n\n", sym->name);
|
||||
str_printf(&help, "CONFIG_%s:\n\n", sym->name);
|
||||
str_append(&help, _(menu_get_help(menu)));
|
||||
str_append(&help, "\n");
|
||||
}
|
||||
@@ -751,13 +711,13 @@ static void show_help(struct menu *menu)
|
||||
str_append(&help, nohelp_text);
|
||||
}
|
||||
get_symbol_str(&help, sym);
|
||||
show_helptext(menu_get_prompt(menu), str_get(&help));
|
||||
show_helptext(_(menu_get_prompt(menu)), str_get(&help));
|
||||
str_free(&help);
|
||||
}
|
||||
|
||||
static void conf_choice(struct menu *menu)
|
||||
{
|
||||
const char *prompt = menu_get_prompt(menu);
|
||||
const char *prompt = _(menu_get_prompt(menu));
|
||||
struct menu *child;
|
||||
struct symbol *active;
|
||||
|
||||
@@ -771,7 +731,12 @@ static void conf_choice(struct menu *menu)
|
||||
for (child = menu->list; child; child = child->next) {
|
||||
if (!menu_is_visible(child))
|
||||
continue;
|
||||
item_make("%s", menu_get_prompt(child));
|
||||
if (child->sym)
|
||||
item_make("%s", _(menu_get_prompt(child)));
|
||||
else {
|
||||
item_make("*** %s ***", _(menu_get_prompt(child)));
|
||||
item_set_tag(':');
|
||||
}
|
||||
item_set_data(child);
|
||||
if (child->sym == active)
|
||||
item_set_selected(1);
|
||||
@@ -779,7 +744,7 @@ static void conf_choice(struct menu *menu)
|
||||
item_set_tag('X');
|
||||
}
|
||||
dialog_clear();
|
||||
res = dialog_checklist(prompt ? prompt : _("Main Menu"),
|
||||
res = dialog_checklist(prompt ? _(prompt) : _("Main Menu"),
|
||||
_(radiolist_instructions),
|
||||
15, 70, 6);
|
||||
selected = item_activate_selected();
|
||||
@@ -787,6 +752,9 @@ static void conf_choice(struct menu *menu)
|
||||
case 0:
|
||||
if (selected) {
|
||||
child = item_data();
|
||||
if (!child->sym)
|
||||
break;
|
||||
|
||||
sym_set_tristate_value(child->sym, yes);
|
||||
}
|
||||
return;
|
||||
@@ -812,7 +780,7 @@ static void conf_string(struct menu *menu)
|
||||
|
||||
while (1) {
|
||||
int res;
|
||||
char *heading;
|
||||
const char *heading;
|
||||
|
||||
switch (sym_get_type(menu->sym)) {
|
||||
case S_INT:
|
||||
@@ -825,10 +793,10 @@ static void conf_string(struct menu *menu)
|
||||
heading = _(inputbox_instructions_string);
|
||||
break;
|
||||
default:
|
||||
heading = "Internal mconf error!";
|
||||
heading = _("Internal mconf error!");
|
||||
}
|
||||
dialog_clear();
|
||||
res = dialog_inputbox(prompt ? prompt : _("Main Menu"),
|
||||
res = dialog_inputbox(prompt ? _(prompt) : _("Main Menu"),
|
||||
heading, 10, 75,
|
||||
sym_get_string_value(menu->sym));
|
||||
switch (res) {
|
||||
@@ -860,6 +828,7 @@ static void conf_load(void)
|
||||
return;
|
||||
if (!conf_read(dialog_input_result)) {
|
||||
set_config_filename(dialog_input_result);
|
||||
sym_set_change_count(1);
|
||||
return;
|
||||
}
|
||||
show_textbox(NULL, _("File does not exist!"), 5, 38);
|
||||
@@ -899,13 +868,9 @@ static void conf_save(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void conf_cleanup(void)
|
||||
{
|
||||
tcsetattr(1, TCSAFLUSH, &ios_org);
|
||||
}
|
||||
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
int saved_x, saved_y;
|
||||
char *mode;
|
||||
int res;
|
||||
|
||||
@@ -922,11 +887,13 @@ int main(int ac, char **av)
|
||||
single_menu_mode = 1;
|
||||
}
|
||||
|
||||
tcgetattr(1, &ios_org);
|
||||
atexit(conf_cleanup);
|
||||
init_wsize();
|
||||
reset_dialog();
|
||||
init_dialog(NULL);
|
||||
getyx(stdscr, saved_y, saved_x);
|
||||
if (init_dialog(NULL)) {
|
||||
fprintf(stderr, N_("Your display is too small to run Menuconfig!\n"));
|
||||
fprintf(stderr, N_("It must be at least 19 lines by 80 columns.\n"));
|
||||
return 1;
|
||||
}
|
||||
|
||||
set_config_filename(conf_get_configname());
|
||||
do {
|
||||
conf(&rootmenu);
|
||||
@@ -940,7 +907,7 @@ int main(int ac, char **av)
|
||||
else
|
||||
res = -1;
|
||||
} while (res == KEY_ESC);
|
||||
end_dialog();
|
||||
end_dialog(saved_x, saved_y);
|
||||
|
||||
switch (res) {
|
||||
case 0:
|
||||
@@ -965,3 +932,4 @@ int main(int ac, char **av)
|
||||
|
||||
return conf_write_autoconf();
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ static struct menu **last_entry_ptr;
|
||||
struct file *file_list;
|
||||
struct file *current_file;
|
||||
|
||||
static void menu_warn(struct menu *menu, const char *fmt, ...)
|
||||
void menu_warn(struct menu *menu, const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
@@ -172,6 +172,9 @@ void menu_add_option(int token, char *arg)
|
||||
else if (sym_defconfig_list != current_entry->sym)
|
||||
zconf_error("trying to redefine defconfig symbol");
|
||||
break;
|
||||
case T_OPT_ENV:
|
||||
prop_add_env(arg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,12 +203,9 @@ void sym_check_prop(struct symbol *sym)
|
||||
prop_warn(prop,
|
||||
"config symbol '%s' uses select, but is "
|
||||
"not boolean or tristate", sym->name);
|
||||
else if (sym2->type == S_UNKNOWN)
|
||||
prop_warn(prop,
|
||||
"'select' used by config symbol '%s' "
|
||||
"refers to undefined symbol '%s'",
|
||||
sym->name, sym2->name);
|
||||
else if (sym2->type != S_BOOLEAN && sym2->type != S_TRISTATE)
|
||||
else if (sym2->type != S_UNKNOWN &&
|
||||
sym2->type != S_BOOLEAN &&
|
||||
sym2->type != S_TRISTATE)
|
||||
prop_warn(prop,
|
||||
"'%s' has wrong type. 'select' only "
|
||||
"accept arguments of boolean and "
|
||||
@@ -235,16 +235,22 @@ void menu_finalize(struct menu *parent)
|
||||
sym = parent->sym;
|
||||
if (parent->list) {
|
||||
if (sym && sym_is_choice(sym)) {
|
||||
/* find the first choice value and find out choice type */
|
||||
for (menu = parent->list; menu; menu = menu->next) {
|
||||
if (menu->sym) {
|
||||
current_entry = parent;
|
||||
menu_set_type(menu->sym->type);
|
||||
current_entry = menu;
|
||||
menu_set_type(sym->type);
|
||||
break;
|
||||
if (sym->type == S_UNKNOWN) {
|
||||
/* find the first choice value to find out choice type */
|
||||
current_entry = parent;
|
||||
for (menu = parent->list; menu; menu = menu->next) {
|
||||
if (menu->sym && menu->sym->type != S_UNKNOWN) {
|
||||
menu_set_type(menu->sym->type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* set the type of the remaining choice values */
|
||||
for (menu = parent->list; menu; menu = menu->next) {
|
||||
current_entry = menu;
|
||||
if (menu->sym && menu->sym->type == S_UNKNOWN)
|
||||
menu_set_type(sym->type);
|
||||
}
|
||||
parentdep = expr_alloc_symbol(sym);
|
||||
} else if (parent->prompt)
|
||||
parentdep = parent->prompt->visible.expr;
|
||||
@@ -311,27 +317,43 @@ void menu_finalize(struct menu *parent)
|
||||
}
|
||||
}
|
||||
for (menu = parent->list; menu; menu = menu->next) {
|
||||
if (sym && sym_is_choice(sym) && menu->sym) {
|
||||
if (sym && sym_is_choice(sym) &&
|
||||
menu->sym && !sym_is_choice_value(menu->sym)) {
|
||||
current_entry = menu;
|
||||
menu->sym->flags |= SYMBOL_CHOICEVAL;
|
||||
if (!menu->prompt)
|
||||
menu_warn(menu, "choice value must have a prompt");
|
||||
for (prop = menu->sym->prop; prop; prop = prop->next) {
|
||||
if (prop->type == P_PROMPT && prop->menu != menu) {
|
||||
prop_warn(prop, "choice values "
|
||||
"currently only support a "
|
||||
"single prompt");
|
||||
}
|
||||
if (prop->type == P_DEFAULT)
|
||||
prop_warn(prop, "defaults for choice "
|
||||
"values not supported");
|
||||
"values not supported");
|
||||
if (prop->menu == menu)
|
||||
continue;
|
||||
if (prop->type == P_PROMPT &&
|
||||
prop->menu->parent->sym != sym)
|
||||
prop_warn(prop, "choice value used outside its choice group");
|
||||
}
|
||||
/* Non-tristate choice values of tristate choices must
|
||||
* depend on the choice being set to Y. The choice
|
||||
* values' dependencies were propagated to their
|
||||
* properties above, so the change here must be re-
|
||||
* propagated.
|
||||
*/
|
||||
if (sym->type == S_TRISTATE && menu->sym->type != S_TRISTATE) {
|
||||
basedep = expr_alloc_comp(E_EQUAL, sym, &symbol_yes);
|
||||
menu->dep = expr_alloc_and(basedep, menu->dep);
|
||||
for (prop = menu->sym->prop; prop; prop = prop->next) {
|
||||
if (prop->menu != menu)
|
||||
continue;
|
||||
prop->visible.expr = expr_alloc_and(expr_copy(basedep),
|
||||
prop->visible.expr);
|
||||
}
|
||||
}
|
||||
current_entry = menu;
|
||||
menu_set_type(sym->type);
|
||||
menu_add_symbol(P_CHOICE, sym, NULL);
|
||||
prop = sym_get_choice_prop(sym);
|
||||
for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr)
|
||||
;
|
||||
*ep = expr_alloc_one(E_CHOICE, NULL);
|
||||
*ep = expr_alloc_one(E_LIST, NULL);
|
||||
(*ep)->right.sym = menu->sym;
|
||||
}
|
||||
if (menu->list && (!menu->prompt || !menu->prompt->text)) {
|
||||
@@ -394,9 +416,9 @@ bool menu_is_visible(struct menu *menu)
|
||||
const char *menu_get_prompt(struct menu *menu)
|
||||
{
|
||||
if (menu->prompt)
|
||||
return _(menu->prompt->text);
|
||||
return menu->prompt->text;
|
||||
else if (menu->sym)
|
||||
return _(menu->sym->name);
|
||||
return menu->sym->name;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <qapplication.h>
|
||||
#include <qmainwindow.h>
|
||||
#include <qdesktopwidget.h>
|
||||
#include <qtoolbar.h>
|
||||
#include <qlayout.h>
|
||||
#include <qvbox.h>
|
||||
@@ -114,7 +115,7 @@ void ConfigItem::updateMenu(void)
|
||||
|
||||
sym = menu->sym;
|
||||
prop = menu->prompt;
|
||||
prompt = QString::fromLocal8Bit(menu_get_prompt(menu));
|
||||
prompt = _(menu_get_prompt(menu));
|
||||
|
||||
if (prop) switch (prop->type) {
|
||||
case P_MENU:
|
||||
@@ -208,7 +209,7 @@ void ConfigItem::updateMenu(void)
|
||||
break;
|
||||
}
|
||||
if (!sym_has_value(sym) && visible)
|
||||
prompt += " (NEW)";
|
||||
prompt += _(" (NEW)");
|
||||
set_prompt:
|
||||
setText(promptColIdx, prompt);
|
||||
}
|
||||
@@ -297,10 +298,10 @@ void ConfigLineEdit::show(ConfigItem* i)
|
||||
void ConfigLineEdit::keyPressEvent(QKeyEvent* e)
|
||||
{
|
||||
switch (e->key()) {
|
||||
case Key_Escape:
|
||||
case Qt::Key_Escape:
|
||||
break;
|
||||
case Key_Return:
|
||||
case Key_Enter:
|
||||
case Qt::Key_Return:
|
||||
case Qt::Key_Enter:
|
||||
sym_set_string_value(item->menu->sym, text().latin1());
|
||||
parent()->updateList(item);
|
||||
break;
|
||||
@@ -346,7 +347,7 @@ ConfigList::ConfigList(ConfigView* p, const char *name)
|
||||
|
||||
for (i = 0; i < colNr; i++)
|
||||
colMap[i] = colRevMap[i] = -1;
|
||||
addColumn(promptColIdx, "Option");
|
||||
addColumn(promptColIdx, _("Option"));
|
||||
|
||||
reinit();
|
||||
}
|
||||
@@ -360,14 +361,14 @@ void ConfigList::reinit(void)
|
||||
removeColumn(nameColIdx);
|
||||
|
||||
if (showName)
|
||||
addColumn(nameColIdx, "Name");
|
||||
addColumn(nameColIdx, _("Name"));
|
||||
if (showRange) {
|
||||
addColumn(noColIdx, "N");
|
||||
addColumn(modColIdx, "M");
|
||||
addColumn(yesColIdx, "Y");
|
||||
}
|
||||
if (showData)
|
||||
addColumn(dataColIdx, "Value");
|
||||
addColumn(dataColIdx, _("Value"));
|
||||
|
||||
updateListAll();
|
||||
}
|
||||
@@ -639,7 +640,7 @@ void ConfigList::keyPressEvent(QKeyEvent* ev)
|
||||
struct menu *menu;
|
||||
enum prop_type type;
|
||||
|
||||
if (ev->key() == Key_Escape && mode != fullMode && mode != listMode) {
|
||||
if (ev->key() == Qt::Key_Escape && mode != fullMode && mode != listMode) {
|
||||
emit parentSelected();
|
||||
ev->accept();
|
||||
return;
|
||||
@@ -652,8 +653,8 @@ void ConfigList::keyPressEvent(QKeyEvent* ev)
|
||||
item = (ConfigItem*)i;
|
||||
|
||||
switch (ev->key()) {
|
||||
case Key_Return:
|
||||
case Key_Enter:
|
||||
case Qt::Key_Return:
|
||||
case Qt::Key_Enter:
|
||||
if (item->goParent) {
|
||||
emit parentSelected();
|
||||
break;
|
||||
@@ -667,16 +668,16 @@ void ConfigList::keyPressEvent(QKeyEvent* ev)
|
||||
emit menuSelected(menu);
|
||||
break;
|
||||
}
|
||||
case Key_Space:
|
||||
case Qt::Key_Space:
|
||||
changeValue(item);
|
||||
break;
|
||||
case Key_N:
|
||||
case Qt::Key_N:
|
||||
setValue(item, no);
|
||||
break;
|
||||
case Key_M:
|
||||
case Qt::Key_M:
|
||||
setValue(item, mod);
|
||||
break;
|
||||
case Key_Y:
|
||||
case Qt::Key_Y:
|
||||
setValue(item, yes);
|
||||
break;
|
||||
default:
|
||||
@@ -803,7 +804,7 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e)
|
||||
QAction *action;
|
||||
|
||||
headerPopup = new QPopupMenu(this);
|
||||
action = new QAction(NULL, "Show Name", 0, this);
|
||||
action = new QAction(NULL, _("Show Name"), 0, this);
|
||||
action->setToggleAction(TRUE);
|
||||
connect(action, SIGNAL(toggled(bool)),
|
||||
parent(), SLOT(setShowName(bool)));
|
||||
@@ -811,7 +812,7 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e)
|
||||
action, SLOT(setOn(bool)));
|
||||
action->setOn(showName);
|
||||
action->addTo(headerPopup);
|
||||
action = new QAction(NULL, "Show Range", 0, this);
|
||||
action = new QAction(NULL, _("Show Range"), 0, this);
|
||||
action->setToggleAction(TRUE);
|
||||
connect(action, SIGNAL(toggled(bool)),
|
||||
parent(), SLOT(setShowRange(bool)));
|
||||
@@ -819,7 +820,7 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e)
|
||||
action, SLOT(setOn(bool)));
|
||||
action->setOn(showRange);
|
||||
action->addTo(headerPopup);
|
||||
action = new QAction(NULL, "Show Data", 0, this);
|
||||
action = new QAction(NULL, _("Show Data"), 0, this);
|
||||
action->setToggleAction(TRUE);
|
||||
connect(action, SIGNAL(toggled(bool)),
|
||||
parent(), SLOT(setShowData(bool)));
|
||||
@@ -920,7 +921,7 @@ void ConfigView::updateListAll(void)
|
||||
}
|
||||
|
||||
ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
|
||||
: Parent(parent, name), menu(0), sym(0)
|
||||
: Parent(parent, name), sym(0), menu(0)
|
||||
{
|
||||
if (name) {
|
||||
configSettings->beginGroup(name);
|
||||
@@ -1041,7 +1042,12 @@ void ConfigInfoView::menuInfo(void)
|
||||
if (showDebug())
|
||||
debug = debug_info(sym);
|
||||
|
||||
help = print_filter(_(menu_get_help(menu)));
|
||||
help = menu_get_help(menu);
|
||||
/* Gettextize if the help text not empty */
|
||||
if (help.isEmpty())
|
||||
help = print_filter(menu_get_help(menu));
|
||||
else
|
||||
help = print_filter(_(menu_get_help(menu)));
|
||||
} else if (menu->prompt) {
|
||||
head += "<big><b>";
|
||||
head += print_filter(_(menu->prompt->text));
|
||||
@@ -1083,7 +1089,11 @@ QString ConfigInfoView::debug_info(struct symbol *sym)
|
||||
debug += "</a><br>";
|
||||
break;
|
||||
case P_DEFAULT:
|
||||
debug += "default: ";
|
||||
case P_SELECT:
|
||||
case P_RANGE:
|
||||
case P_ENV:
|
||||
debug += prop_get_type_name(prop->type);
|
||||
debug += ": ";
|
||||
expr_print(prop->expr, expr_print_help, &debug, E_NONE);
|
||||
debug += "<br>";
|
||||
break;
|
||||
@@ -1094,16 +1104,6 @@ QString ConfigInfoView::debug_info(struct symbol *sym)
|
||||
debug += "<br>";
|
||||
}
|
||||
break;
|
||||
case P_SELECT:
|
||||
debug += "select: ";
|
||||
expr_print(prop->expr, expr_print_help, &debug, E_NONE);
|
||||
debug += "<br>";
|
||||
break;
|
||||
case P_RANGE:
|
||||
debug += "range: ";
|
||||
expr_print(prop->expr, expr_print_help, &debug, E_NONE);
|
||||
debug += "<br>";
|
||||
break;
|
||||
default:
|
||||
debug += "unknown property: ";
|
||||
debug += prop_get_type_name(prop->type);
|
||||
@@ -1167,7 +1167,7 @@ void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char
|
||||
QPopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos)
|
||||
{
|
||||
QPopupMenu* popup = Parent::createPopupMenu(pos);
|
||||
QAction* action = new QAction(NULL,"Show Debug Info", 0, popup);
|
||||
QAction* action = new QAction(NULL, _("Show Debug Info"), 0, popup);
|
||||
action->setToggleAction(TRUE);
|
||||
connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool)));
|
||||
connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool)));
|
||||
@@ -1189,18 +1189,18 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *nam
|
||||
|
||||
QVBoxLayout* layout1 = new QVBoxLayout(this, 11, 6);
|
||||
QHBoxLayout* layout2 = new QHBoxLayout(0, 0, 6);
|
||||
layout2->addWidget(new QLabel("Find:", this));
|
||||
layout2->addWidget(new QLabel(_("Find:"), this));
|
||||
editField = new QLineEdit(this);
|
||||
connect(editField, SIGNAL(returnPressed()), SLOT(search()));
|
||||
layout2->addWidget(editField);
|
||||
searchButton = new QPushButton("Search", this);
|
||||
searchButton = new QPushButton(_("Search"), this);
|
||||
searchButton->setAutoDefault(FALSE);
|
||||
connect(searchButton, SIGNAL(clicked()), SLOT(search()));
|
||||
layout2->addWidget(searchButton);
|
||||
layout1->addLayout(layout2);
|
||||
|
||||
split = new QSplitter(this);
|
||||
split->setOrientation(QSplitter::Vertical);
|
||||
split->setOrientation(Qt::Vertical);
|
||||
list = new ConfigView(split, name);
|
||||
list->list->mode = listMode;
|
||||
info = new ConfigInfoView(split, name);
|
||||
@@ -1276,9 +1276,8 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
int x, y, width, height;
|
||||
char title[256];
|
||||
|
||||
QWidget *d = configApp->desktop();
|
||||
snprintf(title, sizeof(title), _("Linux Kernel v%s Configuration"),
|
||||
getenv("KERNELVERSION"));
|
||||
QDesktopWidget *d = configApp->desktop();
|
||||
snprintf(title, sizeof(title), _("Buildroot Configuration"));
|
||||
setCaption(title);
|
||||
|
||||
width = configSettings->readNumEntry("/window width", d->width() - 64);
|
||||
@@ -1291,14 +1290,14 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
move(x, y);
|
||||
|
||||
split1 = new QSplitter(this);
|
||||
split1->setOrientation(QSplitter::Horizontal);
|
||||
split1->setOrientation(Qt::Horizontal);
|
||||
setCentralWidget(split1);
|
||||
|
||||
menuView = new ConfigView(split1, "menu");
|
||||
menuList = menuView->list;
|
||||
|
||||
split2 = new QSplitter(split1);
|
||||
split2->setOrientation(QSplitter::Vertical);
|
||||
split2->setOrientation(Qt::Vertical);
|
||||
|
||||
// create config tree
|
||||
configView = new ConfigView(split2, "config");
|
||||
@@ -1313,58 +1312,58 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
menu = menuBar();
|
||||
toolBar = new QToolBar("Tools", this);
|
||||
|
||||
backAction = new QAction("Back", QPixmap(xpm_back), "Back", 0, this);
|
||||
backAction = new QAction("Back", QPixmap(xpm_back), _("Back"), 0, this);
|
||||
connect(backAction, SIGNAL(activated()), SLOT(goBack()));
|
||||
backAction->setEnabled(FALSE);
|
||||
QAction *quitAction = new QAction("Quit", "&Quit", CTRL+Key_Q, this);
|
||||
QAction *quitAction = new QAction("Quit", _("&Quit"), Qt::CTRL + Qt::Key_Q, this);
|
||||
connect(quitAction, SIGNAL(activated()), SLOT(close()));
|
||||
QAction *loadAction = new QAction("Load", QPixmap(xpm_load), "&Load", CTRL+Key_L, this);
|
||||
QAction *loadAction = new QAction("Load", QPixmap(xpm_load), _("&Load"), Qt::CTRL + Qt::Key_L, this);
|
||||
connect(loadAction, SIGNAL(activated()), SLOT(loadConfig()));
|
||||
saveAction = new QAction("Save", QPixmap(xpm_save), "&Save", CTRL+Key_S, this);
|
||||
saveAction = new QAction("Save", QPixmap(xpm_save), _("&Save"), Qt::CTRL + Qt::Key_S, this);
|
||||
connect(saveAction, SIGNAL(activated()), SLOT(saveConfig()));
|
||||
conf_set_changed_callback(conf_changed);
|
||||
// Set saveAction's initial state
|
||||
conf_changed();
|
||||
QAction *saveAsAction = new QAction("Save As...", "Save &As...", 0, this);
|
||||
QAction *saveAsAction = new QAction("Save As...", _("Save &As..."), 0, this);
|
||||
connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs()));
|
||||
QAction *searchAction = new QAction("Find", "&Find", CTRL+Key_F, this);
|
||||
QAction *searchAction = new QAction("Find", _("&Find"), Qt::CTRL + Qt::Key_F, this);
|
||||
connect(searchAction, SIGNAL(activated()), SLOT(searchConfig()));
|
||||
QAction *singleViewAction = new QAction("Single View", QPixmap(xpm_single_view), "Split View", 0, this);
|
||||
QAction *singleViewAction = new QAction("Single View", QPixmap(xpm_single_view), _("Single View"), 0, this);
|
||||
connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView()));
|
||||
QAction *splitViewAction = new QAction("Split View", QPixmap(xpm_split_view), "Split View", 0, this);
|
||||
QAction *splitViewAction = new QAction("Split View", QPixmap(xpm_split_view), _("Split View"), 0, this);
|
||||
connect(splitViewAction, SIGNAL(activated()), SLOT(showSplitView()));
|
||||
QAction *fullViewAction = new QAction("Full View", QPixmap(xpm_tree_view), "Full View", 0, this);
|
||||
QAction *fullViewAction = new QAction("Full View", QPixmap(xpm_tree_view), _("Full View"), 0, this);
|
||||
connect(fullViewAction, SIGNAL(activated()), SLOT(showFullView()));
|
||||
|
||||
QAction *showNameAction = new QAction(NULL, "Show Name", 0, this);
|
||||
QAction *showNameAction = new QAction(NULL, _("Show Name"), 0, this);
|
||||
showNameAction->setToggleAction(TRUE);
|
||||
connect(showNameAction, SIGNAL(toggled(bool)), configView, SLOT(setShowName(bool)));
|
||||
connect(configView, SIGNAL(showNameChanged(bool)), showNameAction, SLOT(setOn(bool)));
|
||||
showNameAction->setOn(configView->showName());
|
||||
QAction *showRangeAction = new QAction(NULL, "Show Range", 0, this);
|
||||
QAction *showRangeAction = new QAction(NULL, _("Show Range"), 0, this);
|
||||
showRangeAction->setToggleAction(TRUE);
|
||||
connect(showRangeAction, SIGNAL(toggled(bool)), configView, SLOT(setShowRange(bool)));
|
||||
connect(configView, SIGNAL(showRangeChanged(bool)), showRangeAction, SLOT(setOn(bool)));
|
||||
showRangeAction->setOn(configList->showRange);
|
||||
QAction *showDataAction = new QAction(NULL, "Show Data", 0, this);
|
||||
QAction *showDataAction = new QAction(NULL, _("Show Data"), 0, this);
|
||||
showDataAction->setToggleAction(TRUE);
|
||||
connect(showDataAction, SIGNAL(toggled(bool)), configView, SLOT(setShowData(bool)));
|
||||
connect(configView, SIGNAL(showDataChanged(bool)), showDataAction, SLOT(setOn(bool)));
|
||||
showDataAction->setOn(configList->showData);
|
||||
QAction *showAllAction = new QAction(NULL, "Show All Options", 0, this);
|
||||
QAction *showAllAction = new QAction(NULL, _("Show All Options"), 0, this);
|
||||
showAllAction->setToggleAction(TRUE);
|
||||
connect(showAllAction, SIGNAL(toggled(bool)), configView, SLOT(setShowAll(bool)));
|
||||
connect(showAllAction, SIGNAL(toggled(bool)), menuView, SLOT(setShowAll(bool)));
|
||||
showAllAction->setOn(configList->showAll);
|
||||
QAction *showDebugAction = new QAction(NULL, "Show Debug Info", 0, this);
|
||||
QAction *showDebugAction = new QAction(NULL, _("Show Debug Info"), 0, this);
|
||||
showDebugAction->setToggleAction(TRUE);
|
||||
connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool)));
|
||||
connect(helpText, SIGNAL(showDebugChanged(bool)), showDebugAction, SLOT(setOn(bool)));
|
||||
showDebugAction->setOn(helpText->showDebug());
|
||||
|
||||
QAction *showIntroAction = new QAction(NULL, "Introduction", 0, this);
|
||||
QAction *showIntroAction = new QAction(NULL, _("Introduction"), 0, this);
|
||||
connect(showIntroAction, SIGNAL(activated()), SLOT(showIntro()));
|
||||
QAction *showAboutAction = new QAction(NULL, "About", 0, this);
|
||||
QAction *showAboutAction = new QAction(NULL, _("About"), 0, this);
|
||||
connect(showAboutAction, SIGNAL(activated()), SLOT(showAbout()));
|
||||
|
||||
// init tool bar
|
||||
@@ -1379,7 +1378,7 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
|
||||
// create config menu
|
||||
QPopupMenu* config = new QPopupMenu(this);
|
||||
menu->insertItem("&File", config);
|
||||
menu->insertItem(_("&File"), config);
|
||||
loadAction->addTo(config);
|
||||
saveAction->addTo(config);
|
||||
saveAsAction->addTo(config);
|
||||
@@ -1388,12 +1387,12 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
|
||||
// create edit menu
|
||||
QPopupMenu* editMenu = new QPopupMenu(this);
|
||||
menu->insertItem("&Edit", editMenu);
|
||||
menu->insertItem(_("&Edit"), editMenu);
|
||||
searchAction->addTo(editMenu);
|
||||
|
||||
// create options menu
|
||||
QPopupMenu* optionMenu = new QPopupMenu(this);
|
||||
menu->insertItem("&Option", optionMenu);
|
||||
menu->insertItem(_("&Option"), optionMenu);
|
||||
showNameAction->addTo(optionMenu);
|
||||
showRangeAction->addTo(optionMenu);
|
||||
showDataAction->addTo(optionMenu);
|
||||
@@ -1404,7 +1403,7 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
// create help menu
|
||||
QPopupMenu* helpMenu = new QPopupMenu(this);
|
||||
menu->insertSeparator();
|
||||
menu->insertItem("&Help", helpMenu);
|
||||
menu->insertItem(_("&Help"), helpMenu);
|
||||
showIntroAction->addTo(helpMenu);
|
||||
showAboutAction->addTo(helpMenu);
|
||||
|
||||
@@ -1448,27 +1447,27 @@ ConfigMainWindow::ConfigMainWindow(void)
|
||||
|
||||
void ConfigMainWindow::loadConfig(void)
|
||||
{
|
||||
QString s = QFileDialog::getOpenFileName(".config", NULL, this);
|
||||
QString s = QFileDialog::getOpenFileName(conf_get_configname(), NULL, this);
|
||||
if (s.isNull())
|
||||
return;
|
||||
if (conf_read(QFile::encodeName(s)))
|
||||
QMessageBox::information(this, "qconf", "Unable to load configuration!");
|
||||
QMessageBox::information(this, "qconf", _("Unable to load configuration!"));
|
||||
ConfigView::updateListAll();
|
||||
}
|
||||
|
||||
void ConfigMainWindow::saveConfig(void)
|
||||
{
|
||||
if (conf_write(NULL))
|
||||
QMessageBox::information(this, "qconf", "Unable to save configuration!");
|
||||
QMessageBox::information(this, "qconf", _("Unable to save configuration!"));
|
||||
}
|
||||
|
||||
void ConfigMainWindow::saveConfigAs(void)
|
||||
{
|
||||
QString s = QFileDialog::getSaveFileName(".config", NULL, this);
|
||||
QString s = QFileDialog::getSaveFileName(conf_get_configname(), NULL, this);
|
||||
if (s.isNull())
|
||||
return;
|
||||
if (conf_write(QFile::encodeName(s)))
|
||||
QMessageBox::information(this, "qconf", "Unable to save configuration!");
|
||||
QMessageBox::information(this, "qconf", _("Unable to save configuration!"));
|
||||
}
|
||||
|
||||
void ConfigMainWindow::searchConfig(void)
|
||||
@@ -1525,6 +1524,8 @@ void ConfigMainWindow::setMenuLink(struct menu *menu)
|
||||
case fullMode:
|
||||
list = configList;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (list) {
|
||||
@@ -1610,16 +1611,18 @@ void ConfigMainWindow::closeEvent(QCloseEvent* e)
|
||||
{
|
||||
if (!conf_get_changed()) {
|
||||
e->accept();
|
||||
conf_write_autoconf();
|
||||
return;
|
||||
}
|
||||
QMessageBox mb("qconf", "Save configuration?", QMessageBox::Warning,
|
||||
QMessageBox mb("qconf", _("Save configuration?"), QMessageBox::Warning,
|
||||
QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape);
|
||||
mb.setButtonText(QMessageBox::Yes, "&Save Changes");
|
||||
mb.setButtonText(QMessageBox::No, "&Discard Changes");
|
||||
mb.setButtonText(QMessageBox::Cancel, "Cancel Exit");
|
||||
mb.setButtonText(QMessageBox::Yes, _("&Save Changes"));
|
||||
mb.setButtonText(QMessageBox::No, _("&Discard Changes"));
|
||||
mb.setButtonText(QMessageBox::Cancel, _("Cancel Exit"));
|
||||
switch (mb.exec()) {
|
||||
case QMessageBox::Yes:
|
||||
conf_write(NULL);
|
||||
conf_write_autoconf();
|
||||
case QMessageBox::No:
|
||||
e->accept();
|
||||
break;
|
||||
@@ -1631,7 +1634,7 @@ void ConfigMainWindow::closeEvent(QCloseEvent* e)
|
||||
|
||||
void ConfigMainWindow::showIntro(void)
|
||||
{
|
||||
static char str[] = "Welcome to the qconf graphical kernel configuration tool for Linux.\n\n"
|
||||
static const QString str = _("Welcome to the qconf graphical kernel configuration tool for Linux.\n\n"
|
||||
"For each option, a blank box indicates the feature is disabled, a check\n"
|
||||
"indicates it is enabled, and a dot indicates that it is to be compiled\n"
|
||||
"as a module. Clicking on the box will cycle through the three states.\n\n"
|
||||
@@ -1641,15 +1644,15 @@ void ConfigMainWindow::showIntro(void)
|
||||
"options must be enabled to support the option you are interested in, you can\n"
|
||||
"still view the help of a grayed-out option.\n\n"
|
||||
"Toggling Show Debug Info under the Options menu will show the dependencies,\n"
|
||||
"which you can then match by examining other options.\n\n";
|
||||
"which you can then match by examining other options.\n\n");
|
||||
|
||||
QMessageBox::information(this, "qconf", str);
|
||||
}
|
||||
|
||||
void ConfigMainWindow::showAbout(void)
|
||||
{
|
||||
static char str[] = "qconf is Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>.\n\n"
|
||||
"Bug reports and feature request can also be entered at http://bugzilla.kernel.org/\n";
|
||||
static const QString str = _("qconf is Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>.\n\n"
|
||||
"Bug reports and feature request can also be entered at http://bugzilla.kernel.org/\n");
|
||||
|
||||
QMessageBox::information(this, "qconf", str);
|
||||
}
|
||||
@@ -1674,6 +1677,9 @@ void ConfigMainWindow::saveSettings(void)
|
||||
case fullMode :
|
||||
entry = "full";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
configSettings->writeEntry("/listMode", entry);
|
||||
|
||||
@@ -1707,7 +1713,7 @@ static const char *progname;
|
||||
|
||||
static void usage(void)
|
||||
{
|
||||
printf("%s <config>\n", progname);
|
||||
printf(_("%s <config>\n"), progname);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user