Commit Graph

106 Commits

Author SHA1 Message Date
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 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