path: root/scripts/build/libc/
AgeCommit message (Collapse)AuthorFilesLines
2017-01-25Run all configure scripts using ${CONFIG_SHELL}Alexey Neyman1-0/+1
... as its help message says in menuconfig. Signed-off-by: Alexey Neyman <>
2017-01-14Merge pull request #526 from stilor/double-includeAlexey Neyman1-7/+1
Avoid creating include/include
2017-01-13Unify fetching Linaro components.Alexey Neyman1-9/+12
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib. Signed-off-by: Alexey Neyman <>
2017-01-13AVR32 support has been retired.Alexey Neyman1-4/+0
Scripts no longer download avr-headers. Signed-off-by: Alexey Neyman <>
2017-01-13install_root has no effect on newlib install.Alexey Neyman1-1/+1
And never had, at least since newlib 1.17 (first version added to crosstool-ng). Apparently, copy-pasted from Signed-off-by: Alexey Neyman <>
2017-01-13Remove 2nd copy of the option.Alexey Neyman1-2/+0
Added above, as part of the list. Signed-off-by: Alexey Neyman <>
2017-01-09Support building Newlib with Link Time OptimisationAlastair D'Silva1-10/+13
Signed-off-by: Alastair D'Silva <>
2017-01-09Add more newlib optionsAlastair D'Silva1-16/+33
2016-11-21Partially revert 6f8e89cb5ca061e899bf3feaaf3fecf30d366c3e.Alexey Neyman1-5/+5
The referenced commit replaced 'make' with '${make}' everywhere. This is wrong for at least the utilities that we may build as companion tools (make, libtool): this will always invoke the version detected by configure by supplying the absolute path. In other words, the wrappers in .build/tools/bin are not fallbacks - they are either temporary (in case a respective companion tool is built) or permanent redirectors. This is the reason why the PATH= has .build/*/buildtools/bin at higher precedence than .build/tools/bin; the latter has the versions detected by configure and the former has the versions built as companion tools. Revert the rest of the gang (grep/sed/...) for consistency. After all, we may decide to supply some of them as well (awk, for instance). Signed-off-by: Alexey Neyman <>
2016-08-23libc/*.sh: Deprecate libc_check_config step.Alexey Neyman1-4/+0
This step was only used in uClibc. However, with upcoming multilib, the config management will have to be done for each variant differently, anyway. uClibc was the only user of libc_check_config step, as well as CT_CONFIG_DIR directory. Retire these. Two other clean-ups in - KERNEL_HEADERS check seems to be bogus, this config option is not present even in 0.9.30 - which is not supported already. - SHARED_LIB_LOADER_PREFIX was renamed to MULTILIB_DIR in 0.9.31, according to ChangeLog - and MULTILIB_DIR is passed from command line instead. Signed-off-by: Alexey Neyman <>
2016-03-08newlib: add option to enable nano formatted ioBryan Hundven1-0/+3
Signed-off-by: Bryan Hundven <>
2016-03-08newlib: add option to enable nano mallocBryan Hundven1-0/+3
Signed-off-by: Bryan Hundven <>
2016-03-08newlib: disable multilib if it is not enabledBryan Hundven1-0/+5
Signed-off-by: Bryan Hundven <>
2015-12-08scripts: Update usage of CT_GetCustomBryan Hundven1-8/+2
This commit updates the build scripts to match the new usage of CT_GetCustom from the previous change. Signed-off-by: Bryan Hundven <>
2015-11-17consistency: Use exported variables of required toolsBryan Hundven1-4/+4
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 <>
2015-11-13xtensa: add support for the configurable Xtensa architecture.Chris Zankel1-0/+9
The Xtensa processor architecture is a configurable, extensible, and synthesizable 32-bit RISC processor core. Processor and SOC vendors can select from various processor options and even create customized instructions in addition to a base ISA to tailor the processor for a particular application. Because of the configurability, the build process requires one additional step for gcc, binutils, and gdb to update the default configuration. These configurations are packed into an 'overlay' tar image, and are simply untarred on top of the default configuration during the build. Signed-off-by: Max Filippov <>
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 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 <>
2015-09-14Added additional newlib specific target flags with new optionJasmin Jessich1-1/+4
LIBC_NEWLIB_TARGET_CFLAGS. Signed-off-by: Jasmin Jessich <>
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 , 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 <>
2015-02-02scripts/*/*.sh: prioritize http downloadsBryan Hundven1-1/+2
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 <>
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 <>
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, matching other libc components. Resolves issue with headers not found. Signed-off-by: David Holsgrove <>
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 <> [ keep leading indentation] Signed-off-by: "Yann E. MORIN" <> Message-Id: <c727adf1b7bd2c1e891d.1393353347@openSUSE-i7> Patchwork-Id: 324060
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" <>
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 <> [ split patch in two] Signed-off-by: "Yann E. MORIN" <> 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 <> [ update bundles sample accordingly] Signed-off-by: "Yann E. MORIN" <> Message-Id: <> Patchwork-Id: 232612
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 <> Message-Id: <75ab5151c7f5dc9086e3.1362334313@suse64> Patchwork-Id: 224561
2013-01-10libc: get rid of libc_finishYann E. MORIN"1-4/+0
At long last, we no longer have any libc that requries a libc_finish. Yeah! Signed-off-by: "Yann E. MORIN" <>
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" <>
2012-10-30libc/newlib: remove getting from CVSYann E. MORIN"1-21/+7
We now have the ability to use a custom local directory/tarball, so it no longer makes sense to have the ability to use the CVS repository. Signed-off-by: "Yann E. MORIN" <>
2012-10-11libc/newlib: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove1-1/+10
CUSTOM_LOCATION config options only presented in menuconfig if component CUSTOM version selected. Signed-off-by: "David Holsgrove" <> [ fix indentation] Signed-off-by: "Yann E. MORIN" <> Message-Id: <d02252752d4dc5e68ae3.1349931202@localhost.localdomain> PatchWork-Id: 190795
2011-07-17libc/newlib: build newlib in the proper stepYann E. MORIN"1-4/+4
Currently, newlib is built in the start_file step, which is wrong, but was needed when the baremetal integration was... well, 'unfinished'. Now that we build the baremetal compiler from the final cc step, and a proper core gcc in pass-1 and pass-2, we can move the newlib build to the step do_libc, where it belongs. Signed-off-by: "Yann E. MORIN" <>
2011-12-15libc/newlib: build manual for newlibYann E. MORIN"1-0/+15
Signed-off-by: Zhenqiang Chen <> [ copy with a single call to 'cp'] Signed-off-by: "Yann E. MORIN" <>
2011-11-28libc/newlib: remove hard-coded "-O"Zhenqiang Chen1-1/+1
With hard-coded "-O", users can not customize CFLAGS_FOR_TARGET by CT_TARGET_CFLAGS. If "-O" is needed, users can input it in CT_TARGET_CFLAGS. By default, "-Os" is enabled. Signed-off-by: Zhenqiang Chen <>
2011-11-22libc/newlib: add option to optimise for sizeZhenqiang Chen1-0/+2
Add an option to build with -Os instead of the default -O. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <>
2011-11-18libc/newlib: Add extra config for newlib.Zhenqiang Chen1-1/+2
So users can input config like --enable-newlib-register-fini. Reviewed-by: Michael Hope Signed-off-by: Zhenqiang Chen <>
2011-08-28libc/newlib: add a config option allowing to disable builtin syscallsKévin PETIT1-0/+5
Allows to choose if one wants to keep or not the syscalls that are provided with newlib. It passes the --disable-newlib-supplied-syscalls or --enable-newlib-supplied-syscalls to the configure script. If one chooses to disable the builtin syscalls, he/she will have to write his/her own. This can be usefull to port newlib to a new platform/board. Signed-off-by: Kévin PETIT <>
2011-03-20libc/newlib: log even moreYann E. MORIN"1-1/+1
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <>
2011-01-22libc: remove now unneeded do_libc_headersYann E. MORIN"1-4/+0
do_libc_headers is now a noop, and is no longer used, so remove that step. Signed-off-by: "Yann E. MORIN" <>
2011-01-22scripts: PARALLELMFLAGS is evil, renameYann E. MORIN"1-1/+1
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: Signed-off-by: "Yann E. MORIN" <>
2010-11-16scripts: remove aria2c as downloader, retain only curl and wgetYann E. MORIN"1-6/+0
Signed-off-by: "Yann E. MORIN" <>
2010-10-22libc/newlib: add option to compile support for IOs on C99 formatsYann E. MORIN"1-0/+5
Signed-off-by: "Yann E. MORIN" <>
2010-10-22libc/newlib: add option to compile support for long long IOsYann E. MORIN"1-0/+5
Signed-off-by: "Yann E. MORIN" <>
2010-10-22libc/newlib: add option to compile support for float IOsYann E. MORIN"1-1/+16
Adds support to enable/disable IOs of floating point values (float, double, and long double). Signed-off-by: "Yann E. MORIN" <>
2010-10-22scripts: add "FILE" and "CFG" debug levels.Anthony Foiani1-1/+1
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 <>
2010-06-13libc/newlib: build in the 'start files' passYann E. MORIN"1-8/+6
A few facts: - building the C library requires a proper core compiler - core compiler is issued from one of the core passes - the C library is required to build libstdc++ - newlib is only built for baremetal - in bare metal, the final compiler is issued from one of the core passes So we need to build the C library between core pass 1 and core pass 2. The only place is eithe libc_headers() or libc_start_files(). The most pertinent seems to be libc_start_files(). So we build newlib from libc_start_files(), and leave libc() empty.
2010-04-21libc/newlib: don't do // downloadsYann E. MORIN"1-0/+9
The newlib FTP site does not like // downloads, and quickly blocks the IP from the downloader. Override the number of chunks when downloading newlib.
2010-04-11scripts/functions: make CT_Patch dumberYann E. MORIN"1-1/+1
It is the responsibility of the caller to split the package name from its version. It already knows that.
2010-04-11libc/newlib: only compute version string, not full filenameYann E. MORIN"1-8/+8
2009-10-26libc/newlib: allow using CVS snapshotsYann E. MORIN"1-12/+27
The newlib "team" rolls new releases about once a year (december). This is quite a long time between releases, in case code was fixed. So, allow user to use a CVS snapshot to benefit early from fixes and enhancements to newlib.