aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/companion_libs
Commit message (Collapse)AuthorAgeFilesLines
...
* Add --disable-database and --with-fallbacks separatelyAlexey Neyman2017-02-171-3/+12
| | | | | | The dependency between them has been removed in Kconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Skip gettext/libiconv on linux-gnuAlexey Neyman2017-02-142-12/+24
| | | | | | | Previous version by Ray Donnelly was skipping them for all *linux*. This skips it for GLIBC only. Signed-off-by: Alexey Neyman <stilor@att.net>
* Skip comp.libs checking on host for canadianAlexey Neyman2017-02-116-12/+42
| | | | | | | ... they all want to run the binaries they produced, which fails when build!=host. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #575 from stilor/ncurses-configureAlexey Neyman2017-02-061-1/+21
|\ | | | | Allow some tunables for ncurses
| * Allow some tunables for ncursesAlexey Neyman2017-02-051-1/+21
| | | | | | | | | | | | | | | | | | - Allow user to specify configure arguments to pass through to host/target ncurses. - Checkbox for --disable-database - String option for --with-fallbacks Signed-off-by: Alexey Neyman <stilor@att.net>
* | Add zlib as a companion libAlexey Neyman2017-02-057-7/+109
|/ | | | | | with version 1.2.11. Signed-off-by: Alexey Neyman <stilor@att.net>
* Run all configure scripts using ${CONFIG_SHELL}Alexey Neyman2017-01-2510-0/+10
| | | | | | ... as its help message says in menuconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
* Change when libiconv/gettext are built.Alexey Neyman2017-01-102-8/+4
| | | | | | | | Make them configurable, default to y when build!=host (i.e. canadian or cross-native) because we don't know what libraries the host will provide. GLIBC, as previously, selects them explicitly. Signed-off-by: Alexey Neyman <stilor@att.net>
* Simplify a bit, no functional changes.Alexey Neyman2017-01-101-14/+4
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Avoid host libs when compiling gettext.Alexey Neyman2016-12-171-0/+8
| | | | | | On Travis, old libxml2 is picked up from host and breaks the build. Signed-off-by: Alexey Neyman <stilor@att.net>
* Make companion libs static.Alexey Neyman2016-12-115-35/+26
| | | | | | | | | | | | | | | | | | | | | | | This follows the trend set by 1*.sh scripts that configure ISL, GMP, MPFR, CLooG, etc. Building with shared libraries presents all kinds of problems: - The shared libraries need to be installed into ${CT_PREFIX_DIR}. - The binaries linked against companion libs need to have proper RPATH, or they're looking for shared libs in .build/${CT_PREFIX}/buildtools/lib. - All libraries must agree as to whether they're built shared, static, or both. Otherwise, gettext tries to link in static libncurses.a into a shared library and fails (since libncurses was compiled without the -fPIC switch and hence contains relocations that cannot be handled in a shared library). So this fixes the current mess. If we decide to re-enable building the companion libs shared, we should probably make this dependent on a separate suboption of CT_STATIC_TOOLCHAIN. Add a config loosely based on one reported in the issue 274. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #443 from KirillSmirnov/gdb-nativeAlexey Neyman2016-12-053-3/+33
|\ | | | | debug/gdb: properly link with expat
| * complibs: let mingw-gcc find target companion libsKirill K. Smirnov2016-09-103-3/+33
| | | | | | | | | | | | | | | | mingw-gcc searches for include and libs in <sysroot>/mingw directory while non-mingw-gcc uses <sysroot>/usr. This patch sets an appropriate prefix for target companion libs. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
* | 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-2010-27/+27
|/ | | | | | | | | | | | | | | | | | 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>
* libelf: Cygwin fix for UNC pathsRay Donnelly2016-01-031-0/+7
| | | | | | | | | | If destdir was / and prefix began with / then we would attempt to install libelf to a path beginning with // which is a UNC path on Cygwin. This is generally incorrect. Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
* libiconv: configure with --disable-nlsRay Donnelly2016-01-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | On Windows a build failure can be triggered during the build of the static iconv if a dynamic iconv is already present: There's a circular dependency between libiconv and gettext which (on a system with a dynamic gettext (and thus iconv) installed in the system prefix) causes a failure to build iconv.exe statically if it is built with nls .. .. Which needs gettext .. which depends on libiconv .. so libtool finds a dynamically linked libgettext.la .. and therefore presents ld with the dll import library libiconv.dll.a when linking iconv.exe .. as well as the static libiconv.a that it has just built! .. leading to multiply defined symbols from iconv. Therefore, we build it without nls. If it later turns out that we need it to be built with nls, then I will have to build it in two passes (common practice when bootstrapping GNU/Linux distros, MSYS2 and probably Cygwin and Homebrew). Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
* expat: Tidy up and correct configure flagsRay Donnelly2016-01-031-9/+24
| | | | | | | | | | | Build shared builds for host unless CT_STATIC_TOOLCHAIN. In all other situations, build statically, as before. It is necessary that the static/shared-ness of expat matches that of gettext on Cygwin/MinGW-w64 as they can't be linked together if they don't match, so we follow the same logic. Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
* Whitespace: We don't use tabs in shell or kconfig filesBryan Hundven2015-12-081-10/+10
| | | | | | | We indent by multiples of 4. This change cleans up whitespace in offending files. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* PPL: Remove support for PPL and CLooG/PPLBryan Hundven2015-11-292-198/+21
| | | | | | | | | | | | | | | | | | | | | Now that versions of gcc that required PPL are no longer supported ( >= gcc-4.5.x AND <= gcc-4.7.x ) ...we no longer require PPL or CLooG/PPL. This commit: * Removes PPL * Removes CLooG/PPL * Updates the documentation * Updates build script for CLooG and GCC * Removes PPL and CLooG/PPL from scripts/addToolVersion.sh and scripts/showSamples.sh * Adds ISL to scripts/addToolVersion.sh and scripts/showSamples.sh I know that sounds like a lot for one commit, but it was all kind of inter-tangled. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* Merge pull request #268 from bhundven/consistent_usage_of_found_appsBryan Hundven2015-11-1711-30/+30
|\ | | | | consistency: Use exported variables of required tools
| * consistency: Use exported variables of required toolsBryan Hundven2015-11-1711-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ncurses: bump to ncurses-6.0Bryan Hundven2015-11-161-0/+4
|/ | | | | | | | | This commit removes ncurses-5.9 and adds 6.0. I also provide the stable patch updates in patches/ncurses/6.0. I have also added an experimental toggle for enabling the new ABI support. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* file modes: Fix file modes... again.Bryan Hundven2015-11-142-0/+0
| | | | | | These files are sourced, not executed, and do not need to be executable. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* Update new companion libs with *_for_target.Alexey Neyman2015-11-132-0/+2
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Pass CFLAGS/LDFLAGS to backends.Alexey Neyman2015-11-132-1/+11
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Enable building expat/ncurses for host.Alexey Neyman2015-11-132-0/+52
| | | | | Then re-enable cross-gdb for nios2-spico-elf sample, previously disabled.
* Change ncurses to a companion library.Alexey Neyman2015-11-131-0/+109
| | | | | | | | | | | Currently, builds for build and target (matching the current implementation). Need to add building for host for canadian crosses. TIC_PATH is removed - configure in ncurses searches $PATH, so it finds 'tic' in buildtools anyway. Arguably unneeded code for MacOS also removed, with a FIXME comment for validation by someone using MacOS. Signed-off-by: Alexey Neyman <stilor@att.net>
* Convert expat for target into a companion lib.Alexey Neyman2015-11-131-0/+67
| | | | | | Expat-for-host to be done. Signed-off-by: Alexey Neyman <stilor@att.net>
* Build companion libs for target.Alexey Neyman2015-11-136-3/+9
| | | | | | | Currently, only libelf has a for-target step - but it generalizes the step to hook other libraries into this step. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add gettext and libiconv as companion libsRay Donnelly2015-11-132-0/+249
| | | | | | | | | | | | | | | | | | .. they're needed for the RPC generation in glibc on both Cygwin and MinGW-w64. Neither are built on GNU/Linux and iconv is not built on Darwin. Two patches for gettext are needed, one so that -O0 works and one so that static builds can be made. They can take a good while to build, so if not needed for_host or for_build then they are not built. Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
* mpfr: Swap primary mirror to gnu.orgBryan Hundven2015-11-111-2/+2
| | | | | | | | | mpfr.org has been less then reliable, so lets make gnu.org the primary instead of the secondary source. This closes #250 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* Added new config ISL_V_0_14_or_later and ISL_V_0_12_or_later to selectJasmin Jessich2015-09-011-4/+11
| | | | | | proper configure options for isl 0.14.x and 0.12.x in 121-isl.sh. Signed-off-by: Jasmin Jessich <jasmin@anw.at>
* comp_libs: Fix download locations for cloog and mpcBryan Hundven2015-04-262-2/+4
| | | | | | This change closes #62 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* gmp: Disable --enable-mpbsd if version is >= 5.0.2Bryan Hundven2014-12-231-2/+7
| | | | | | closes #12 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
* scripts: Update download locationsBryan Hundven2014-12-086-11/+13
| | | | | | | | | | | | | | This change updates the download locations to default to the official download site. For gcc and gdb, also separate out the linaro download locations so that if you are downloading the linaro variant, it skips trying to download from the official gcc mirror. This commit closes #3 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* complibs/isl: add HTTP mirrorMichael Hope2013-08-011-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 <michaelh@juju.net.nz> [me: split original patch in two] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Message-Id: <aeb4a850d0786ee62dc2.1375559989@wanda> Patchwork-Id: 264436
* complibs/cloog: add support for the ISL backendYann E. MORIN"2013-05-051-22/+49
| | | | | | | | | | | | | CLooG 0.18+ will use ISL instead of PPL, so we have to configure adequately depending of which backend is in use. The Kconfig entries will decide for us which is selected, so we can rely on either PPL xor ISL to be selected, not both. Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru> [Dmitry did a preliminray patch to add ISL support, which this patch is inspired from] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* complibs: add ISLYann E. MORIN"2013-05-041-0/+128
| | | | | | | | | ISL is used by gcc-4.8 onward for GRAPHITE, so is also used as backend for CLooG 0.18.0 onward. Reported-by: "Plotnikov Dmitry" <leitz@ispras.ru> [Dmitry did a preliminray patch to add ISL, which this one is inspired from] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* complibs/ppl: only add -fpermissive flag to CXXFLAGSSamuel Martin2013-04-131-3/+10
| | | | | | | | | | | | | | | | | | -fpermissive is not a valid option to gcc. Adding it to the CFLAGS make the ppl checks fail with the following error: [ALL ] Making check in tests [ALL ] cc1: warnings being treated as errors [ERROR] cc1: error: command line option "-fpermissive" is valid for C++/ObjC++ but not for C [ALL ] cc1: warnings being treated as errors [ERROR] cc1: error: command line option "-fpermissive" is valid for C++/ObjC++ but not for C [ERROR] make[7]: *** [formatted_output.o] Error 1 Signed-off-by: "Samuel Martin" <smartin@aldebaran-robotics.com> Message-Id: <bba2482a06a11415207e.1365876457@smartin-de-2.aldebaran.lan> Patchwork-Id: 236383
* complibs/ppl: update upstream locationYann E. MORIN"2013-02-151-4/+2
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* complibs/ppl: fix build with newer gccYann E. MORIN"2012-12-101-2/+14
| | | | | | | | | | | | ppl-0.10.x does not build with gcc-4.6+, as it uses constructs that were warnings with gcc-4.5 and before, but are now errors with gcc-4.6 and above. Fix that by passing -fpermissive in CFLAGS for ppl 0.10. Reported-by: Jeremy Rosen <jeremy.rosen@openwide.fr> Reported-by: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* scripts: add BUILD/HOST extra cflags/ldflagsYann Diorcet2012-11-166-7/+43
| | | | | | | | | | | | | | | | On some hosts, and for certain toolchains (eg. toolchain targetting the upcoming Darwin), it may be necessary to pass arbitrary CFLAGS and/or LDFLAGS when building the components. And necessary infrastructure: - EXTRA_{CFLAGS,LDFLAGS}_FOR_{BUILD,HOST} as config options - pass those extra flags to components Fix-up a slight typo in elf2flt at the same time (misnamed cflags). Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com> Message-Id: <d24043276c9243a35421.1353077450@macbook-smorlat.local> Patchwork-Id: 199645
* complibs: introduce generic multi-complibs infrastructureYann Diorcet (diorcet yann2012-11-166-0/+0
| | | | | | | | | Use the same method as companion tools for providing generic and extendable companion libs. Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com> Message-Id: <515c5c4635d99ebe4877.1353074410@macbook-smorlat.local> Patchwork-Id: 199613
* complibs/cloog: create missing m4 dirYann E. MORIN"2012-07-311-0/+3
| | | | | | | | | | | | | | | Because we now patch configure.in and configure, the Makefile quicks in a re-build rule as the source files are now more recent than the bundled generated files, and that fails because the m4 directory is missing, although on some systems where aclocal is not installed, the re-build rule does nothing (except a warning). Always create tht directory. Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com> [Also thanks to Thomas De Schampheleire <patrickdepinguin@gmail.com> for some digging works on this issue] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* complibs: fixup the host complibs install dirYann E. MORIN"2011-07-256-6/+6
| | | | | | | | | | | It's easier to have as much as possible stuff in the same place to ease backup/restore, and make things easier to follow. Move the host companion libraries install dir as a sub-dir of the build-tools install dir (but not directly in it, it would break for canadian or cross-native). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* complibs: add frontends for building to run on the build machineYann E. MORIN"2011-07-246-0/+138
| | | | | | | In canadian-cross, we need the companion libraries running on the build machine, to be able to build the two core gcc. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* complibs: split companion libraries to backend/frontend, a-la cc_coreYann E. MORIN"2011-07-176-103/+235
| | | | | | | | | | | | | | | | | | | Move the actual complibs codes to backend functions that builds the required combo of build/host/target as requested by a frontend. This split is currently a no-op, but is required for the upcoming canadian-cross rework, where we'll be needing to build the complibs twice, one for build/build, and one for build/host. This applies to the six companion libraries: - GMP - MPFR - PPL - Cloog/PPL - MPC - libelf Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* complibs/libelf: rename libelf for target functionYann E. MORIN"2012-01-031-2/+2
| | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
* complibs/cloog: fix linking with libmBenoît Thébaudeau"2012-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ubuntu 11.04 and 11.10, the default options for ld have changed. --no-copy-dt-needed-entries and --as-needed are now enabled by default, which causes errors like: [EXTRA] Checking CLooG/ppl [DEBUG] ==> Executing: 'make' '-j3' '-s' 'check' [ALL ] Making check in . [ALL ] config.status: creating include/cloog/cloog-config.h [ALL ] config.status: include/cloog/cloog-config.h is unchanged [ALL ] libtool: link: i686-build_pc-linux-gnu-gcc -Wall -fomit-frame-pointer -pipe -o cloog cloog.o -L/<snip>/build/static/lib ./.libs/libcloog.a -lm /<snip>/build/static/lib/libppl_c.a /<snip>/build/static/lib/libpwl.a /<snip>/build/static/lib/libppl.a /<snip>/build/static/lib/libgmpxx.a /<snip>/build/static/lib/libgmp.a -lstdc++ [ALL ] /usr/bin/ld: /<snip>/build/static/lib/libppl.a(MIP_Problem.o): undefined reference to symbol 'sqrt@@GLIBC_2.0' [ALL ] /usr/bin/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so so try adding it to the linker command line [ALL ] /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so: could not read symbols: Invalid operation [ALL ] collect2: ld returned 1 exit status [ERROR] make[2]: *** [cloog] Error 1 [ERROR] make[1]: *** [check-recursive] Error 1 See: https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition This patch fixes these errors by placing '-lm' at the right place on the command line as libppl requires libm when linking cloog. Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>