path: root/
AgeCommit message (Collapse)AuthorFilesLines
2017-02-14Determine whether -E/-r option selects extended regexpAlexey Neyman1-9/+21
... 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/ 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 <>
2017-02-13stat: determine whether it is BSD or GNU flavorAlexey Neyman1-1/+20
Seems like MacOS may have either in the path. Signed-off-by: Alexey Neyman <>
2017-02-13Detect both wget/curl and allow user to select the agentAlexey Neyman1-1/+11
Signed-off-by: Alexey Neyman <>
2017-02-03Check for C++ in configureAlexey Neyman1-1/+3
Recent GMP/GCC/GDB releases require c++. Signed-off-by: Alexey Neyman <>
2017-01-30Bump autoconf requirement to 2.65Alexey Neyman1-2/+2
Required by automake 1.15. Signed-off-by: Alexey Neyman <>
2017-01-28Rework configure logic wrt GNU autotoolsAlexey Neyman1-161/+157
Rather than requiring them of a certain version, detect if they are present (and have sufficient version) and select an appropriate companion tool otherwise. The reason is that, for example, most recent gettext requires automake 1.15, but the newest available CentOS has 1.13. Hence, the option to "upgrade your system" does not apply, and the warning comment above the companion tools is rather scary. With this approach, it will work out of the box - either by using the host's tools, or by building them as needed. Note that the user can still change the setting in the config. While there, propagate the new version checking macro to awk/bash/host binutils, and switch from --with-foo=xxx to officially blessed FOO=xxx: the latter does not require checking for bogus values (i.e., --with-foo, --without-foo) and AC_PROG_* macros recognize the corresponding settings without further modifications. For now, I kept --with-foo=, if only to complain and steer people to the new way. To be cleaned up after a release. Signed-off-by: Alexey Neyman <>
2017-01-24Check for git presenceAlexey Neyman1-0/+3
... and make the optiont that fetch from Git repositories depend on the git discovery. Signed-off-by: Alexey Neyman <>
2017-01-13Add a check for gperf function signature.Alexey Neyman1-3/+19
Loosely based on: Signed-off-by: Alexey Neyman <>
2016-11-22Give companion tools some love.Alexey Neyman1-6/+8
Allow selection of make/m4/... version. Support imports of new versions via Import newest versions of the companion tools. One non-trivial change is the handling of make versions. Existing code was not handling make companion tool as described (see the previous commit). However, since most modern systems have make 4.x, that previous commit made crosstool-ng always build make as a companion tool. This traces back to the commit dd15c93 from 2014. That commit's log message says that actually it was 3.81 which broke the build for certain component (it was originally breaking eglibc, but I noticed it was breaking current glibc on powerpc64), and introduced an option to force using 3.81 by "components that really need it". It looks like in 2.5 years we haven't seen any such components that really need make 3.81, and (given that make has already had a few releases since 3.81) we're unlikely to see them in the future. Hence, the configure check is changed from "exactly 3.81" to "3.81 or newer". In its current form, configure will accept make 3.80+, and will not require make as a companion tool for 3.81+. We might want to bump the latter check to even newer version given the claim from dd15c93. Killed COMP_TOOLS_make_3_81_NEEDED. Anyway, I retained 3.81 just in case; ditto for m4 1.14.3, autoconf 2.65 and automake 1.11.1. Signed-off-by: Alexey Neyman <>
2016-03-03configure: Don't write a.out on static compiler checkBryan Hundven1-1/+1
Because I don't pass `-o` to gcc, it makes an a.out file with gcc. For clang it doesn't make the a.out, as that is not the default. It doesn't hurt to output to /dev/null for both. Signed-off-by: Bryan Hundven <>
2016-02-26configure: Check to see if gcc can static linkBryan Hundven1-0/+13
This is a semi-nasty-hack to see if gcc can static link. Obviously on Mac OS X this is not possible, so we set CT_CONFIGURE_has_static_link=y if it can. Signed-off-by: Bryan Hundven <>
2015-11-15configure: Correctly search for tinfo for kconfigBryan Hundven1-9/+3
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 <>
2015-11-15configure: fix search for gpatch for FreeBSDBryan Hundven1-1/+1
We require GNU/patch, and when we install patch with `pkg`, crosstool-ng still only finds the BSD/patch in /usr/bin/patch. This commit fixes that and searches for gpatch first. Signed-off-by: Bryan Hundven <>
2015-11-14configure: Check for libtinfo.soBryan Hundven1-0/+9
While usually distributed with ncurses, some distributions distribute this library separately. Check to make sure it is installed. This closes #241 Signed-off-by: Bryan Hundven <>
2015-11-13file modes: Set files to be non-executableBryan Hundven1-0/+0
I was going to start doing some autoconf work, and noticed that was executable. Then I noticed 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 <>
2015-11-13Cygwin: Link to libintl for gettextRay Donnelly1-1/+5
Signed-off-by: Ray Donnelly <>
2015-11-13Add help2man as PROGS_REQ and to travisRay Donnelly1-0/+1
libtool needs it. Signed-off-by: Ray Donnelly <>
2015-10-03Revert the automated build optionJean-Marie Lemetayer1-10/+0
This reverts commits: * d6413fe29fbdcd72a04b3d5820ba2e134dbaf558. * 4f266e1a8c78cec2c425b17784576db56125bbbd. Signed-off-by: Jean-Marie Lemetayer <>
2015-09-29configure: Add automated build optionBryan Hundven1-0/+10
This commit introduces a configure time option to let the build know that this is going to be an automated build. This forces the build to disable the progress bar, log tool warnings, and force the log level to debug. Signed-off-by: Bryan Hundven <>
2015-06-18autoconf: Update sub directory nameJean-Marie Lemetayer1-2/+2
Due to patch 0e45cdf, the VERSION string has changed. And so, the the sub directory names has changed too: From 'ct-ng.1.21.0' to 'ct-ng.crosstool-ng-1.21.0-xx-yyyyyyy' This patch rename the sub directory to: 'crosstool-ng-1.21.0-xx-yyyyyyy' Signed-off-by: Jean-Marie Lemetayer <>
2015-06-03autoconf: Update version numberingBryan Hundven1-1/+4
This change removes the static .version file, and moves to using the git tag as the version number, the change number if the current commit is newer then the latest tag, and '-dirty' if there are changes to the git repository since the last commit that are uncommitted. This helps us in the troubleshooting process to identify if the user is: * using a released version (i.e.: 1.21.0) * using a clone from git (i.e.: 1.21.0-29-13e14f) * using a clone from git with local uncommitted changes (i.e.: 1.21.0-29-13e14f-dirty) Signed-off-by: Bryan Hundven <> Acked-by: "Yann E. MORIN" <>
2014-08-28configure: add option to specify grepFabian Freyer1-0/+5
Allows users for which GNU grep is not the default grep (e.g. BSD folks), or is in a weird location. Reported-by: Fabian Freyer <> Signed-off-by: "Fabian Freyer" <> [ split the original patch] Signed-off-by: "Yann E. MORIN" <> Cc: Fabian Freyer <>
2014-06-27configure: use a saner version string for git snapshotsYann E. MORIN1-1/+2
This avoids using an oldish tag as base for the version string. Reported-by: Bryan Hundven <> Signed-off-by: "Yann E. MORIN" <>
2014-06-26scripts: first batch of hg->git conversionYann E. MORIN1-5/+2
Replace calls to 'hg' with as-close-as-possible equivalents in git. Signed-off-by: "Yann E. MORIN" <>
2014-05-05configure: look for more usual g-variants of some toolsYann E. MORIN"1-3/+3
Reported-by: Bryan Hundven <> Signed-off-by: "Yann E. MORIN" <>
2014-05-05configure: prefer g-variantsYann E. MORIN"1-2/+2
For awk and make, we currently check the standard names as found on a classic GNU-userland system, and then fallback to looking for the g-named variants as found on a *BSD system. But it happens that the usual name might also be available on a *BSD system, so we should first check the g-variant. Signed-off-by: "Yann E. MORIN" <> respect 'g' variants of libtool/libtoolizeAndreas Bießmann1-2/+2
BSD OS'es (OS X for me) provide GNU tools with prefixed 'g'. To find correct versions of libtool/libtoolize on those systems search also for glibtool/glibtoolize. Signed-off-by: Andreas Bießmann <> Signed-off-by: Bryan Hundven <> [ search for the g-variant first] Signed-off-by: "Yann E. MORIN" <> Message-Id: <> Patchwork-Id: 331467
2014-02-20If GNU make 3.81 is not found then build it as a companion tool.Ray Donnelly1-0/+14
Signed-off-by: Ray Donnelly <> [ add message "checking for make 3.81"] Signed-off-by: "Yann E. MORIN" <> Message-Id: <> Patchwork-Id: 322302
2014-01-16configure: s/don't/do not/Yann E. MORIN"1-1/+1
The autoconf manual suggests not to use ' in messages. I don't why they do, but it breaks syntax-highlighting. Just remove the lone quote we have. Signed-off-by: "Yann E. MORIN" <>
2013-09-14configure: Add --with-gperf optionRay Donnelly1-1/+5
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 <> Message-Id: <> Patchwork-Id: 274892
2012-10-07configure: remove trailing cruftYann E. MORIN"1-29/+0
Remove trailing cruft left after the migration to autoconf. Signed-off-by: "Yann E. MORIN" <>
2012-07-17configure: also check for installYann E. MORIN"1-0/+4
We also need the GNU variant for this one. Signed-off-by: "Yann E. MORIN" <>
2012-07-17configure: add checks for objcopy and objdumpYann E. MORIN"1-0/+19
These two went MIA after the migration to an autoconf-based ./configure. Signed-off-by: "Yann E. MORIN" <>
2012-07-14configure: check for GNU awk, not any awkYann E. MORIN"1-3/+17
Building glibc requires GNU awk, not any other. Reported-by: Han Sooloo <> Signed-off-by: "Yann E. MORIN" <>
2012-05-08configure: fix check for gettextYann E. MORIN"1-2/+4
Signed-off-by: "Yann E. MORIN" <>
2012-05-05configure: we do not require curl, but wget.Yann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <>
2012-01-30configure: do not use '@' in version stringBenoît Thébaudeau"1-1/+1
#0a0410dd0cb0 broke #0cc4d6352c3e. This patch fixes this, which fixes the build of gcc/glibc/gdb manuals. Signed-off-by: "Benoît Thébaudeau" <>
2012-01-29configre: properly check for libtoolizeJohannes Stezenbach1-1/+1
Fix a copy-n-paste typo, where the libtoolize check would re-run the libtool check. Signed-off-by: Johannes Stezenbach <>
2012-01-16configure: fix kconfig option namesYann E. MORIN"1-2/+2
In the process of converting to autoconf, the kconfig option were not properly translated. Fix that. Signed-off-by: "Yann E. MORIN" <>
2012-01-16configure: also detect plain grepYann E. MORIN"1-0/+4
We need just 'grep', and we need to be able to call it with 'grep -E'. Check for 'grep', and bailout if egrep != grep -E Signed-off-by: "Yann E. MORIN" <>
2012-01-15kconfig: add missing filesYann E. MORIN"1-0/+1
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" <>
2012-01-14kconfig: install compiled frontendsYann E. MORIN"1-2/+18
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" <>
2011-11-07configure: use autoconf to generate configureYann E. MORIN"1-0/+346
Create, an autoconf script to generate ./configure This will be needed by a subsequent patch to properly handle --build and --host, and more tests, when the kconfig stuff will be installed pre-built. Signed-off-by: "Yann E. MORIN" <>