Commit Graph

98 Commits

Author SHA1 Message Date
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
Jason T. Masker
10e1579799 scripts/crosstool-NG.sh.in: patch regex to work with BSD grep
BSD grep does not interpret a null alteration. It complains about an
empty sub-expression, e.g.:

$ grep --version && grep -E '^(# |)CT_' .config
grep (BSD grep) 2.5.1-FreeBSD
grep: empty (sub)expression

This patch replaces the null alteration with a zero or once quantifier
which works with both BSD & GNU grep.

$ grep --version && grep -E '^(# )?CT_' .config
grep (BSD grep) 2.5.1-FreeBSD
CT_CONFIGURE_has_xz=y
CT_CONFIGURE_has_svn=y
...
$ ggrep --version && ggrep -E '^(# )?CT_' .config
ggrep (GNU grep) 2.20
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see
<http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
CT_CONFIGURE_has_xz=y
CT_CONFIGURE_has_svn=y
...

Signed-off-by: Jason T. Masker <jason@masker.net>
Tested-by: Andreas Bießmann <andreas@biessmann.de>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2014-12-05 03:12:57 -08:00
Yann E. MORIN
bdf731eead repository: migrate old hg files over to git
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-06-27 00:28:53 +02:00
Yann E. MORIN"
6ed78d4cba all: fix wildcard to work with make-4.x
In make-3.8x, the $(wildacrd) function would sort the entries,
while in make-4.x, it would just return the entries in any
unpredictable order [*]

Use the $(sort) function to get reproducible behaviour.

[*] Well, most probably the roder the entries appear when read
from readdir()

Reported-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
2014-06-25 23:33:01 +02:00
Ray Donnelly
d2bc2be8db configure: Add --with-gperf option
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
2013-09-14 02:45:23 +01:00
Thomas De Schampheleire
2aa92300fd docs/help: rename defconfig/olddefconfig into
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
2013-07-17 08:25:43 +02:00
Yann E. MORIN"
5e9d4ba24f kconfig: rename the defconfig and olddefconfig targets
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>
2013-01-22 00:34:15 +01:00
Yann E. MORIN"
143c1430c9 samples: add rule to dump current .config into a defconfig
... 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>
2012-08-15 22:06:22 +02:00
Yann E. MORIN"
00316d9875 kconfig: fix ncurses headers location
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>
2012-07-31 23:04:49 +02:00
Yann E. MORIN"
9c75afd9d3 configure: check for GNU awk, not any awk
Building glibc requires GNU awk, not any other.

