On OS X, Apple supply an old gperf (3.0.3) with xcode and
xcode commandline tools which causes build failures:
./zconf.hash.c:183:17: error: expected expression
{offsetof(struct kconf_id_strings_t, kconf_id_strings_str2),
.. upgrading to gperf 3.0.4 was sufficient to fix this,
so this option allows the user to specify the gperf
program that they wish to use.
To install gperf 3.0.4 from homebrew, I did:
brew tap homebrew/dupes
brew install homebrew/dupes/gperf
.. then passed --with-gperf=$BREWFIX/Cellar/gperf/3.0.4/bin/gperf
to configure
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
Message-Id: <CAOYw7dtCmcJ9WiqmQ81MmZeRPcV-tDOqe9=kRDW4uQGuZNd2Ng@mail.gmail.com>
Patchwork-Id: 274892
After commit 15f57d843296e244487ac0845a73247f9d6749b8, the defconfig target
has been renamed into savedefconfig, and olddefconfig into defconfig. However,
the help text and man page was not updated.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
[yann.morin.1998@free.fr: rename CONFIG -> DEFCONFIG]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <0c1dff89c9ee1672693f.1374042343@BEANTN0L019720>
Patchwork-Id: 259601
What 'defconfig' really does is save the current .config to a defconfig,
so it is better named 'savedefconfig' (as other projects do).
What 'olddefconfig' really does is create a .config from a defconfig,
so rename it to 'defconfig' (as other projects do, too).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
... and one to restore it, of course.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
On some distors (eg. latesst openSuSE), the ncurses headers are not
located in the usual location.
Hard-code this location in the kconfig Makefile, as a (temporary?)
workaround.
Reported-by: Simon Gornall <sgornall@apple.com>
[Fix suggested by Simon]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Older flex versions require there be no space between options and
their arguments. For example '-P zconf' is not correct and should
be '-Pzconf'. This is for example the case for flex-2.5.4 shipped
with CentOS 5.8.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Message-Id: <9652ce148bddc1def484.1339241000@beantl019720>
When saving a sample, use savedefconfig instead of copying
the full .config file.
This reduces the saved .config, and reduces clutter when it
is later upgraded.
Also use defconfig when retrieving a sample.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
The real sources for a few files are the lex/yacc/gperf
files, and the C files are only generated...
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
The kconfig frontends are currently instaleld as source files. This is
a remnant of the early times, when I wanted a single installation of
crosstool-NG to be shared across multiple machines, potentially of
different architectures.
This does not really make sense, and it's been a long time since it
was las tpossible in practice.
So, just build the kconfig frontends at make-time, and install them
as we do for all other crosstool-NG dependent files.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Having the crosstool-NG version in the .config helps in case we
want to reproduce the toolchain with the exact same version of
crosstool-NG.
This also reverts #bb73e7632b54.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
In case a set of options are conditional to two different paths,
the forward dependencies in these options is wrong, but in the
first path.
Fix by Arnaud Lacombe on linux-kbuild ML:
http://www.spinics.net/lists/linux-kbuild/msg04832.html
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Unlinke the Linux kernel, crosstool-NG does not (directly) use make
as a frontend, so remove any occurence of reference to running make
after the configuration.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
In case a choices has different combinations, it can be displayed
more than once.
See the discussion thread on the linux-kbuild ML:
http://www.spinics.net/lists/linux-kbuild/msg04709.html
The fix applied here was proposed by Arnaud LACOMBE.
That fix, or a similar one, will probably be pushed upstream soon.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
In crosstool-NG, we use env variables for the backend mode.
So it is perfectly legit that these variables are not set.
So do not warn about it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
check-lxdialog.sh breaks on 64-bit distributions which are lacking
the lib -> lib64 symlinks (eg. some Fedora).
The script from the 2.6.35 Linux kernel is reportedly functional
on the systems that were requiring the current hack. See:
http://sourceware.org/ml/crossgcc/2010-09/msg00113.html
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Allow stdin/stdout redirection for the CLI conf (not mconf).
This allows to recall a sample and automatically apply the defaults
to new configuration option, with something like the following:
yes "" |ct-ng "sample_name"
- cleanup conf.exe and mconf.exe as well as their non-.exe counterparts.
/trunk/kconfig/kconfig.mk | 2 1 1 0 +-
1 file changed, 1 insertion(+), 1 deletion(-)
- better allocate CFLAGS/LDFLAGS to object and dependency files
- only include the needed dependency files
- cleanly handle the kconfig/ check and creation
- use HOST_LD to link, not HOST_CC (even if both are set to 'gcc' for now)
- get rid of defoldconfig, it does not make much sense using it.
/trunk/kconfig/kconfig.mk | 110 66 44 0 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 66 insertions(+), 44 deletions(-)
- create config/config.mk, with all the config.gen/ rules
- the only common points between config files and configurators:
- the top-level config file to include, stored in KCONFIG_TOP
- the config_file rules, which makes config files available to configurators
- dependency-files are renamed from %.d to %.dep (.d is reserved for directories)
- a few eye-candy here and there
/trunk/kconfig/kconfig.mk | 184 12 172 0 +++--------------------------------------------------
/trunk/config/config.mk | 118 9 109 0 +++-------------------------------
/trunk/ct-ng.in | 1 1 0 0 +
3 files changed, 22 insertions(+), 281 deletions(-)
- silent/quiet/verbose build:
- ct-ng by default only prints quit messages, such as "CC xxx",
- if using V=0, nothing is printed,
- if using V=1, the full command lines are printed,
- other values are indeterminate,
- should help in debugging the kconfig stuff;
- complete kconfig/{,m}conf generation:
- fully dynamic dependencies on source files,
- compilation of .c into .o, then linking (instead of direct linking),
- VPATH usage when not --local;
Typo + a coment moved.
/trunk/kconfig/kconfig.mk | 140 87 53 0 +++++++++++++++++++++++++++++++++--------------------
/trunk/tools/tools.mk | 12 6 6 0 ++--
/trunk/steps.mk | 6 3 3 0 +-
/trunk/samples/samples.mk | 30 15 15 0 +++++-----
/trunk/ct-ng.in | 40 28 12 0 +++++++++++----
5 files changed, 139 insertions(+), 89 deletions(-)
- better handle config file generation dependencies
- get rid of CT_TOP_DIR where useless
- rearrange code to be cleaner, and add adequate '#----' comments to split the different parts
- a few eye-candy here and there
/trunk/kconfig/kconfig.mk | 158 99 59 0 +++++++++++++++++++++++++++++++++--------------------
1 file changed, 99 insertions(+), 59 deletions(-)