aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/libc
Commit message (Collapse)AuthorAgeFilesLines
...
| * glibc: hide native c++ executable from buildDan McGregor2017-03-011-0/+4
| | | | | | | | | | | | | | | | | | If glibc's configure finds the host c++ executable it assumes that c++ should be enabled for the build. In case we don't have cross g++ built yet (ie, for headers), this causes the build to fail creating C++ headers. So hide C++ from the build. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
| * Bring in FreeBSD supportDan McGregor2017-03-011-1/+9
| | | | | | | | | | | | Check for FreeBSD specific issues, it is mostly the same as Darwin. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
* | Do not pretend we're downloading anythingAlexey Neyman2017-03-031-3/+1
|/ | | | | | ... when we're actually don't. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #625 from stilor/skip-localedefAlexey Neyman2017-02-281-0/+9
|\ | | | | Skip localedef
| * Skip locale build on CygwinAlexey Neyman2017-02-281-0/+9
| | | | | | | | 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>
* Revert "Determine whether -E/-r option selects extended regexp"Alexey Neyman2017-02-261-3/+3
| | | | This reverts commit 7bcf18bfab84374d3305c7a088f95ac1219ddf93.
* Determine whether -E/-r option selects extended regexpAlexey Neyman2017-02-131-3/+3
| | | | | | | | | | | | | | ... and then use the right option. See the note in scripts/functions on where we should use ${foo} and where just 'foo'; this boils down to whether we can expect the build tools override to be in effect (e.g. in the actual build scripts) or not (i.e. outside of scripts/build). While running in scripts/functions, or in scripts/crosstool-NG.sh the build tools override directory (.build/tools/bin) may have not been set up (yet, or at all). Also, modify the installed scripts (populate, xldd) accordingly. Signed-off-by: Alexey Neyman <stilor@att.net>
* External addons supported by glibc even nowAlexey Neyman2017-02-091-27/+24
| | | | | | ... though none are provided by default. Signed-off-by: Alexey Neyman <stilor@att.net>
* Revert "glibc: Remove support for downloading and extracting add-ons"Alexey Neyman2017-02-091-0/+67
| | | | This reverts commit 39273e0843cc5f7f91d50651b299a0472f59f472.
* 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>
* Fix location where libc manual is builtAlexey Neyman2017-01-301-2/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Create <sgidefs.h> if MUSL doesn't create oneAlexey Neyman2017-01-261-0/+3
| | | | | | Document the status quo and work around for mips-musl. Signed-off-by: Alexey Neyman <stilor@att.net>
* Run all configure scripts using ${CONFIG_SHELL}Alexey Neyman2017-01-255-0/+8
| | | | | | ... as its help message says in menuconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #552 from stilor/uclibc-ng-for-buildrootAlexey Neyman2017-01-231-0/+7
|\ | | | | Restore uClibc-ng usability in buildroot
| * 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>
* | mingw: compile the mingw-w64 companion tools as wellLi-Hang Lin2017-01-221-0/+30
|/ | | | | | | There are some useful tools such as widl, gendef, genidl ... etc. provided by mingw-w64 and do not waste the developers' works. Signed-off-by: Li-Hang Lin <lihang.lin@gmail.com>
* Use ${CT_CC} instead of gcc ...Alexey Neyman2017-01-133-9/+9
| | | | | | ... when refering to target's compiler. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #526 from stilor/double-includeAlexey Neyman2017-01-131-7/+1
|\ | | | | Avoid creating include/include
| * AVR32 support has been retired.Alexey Neyman2017-01-121-4/+0
| | | | | | | | | | | | Scripts no longer download avr-headers. Signed-off-by: Alexey Neyman <stilor@att.net>
| * install_root has no effect on newlib install.Alexey Neyman2017-01-121-1/+1
| | | | | | | | | | | | | | And never had, at least since newlib 1.17 (first version added to crosstool-ng). Apparently, copy-pasted from glibc.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
| * Remove 2nd copy of the option.Alexey Neyman2017-01-121-2/+0
| | | | | | | | | | | | Added above, as part of the list. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Unify fetching Linaro components.Alexey Neyman2017-01-122-20/+22
|/ | | | | | Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #519 from InfernoEmbedded/newlib-enhancementsAlexey Neyman2017-01-101-26/+46
|\ | | | | Newlib enhancements
| * Support building Newlib with Link Time OptimisationAlastair D'Silva2017-01-101-10/+13
| | | | | | | | Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
| * Add more newlib optionsAlastair D'Silva2017-01-101-16/+33
| |
* | Darwin needs -liconv when building glibc.Alexey Neyman2017-01-101-7/+2
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* | Avoid trampling user's LDFLAGS_FOR_HOST...Alexey Neyman2017-01-101-7/+11
|/ | | | | | | | | ... by passing BUILD_LDFLAGS twice (the 2nd argument overrides the first). Also, no need to pass -I/-L for BUILD_CFLAGS/LDFLAGS, they are already included by crosstool-NG.sh (but keep for BUILD_CPPFLAGS, as we set it up here). Remove -Wl,-Bstatic/-Wl,-Bdynamic (we only build static complibs). Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix use of custom location if it is a directory.Alexey Neyman2016-12-022-2/+2
| | | | | | | | | 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-206-41/+41
| | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'upstream/master'Dmitry Pankratov2016-11-112-1/+7
|\
| * Merge branch 'master' into janitorialBryan Hundven2016-10-241-0/+5
| |\
| | * 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>
| * | build/glibc: Improve confusing commentKirill K. Smirnov2016-09-151-1/+2
| |/ | | | | | | | | | | | | | | Up until cset 4e2227e8a5537a8553c503e55d2cb2190f2a0d2f there was an 'if' statement with a comment. The abovementioned changeset removed the conditional statement but the comment survived. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* | Merge branch 'master' of https://github.com/crosstool-ng/crosstool-ngDmitry Pankratov2016-10-017-550/+435
|\|
| * 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-232-36/+59
| | | | | | | | 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-232-188/+59
| | | | | | | | Signed-off-by: Alexey Neyman <stilor@att.net>
| * Treat multiroots differently.Alexey Neyman2016-08-232-17/+83
| | | | | | | | | | | | | | | | | | | | '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>
| * Change multilib functions to set the variable.Alexey Neyman2016-08-231-2/+3
| | | | | | | | | | | | | | | | Rather than echo-ing the new value, set the value into the variable with the name passed as an argument (similar to CT_SanitizeVarDir). This allows to use CT_DoLog in these functions. Signed-off-by: Alexey Neyman <stilor@att.net>
| * libc/*.sh: Deprecate libc_check_config step.Alexey Neyman2016-08-237-71/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * glibc.sh: cleanupsAlexey Neyman2016-08-231-55/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Dump CT_LIBC_EXTRA_CC_ARGS: instead, treat CT_LIBC_EXTRA_CFLAGS as arguments to CC (or they are not applied to .S, for example). Combine them with multi_flags and CT_TARGET_CFLAGS in proper order. - Analyze thus combined flags to determine --with-fp/--without-fp. Don't need to check CT_ARCH_FLOAT - it is reflected in CT_TARGET_CFLAGS anyway. Check more soft/hard float options defined on different architectures. - Drop checking for endianness flags: they are not reflected in configure arguments in any way, and they're already present in CFLAGS (either via multi_flags or via CT_TARGET_CFLAGS). Besides, CT_ARCH_ENDIAN_OPT was actually called CT_ARCH_ENDIAN_CFLAG, so this was a no-op anyway. Signed-off-by: Alexey Neyman <stilor@att.net>
| * libc/*.sh: handle combinations of multilib root/dir.Alexey Neyman2016-08-233-157/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * multilib: Determine which options may pass through.Alexey Neyman2016-08-231-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some arches (e.g. MIPS) the options like -mabi do not work if specified more than once (see the comment in 100-gcc.sh). Therefore, we need to determine which of the options produced by <arch>.sh can be passed to multilib builds and which must be removed (i.e., which options vary among the multilibs). This presents a chicken-and-egg problem. GCC developers, in their infinite wisdom, do not allow arbitrary multilib specification to be supplied to GCC's configure. Instead, the target (and sometimes some extra options) determine the set of multilibs - which may include different CPUs, different ABIs, different endianness, different FPUs, different floating-point ABIs, ... That is, we don't know which parts vary until we build GCC and ask it. So, the solution implemented here is: - For multilib builds, start with empty CT_ARCH_TARGET_CFLAGS/LDFLAGS. - For multilib builds, require core pass 1. Pass 1 does not build any target binaries, so at that point, our target options have not been used yet. - Provide an API to modify the environment variables for the steps that follow the current one. - As a part of multilib-related housekeeping, determine the variable part of multilibs and filter out these options; pass the rest into CT_TARGET_CFLAGS/LDFLAGS. This still does not handle extra dependencies between GCC options (like -ma implying -mcpu=X -mtune=Y, etc.) but I feel that would complicate matters too much. Let's leave this until there's a compelling case for it. Also, query GCC's sysroot suffix for targets that use it (SuperH, for example) - the default multilib may not work if the command line specifies the default option explicitly (%sysroot_suffix_spec is not aware of multilib defaults). Signed-off-by: Alexey Neyman <stilor@att.net>