Reported-by: Han Sooloo <hansooloo@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-07-14 18:25:47 +02:00
Thomas De Schampheleire
4e762e4918 kconfig: fix compatibility with older flex versions
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>
2012-07-14 19:52:58 +02:00
Yann E. MORIN"
99a6ddf3be samples: use savedefconfig when saving samples
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>
2012-05-07 00:27:05 +02:00
Yann E. MORIN"
e0babe6738 kconfig: add missing files
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>
2012-01-15 01:04:26 +01:00
Yann E. MORIN"
cb7fcbe1ef kconfig: install compiled frontends
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>
2012-01-14 18:22:06 +01:00
Yann E. MORIN"
6c62da4803 kconfig: print version in .config
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>
2011-08-30 11:35:29 +02:00
Yann E. MORIN"
c009897aee misc: fix more typos here and there...
Reported-by: "Antony N. Pavlov" <antony@niisi.msk.ru>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-17 16:53:40 +02:00
Yann E. MORIN"
d855275562 kconfig: fix forward dependencies
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>
2011-05-22 17:44:34 +02:00
Yann E. MORIN"
df1b44cd26 kconfig: add the nconf frontend
The nconf frontend is the new hot topic in the kconfig land! :-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-12 19:45:30 +02:00
Yann E. MORIN"
82250e56c7 kconfig: remove mis-leading messages
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>
2011-05-12 19:46:23 +02:00
Yann E. MORIN"
bb27382f3b kconfig: fix choice multi-display
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>
2011-05-10 22:45:33 +02:00
Yann E. MORIN"
3796ca5885 kconfig: don't trim spaces with leading pipe
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 15:12:55 +02:00
Yann E. MORIN"
c1053caf91 kconfig: do not warn on missing env variable
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>
2011-05-08 14:57:09 +02:00
Yann E. MORIN"
084a8e18f5 kconfig: update from linux-next
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 14:14:40 +02:00
Yann E. MORIN"
ddac60504f kconfig: resync curses check with Linux kernel
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>
2010-10-04 00:16:56 +02:00
Titus von Boxberg
5428b220d6 kconfig/lxdialog: more portable and use ncurses from macports on MacOS
check-lxdialog.sh now correctly tests for ncurses and is a bit more portable.
On Darwin it uses the ncurses from macports.
2010-05-24 16:33:45 +02:00
Yann E. MORIN"
24cb85167d kconfig: silence a warning about undefined env variable
When using an environment variable to set a config entry,
don'twarn if it is not defined. Update doc accordingly.
2010-03-05 09:43:00 +01:00
Yann E. MORIN"
013230cda9 scripts: add action to extract config from a build.log file
That got removed quite some time ago, but is really usefull to get the
configuration from a build.log file of a failing build.
2010-02-11 21:28:10 +01:00
Yann E. MORIN"
0233ac8534 kconfig: allow stdin/stdout redirection
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"
2009-09-08 22:42:48 +02:00
Yann E. MORIN"
1563aa9ea5 Under Cygwin, executables have the .exe suffix:
- 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(-)
2009-03-09 22:01:59 +00:00
Yann E. MORIN"
a14760d58f Update the kconfig stuff from git.kernel.org.
Commit 7826005e5a53645d7aab7c13eda76126eadebf0b

 /trunk/kconfig/lex.zconf.c |    7     5     2     0 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
2009-03-06 12:39:04 +00:00
Yann E. MORIN"
03e2d3f07e Update the kconfig stuff from git.kernel.org.
Commit cf82607a904d3b2ed3d66f8799f00d1099c1849c

 /trunk/kconfig/expr.h |   40    30    10     0 ++++++++++++++++++++++++++++++----------
 1 file changed, 30 insertions(+), 10 deletions(-)
2009-03-06 12:35:58 +00:00
Yann E. MORIN"
3520b36f95 Update the kconfig stuff from git.kernel.org.
Commit 5b2cf365a8e9bbf781939e941ed548c9743fdeea

 /trunk/kconfig/expr.h |   34    18    16     0 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)
2009-03-06 12:33:41 +00:00
Yann E. MORIN"
4cf1baf7ba Update the kconfig stuff from git.kernel.org.
Commit eaa2a87460eca27ce725d63bbcf3b2da053828b7

 /trunk/kconfig/expr.h |    8     6     2     0 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
2009-03-06 12:19:33 +00:00
Yann E. MORIN"
75565cecde Update the kconfig stuff from git.kernel.org.
Commit f6682f915760ccfe57ef1b6cd5ff2d8f2bf8c1d4

 /trunk/kconfig/lxdialog/check-lxdialog.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2009-03-04 18:56:07 +00:00
Yann E. MORIN"
b95eac9255 Update the kconfig stuff from git.kernel.org.
Commit ce97e13e52848c6388598696b7d44748598db759

 /trunk/kconfig/confdata.c |    3     1     2     0 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2009-03-04 18:54:37 +00:00
Yann E. MORIN"
c7a1e6a4da Use the paths found by ./configure in the ct-ng.in makefile script and its fragments.
/trunk/kconfig/kconfig.mk |    2     1     1     0 +-
 /trunk/samples/samples.mk |   18     9     9     0 +++++++++---------
 /trunk/config/config.mk   |   10     5     5     0 +++++-----
 /trunk/ct-ng.in           |   22    13     9     0 +++++++++++++---------
 4 files changed, 28 insertions(+), 24 deletions(-)
