aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/libc/uClibc.sh
Commit message (Collapse)AuthorAgeFilesLines
* Retire obsoleted milestonesAlexey Neyman2022-02-111-437/+0
| | | | | | | | | | | | ... and the code dependent on them, after the latest wave of obsolete package removals. This concludes the glorious history of the original uClibc (non-NG) with lots of kludges removed. There was a choice here, whether to call the resulting libc "uClibc" or "uClibc-ng". I opted in favor of giving uClibc-ng the recognition it deserves, although it had some ripple effect in the ct-ng code. Signed-off-by: Alexey Neyman <stilor@att.net>
* Don't remove XLOCALE support unconditionally.lancethepants2020-10-151-1/+0
| | | | Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
* Merge pull request #1178 from stilor/masterAlexey Neyman2019-04-051-1/+1
|\ | | | | Last fixes for 1.24.0
| * Rename JOBSFLAGS -> CT_JOBSFLAGSAlexey Neyman2019-04-041-1/+1
| | | | | | | | | | | | ... so that it is saved/restored when restarting the build. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Fix uClibc build for noMMU targetMax Filippov2019-03-231-14/+16
|/ | | | | | | | | | uclibc_backend_once tries to build dummy shared libraries regardless of whether shared libraries support for target is enabled or not, resulting in build failure in noMMU bFLT configuration. Only build dummy shared libraries when shared library support for target is enabled. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
* Select flat/FDPIC in accordance with ct-ng settingAlexey Neyman2019-02-201-0/+9
| | | | | | | uClibc-ng 1.0.31 enabled FDPIC as an option for ARM/no-MMU configurations and defaults to that option if not set explicitly. Signed-off-by: Alexey Neyman <stilor@att.net>
* Stash the uClibc config after our modsAlexey Neyman2019-02-191-0/+4
| | | | | | ... before running `make olddefconfig`. This helps in debugging. Signed-off-by: Alexey Neyman <stilor@att.net>
* Coding style fix in uClibc.shDima Krasner2019-01-231-1/+1
| | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* Moved uClibc configuration installation to uClibc.shDima Krasner2019-01-231-0/+4
| | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* Add configuration options for enabling SSPAlexey Neyman2018-12-041-3/+6
| | | | | | | | | | | ... in uClibc and glibc. Fixes #681. While here, relocate additional "sources" for uClibc/binutils into packages/ directory. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix uClibc builds after moxie mergeAlexey Neyman2018-12-031-12/+12
| | | | | | Broken because of the capitalization of the name. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add moxiebox as a choice for libcAlexey Neyman2018-12-011-19/+15
| | | | | | | | | | | | | | | | | This required some rework of the libc selection, as moxiebox is a layer on top of another libc - newlib. Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox needs from libcrypto is SHA256, and it already includes a standalone implementation of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use that implementation for the host binary, too. Also, automate collecting/printing the list of all packages in a given category (e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given category. Signed-off-by: Alexey Neyman <stilor@att.net>
* Make libiconv an option in the menu configAlexey Neyman2018-02-101-0/+7
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Super-H multilib toolchain fixesAlexey Neyman2017-09-031-2/+2
| | | | | | | | | | | | | | | 1. On SuperH, configuring GCC with explicit variant of the CPU (like "sh4") limits the default set of multilibs to just that CPU and requires --with-multilib-list to change. Allow for "unspecified" variant, so that we can defer to GCC to determine the list. 2. Support toolchains with both endiannesses at the same time. 3. Add a SuperH/newlib sample 4. Add more flags processing for uClibc Signed-off-by: Alexey Neyman <stilor@att.net>
* Remove support for pregenerated locales in uClibcAlexey Neyman2017-07-081-26/+4
| | | | | | | | | It fails to compile with the only locale version available (030818) (on master too, with exactly the same error). uClibc-ng does not use pregenerated locales. Signed-off-by: Alexey Neyman <stilor@att.net>
* uClibc locale "package"Alexey Neyman2017-07-081-28/+30
| | | | | | Does not build, though. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fixes for buildingAlexey Neyman2017-07-081-3/+2
| | | | | | | | | - Need GDB8.0 milestone - Make uClibc "master" package - Rename bionic -> android-ndk to match the package name and support suffixes for archives Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the references to old config variablesAlexey Neyman2017-07-081-33/+9
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Pass HOSTCC to uclibc's makeAlexey Neyman2017-04-021-0/+1
| | | | | | Else it looks for 'gcc'. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix up ld.so symlinks for muslAlexey Neyman2017-03-121-47/+1
| | | | | | | | Convert absolute targets to relative so that they are valid on the host, too. The procedure is very similar to uclibc, so it is moved into a common function. Signed-off-by: Alexey Neyman <stilor@att.net>
* Avoid -T, it is not available on macosAlexey Neyman2017-02-281-3/+1
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Use 'make olddefconfig' in uClibc/uClibc-ng configurationAlexey Neyman2017-02-041-1/+1
| | | | | | | | | | | instead of 'make oldconfig' and responding 'y'. This avoids 'Broken pipe' errors in the log, as well as selects default setting for all options not explicitly set. This requires a small fix in the old uClibc. Won't have to maintain that fix for long though :) Signed-off-by: Alexey Neyman <stilor@att.net>
* Add selection for RPCAlexey Neyman2017-01-231-0/+7
| | | | | | | So that uClibc config can be matched to Buildroot's expectations via the menu, without the need for a saved config. Signed-off-by: Alexey Neyman <stilor@att.net>
* Use ${CT_CC} instead of gcc ...Alexey Neyman2017-01-131-2/+2
| | | | | | ... when refering to target's compiler. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix use of custom location if it is a directory.Alexey Neyman2016-12-021-1/+1
| | | | | | | | | In that case, CT_GetCustom just creates a symlink to the original. In that case, 'cp -a <path> .' gives an error and 'cp -a <path> <newdir>' creates <newdir> as a symlink (which will then run the build inside the shared directory, .build/src/<package>). Signed-off-by: Alexey Neyman <stilor@att.net>
* Partially revert 6f8e89cb5ca061e899bf3feaaf3fecf30d366c3e.Alexey Neyman2016-11-201-11/+11
| | | | | | | | | | | | | | | | | | 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 <stilor@att.net>
* Fix m68k with uClibc-ng >= 1.0.15.Alexey Neyman2016-10-041-0/+5
| | | | | | | | | | | | | 1.0.15 only kept a single LINUXTHREADS option, and renamed it, making it no longer option-compatible with uClibc. The option for "1.0.14 or later" version of uClibc-ng is not currently used; rename it to "1.0.15 or later" and use it to handle newer uClibc-ng's linuxthreads. m68k happens to be the only sample using linuxthreads. Signed-off-by: Alexey Neyman <stilor@att.net>
* uClibc: propagate SHARED_LIBS option.Kirill K. Smirnov2016-08-301-0/+6
| | | | | | | This patch synchronizes crosstool CT_SHARED_LIBS and uclibc HAVE_SHARED options. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* uClibc: install native utilsKirill K. Smirnov2016-08-301-1/+1
| | | | | | | | This change adds native ldd and ldconfig utils to sysroot. For glibc just 'make install' installs everything including utils. For uclibc there exists a separate goal 'install_utils'. Make it. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* musl: Add multilib support.Alexey Neyman2016-08-231-2/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* uClibc: move ldso check to post_cc.Alexey Neyman2016-08-231-43/+54
| | | | | | | | It turns out that core GCC on binfmt architectures (m68k, for example) cannot produce the final executable (looks for ld.real in the wrong place). Need to wait for the final gcc to become available. Signed-off-by: Alexey Neyman <stilor@att.net>
* Support multilib in sh/uClibc.Alexey Neyman2016-08-231-83/+42
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Treat multiroots differently.Alexey Neyman2016-08-231-7/+37
| | | | | | | | | | 'ld' does not search for dependency libraries in multi_os_directory, so if there's both multi_os_directory and multi_root, and there is only one configuration in each multi_root, forgo the multi_os_directory suffix. Needed for sh4-multilib-linux-uclibc. Signed-off-by: Alexey Neyman <stilor@att.net>
* First stab at multilib/uClibc.Alexey Neyman2016-08-231-14/+130
| | | | | | | | | Create a separate 'libc_backend_once', install headers into a subdirectory (different sets of headers are installed for 32- and 64-bit architectures), and create a symlink for the dynamic linker location expected by GCC. Signed-off-by: Alexey Neyman <stilor@att.net>
* uClibc: Split configuration tweaker into per-arch functions.Alexey Neyman2016-08-231-113/+17
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* libc/*.sh: Deprecate libc_check_config step.Alexey Neyman2016-08-231-24/+8
| | | | | | | | | | | | | | | | | | 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 uClibc.sh: - 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 <stilor@att.net>
* uclibc: merge startfiles/final into single backend.Alexey Neyman2016-08-231-160/+109
| | | | | | | | | | | In preparation for multilib support, use the same "backend" model that is already employed by glibc and musl. Also, the verbosity setting descriptions were swapped. V=2 is actually less verbose than V=1: V=1 prints full commands, while V=2 prints 'CC <file> <defines>'. Signed-off-by: Alexey Neyman <stilor@att.net>
* uClibc.sh: typo, local -> locale.Alexey Neyman2016-08-231-13/+13
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* libc/*.sh: handle combinations of multilib root/dir.Alexey Neyman2016-08-231-27/+43
| | | | | | | | | | | | | | | | | | | | | Install startfiles for libc variants into the most specific combination (suffixed sysroot, if applicable + suffixed multi-os dir, if applicable). Install headers once in every suffixed sysroot (although it seems that GCC picks up headers from top-level sysroot, GCC manual claims that sysroot suffix affects headers search path). In uClibc, this requires a better sanitization of the directory: it creates symlinks from {sysroot}/usr/lib/{multi_os_dir} to {sysroot}/lib/{multi_os_dir} and to do so, it counts the number of path components in the libdir. This breaks if one of such components is `..' - symlinks contain an extra `../..' then. Since such sanitization had to be implemented anyway, use it in other places to print more sensible directory names. Also, fix the description of configure --host/--target per musl's configure help message (and its actual code). Signed-off-by: Alexey Neyman <stilor@att.net>
* scripts: Update usage of CT_GetCustomBryan Hundven2015-12-081-12/+4
| | | | | | | 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>
* uClibc: Add kconfig option to enable IPv6 supportBryan Hundven2015-11-221-0/+7
| | | | | | This commit adds a kconfig option to enable IPv6 support. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* uClibc: remove references to sh64*Bryan Hundven2015-11-211-1/+0
| | | | | | | | | | | As per the change notes of GCC-6: https://gcc.gnu.org/gcc-6/changes.html and conversations I've had with the buildroot folks, there is no need to support sh5/sh64. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* consistency: Use exported variables of required toolsBryan Hundven2015-11-171-11/+11
| | | | | | | | | | | | | | | | | | | | | | 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>
* uClibc: Fall back to default configs if not providedBryan Hundven2015-11-121-1/+4
| | | | | | | | | | | | I've added the .config files to contrib/uClibc-defconfigs from buildroot to use as default configs if they are not provided in the sample. If a particular architecture really needs an option set, it should be either updated in the manange_uClibc_config function in scripts/build/libc/uClibc.sh or a custom ${uclibc_name}.config should be added to the sample (usually via `ct-ng saveconfig`). Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* uClibc: Add support for uClibc-ngBryan Hundven2015-11-121-10/+17
| | | | | | This commit adds uClibc-ng 1.0.8. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* uClibc: rewrite mungeuClibcConfig to manage_uClibc_configBryan Hundven2015-11-121-219/+177
| | | | | | | | This commit updates uClibc to use the new CT_Kconfig options from the previous commit. The older sed method of sanity checking the uClibc .config was error prone and clumsy. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* uClibc: Reduce supported versionsBryan Hundven2015-11-111-8/+1
| | | | | | | | | This commit reduces the number of supported versions to: * 0.9.33.2 * custom location Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* blackfin: Remove blackfin supportBryan Hundven2015-11-091-1/+0
| | | | | | | | | | This commit removes blackfin support. I'm open to re-adding blackfin after crosstool-1.23.0 is released, but it is currently too difficult to port forward to newer versions of gcc and uclibc. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* uClibc: Don't use CROSS, use CROSS_COMPILE insteadBryan Hundven2015-11-021-9/+9
| | | | | | | | | | | | As per: http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/Makefile.help?id=044843f002f666db3bc06c513ed6291a00ad1225 CROSS= is for compatibility, but we plan on dropping older uClibc versions, and adding uClibc-ng and uClibc-snapshot support. Use CROSS_COMPILE instead. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* avr-libc: add support for avr-libc C libraryErico Nunes2015-06-211-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>