summaryrefslogtreecommitdiff
path: root/scripts/build/libc
AgeCommit message (Collapse)AuthorFilesLines
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 (transplanted from 51160d293e1fdbd69305310d3b34aa0054ce2399)
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
2012-10-31libc/uClibc: remove use of snapshots and specific dateYann E. MORIN"1-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>
2012-10-11libc/uClibc: Add CUSTOM version and CUSTOM_LOCATION config options and GetCustomDavid Holsgrove1-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
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" <yann.morin.1998@free.fr>
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" <david.holsgrove@xilinx.com> [yann.morin.1998@free.fr: fix indentation] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <d02252752d4dc5e68ae3.1349931202@localhost.localdomain> PatchWork-Id: 190795
2012-10-22fix eglibc-2.16 manual buildJohannes Stezenbach1-4/+9
Signed-off-by: Johannes Stezenbach <js@sig21.net> Message-Id: <20121022133228.GA16536@sig21.net> Patchwork-Id: 193156
2012-08-22libc/{,e}glibc: remove rude wordings in commetnsYann E. MORIN"3-3/+3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2012-02-24libc/uClibc: add additional debug level between "minimal" and "all"Johannes Stezenbach1-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>
2012-01-01libc/glibc: use CT_mkdir_pushd helperYann E. MORIN"1-2/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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" <yann.morin.1998@anciens.enib.fr>
2012-02-13libc/glibc: do not consume parameters when parsing themYann E. MORIN"1-3/+3
Currently, there are two constructs used to parse arguments in glibc backends, one that consumes args as they are parsed, and one that does not. Always use the construct that does not eat args as they are parsed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-28libc/glibc: cleanup CFLAGS handlingYann E. MORIN"1-7/+7
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27libc/glibc: remove multi-dirYann E. MORIN"1-0/+3
Remove the sysroot/${multi_dir} directory after the libc install. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-27libc/glibc: allow to selectively install headers and/or start-filesYann E. MORIN"1-12/+36
When doing multilib, we only need the headers from the default variant, but we need the startfiles for each variants. Allow the frontend to specify either one, or both. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-22libc/glibc: add multilib-cacpable backendYann E. MORIN"1-11/+94
For mutlilib, the C library must be built once for each variants. Special care must be taken to put the resulting libraries in the proper places. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: fix code formattingYann E. MORIN"1-9/+9
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glib: pass installation subdir to backendYann E. MORIN"1-7/+9
When building a multilib variant, install in a separate directory, to avoid clutering the default or any other variant. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: set the endian option according to extra CFLAGSYann E. MORIN"1-1/+18
When building a multilib, some extra CFLAGS can override the default config option. This is the case for the endianness selection. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: set the float option according to extra CFLAGSYann E. MORIN"1-2/+12
When building a multilib, some extra CFLAGS can override the default config option. This is the case for the floating point selection. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: add extra CFLAGS when building the C libraryYann E. MORIN"1-0/+4
When building multilib, we need extra CFLAGS that tell the compiler to use non-default settings (eg. big/little endian, hard/soft float, -march/cpu/tune flags, and so on...). We have to pass these flags to the build. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-13libc/glibc: no default mode for backendYann E. MORIN"1-7/+7
The caller SHALL explicitly ask for a nmode, and not rely on a default mode. That's what actually happens, so we can get rid of the default. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-14libc/eglibc: fix localedef 2.14 buildBenoît Thébaudeau"1-0/+1
The localedef of eglibc 2.14 requires NOT_IN_libc to be defined in order to compile intl/l10nflist.c. This is because localedef is built separately from eglibc and uses some parts of eglibc that don't compile in standalone without this preprocessor definition. This fixes the following error: [ALL ] gcc -g -O2 -DNO_SYSCONF -DNO_UNCOMPRESS -DLOCALE_PATH='"/usr/lib/locale:/usr/share/i18n"' -DLOCALEDIR='"/usr/lib/locale"' -DLOCALE_ALIAS_PATH='"/usr/share/locale"' -DCHARMAP_PATH='"/usr/share/i18n/charmaps"' -DREPERTOIREMAP_PATH='"/usr/share/i18n/repertoiremaps"' -DLOCSRCDIR='"/usr/share/i18n/locales"' -Iglibc/locale/programs -Iglibc/locale -I/<snip>/.build/src/eglibc-localedef-2_14/include -I/<snip>/.build/src/eglibc-localedef-2_14 -I. -include /<snip>/.build/src/eglibc-localedef-2_14/include/always.h -Wall -Wno-format -c -o locarchive.o glibc/locale/programs/locarchive.c [ALL ] glibc/locale/programs/locarchive.c: In function 'enlarge_archive': [ALL ] glibc/locale/programs/locarchive.c:303:21: warning: variable 'oldlocrectab' set but not used [-Wunused-but-set-variable] [ALL ] In file included from glibc/locale/programs/locarchive.c:651:0: [ALL ] glibc/locale/programs/../../intl/l10nflist.c: In function '_nl_normalize_codeset': [ERROR] glibc/locale/programs/../../intl/l10nflist.c:342:9: error: '_nl_C_locobj_ptr' undeclared (first use in this function) [ALL ] glibc/locale/programs/../../intl/l10nflist.c:342:9: note: each undeclared identifier is reported only once for each function it appears in [ALL ] glibc/locale/programs/locarchive.c: In function 'add_locales_to_archive': [ALL ] glibc/locale/programs/locarchive.c:1450:7: warning: passing argument 1 of '__xpg_basename' discards 'const' qualifier from pointer target type [enabled by default] [ALL ] /usr/include/libgen.h:35:14: note: expected 'char *' but argument is of type 'const char *' [ERROR] make[1]: *** [locarchive.o] Error 1 Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-15libc/newlib: build manual for newlibYann E. MORIN"1-0/+15
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org> [yann.morin.1998@anciens.enib.fr: copy with a single call to 'cp'] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: document the glibc backend argumentsYann E. MORIN"1-1/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-21libc/glibc: create build dir using libc_modeYann E. MORIN"1-4/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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 <zhenqiang.chen@linaro.org>
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 <zhenqiang.chen@linaro.org>
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 <zhenqiang.chen@linaro.org>
2011-11-20libc/uClibc: use endian string in testsYann E. MORIN"1-3/+5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-20libc/eglibc: use endian string in testsYann E. MORIN"1-3/+3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-15scripts: add support for building manualsYann E. MORIN"1-0/+12
Add support for building the HTML and PDF manuals for the major components. Implement for binutils, GCC, GDB, and GLIBC. Always build all manuals and install a subset. Be explicit about the subset to reduce the clutter and to avoid getting copies of common manuals like bfd from all of the sourceware based components. Downside of being explicit is that you need to update it when a new component comes along. Build the manuals as part of the last GCC build, namely 'cc' for glibc based ones and cc_core_pass_2 for baremetal. An example of the output is at: http://people.linaro.org/~michaelh/incoming/crosstool-NG/ Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: depends on ! remove docs; gold manual install] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-11-14libc/uClibc: use the floating-point string option in testsYann E. MORIN"1-3/+5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19arch: add softfp supportYann E. MORIN"1-0/+1
Some architectures support a mixed hard/soft floating point, where the compiler emits hardware floating point instructions, but passes the operands in core (aka integer) registers. For example, ARM supports this mode (to come in the next changeset). Add support for softfp cross compilers to the GCC and GLIBC configuration. Needed for Ubuntu and other distros that are softfp. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-19scripts: introduce float type as a stringYann E. MORIN"1-3/+3
With the upcoming softfp support, the case..esac test would become a bit convoluted if it were to test three different booleans. Introduce a new blind string config option that defaults to the selected floating point type used. Signed-off-by: Michael Hope <michael.hope@linaro.org> [yann.morin.1998@anciens.enib.fr: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-11libc/glibc: run ./configure in CONFIG_SHELLYann E. MORIN"1-0/+3
Tremendously helps when running on at least Ubuntu, with dash as the system shell (ie. /bin/sh points to dash). Reported by a few people, of which: leming, ccct and ccole on IRC Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-07libc/glibc: add log messages for glibc addons dirs and symlinksYann E. MORIN"1-2/+2
Signed-off-by: "Esben Haabendal" <esben.haabendal@prevas.dk> [yann.morin.1998@anciens.enib.fr: fix linewrap-carnage] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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 <kpet@free.fr>
2011-08-12libc/uClibc: force use of ctor/dtorYann E. MORIN"1-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>
2011-07-29libc: remove unneeded glibc/eglibc common functionsBenoît THÉBAUDEAU"1-12/+0
do_libc_locales_extract() and do_libc_locales() in glibc-eglibc.sh-common have been overridden for both glibc and eglibc, so they can now be removed, which this patch does. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-29libc/glibc: add partial support for localesBenoît THÉBAUDEAU"1-0/+70
This patch adds partial support for glibc locales. For now, it only generates the appropriate locales when the host and the target have the same endianness and uint32_t alignment. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-29libc/eglibc: add support for localesBenoît THÉBAUDEAU"1-1/+74
This patch adds support for eglibc locales. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-29libc: create an infrastructure to build and install the libc localesBenoît THÉBAUDEAU"1-0/+20
This patch adds a common glibc/eglibc infrastructure to build and install the libc locales. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-31libc/mingw: fix mingw source dirsYann E. MORIN"1-22/+22
Someof the mingw32 source tarballs have an appended '-src' after the version. Since changeset #6e1412ba8da9 (scripts/functions: force extract folder to archive basename), it means mingw tarballs get extracted in a directory ending with '-src'. Fix that. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-31libc/uclibc: fix src dir locationYann E. MORIN"1-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>
2011-07-28scripts/libc: do not build add-ons by defaultBenoît THÉBAUDEAU"1-1/+1
Currently, no --enable-add-ons option is passed to libc configure when "$(do_libc_add_ons_list ,)" is empty, which makes configure automatically search for present add-ons. In that case, all present add-ons are built, although no add-on was selected by the user in the config. Moreover, this can make the configure fail if some non-standard add-ons like eglibc-localedef are present. This behavior also leads to an inconsistency from a user point of view between the following cases: - LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS="none" in the config, which makes "$(do_libc_add_ons_list ,)" return "", so all present add-ons are built. - LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS!="none" in the config, which makes "$(do_libc_add_ons_list ,)" return the add-on supporting the chosen threading implementation, e.g. "nptl", so only this add-on is built. This patch disables the building of all add-ons in that case. It is still possible to build all present add-ons by adding --enable-add-ons to LIBC_GLIBC_EXTRA_CONFIG_ARRAY. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-09libc/glibc: fix passing args with spaces when calling backendYann E. MORIN"1-1/+1
Spaces in arguments to the glibc backend were not handled. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-30libc/eglibc: Add option that allows for getting svn over http://Yann E. MORIN"1-1/+7
Instead of getting eglibc over standard svn://svn.eglibc.org Add an option that allows the user to get source from http://www.eglibc.org/svn This is useful if you are behind a firewall or proxy. If you are behind a proxy, don't forget to configure ${HOME}/.subversion/servers In the [global] section setup your proxy configuration. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> [yann.morin.1998@anciens.enib.fr: removed useless 'default n'] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-26glibc: Refactor startfiles/headers into do_libc_backend()Bryan Hundven1-123/+92
Refactor the contents of 'do_libc_start_files()' and 'do_libc()' into a parameterized 'do_libc_backend()'. 'do_libc_start_files()' and 'do_libc()' call 'do_libc_backend()' with either 'libc_mode=startfiles' or 'libc_mode=final' (respectively) so that the startfiles/headers and the final libc builds are configured and built with the same options. One example of where this is needed is when building a mips toolchain. Previously, if you were building an n32 toolchain, you wouldn't have noticed an issue, because if '-mabi' is not in CFLAGS, n32 is the default: http://sourceware.org/git/?p=glibc-ports.git;a=blob;f=sysdeps/mips/preconfigure;hb=HEAD But when trying to build an o32 or n64 toolchain the build would have failed. This is because (e)glibc expects "-mabi={o32,n32,n64}" to be in CFLAGS, but was not previously provided in 'do_libc_start_files()'. The build failure would happen in the shared-core gcc when it tries to configure an n64 or o32 gcc with an n32 libc. A simpler solution would have been to just add TARGET_CFLAGS to configure in 'do_libc_start_files()', but this way makes configure and make consistent for both steps. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-06-04libc/glibc: do not try to download NPTL add-onYann E. MORIN"2-2/+12
The NPTL add-on has always been internal, so there is no reason to try downloading it, it will never succeed. Add provision to skip other add-ons as well. For consistency, do the same test in both glibc and eglibc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>