summaryrefslogtreecommitdiff
path: root/scripts/build/libc/glibc.sh
AgeCommit message (Collapse)AuthorFilesLines
2016-06-10glibc.sh: build dummy libc.so with correct extra flagsAlexey Neyman1-1/+2
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10glibc: Use common arch call to get multilib targetsRay Donnelly1-1/+18
The previous patch added the function 'CT_DoMultilibTarget()' to scripts/build/arch/*.sh. This patch calls the common function to (currently) get just the target tuple for the current multilib target. This patch was originally by: Cody P Schafer Changed by Alexey Neyman: first, try `gcc -print-multiarch`. If it is supported, use whatever it reports. Otherwise, fall back to our guesswork. Move "i486" quirk into glibc.sh, as it is specific to glibc (e.g. uclibc will need i386, which is what GCC reports). Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10glibc: do not add bogus optionsAlexey Neyman1-2/+2
If a multilib configuration contains an endianness option, the ${endian_extra} is set to, for example, 'mb' (note, no dash!). It is then added to CFLAGS, resulting in bogus flags like 'mb -mb'. But it is not even needed, as ${extra_flags} already contains the very same option! Found by experimenting with multilibs with different endianness on SH, which still didn't work, but that's another story... Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-02Unbreak sparc-unknown-linux-gnu.Alexey Neyman1-2/+17
GLIBC 2.23 dropped support for pre-v9 SPARC in pthreads. Pass host triplet with s/sparc/sparcv9/ replacement for 2.23. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-02-24glibc: Mirror extra_config flags from do_libc_backend_onceBryan Hundven1-0/+1
In do_libc_backend_once: ``` # Also, if those two are missing, iconv build breaks extra_config+=( --disable-debug --disable-sanity-checks ) ``` But in do_libc_locales we only add ```--disable-debug```. This change adds ```--disable-sanity-checks``` to do_libc_locales to mirror this, as I've seen iconv break this way. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-24glibc: remove do_libc_locales_extract; it's emptyBryan Hundven1-10/+0
No point in calling an empty function. Must be left over from the glibc/eglibc split up... then re-merge. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-24glibc: Remove support for downloading and extracting add-onsBryan Hundven1-67/+0
Since external add-ons were removed in 2.17, and we only support >= 2.18, this support is no longer needed. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-24glibc: reformat glibc build scriptBryan Hundven1-66/+64
Move crosstool-ng hook functions to be in the normal locations. This commit has no functional changes. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08scripts: Update usage of CT_GetCustomBryan Hundven1-11/+5
This commit updates the build scripts to match the new usage of CT_GetCustom from the previous change. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-17consistency: Use exported variables of required toolsBryan Hundven1-27/+27
We check for apps: * make * sed * grep * awk * libtool/libtoolize * install * patch * and more ...during configure. Our scripts should be consistent about using the variables that define where the found tool was found. Of course, we do hard-link these tools in buildtools, but that should be a backup for the components we are building. Our scripts should always use the tools we find. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-13Add gettext and libiconv as companion libsRay Donnelly1-0/+14
.. they're needed for the RPC generation in glibc on both Cygwin and MinGW-w64. Neither are built on GNU/Linux and iconv is not built on Darwin. Two patches for gettext are needed, one so that -O0 works and one so that static builds can be made. They can take a good while to build, so if not needed for_host or for_build then they are not built. Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-09-02glibc: Fix applying addons to glibc => 2.17Bryan Hundven1-25/+27
glibc-2.17 and above no longer have external addons or ports. So if we are => 2.17, don't even think about trying to mess with ports or addons. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-06-21avr-libc: add support for avr-libc C libraryErico Nunes1-0/+4
This commit adds support for the avr-libc C library. According to the project page at http://www.nongnu.org/avr-libc , the avr-libc package provides a subset of the standard C library for Atmel AVR 8-bit RISC microcontrollers. In addition, the library provides the basic startup code needed by most applications. Support for this library in crosstool-ng is only enabled for the AVR 8-bit target. The avr-libc manual and most distributions build the AVR 8-bit gcc toolchain with the "avr" (non-canonical) target. Some experimentation also led to the conclusion that other (canonical) targets are not very well supported, so we force the "avr" target for crosstool-ng as well. The manual also recommends building avr-libc after the final gcc build. To accomplish this with crosstool-ng, a new do_libc_post_cc step is added, in which currently only avr-libc performs its build, and is a no-op for the other libc options. Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
2015-04-08bugfix: pass extra build CFLAGS and LDFLAGS to glibcLawrence D'Anna1-0/+4
Glibc actually does create a build executable. It's under sunrpc and it's called cross-rpcgen. It uses gettext, so if that's not available in a standard place on your system (for example if you're using Mac OS X and Homebrew), then you are all out of luck. Signed-off-by: Lawrence D'Anna <larry@elder-gods.org>
2015-04-08Merge pull request #37 from bhundven/so_long_to_eglibcBryan Hundven1-10/+530
So long to eglibc
2015-02-02scripts/*/*.sh: prioritize http downloadsBryan Hundven1-0/+1
Prirotize http downloads before ftp downloads. By having http download first, those using proxy will work with the current download mechnism. This tells me that that mechnism needs to be updated. (proxy support and/or kconfig toggles) closes #3 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-28glibc: Fix pkgversion and bugurl supportBryan Hundven1-1/+6
glibc versions that don't support --with-pkgversion or --with-bugurl will cause a harmless: ==================== configure: WARNING: unrecognized options: --with-bugurl...` ==================== If it's set, use it, if it's a recognized option. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-28eglibc: Remove eglibc supportBryan Hundven1-10/+525
As posted on http://www.eglibc.org/ ==================== EGLIBC is no longer developed and such goals are now being addressed directly in GLIBC. ==================== I'm not interested in maintaining build support for unsupported software. Older branches of crosstool-ng continue to have eglibc support. If you find issues with older branches, I'm always open to pull requests. Removing eglibc also frees up glibc cleanup and build optimization. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-16libc: glibc: Add Linaro GLibc 2.20-2014.11Cristoforo Cataldo1-3/+11
This commit allows to choose, download and build latest Linaro GLibC: - glibc-linaro-2.20-2014.11 Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2014-12-09libc/glibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove1-1/+6
CUSTOM_LOCATION config options only presented in menuconfig if component CUSTOM version selected. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-08scripts: Update download locationsBryan Hundven1-8/+6
This change updates the download locations to default to the official download site. For gcc and gdb, also separate out the linaro download locations so that if you are downloading the linaro variant, it skips trying to download from the official gcc mirror. This commit closes #3 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-01-06libc/glibc: fix downloading addonsYann E. MORIN"1-3/+3
Do to glibc what we did to eglibc in #dff359adf15c. Only (very) old versions of glibc have other external addons, and they are no longer meaningful. But for consistency, do the change nonetheless. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-11-16libc/{glibc,eglibc}: Don't download glibc-ports when not availableYann E. MORIN"1-0/+5
Don't download glibc-ports when glibc or eglibc version greater than 2.16, because the "ports" source is mainline in the glibc or eglibc since version 2.17. Signed-off-by: "Daniel Zimmermann" <netzimme@gmail.com> Message-Id: <9c045ca3cf1b9dc89da3.1384602843@haus-VirtualBox> Patchwork-Id: 291766 [yann.morin.1998@free.fr: slightly tweak subject, change variable name] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-01-10libc: get rid of libc_finishYann E. MORIN"1-1/+0
At long last, we no longer have any libc that requries a libc_finish. Yeah! Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-08-22libc/{,e}glibc: remove rude wordings in commetnsYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2011-07-29libc/glibc: add partial support for localesBenoît THÉBAUDEAU"1-0/+70
This patch adds partial support for glibc locales. For now, it only generates the appropriate locales when the host and the target have the same endianness and uint32_t alignment. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-06-04libc/glibc: do not try to download NPTL add-onYann E. MORIN"1-0/+6
The NPTL add-on has always been internal, so there is no reason to try downloading it, it will never succeed. Add provision to skip other add-ons as well. For consistency, do the same test in both glibc and eglibc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-30glibc: properly handle internal addonsYann E. MORIN"1-6/+13
Some addons are bundled with glibc/eglibc, so we should not try to download and extract them. This is done as thus: - at download time: - if the add-on download fails, keep going; - at extract time: - if the addon is present in the source tree, ignore it; - if the addon is missing in the source tree: - if the archive is present, extract it; - if the archive is missing, bail out. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-29libc/glibc: commonalise extraction btw glibc and eglibcYann E. MORIN"1-48/+1
glibc and eglibc have a very similar extraction process, so it makes sense to commonalise it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-28libc/glibc: fix {e,}glibc add-ons with short or long namesYann E. MORIN"1-5/+14
Fixes the issue with {e,}glibc addons having short and long names (such as eglibc-ports-2_13 and ports), which caused configure scripts to run through them twice and thus configuring incorrectly. For instance, the mips64el-n32-linux-gnu toolchain would be recognized correctly first, but then the second pass would change it to mips32, building a mixed MIPS-III N32 and MIPS-I libc. Signed-off-by: Nicolás Reynolds <fauno@kiwwwi.com.ar> [yann.morin.1992@anciens.enib.fr: remove spurious trailing spaces] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc: remove now unneeded do_libc_headersYann E. MORIN"1-1/+0
do_libc_headers is now a noop, and is no longer used, so remove that step. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-19libc/glibc-eglibc: misc janitorial cleanups.Yann E. MORIN"1-0/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: add glibc specifics to the shared code, and use itYann E. MORIN"1-184/+0
Final step at sharing code between glibc and eglibc. Fall, wall of shame, fall!... :-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22scripts: PARALLELMFLAGS is evil, renameYann E. MORIN"1-2/+0
The reunification of the glibc/eglibc code paths exposed a nasty bug in the glibc build: use of PARALLELMFLAGS breaks the build. See the explanations in that bug report against FC6: https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: commonalise assembling the list of addonsYann E. MORIN"1-13/+0
glibc and eglibc each have two very similar ways of building this list. This can, and should definitetly, be shared. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: commonalise setting of the minimum supported kernel versionYann E. MORIN"1-29/+0
It will be possible to use that also with eglibc, so this hunk belongs to the common code. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22libc/glibc: use the common start_files procedureYann E. MORIN"1-238/+5
Use the common procedure, shared between glibc and eglibc. This requires that glibc-specific bits be included in the shared procedure. But still build the full libc with the glibc-specific procedure. This will be commonalised in a future commit. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03libc-glibc: remove 2.3.6Yann E. MORIN"1-80/+3
This is an obsolete version which is no longer used by any sample (the only user, the ia64 sample, has been removed). It also makes the code path a bit complex, with twists just to accomodate that version. Removing the version will make those twists go away, and will ease commonalisation of glibc and eglibc in the future (hopefully!). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-11libc/*glibc: enable selection of the oldest supported ABIYann E. MORIN"1-0/+4
[Yann E. MORIN: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-10libc/*glibc: add option to disable symbols versioningYann E. MORIN"1-0/+4
[Yann E. MORIN: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-22scripts: add "FILE" and "CFG" debug levels.Anthony Foiani1-3/+3
I ran into some minor difficulties looking through the build log for a particular file: I wasn't interested in seeing it unpacked, but only when it is built or installed. Adding these two levels allows me to differentiate between those cases. [Yann E. MORIN: Those are blind log levels, and are used only to search in the build-log afterward.] Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-06-30libc/glibc: fix installed scriptsYann E. MORIN"1-0/+13
glibc installs some bash-scripts, but uses the path to the buildtool bash as interpreter (on the shebang line). This is only a symlink to the real bash, and thus is not available at runtime. Fix that by assuming that bash on the target *will* be /bin/bash.
2010-04-21libc/glibc: fix kernel version checkYann E. MORIN"1-1/+3
Since we log the test strings, it is no longer possible to call the CT_Test* functions from sub-functions that print results to their stdout.
2010-04-11scripts/functions: make CT_Patch dumberYann E. MORIN"1-2/+2
It is the responsibility of the caller to split the package name from its version. It already knows that.
2010-01-30libc/glibc: fix retrieving version stringYann E. MORIN"1-2/+5
2010-01-12libc/glibc: get the version string from version.hYann E. MORIN"1-2/+5
We can not rely on the user-provided version string (be it via the choice, or manually entered), so fallback to reading version.h, which is both reliable and always present.
2010-01-12scripts/functions: change handling of nochdirYann E. MORIN"1-3/+3
- 'nochdir' must be the first option - have systematic pushd/popd, even if nochdir
2010-01-11libc/glibc: get rid of the now obsolete CVS stuffYann E. MORIN"1-63/+28
It's now been a while that glibc switched to git from cvs. Get rid of cvs to download glibc; this will make for a good cleanup before we add git support! :-)
2010-01-23libc/glibc: use CT_ARCH, in place of CT_KERNEL_ARCHYann E. MORIN"1-2/+2
Since we merged the 32/64-bit archs, and we explicitly used the Linux kernel arch name, we can get rid of CT_KERNEL_ARCH.
2010-01-09libc/glibc: correctly handle dual-bitness archsYann E. MORIN"1-2/+10
If the selected ARCH is dual-bitness (eg. supports 32- and 64-bit), then we need to know the correct place where to fetch some headers. Currently, this applies only to x86 variants: i386 and x86_64.