2009-01-26 18:36:02 +00:00
Yann E. MORIN"
145d0cad94 Make the kconfig stuff build under Cygwin.
/trunk/kconfig/kconfig.mk                 |    7     5     2     0 ++++--
 /trunk/kconfig/lxdialog/check-lxdialog.sh |   44    21    23     0 ++++++++++++++++++-------------------
 2 files changed, 26 insertions(+), 25 deletions(-)
2008-11-30 20:59:15 +00:00
Yann E. MORIN"
301fbac58e Merge 1199 and 1200 from /devel/YEM-build_host_target_cleanup:
- Allow hand-indentation in the kconfig prompts
- Start documenting the kconfig deviations from the kernel's version

 /trunk/kconfig/menu.c    |   10     8     2     0 ++++++++--
 /trunk/docs/overview.txt |    6     6     0     0 ++++++
 2 files changed, 14 insertions(+), 2 deletions(-)
2008-11-13 17:55:16 +00:00
Yann E. MORIN"
247b7bcac6 Enhance the kconfig stuff build procedure:
- 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(-)
2008-10-22 16:56:23 +00:00
Yann E. MORIN"
84588069df Avoid (re)building the kconfig dependencies when we don't need them (clean, build, list-steps...).
/trunk/kconfig/kconfig.mk |   24    20     4     0 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)
2008-10-19 09:34:32 +00:00
Yann E. MORIN"
8d042db1d6 Extract the config files related stuff from the kconfig stuff
- 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(-)
2008-10-18 18:37:28 +00:00
Yann E. MORIN"
f31bcd0026 Update the kconfig stuff to match the one in the linux-2.6.27 version.
/trunk/kconfig/zconf.hash.c         |  225   110   115     0 +++----
 /trunk/kconfig/lkc_proto.h          |    4     3     1     0 +
 /trunk/kconfig/mconf.c              |  217   110   107     0 +++---
 /trunk/kconfig/menu.c               |   86    60    26     0 ++-
 /trunk/kconfig/symbol.c             |  212   156    56     0 ++++--
 /trunk/kconfig/kconfig.mk           |   24     9    15     0 -
 /trunk/kconfig/lex.zconf.c          |   97    80    17     0 ++-
 /trunk/kconfig/util.c               |   38    30     8     0 +
 /trunk/kconfig/lkc.h                |   22    18     4     0 +
 /trunk/kconfig/expr.c               |   32    19    13     0 +
 /trunk/kconfig/confdata.c           |  254   172    82     0 +++++---
 /trunk/kconfig/lxdialog/dialog.h    |   12     9     3     0 +
 /trunk/kconfig/lxdialog/inputbox.c  |    6     3     3     0
 /trunk/kconfig/lxdialog/checklist.c |    4     2     2     0
 /trunk/kconfig/lxdialog/menubox.c   |    6     3     3     0
 /trunk/kconfig/lxdialog/textbox.c   |    2     1     1     0
 /trunk/kconfig/lxdialog/util.c      |   47    30    17     0 +
 /trunk/kconfig/lxdialog/yesno.c     |    4     2     2     0
 /trunk/kconfig/expr.h               |   20    10    10     0
 /trunk/kconfig/zconf.tab.c          | 1441   793   648     0 ++++++++++++++++++++++++-------------------
 /trunk/kconfig/conf.c               |  276   124   152     0 ++++----
 /trunk/kconfig/check-gettext.sh     |   14    14     0     0 +
 /trunk/ct-ng.in                     |    2     1     1     0
 23 files changed, 1759 insertions(+), 1286 deletions(-)
2008-10-17 12:47:53 +00:00
Yann E. MORIN"
c54f4302cd Fix oldconfig and defoldconfig.
Thanks Thomas Petazzoni for noticing the breakage.

 /trunk/kconfig/kconfig.mk |    4     2     2     0 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
2008-10-17 09:51:19 +00:00
Yann E. MORIN"
4e7d6836a5 Cheesy kconfig stuff:
- 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(-)
2008-10-15 21:29:56 +00:00
Yann E. MORIN"
4b27b41f41 Rework the kconfig stuff
- 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(-)
2008-10-14 16:50:33 +00:00