summaryrefslogtreecommitdiff
path: root/scripts/build/libc
AgeCommit message (Collapse)AuthorFilesLines
2015-10-31gcc: Support only the latest branch releases of gccBryan Hundven1-19/+0
This change, as per #222, reduces the number of supported releases of gcc to the latest branch releases. I noticed while doing this work that gcc-4.5.4 was never added, so I moved patches for gcc-4.5.3 to 4.5.4 and updated the bfin-unknown-linux-uclibc example. Also, 120-siginfo.patch was fixed upstream in the 4.5.4 release, so this patch is omitted. I also bumped the avr sample to 4.9.3 from 4.9.2. With the addition of gcc-5.x, the gcc release team now releases the major.minor.0 versions, while updates to the branch are available in svn/git. We'll address that when we get to issue #219. This change just removes CC_GCC_5_1 and moves CC_GCC_5_2 to CC_GCC_5, and removes CC_GCC_5_1_or_later and moves CC_GCC_5_2_or_later to CC_GCC_5_or_later. This is the first of two part changes, as mentioned in #222. This change is slated for release in 1.22.0. The next change will be slated for 1.23.0, and will limit gcc versions to what is on https://gcc.gnu.org under "Release Series and Status", which is currently 4.9.3 and 5.2.0, although I will also support the previous supported version. In this example that would be 4.8.5. Last, but not least, this change also retires AVR32 support. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-09-14Added additional newlib specific target flags with new optionJasmin Jessich1-1/+4
LIBC_NEWLIB_TARGET_CFLAGS. Signed-off-by: Jasmin Jessich <jasmin@anw.at>
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 Nunes7-0/+95
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-05-12mingw-w64: Add 'devel' version to use git 'master' branchRay Donnelly1-13/+23
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-04-14Merge pull request #57 from smoofra/buildflagsBryan Hundven1-0/+4
bugfix: pass extra build CFLAGS and LDFLAGS to glibc
2015-04-14Merge pull request #63 from neftedal/masterBryan Hundven1-3/+28
Updated script to support mingw versions above major 2
2015-04-08mingw.sh: added with sysroot argument to mingw configureNils Petter Eftedal1-0/+1
The argument will prevent the prefix path from being added as an include path while building mingw. Having the prefix as an include path might cause all kinds of weird issues if prefix directory also exists on the build machine. Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
2015-04-08mingw.sh: updated script to support mingw versions above major 2Nils Petter Eftedal1-3/+27
Added new functions to support changes in prefix and required vendor tuple for new versions of mingw. Tested and verified with mingw version 2.0.7, 3.3.0 and 4.0-rc3. Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
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 Hundven3-739/+530
So long to eglibc
2015-02-02scripts/*/*.sh: prioritize http downloadsBryan Hundven2-1/+3
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 Hundven3-739/+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: newlib: Add NewLib 2.2.0, Linaro NewLib 2.2.0-2015.01 and 2.1.0-2014.09Cristoforo Cataldo1-2/+9
This commit allows to choose, download and build latest NewLib: - newlib-2.2.0 - newlib-linaro-2.2.0-2015.01 - newlib-linaro-2.1.0-2014.09 Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@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>
2015-01-16libc: eglibc: Add Linaro EGLibc 2.19-2014.08Cristoforo Cataldo1-0/+9
This commit allows to choose, download and build latest Linaro EGLibC: - eglibc-linaro-2.19-2014.08 Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-01libc/newlib: Add do_libc_start_files to copy headers to CT_HEADERS_DIRDavid Holsgrove1-4/+4
Require access to newlibs headers in gcc.sh, matching other libc components. Resolves issue with headers not found. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-16Merge pull request #14 from davidholsgrove/glibc_rpcBryan Hundven1-2/+3
libc/glibc: install obsolete RPC for both eglibc and glibc
2014-12-15libc/glibc: install obsolete RPC for both eglibc and glibcJérôme BARDON1-2/+3
Currently, the obsolete RPC headers are only installed for eglibc, but glibc has the same /deficiency/, so install the obsolete RPC for both. Signed-off-by: Jérôme BARDON <bardon.pro@gmail.com> Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09libc/{,e}glibc: If using custom {e}glibc, dont extract or patchDavid Holsgrove1-3/+9
If custom {e}glibc is being used, no need to carry out the extract or patching phase of scripts/build/libc/glibc-eglibc.sh-common Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2014-12-09libc/eglibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove1-3/+8
CUSTOM_LOCATION config options only presented in menuconfig if component CUSTOM version selected. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.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-09glibc: nptl is default from 2.20, so dont add to addons_listDavid Holsgrove1-4/+6
No longer recommended practice to use --enable-add-ons=nptl, so for 2.20 and later (along with custom glibc), don't add the CT_THREADS to the addons_list https://sourceware.org/glibc/wiki/Release/2.20#Packaging_Changes 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-09-11libc/musl: Add config option for extra developer warningsBryan Hundven1-0/+4
This commit adds a configuration knob for enabling extra developer warnings to be enabled during the musl-libc build. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11libc/musl: Add config option for debugging infoBryan Hundven1-0/+4
This option enables a configuration knob for adding debugging info. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-09-11libc/musl: Add options for optimizationBryan Hundven1-1/+5
This commit adds configuration knobs for optimizing musl-libc. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2014-08-08libc/musl: add musl-libc supportBryan Hundven1-0/+103
This patch adds initial support for musl-libc. Musl-libc versions currently supported: * 1.0.3 (Stable) * 1.1.3 (Previous Mainline) * 1.1.4 (Mainline) Futher improvements are needed. * gcc-4.9.x has issues (Might be fixed in musl-1.1.4). * Multilib support is needed. * Checks to make sure paths are correct. * Move to 2-step gcc build. 3-step build is not necessary. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> [yann.morin.1998@free.fr: removed the gcc musl patch, to be added later; removed dead code do_get_arch()] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-02-25newlib: fix extract process for custom versionTrevor Woerner1-1/+1
newlib: fix extract process for custom version If the user specifies the use of a custom newlib version, the logic in the extract function was reversed, so this step would fail. Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org> [yann.morin.1998@free.fr: keep leading indentation] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <c727adf1b7bd2c1e891d.1393353347@openSUSE-i7> Patchwork-Id: 324060
2014-01-04libc/uClibc: add option to enable fenvYann E. MORIN"1-7/+5
Support for fenv.h is a little bit more tricky that enabling it only for x86-32 is not right. Add an option for the user to choose whther to install fenv.h or not. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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>
2014-01-05libc/glibc: print name of skipped addonYann E. MORIN"1-1/+1
When trying to extract an already present (aka bundled) addon, print the name of that addon, for clarity, and to help analyse the build.log post-mortem. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-04libc-uclibc: enable fenv for x86 32-bitYann E. MORIN"1-0/+7
Without it, gcc-4.8 fails to build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-01-03libc/eglibc: fix downloading of localedef addonYann E. MORIN"1-3/+3
For the versions of eglibc where the ports addon is not external (ie, all versions after, and including 2.17), we would fail to download the localedef addon, since the test did not care about the addon we were about to download, only whether the ports addon was external or not. Fix that by skipping the ports addon only if that's the addon we're trying to download. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31libc/newlib: fix variables for avr32 headersYann E. MORIN"1-6/+10
Some of the avr32headers related variables are used in different functions, so have to be declared globally, not locally. 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"2-0/+10
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-11-15libc/(e)glibc: fix extra configparmsYann E. MORIN"1-1/+1
In case ${CT_LIBC_GLIBC_CONFIGPARMS} starts with a dash, printf will try to interpret it as an option for itself, and will invariably flail in panic as it does not recognise any of it. Use a more robust solution, as suggested by Cody. Reported-by: "Roberto A. Foglietta" <roberto.foglietta@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Cody P Schafer <devel-lists@codyps.com>
2013-08-01libc/newlib: add HTTP mirrorMichael Hope1-1/+2
Add well-known HTTP mirror as a fallback. This lets crosstool-ng work when behind a HTTP/HTTPS only proxy. Signed-off-by: Michael Hope <michaelh@juju.net.nz> [yann.morin.1998@free.fr: split patch in two] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <aeb4a850d0786ee62dc2.1375559989@wanda> Patchwork-Id: 264436
2013-03-31arch/avr32: Fix download of header filesMartin Guy1-9/+10
This patch fixes the download of the avr32 headers in crosstool-ng by fetching them directly from Atmel's web site instead of the now-broken URL given by the original author of the avr32-header-fetching modification, who fetched them from a copy on his own, now-defunct server. It also adds the necessary logic to extract from a zip file, as that is how the headers are packaged. To configure it for avr32 after launching ct-ng menuconfig in an empty directory: Paths and misc options -> Shell to use as CONFIG_SHELL = sh Target options -> Target Architecture = avr32 Toolchain options -> Tuple's alias = avr32 Binary utilities -> binutils version = 2.18a C compiler gcc version = 4.2.2 C-library newlib version = 1.17.0 Enable IOs on long long = yes Enable IOs on floats and doubles = yes Disable the syscalls supplied with newlib = yes CONFIG_SHELL is necessary to get round the "fragment: command not found" bug when binutils-2.18 is configured using bash. Prepared against crosstool-ng mercurial trunk on 31 March 2012. Signed-off-by: Martin Guy <martinwguy@gmail.com> [yann.morin.1998@free.fr: update bundles sample accordingly] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <CAL4-wQrg_NQ7jm-NCADqeyQr9twyhtx42OUGNThP6gWeqZc=kw@mail.gmail.com> Patchwork-Id: 232612
2013-03-03libc/glibc: do not overwrite existing bits/syscall.hYann E. MORIN"1-1/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Rafael C <groups.r2@gmail.com> Cc: Jérôme BARDON <bardon.pro@gmail.com> Cc: Daniel Price <daniel.price@gmail.com>
2013-03-03libc/glibc: fix installing syscall.h when installing start-files.Yann E. MORIN"1-2/+9
Reported-by: Rafael C <groups.r2@gmail.com> Reported-by: Jérôme BARDON <bardon.pro@gmail.com> Reported-by: Daniel Price <daniel.price@gmail.com> [yann.morin.1998@free.fr: use a conditional approach, also suggested by Daniel] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-03-03libc/newlib: update fetch locationTrevor Woerner1-1/+1
The menu system provides an option to allow a user to request newlib version 2.0.0. newlib-2.0.0, however, is not available at the download location currently being used. It is, however, available (as are other supported versions of newlib) at an alternate location. Signed-off-by: Trevor Woerner <twoerner@gmail.com> Message-Id: <75ab5151c7f5dc9086e3.1362334313@suse64> Patchwork-Id: 224561
2013-01-10libc: get rid of libc_finishYann E. MORIN"7-25/+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>
2013-01-10libc/newlib: install AVR32 headers during the start-files-and-headers phaseYann E. MORIN"1-9/+11
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26libc/glibc: both glibc and eglibc have pkgversion and bugurlYann E. MORIN"1-4/+2
Well, all eglibc version we support do, and latest glibc versions we support do. Not all glibc versions do, but older versions simply ignore the unrecognised ./configure flags. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-12-26libc/glibc: always enable obsolete RPCYann E. MORIN"1-4/+2
Since unrecognised ./configure flags are simply ignored, we can always pass --enable-obsolete-rpc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-11-19scripts: unquoted variable reference in glibc-eglibc.sh-commonDaniel Price1-1/+1
Signed-off-by: Daniel Price <daniel.price@gmail.com> Message-Id: <12f092a95a94bcf76912.1353367250@redfish.dssd.com> Patchwork-Id: 200215
2012-11-14libc/mingw: replace mingw32 with generic mingwYann Diorcet1-123/+50
Replace the 32-bit-only mingw32 with mingw-w64 that is capable of building toolchains for both 32-bit and 64-bit Windows. kernel/mingw: replace mingw32 with generic Windows kernel/windows: New windows kernel supporting 32 and 64 bit arch libc/mingw: Remove old options patches: Remove old mingw libc options' patches Signed-off-by: "Yann Diorcet" <diorcet.yann@gmail.com> [yann.morin.1998@free.fr: array var in libc/mingw.sh, typos] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <b045ac08fc9eac2e5ee3.1352898499@blackmint> Patchwork-Id: 198901
2012-11-02libc/eglibc: enable rpc in eglibc-2.16+Johannes Stezenbach1-0/+4
While eglibc-2.16 recommends to use TI-RPC instead of the old sunrpc, the old one can be included using a configure option. Since the user can still use TI-RPC to override the libc implementation, we enable rpc unconditionally. Signed-off-by: Johannes Stezenbach <js@sig21.net> Message-Id: <20121102140404.GA7707@sig21.net> Patchwork-Id: 196564