aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/libc/uClibc.sh
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* libc/uClibc: add option to enable fenvYann E. MORIN"2014-01-041-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>
* libc-uclibc: enable fenv for x86 32-bitYann E. MORIN"2014-01-041-0/+7
| | | | | | Without it, gcc-4.8 fails to build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* libc: get rid of libc_finishYann E. MORIN"2013-01-101-5/+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>
* libc/uClibc: remove use of snapshots and specific dateYann E. MORIN"2012-10-311-15/+7
| | | | | | | | We now have the ability to use a custom location, so supporting snapshots or custom date is no longer needed. Let the user do the required preparation in this case. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove2012-10-111-1/+11
| | | | | | | | | | | CUSTOM_LOCATION config options only presented in menuconfig if component CUSTOM version selected. Signed-off-by: "David Holsgrove" <david.holsgrove@xilinx.com> [yann.morin.1998@free.fr: fix indentation, don't patch custom dir location] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <712995e3e719fbbe24af.1349931201@localhost.localdomain> PatchWork-Id: 190794
* libc/uClibc: add additional debug level between "minimal" and "all"Johannes Stezenbach2012-02-241-0/+10
| | | | | | | | | During application development it is desirable to enable malloc debugging and LD_DEBUG support, but the extensive debug spew from SUPPORT_LD_DEBUG_EARLY is only useful when working on uClibc's ld.so. Signed-off-by: Johannes Stezenbach <js@sig21.net>
* libc/uClibc: use endian string in testsYann E. MORIN"2011-11-201-3/+5
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: use the floating-point string option in testsYann E. MORIN"2011-11-141-3/+5
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: force use of ctor/dtorYann E. MORIN"2011-08-131-1/+5
| | | | | | | | Although ctor/dtor do not seem strictly required, missing them proves rather inconvenient, as ld can't link binaries. Reported-by: John Spencer <maillist-uclibc@barfooze.de> (sh4rm4 on IRC) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uclibc: fix src dir locationYann E. MORIN"2011-07-311-13/+3
| | | | | | | | | Now that we akways extract the tarballs in a sane location (see changeset #6e1412ba8da9: scripts/functions: force extract folder to archive basename), the uClibc snapshot dir now has the date (as version) in it, eg.: uClibc-20100710 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: use MMU settingsYann E. MORIN"2011-04-241-0/+13
| | | | | | Enforce the MMU settings from the crosstool-NG configuration. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc: remove now unneeded do_libc_headersYann E. MORIN"2011-01-221-4/+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>
* scripts: PARALLELMFLAGS is evil, renameYann E. MORIN"2011-01-221-3/+3
| | | | | | | | | | 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>
* libc/uClibc: move content of do_libc_headers into do_libc_start_filesYann E. MORIN"2011-01-221-6/+5
| | | | | | | | | | | | It is unnecessary to split C library preparation into two steps, as only one really makes sense. So, do_libc_headers is bound to be withdrawn short-term, in favor of do_libc_start_files. uClibc already had all its start files installation in do_libc_headers, and do_libc_start_files was empty, just migrate the content of the former into the latter. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: normalize uclibc hidden version namesBryan Hundven2011-01-031-4/+4
| | | | | | | | | | | | | | Hidden version names for uClibc conflicted: LIBC_UCLIBC_V_0_9_30_2 LIBC_V_0_9_30_1 name them constantly as: LIBC_UCLIBC_V_<version> Also update the build script where we use snapshots by version or snapshots by date. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* scripts: add "FILE" and "CFG" debug levels.Anthony Foiani2010-10-221-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 <anthony.foiani@gmail.com>
* libc/uClibc: use the MIPS ABI selectionYann E. MORIN"2010-09-121-0/+34
| | | | | | | | | | Use the MIPS ABI selection to properly munge the uClibc config file. This has the side effect to force the ISA: - n32 ABI -> MIPS-III ISA - n64 ABI -> MIPS64 ISA Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: change munging code based on target archYann E. MORIN"2010-09-101-14/+16
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: fix downloading pregen localesYann E. MORIN"2010-08-111-1/+1
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* libc/uClibc: fix space damageYann E. MORIN"2010-07-281-37/+37
|
* libc/uClibc: fix using pre-generated locale dataYann E. MORIN"2010-07-281-4/+19
| | | | | | | | | Some time, someone updated the locale Makefile to use newer pre-generated locales data, but did not upload those. So we just force using the existing, ageing archive, dating back 20030818. Sigh...
* libc/uClibc: do not systematically use pre-generated locale dataYann E. MORIN"2010-07-281-12/+27
| | | | | | | | It seems that using pre-generated locale data can be more problematic than usefull in some circumstances. Offer a config knob to enable/disable use of the pregen locale data. Also, do not extract pregen locales data ourselves, it's broken.
* libc/uClibc: do not install cross-lddYann E. MORIN"2010-07-221-11/+0
| | | | | | | | | I was unable to make the cross-ldd from uClibc to work, and it is not possible to build it on non-POSIX system. Besides, we have a generic script that is in the starting-blocks to replace it, that will work for any C library, and also will work on non-POSIX systems. Bonus!
* libc/uClibc: enable NPTL for snapshotsYann E. MORIN"2010-07-031-5/+73
| | | | | Recently, NPTL has matured a lot in uClibc, and more and more people are interested to at least give it a try. So enable it.
* libc/uClibc: fix snapshotsYann E. MORIN"2010-07-031-4/+19
| | | | | Snapshots are in a subdir named uClibc, not uClibc-snapshot (or uClibc-YYYYMMDD either).
* libc/uClibc: fix munging .config for LT old/newYann E. MORIN"2010-07-021-7/+4
|
* libc/uClibc: apply the threading model to the configurationYann E. MORIN"2010-06-091-0/+30
| | | | | The threading model shall be be set in the .config file. Also, offer the choice between 'old/stable' and 'new' linuxthreads.
* Add basic support for the Blackfin architectureThomas Petazzoni2010-04-071-5/+6
| | | | | | | | | | | | | | | For uClibc, the name of the Blackfin architecture is 'bfin'. Actually, the naming of the architecture is quite messy: for toolchain tuples and uClibc, it's bfin, but for the kernel, it's blackfin. We've arbitraly choosen to name it "blackfin" in Crosstool-NG. Add Blackfin-related uClibc patch to fix a build failure related to fork() being used in unistd/daemon.c. Yann E. MORIN: Apply the patch to the kernel/linux build script to use 'linux' in the noMMU tuples. See: http://sourceware.org/ml/crossgcc/2010-04/msg00010.html
* scripts/functions: make CT_Patch dumberYann E. MORIN"2010-04-111-2/+2
| | | | | It is the responsibility of the caller to split the package name from its version. It already knows that.
* scripts/functions: change handling of nochdirYann E. MORIN"2010-01-121-2/+2
| | | | | - 'nochdir' must be the first option - have systematic pushd/popd, even if nochdir
* libc/uClibc: fix the breakage for x86 and Super-H, after the 32/64 mergeYann E. MORIN"2010-01-231-2/+9
|