Commit Graph

142 Commits

Author SHA1 Message Date
Chris Packham
8ee3089202 kconfig: Use ncurses location determined by ./configure
Prior to commit bbc4db13 ("kconfig: Sync with upstream v4.18") we used
the macros CURSES_LOC and MENU_LOC to tell us where curses.h and menu.h
were installed. Restore this behaviour so that we can deal with some of
the odd places that the curses headers end up.

Fixes #1403

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-28 20:59:14 +13:00
Alexey Neyman
e3446acf4e Fix dist-create-release after kconfig update
After commits 21095fab6 and acce58834, 'make dist-create-release' fails.

1. kconf_id.c is gone but it is still listed in EXTRA_DIST.

2. Only the files not listed in xxx_SOURCES need to be placed in
EXTRA_LIST. confdata.c, expr.c and others were previously not compiled
separately, they were #include'd from parser.y. Now they are listed in
xxx_SOURCES and should be removed from EXTRA_DIST. Note that menu.c is
still #include'd through parser.y, so it is kept.

3. parser.tab.c and lexer.lex.c should not be included in the
distribution tarball; they were previously omitted by virtue of not
being listed in xxx_SOURCES directly. Without it, `make distcheck`
fails.

Signed-off-by: Alexey Neyman <aneyman@lynx.com>
2021-07-13 13:50:36 -07:00
Hans-Christian Noren Egtvedt
ae40b99f40 kconfig: ignore generated files to avoid mis-committing
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
2021-02-12 12:30:10 +01:00
Chris Packham
d0e328c8ad kconfig: Sync with upstream v5.9
19b835a5db93 kconfig: qconf: fix incomplete type 'struct gstr' warning
163e0c27fead kconfig: remove redundant assignment prompt = prompt
d41809ff7af9 kconfig: add 'static' to some file-local data
f70f74d15ca8 kconfig: remove '---help---' support

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 22:01:21 +13:00
Chris Packham
5263bf8339 kconfig: Sync with upstream v5.8
09d5873e4d1f kconfig: allow only 'config', 'comment', and 'if' inside 'choice'
644a4b6cecc2 kconfig: do not assign a variable in the return statement
cfc6eea9f6af kconfig: do not use OR-assignment for zero-cleared structure

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 22:01:21 +13:00
Chris Packham
914c794fc2 kconfig: Sync with upstream v5.7
This commit introduces the following upstream changes:

60969f02f07a kconfig: qconf: Fix a few alignment issues
e1f7769f6094 kconfig: qconf: remove some old bogus TODOs
b311142fcfd3 kconfig: qconf: fix support for the split view mode
cce1faba8264 kconfig: qconf: fix the content of the main widget
5752ff07fd90 kconfig: qconf: Change title for the item window
cf497b922386 kconfig: qconf: clean deprecated warnings
dbd35860122b kconfig: remove unused variable in qconf.cc
d198b34f3855 .gitignore: add SPDX License Identifier
2985bed68083 .gitignore: remove too obvious comments
3a9dd3ecb207 kconfig: make 'imply' obey the direct dependency
def2fbffe62c kconfig: allow symbols implied by y to become m
2a86f6612164 kbuild: use KBUILD_DEFCONFIG as the fallback for DEFCONFIG_LIST

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
3bf9edb36c kconfig: Sync with upstream v5.6
This commit introduces the following upstream changes:

089b7d890f97 kconfig: Invalidate all symbols after changing to y or m.
5f2fb52fac15 kbuild: rename hostprogs-y/always to hostprogs/always-y
c8fb7d7e48d1 kconfig: fix broken dependency in randconfig-generated .config
ba82f52e2287 kconfig: fix an "implicit declaration of function" warning
a9609686042b kconfig: fix nesting of symbol help text
3460d0bc256a kconfig: distinguish between dependencies and visibility in help text
edda15f21974 kconfig: list all definitions of a symbol in help text
89b9060987d9 kconfig: Add yes2modconfig and mod2yesconfig targets.
c8138a57bbd1 kconfig: use $(PERL) in Makefile
1d1352373ebc kconfig: fix too deep indentation in Makefile
68f0d62746bc kconfig: localmodconfig: fix indentation for closing brace
5edcef8454a4 kconfig: localmodconfig: remove unused $config
adf7c5bd0674 kconfig: squash prop_alloc() into menu_add_prop()
6397d96ba5a5 kconfig: remove sym from struct property
2ffeef615b5e kconfig: remove 'prompt' argument from menu_add_prop()
024352ff8d69 kconfig: move prompt handling to menu_add_prompt() from menu_add_prop()
1be6e791383a kconfig: remove 'prompt' symbol
801b27db4638 kconfig: drop T_WORD from the RHS of 'prompt' symbol
de026ca9152c kconfig: use parent->dep as the parentdep of 'menu'
f64048a20b0c kconfig: remove the rootmenu check in menu_add_prop()
8b41fc4454e3 kbuild: create modules.builtin without Makefile.modbuiltin or tristate.conf

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
acce58834d kconfig: Sync with upstream v5.5
This commit introduces the following upstream changes:

272a72103012 kconfig: don't crash on NULL expressions in expr_eq()
46b2afa6890d kconfig: be more helpful if pkg-config is missing
5d8b42aa7ccb kconfig: Add option to get the full help text with listnewconfig
a64c0440dda1 kbuild: Wrap long "make help" text lines
521b29b6ff53 kconfig: split util.c out of parser.y
60bef52c7a68 merge_config.sh: ignore unwanted grep errors
54b8ae66ae1a kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)
1634f2bfdb84 kbuild: remove clean-dirs syntax
cdfca821571d merge_config.sh: Check error codes from make

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
31695dd2b0 kconfig: Sync with upstream v5.3
This commit introduces the following upstream changes:

0c5b6c28ed68 kconfig: Clear "written" flag to avoid data loss
8e2442a5f86e kconfig: fix missing choice values in auto.conf
3266c806dc86 kconfig: run olddefconfig instead of oldconfig after merging fragments
e3cd5136a4ec kconfig: remove meaningless if-conditional in conf_read()
baa23ec86092 kconfig: Fix spelling of sym_is_changable
cd238effefa2 docs: kbuild: convert docs to ReST and rename to *.rst
bd305f259cd3 kconfig: make arch/*/configs/defconfig the default of KBUILD_DEFCONFIG
5533397d1ec8 kconfig: add static qualifier to expand_string()
b6f7e9f7050b kconfig: require the argument of --defconfig
e0a2668665a5 kconfig: remove always false ifeq ($(KBUILD_DEFCONFIG,) conditional

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
141f88a5f6 kconfig: Sync with upstream v5.2
This commit introduces the following upstream changes:

8dde5715b280 kconfig: tests: fix recursive inclusion unit test
ec8f24b7faaf treewide: Add SPDX license identifier - Makefile/Kconfig
fc2694ec1ab7 kconfig: use 'else ifneq' for Makefile to improve readability
aff11cd983ec kconfig: Terminate menu blocks with a comment in the generated config
9cc342f6c4a0 treewide: prefix header search paths with $(srctree)/
9b9f5948afcd kconfig: make conf_get_autoconfig_name() static
b9d1a8e9302e kconfig: use snprintf for formatting pathnames
4cb726121e2c kconfig: remove useless NULL pointer check in conf_write_dep()
580c5b3e1b8b kconfig: make parent directories for the saved .config as needed
67424f61f813 kconfig: do not write .config if the content is the same
ceb7f3296ea1 kconfig: do not accept a directory for configuration output
65be755a5411 kconfig: remove trailing whitespaces
b63e37bc9ec4 kconfig: Make nconf-cfg.sh executable

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
d057ba5324 kconfig: Sync with upstream v5.1
This commit introduces the following upstream changes:

9c38f1f04408 kconfig/[mn]conf: handle backspace (^H) key
c71bb9f86666 kconfig: remove stale lxdialog/.gitignore
8741908b3e29 kconfig: fix 'Save As' menu of xconfig
058507195b53 kbuild: move ".config not found!" message from Kconfig to Makefile
769a1c022678 kconfig: rename zconf.y to parser.y
981e545a698a kconfig: rename zconf.l to lexer.l

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
21095fab67 kconfig: Sync with upstream v5.0
This commit introduces the following upstream changes:

2648ca1859bb kconfig: clean generated *conf-cfg files
d86271af6460 kconfig: rename generated .*conf-cfg to *conf-cfg
ba97df45581f kbuild: use assignment instead of define ... endef for filechk_* rules
a5003571e627 kconfig: remove unused "file" field of yylval union
f222b7f43661 kconfig: surround dbg_sym_flags with #ifdef DEBUG to fix gconf warning
3b541978562a kconfig: split images.c out of qconf.cc/gconf.c to fix gconf warnings
9abe42371b44 kconfig: add static qualifiers to fix gconf warnings
cbafbf7f551c kconfig: split the lexer out of zconf.y
558e78e3ce84 kconfig: split some C files out of zconf.y
0c874100108f kconfig: convert to SPDX License Identifier
979f2b2f7936 kconfig: remove keyword lookup table entirely
4b31a32caf0a kconfig: update current_pos in the second lexer
824fa3b3b5e3 kconfig: switch to ASSIGN_VAL state in the second lexer
b3d1d9d3c362 kconfig: stop associating kconf_id with yylval
caaebb3c6de3 kconfig: refactor end token rules
f5451582c4e2 kconfig: stop supporting '.' and '/' in unquoted words
171a515d0803 kconfig: use T_WORD instead of T_VARIABLE for variables
c3d228713b10 kconfig: use specific tokens instead of T_ASSIGN for assignments
ce2164ab5831 kconfig: refactor scanning and parsing "option" properties
3c8f317d4cf1 kconfig: use distinct tokens for type and default properties
a01e5d242d93 kconfig: remove redundant token defines
4b5ec81bfeda kconfig: rename depends_list to comment_option_list
1f31be9ec0a9 kconfig: loosen the order of "visible" and "depends on" in menu entry
94d4e1b6021b kconfig: remove redundant menu_block rule
4891796c6f83 kconfig: remove redundant if_block rule
2f60e46e605a kconfig: remove grammatically ambiguous option_error
6900ae9eeee3 kconfig: remove grammatically ambiguous "unexpected option" diagnostic
723679339d08 kconfig: warn no new line at end of file
0bcc547ec4b0 kconfig: clean up EOF handling in the lexer
cc66bca775ee kconfig: fix ambiguous grammar in terms of new lines
21c5ecf60472 kconfig: refactor pattern matching in STRING state
be3c8075978a kconfig: remove unneeded pattern matching to whitespaces
413cd19d81fd kconfig: require T_EOL to reduce visible statement
fbac5977d81c kconfig: fix memory leak when EOF is encountered in quotation
77c1c0fa8b14 kconfig: fix file name and line number of warn_ignored_character()
0cbe3ac439bf kconfig: remove k_invalid from expr_parse_string() return type
2aabbed6774f kconfig: remove S_OTHER symbol type and correct dependency tracking
1508fec82e39 kconfig: split out code touching a file to conf_touch_dep()
0849d212e395 kconfig: rename conf_split_config() to conf_touch_deps()
75889e9be78f kconfig: remove unneeded setsym label in conf_read_simple()
a9b722847872 scripts/kconfig/merge_config: don't redefine 'y' to 'm'

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
b16baed494 kconfig: Sync with upstream v4.20
6bbe4385d035 kconfig: merge_config: avoid false positive matches from comment lines
2cd3faf87d2d merge_config.sh: Allow to define config prefix
0085b4191f3e kconfig: remove silentoldconfig target
04c459d20448 kconfig: remove oldnoconfig target

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
df94f6803f kconfig: Sync with upstream v4.19
This commit introduces the following upstream changes:

fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config
bc8d2e20a3eb kconfig: remove a spurious self-assignment
9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig
98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build
f498926c47aa kconfig: improve the recursive dependency report
5e8c5299d315 kconfig: report recursive dependency involving 'imply'
f1575595d156 kconfig: error out when seeing recursive dependency
4bf6a9af0e91 kconfig: add build-only configurator targets
1880861226c1 kconfig: remove P_ENV property type
c151272d1687 kconfig: remove unused sym_get_env_prop() function
56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol
00c864f8903d kconfig: allow all config targets to write auto.conf if missing
16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count
79123b1389cc kconfig: create directories needed for syncconfig by itself
adc18acf42a1 kconfig: remove unneeded directory generation from local*config
0608182ad542 kconfig: split out useful helpers in confdata.c
a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c
5accd7f3360e kconfig: handle format string before calling conf_message_callback()
693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config
8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
bbc4db1337 kconfig: Sync with upstream v4.18
This commit introduces the following upstream changes:

73d1c580f92b kconfig: loop boundary condition fix
ecd53ac2f2c6 kconfig: handle P_SYMBOL in print_symbol()
b2d00d7c61c8 kconfig: fix line numbers for if-entries in menu tree
8593080c0fcf kconfig: fix localmodconfig
2ae89c7a82ea kconfig: Avoid format overflow warning from GCC 8.1
bb6d83dde191 kbuild: Move last word of nconfig help to the previous line
d6a0c8a1326b kconfig: Add testconfig into make help output
2bece88f89fa kconfig: test: add Kconfig macro language tests
915f64901eb3 kconfig: error out if a recursive variable references itself
a702a6176e2f kconfig: add 'filename' and 'lineno' built-in variables
1d6272e6fe43 kconfig: add 'info', 'warning-if', and 'error-if' built-in functions
82bc8bd82e5c kconfig: expand lefthand side of assignment statement
ed2a22f277c6 kconfig: support append assignment operator
1175c02506ff kconfig: support simply expanded variable
9ced3bddec08 kconfig: support user-defined function and recursively expanded variable
9de071536c87 kconfig: begin PARAM state only when seeing a command keyword
2fd5b09c201e kconfig: add 'shell' built-in function
e298f3b49def kconfig: add built-in function support
137c0118a900 kconfig: make default prompt of mainmenu less specific
5b31a9746756 kconfig: remove sym_expand_string_value()
96d8e48da55a kconfig: remove string expansion for mainmenu after yyparse()
bb222ceeb327 kconfig: remove string expansion in file_lookup()
104daea149c4 kconfig: reference environment variables directly and remove 'option env='
694c49a7c01c kconfig: drop localization support
1c5af5cf9308 kconfig: refactor ncurses package checks for building mconf and nconf
b464ef583dc7 kconfig: refactor GTK+ package checks for building gconf
0b669a5076fd kconfig: refactor Qt package checks for building qconf

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
689dc60f21 kconfig: Sync with upstream v4.17
This commit introduces the following upstream changes:

17baab68d337 kconfig: extend output of 'listnewconfig'
b23d1a241f4e kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
9a8dfb394c04 kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
598893002745 .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
18492685e479 kconfig: use yylineno option instead of manual lineno increments
379a8eb8eb1a kconfig: detect recursive inclusion earlier
32a94b8b0c3e kconfig: remove duplicated file name and lineno of recursive inclusion
26561514cc9d kconfig: do not include both curses.h and ncurses.h for nconfig
f8f69dc0b4e0 kconfig: make unmet dependency warnings readable
f622f8279581 kconfig: warn unmet direct dependency of tristate symbols selected by y
e2c75e7667c7 kconfig: tests: test if recursive inclusion is detected
29c434f367ea kconfig: tests: test if recursive dependencies are detected
3e4888c2e3d7 kconfig: tests: test randconfig for choice in choice
beaaddb62540 kconfig: tests: test defconfig when two choices interact
ee236610653e kconfig: tests: check visibility of tristate choice values in y choice
930c429a656f kconfig: tests: check unneeded "is not set" with unmet dependency
b76960c0f6b2 kconfig: tests: test if new symbols in choice are asked
49ac3c0c3aa3 kconfig: tests: test automatic submenu creation
1903c5119059 kconfig: tests: add basic choice tests
022a4bf6b59d kconfig: tests: add framework for Kconfig unit testing
2a61625835c7 kconfig: remove redundant streamline_config.pl prerequisite
911a91c39cab kconfig: rename silentoldconfig to syncconfig
81d2bc227305 kconfig: invoke oldconfig instead of silentoldconfig from local*config
2aad9b896213 kconfig: hide irrelevant sub-menus for oldconfig
99f0b6578bab kconfig: remove redundant input_mode test for check_conf() loop
4bb3a5b085cd kconfig: remove unneeded input_mode test in conf()
59a80b5e892d kconfig: do not call check_conf() for olddefconfig
f467c5640c29 kconfig: only write '# CONFIG_FOO is not set' for visible symbols
d9119b5925a0 kconfig: Print reverse dependencies in groups
9a47ceec543b kconfig: clean-up reverse dependency help implementation
07a422bb213a kbuild: restore autoksyms.h touch to the top Makefile

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
Chris Packham
07ae8dd48d kconfig: Sync with upstream v4.16
This commit introduces the following upstream changes:

5ae6fcc4bb82 kconfig: fix line number in recursive inclusion error message
1a90ce36c6ef kconfig: Update ncurses package names for menuconfig
bf0bbdcf1003 kconfig: Don't leak choice names during parsing
f4bc1eefc160 kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
cd81fc82b93f kconfig: add xstrdup() helper
523ca58b7db2 kconfig: remove const qualifier from sym_expand_string_value()
d717f24d8c68 kconfig: add xrealloc() helper
9e3e10c72536 kconfig: send error messages to stderr
f3ff6fb5db68 kconfig: echo stdin to stdout if either is redirected
d2a04648a5db kconfig: remove check_stdin()
cd58a91def2a kconfig: remove 'config*' pattern from .gitignnore
4f208f392103 kconfig: show '?' prompt even if no help text is available
cb67ab2cd2b8 kconfig: do not write choice values when their dependency becomes n
1b9eda2e4892 kconfig: Warn if help text is blank
cedd55d49dee kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help
1ccb27143360 kconfig: make "Selected by:" and "Implied by:" readable
312ee68752fa kconfig: announce removal of oldnoconfig if used
d0fd0428ecf0 kconfig: fix make xconfig when gettext is missing
b53688014e33 kconfig: Clarify menu and 'if' dependency propagation
9d1a9e8bc18b kconfig: Document 'if' flattening logic
d3465af60f44 kconfig: Clarify choice dependency propagation
3e41ba05b6d6 kconfig: Document SYMBOL_OPTIONAL logic
765f4cdef6f8 kconfig: use default 'yy' prefix for lexer and parser
84dd95d4f87a kconfig: make conf_unsaved a local variable of conf_read()
5a3dc717b3c7 kconfig: make xfgets() really static
52e58a3caeba kconfig: make input_mode static
6479f327dea6 kconfig: Warn if there is more than one help text
b92d804a5179 kconfig: drop 'boolean' keyword
df60f4b92d3d kconfig: Remove menu_end_entry()
0735f7e5def2 kconfig: Document important expression functions
05cccce58045 kconfig: Document automatic submenu creation code
7cf33f88e294 kconfig: Fix choice symbol expression leak
5b1374b3b3c2 kconfig: Fix expr_free() E_NOT leak
ae7440ef0c80 kconfig: Fix automatic menu creation mem leak
0724a7c32a54 kconfig: Don't leak main menus during parsing
bc28fe1d5ede kconfig: Don't leak 'option' arguments during parsing
24161a6711c9 kconfig: Don't leak 'source' filenames during parsing
26e47a3c11a2 kconfig: Don't leak symbol names during parsing
29c833061c1d kconfig: generate lexer and parser during build instead of shipping
e3b03bf29d6b kconfig: display recursive dependency resolution hint just once
f77850d3fe0c kconfig: Clean up modules handling and fix crash
fa8cedaef814 kconfig: Clarify expression rewriting
9a826842ff2f kconfig: Rename menu_check_dep() to rewrite_m()
c873443430eb kconfig: Sync zconf.y with zconf.tab.c_shipped
52aede4ba5ef kconfig: Document the 'symbol' struct
33ca1a248663 kconfig: Document the 'menu' struct
2c37e08464a8 kconfig: Warn if choice default is not in choice

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-02-02 20:06:32 +13:00
carlo-bramini
f2ac970b9b
Correctly reference to libintl when linking. 2019-02-05 16:39:17 +01:00
Masahiro Yamada
eef8eb4033 kconfig: display recursive dependency resolution hint just once
Commit 1c199f2878f6 ("kbuild: document recursive dependency limitation
/ resolution") probably intended to show a hint along with "recursive
dependency detected!" error, but it missed to add {...} guard, and the
hint is displayed in every loop of the dep_stack traverse, annoyingly.

This error was detected by GCC's -Wmisleading-indentation when switching
to build-time generation of lexer/parser.

scripts/kconfig/symbol.c: In function ‘sym_check_print_recursive’:
scripts/kconfig/symbol.c:1150:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
   if (stack->sym == last_sym)
   ^~
scripts/kconfig/symbol.c:1153:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
    fprintf(stderr, "For a resolution refer to Documentation/kbuild/kconfig-language.txt\n");
    ^~~~~~~

I could simply add {...} to surround the three fprintf(), but I rather
chose to move the hint after the loop to make the whole message readable.

Fixes: 1c199f2878f6 ("kbuild: document recursive dependency limitation / resolution"
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Luis R. Rodriguez <mcgrof@kernel.org>

[upstream commit e3b03bf29d6b99fab7001fb20c33fe54928c157a]
Fixes #1000
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2018-07-10 14:25:20 +12:00
Alexey Neyman
c50c3a923e Supply explicit --tag CC
... to libtool, to allow CC overrides at make stage.

Fixes #940.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-13 21:36:59 -07:00
Alexey Neyman
0dc8565c4f Merge steps.mk into ct-ng
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
9dc94f3662 Install "pure data" directories
... and update .gitignore. Survives 'make distcheck'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
dbe3877285 Install ct-ng
Also, move kconfig.mk into the main driver - we'd want kconfig to be a sub-package
so there's no sense in writing the installation framework for the ct-ng-specific
fragment in an otherwise independent directory.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
d9d4d09026 Enable mconf build
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
9a4e17cf9b Add nconf build
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
9238b58721 WIP: autotoolization
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:03:17 -07:00
Alexey Neyman
576dcc3fee Remove special handling of dpkg-buildflags
Instead, just honor CFLAGS/CPPFLAGS/LDFLAGS as they're passed down from
configure. This brings the build process in compliance with the
recommended practices.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:02:33 -07:00
Alexey Neyman
d401afbdda Get rid of sub{lib,doc}dir
They don't make sense - using same ct-ng won't work with different versions,
so they cannot coexist in the same prefix.

Also localize other configure variables so that their usage is easier to track.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:02:33 -07:00
Alexey Neyman
0bcb67fa52 Use autoconfig-archve/automake tests
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-04-07 12:02:33 -07:00
Alexey Neyman
a624244b15 Make defconfig (and a bunch of other targets) phony
Otherwise, a file named `defconfig` (which is, ironically, the default name
for the default config expected by this very makefile) prevents the defconfig
target from being run.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-09 22:38:37 -08:00
Bryan Hundven
59b08f8d06 Sync kconfig files with upstream 4.15
Last updated with 4.9-rc7.
This commit introduces the following upstream changes:

9059a3493efe kconfig: fix relational operators for bool and tristate symbols
88127dae6ed9 kconfig/symbol.c: use correct pointer type argument for sizeof
b24413180f56 License cleanup: add SPDX GPL-2.0 license identifier to files with no license
bb3290d91695 Remove gperf usage from toolchain
ad8181060788 kconfig: fix sparse warnings in nconfig
ff85a1a80e00 kconfig: Check for libncurses before menuconfig
9be3213b14d4 gconfig: remove misleading parentheses around a condition
83c3a1bad224 xconfig: fix missing suboption and help panels on first run
e039303ff71a xconfig: fix 'Show Debug' functionality
79e51b5c2dee kconfig/nconf: Fix hang when editing symbol with a long prompt
0eb47346968f Scripts: kconfig: nconf: fix _GNU_SOURCE redefined warning
237e3ad0f195 Kconfig: Introduce the "imply" keyword

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2018-01-31 16:39:45 -08:00
Alexey Neyman
ae71ce4106 Kconfigize choice/menu items
Also, add a poor man's upgrade script.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
1b4e784a0b Fix debuild warnings/errors
- Update .gitignore, do not place .gitignore into directories installed
in bulk
- Remove executable permissions and shebangs from the scripts that are
supposed to be invoked only via ct-ng frontent; prepend them with $(bash).
Despite what showSamples.sh said, it already has some bashisms.
- Remove --with autotools-dev and override dh_update_autotools_config
to avoid having config.{sub,guess} clobbered with older versions
- Install bash completion where Debian (now) expects it
- Update man page to use .\" as the comment delimiter, instead of
undefined macro (."); also, minor text edits.
- Install kconfig.mk without execute permission.
- Remove shell wrappers from 170-localedef-fix-trampoline.patch, we
do not use that for applying patches
- Revoke execute permissions on 210-expat.sh
- Get flags from dpkg-buildflags if available

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-07 22:38:53 -07:00
Alexey Neyman
2f286ce5ab Retire BACKEND stuff
... it is possible to just not set it in the configuration, why force
it? It just increases the complexity in Kconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-23 00:24:41 -07:00
Alexey Neyman
c9dad33728 Use config from the install location
... no need to create a local symlink.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22 23:33:36 -07:00
Alexey Neyman
6f5afbdf82 Allow 'make V=1' to see the commands.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-22 11:55:19 -07:00
Alexey Neyman
59bab98b2d Revert "Determine whether -E/-r option selects extended regexp"
This reverts commit 7bcf18bfab.
2017-02-26 19:06:35 -08:00
Alexey Neyman
7bcf18bfab Determine whether -E/-r option selects extended regexp
... and then use the right option. See the note in scripts/functions
on where we should use ${foo} and where just 'foo'; this boils down to
whether we can expect the build tools override to be in effect (e.g. in
the actual build scripts) or not (i.e. outside of scripts/build).
While running in scripts/functions, or in scripts/crosstool-NG.sh the
build tools override directory (.build/tools/bin) may have not been
set up (yet, or at all).

Also, modify the installed scripts (populate, xldd) accordingly.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-13 22:47:40 -08:00
Alexey Neyman
3bb2bcd2a3 Add a check for gperf function signature.
Loosely based on:
c9f7b4d356

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:34 -08:00
Alexey Neyman
f3fcb8d2f8 Ignore *.exe (on Cygwin).
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06 10:33:20 -08:00
Bryan Hundven
89a2182f14 kconfig: sync upstream changes
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-11-30 16:34:39 -08:00
Bryan Hundven
5d9ac48c9a Update .gitignore in kconfig/...
Ignore `*.dep` and `*.o`.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-04 01:23:27 -07:00
Bryan Hundven
6c49a232a8 configure: Correctly search for tinfo for kconfig
I previously thought that tinfo could only be a link to libncurses in
modern ncurses installations. I was wrong.

Now we check for ncurses, then check for tinfo. If tinfo is a link to
ncurses, it is then not required to link against. But if libtinfo is
providing tgetent, and not libncurses, then we must add it to LIBS as
well.

Also, kconfig shouldn't hardcode -lncurses, it should use what is in
$(LIBS).

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-14 23:14:44 -08:00
Bryan Hundven
e4bb360748 file modes: Set files to be non-executable
I was going to start doing some autoconf work, and noticed that
configure.in was executable. Then I noticed Makefile.in was executable.

o.O

So, I ran ```find . -type f -executable``` and found a bunch of files
that shouldn't be set executable.

This commit makes them normal files again.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 23:18:04 -08:00
Bryan Hundven
57de8dcf22 Merge pull request #239 from diorcety-ctng/cc-cygwin-mingw-linux
Canadian cross build = x86_64 Cygwin host = x86_64 MinGW_W64 target = x86_64 GNU/Linux
2015-11-12 21:50:31 -08:00
Ray Donnelly
2cf7a83fde Cygwin: Link to libintl for gettext
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:43 +00:00
Bryan Hundven
e40f4ee011 kconfig: Add updates from linux-4.3 and 4.4
Add updates from the following merges:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/scripts/kconfig?id=605e9710fb5fef0dd2bb49d7b75e46601df62112

and

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/scripts/kconfig?id=152813e6e4bbb5f017e33eba7eb01bbda4b389b8

that apply to crosstool-ng.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-11 21:27:24 -08:00
Alexey Neyman
5844514e74 Fix samples using GMP 4.3.2.
Some older versions of configure (including the one in GMP 4.3.2)
interpret the $ECHO environment variable as the `echo' utility to
use. CT-NG sets the variable to `:' and exports it if V=0 or V=1
is supplied, breaking the samples using such configure. This currently
includes bfin-unknown-linux-uclibc and powerpc-unknown-linux-uclibc.

Also, correct the description of the V= variable - V=0 is *not* the
default; in fact, default does not correspond to any of the V=[012]
values.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-10-30 16:24:52 -07:00
Bryan Hundven
0cffa79d9f kconfig: Update kconfig. Sync with Linux-4.2
This change updates the kconfig utility to what is shipped with 4.2.0.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-03 19:00:28 -07:00
Lawrence D'Anna
575d56ee68 build compat fix for mac os: define offsetof if it's missing
When building on Mac OS, we don't seem to have offsetof when we need it for
gperf-generated code.   This patch solves that issue.

Signed-off-by: Lawrence D'Anna <larry@elder-gods.org>
2015-04-07 21:14:23 -07:00