aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/companion_libs
Commit message (Collapse)AuthorAgeFilesLines
* Convert tabs to spacesAlexey Neyman2022-02-112-21/+21
| | | | | | | Recent changes introduced a mixture of tabs/spaces that result in broken indentation in multiple places. Signed-off-by: Alexey Neyman <stilor@att.net>
* Restrict *-uclibc,* canadians to gettext 0.20Alexey Neyman2022-02-111-0/+22
| | | | | | | Newer gettext is incompatible with uClibc-NG in cross-compilation, see the comment in the code. Signed-off-by: Alexey Neyman <stilor@att.net>
* Retire obsoleted milestonesAlexey Neyman2022-02-112-15/+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>
* gmp: Support building for targetChris Packham2021-09-191-2/+30
| | | | | | | Allow GMP to be build for the target. This will be needed by the up coming gdb-11. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* gnuprumcu: Bump to v0.6.0Dimitar Dimitrov2021-08-221-5/+4
| | | | | | | | | | | | Changes since v0.5.0: * Add spec files for am64x SoCs. * Require Binutils at least version 2.37. * Require pru-gcc to be installed. * Remove linker scripts. Instead set memory sizes from specs. * Activate --gc-sections linker option by default. * The "--host=pru" configure option must be used instead of "--target=pru. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
* newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGETKumar Gala2021-07-301-1/+28
| | | | | | | | | The spec file was missing replacing various libs like libc, libm, etc with their nano equiv when CT_NEWLIB_NANO_INSTALL_IN_TARGET=y. Update the nano.spec file that is generated to rename libc, libm, etc if CT_NEWLIB_NANO_INSTALL_IN_TARGET=y Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
* picolibc: Disable wchar_t use in libstdc++Keith Packard2021-07-131-0/+1
| | | | | | | Picolibc doesn't support wchar_t in stdio, so disable the use of these functions from libstdc++. Signed-off-by: Keith Packard <keithp@keithp.com>
* newlib: Add libstdc++ nano-specific CXXFLAGSStephanos Ioannidis2021-06-071-0/+3
| | | | | | | | | | | This commit adds a new config that can be used to specify the target CXXFLAGS specific to the libstdc++ newlib-nano variant. By default, this config is set to specify the `-fno-exceptions` option, which disables C++ exception handling support and greatly reduces the compiled binary size. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* Merge branch 'abrodkin-newlib-nano-relocatable' of ↵Chris Packham2021-04-191-3/+3
|\ | | | | | | git://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng
| * newlib-nano: Use run-time calculated paths in top-level nano.specsAlexey Brodkin2021-04-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In currently generated top-level "nano.specs" we resolve paths during toolchain building and then use those pre-defined full paths once the toolchain got built. That's OK until the toolchain is used right were it was built, otherwise paths used in the top-level "nano.specs" become irrelevant and linker fails to find "nano" libs reverting to non-"nano" libs in the default location. See https://github.com/crosstool-ng/crosstool-ng/issues/1491. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* | newlib-nano: Add option to copy libs into targetKumar Gala2021-04-151-0/+25
| | | | | | | | | | | | | | | | | | | | | | Add an option that will install a copy of newlib-nano lib*.a file in the target dir but renamed with a nano.a suffix (eg: libc_nano.a) as some default nano.spec files from newlib expect this setup. Additionally the newlib-nano version of newlib.h will get copied to include/newlib-nano/newlib.h. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
* | newlib-nano: remove whitespace from nano.spec fileKumar Gala2021-04-151-1/+1
|/ | | | | | Remove trailing whitespace from generated nano.spec file. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
* newlib-nano: Create symlinks for nano-suffixed libsAlexey Brodkin2021-02-191-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If existing board's .specs are used for linking of a user's application, then instead of normally used libs like libc.a & libstdc++.a might be requested their "nano"-suffixed siblings: libc_nano.a, libstdc++_nano etc. That way: ----------------------------->8--------------------------- %rename link_gcc_c_sequence myboard_link_gcc_c_sequence *myboard_libc: %{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano} *link_gcc_c_sequence: %(myboard_link_gcc_c_sequence) --start-group %G %(myboard_libc) --end-group ----------------------------->8--------------------------- Our companion newlib-nano libs are all built optimized for size, so we'd like to use them for linking. But given linker will see "-lc_nano -lstdc++_nano" on its command line non-suffixed libs will be ignored. To solve it we create those "_nano"-suffixed libraries as simple symlinks to existing libs.. Fixes https://github.com/crosstool-ng/crosstool-ng/issues/1458. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* Merge pull request #1448 from dinuxbg/masterChris Packham2021-01-251-0/+89
|\ | | | | Add PRU target configuration
| * Add package with PRU linker scripts and headersDimitar Dimitrov2021-01-191-0/+89
| | | | | | | | | | | | | | | | Include the gnuprumcu package in PRU cross toolchain. Toolchain is somewhat useless without device specs and linker scripts for the various SoCs. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
* | newlib-nano: Build libstdc++ against newlib-nano if requestedKeith Packard2021-01-141-0/+45
| | | | | | | | | | | | | | This uses the gcc support for building libstdc++ using alternate lib header files. Signed-off-by: Keith Packard <keithp@keithp.com>
* | Create nano.spec file that sits atop the existing nano buildKeith Packard2021-01-141-0/+16
| | | | | | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* | Add newlib-nano as companion libKeith Packard2021-01-141-0/+128
|/ | | | | | | This allows building newlib-nano in addition to newlib and picolibc, allowing users to select between C libraries within the same toolchain. Signed-off-by: Keith Packard <keithp@keithp.com>
*-. Merge branches 'elijahr-dtc-1.6.0', 'elijahr-readme-typo', ↵Chris Packham2021-01-132-0/+179
|\ \ | | | | | | | | | 'foss-for-synopsys-dwc-arc-processors-abrodkin-libgmp-for-mac' and 'keith-packard-picolibc-companion'
| | * picolibc: Build libstdc++ against picolibc if requestedKeith Packard2021-01-111-0/+46
| | | | | | | | | | | | | | | | | | | | | This uses the gcc support for building libstdc++ using alternate lib header files. Signed-off-by: Keith Packard <keithp@keithp.com>
| | * picolibc: Convert to companion libraryKeith Packard2021-01-081-0/+124
| |/ |/| | | | | | | | | | | This allows configurations to include picolibc without excluding another C library. Signed-off-by: Keith Packard <keithp@keithp.com>
| * libgmp: Fix cross-canadian build for macOSAlexey Brodkin2020-12-231-0/+9
|/ | | | | | | | | | | | | | | | | Currently when building cross-canadian toolchain for macOS the folowing error happens when GCC is configured: |ld: illegal text-relocation to '___gmp_binvert_limb_table' in |... /.build/... /buildtools/complibs-host/lib/libgmp.a(mp_minv_tab.o) from '___gmpn_divexact_1' in |... /.build/... /buildtools/complibs-host/lib/libgmp.a(dive_1.o) |collect2: error: ld returned 1 exit status Apparently this might be solved with GMP configured with "--with-pic", even though we're talking about static library here. That solution was found here: https://github.com/Homebrew/homebrew-core/pull/25470 Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* Rename JOBSFLAGS -> CT_JOBSFLAGSAlexey Neyman2019-04-0410-15/+15
| | | | | | ... so that it is saved/restored when restarting the build. Signed-off-by: Alexey Neyman <stilor@att.net>
* Move GDB build into a common backend functionAlexey Neyman2019-03-091-1/+1
| | | | | | | ... needed to create a common runtime test for an incompatible change in glibc API. Signed-off-by: Alexey Neyman <stilor@att.net>
* expat: Build without docbookBernhard Walle2019-02-201-0/+1
| | | | | | | | | | | | | This fixes following build error on Debian 9: configure: error: Your local docbook2man was found to work with SGML rather than XML. Please install docbook2X and use variable DOCBOOK_TO_MAN to point configure to command docbook2x-man of docbook2X. Or use DOCBOOK_TO_MAN="xmlto man --skip-validation" if you have xmlto around. You can also configure using --without-docbook if you can do without a man page for xmlwf. Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
* Config v2: select relevant parts of each package versionAlexey Neyman2019-01-301-5/+3
| | | | | | | Also, remove a couple of config options that dealt with package versions that have been since retired. Signed-off-by: Alexey Neyman <stilor@att.net>
* Avoid adding arch/cpu/tune flags for target to GCC buildAlexey Neyman2018-06-053-3/+3
| | | | | | ... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
* Ncurses fixes for 6.1Alexey Neyman2018-01-291-2/+7
| | | | | | | | | | | - Update to 20180129 - Throw in --disable-db-install if database is disabled; otherwise 'make install' tries to run tic which is not built. - Select appropriate strip utility for the host; otherwise non-x86 architectures fail to install (unless --disable-stripping is also added) Signed-off-by: Alexey Neyman <stilor@att.net>
* Add -D__GLIBC__ to target CFLAGSAlexey Neyman2017-09-303-0/+3
| | | | | | | | ... when using musl to compile strace. Also, honor CT_TARGET_CFLAGS in scripts compiling target libs/binaries. Signed-off-by: Alexey Neyman <stilor@att.net>
* expat 2.2.4 dropped INSTALL_ROOTAlexey Neyman2017-09-291-1/+1
| | | | | | ... in favor of its alias, DESTDIR. Before, it supported both. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix the references to old config variablesAlexey Neyman2017-07-0811-67/+35
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Switch comp.libs/tools and debug to new framework.Alexey Neyman2017-07-083-4/+6
| | | | Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix debuild warnings/errorsAlexey Neyman2017-06-071-0/+0
| | | | | | | | | | | | | | | | | | | | - Update .gitignore, do not place .gitignore into directories installed in bulk - Remove executable permissions and shebangs from the scripts that are supposed to be invoked only via ct-ng frontent; prepend them with $(bash). Despite what showSamples.sh said, it already has some bashisms. - Remove --with autotools-dev and override dh_update_autotools_config to avoid having config.{sub,guess} clobbered with older versions - Install bash completion where Debian (now) expects it - Update man page to use .\" as the comment delimiter, instead of undefined macro (."); also, minor text edits. - Install kconfig.mk without execute permission. - Remove shell wrappers from 170-localedef-fix-trampoline.patch, we do not use that for applying patches - Revoke execute permissions on 210-expat.sh - Get flags from dpkg-buildflags if available Signed-off-by: Alexey Neyman <stilor@att.net>
* Handle ming32 as a hostAlexey Neyman2017-05-241-14/+35
| | | | | | | | | | | zlib refuses to run configure with mingw32 host and insists that win32/Makefile.gcc is used instead. This requires a change in this Makefile to support static-only builds. Fixes #694. Signed-off-by: Alexey Neyman <stilor@att.net>
* Always build ncurses-for-buildAlexey Neyman2017-04-011-25/+5
| | | | | | | | If the build machine lacks tic, we need to build it in the first pass even if host==build: ncurses Makefiles are not smart enough to build 'tic' first and use the just-built tic to compile fallback terminfo. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #634 from stilor/macos-canadianAlexey Neyman2017-03-071-1/+1
|\ | | | | A couple of fixes for canadian samples on macos
| * Use CHOST instead of CROSS_PREFIXAlexey Neyman2017-03-061-1/+1
| | | | | | | | | | | | | | The latter does not prevent zlib's configure from overriding 'AR' with /usr/bin/libtool on macos, and that breaks canadian crosses. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Explicitly use gcc for GMPDan McGregor2017-03-061-0/+3
|/ | | | | | | | GMP's configure script tries to be too smart, and if it determines that it's not cross-compiling it chooses gcc or cc instead of the wrapper we create at the start of the build. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
* Require GNU sedAlexey Neyman2017-02-261-22/+0
| | | | | | | | | | | | After much struggling with macos (BSD) sed and even getting everything work in crosstool-ng itself, I had to abandon that because some components rely on GNU syntax. Specifically, GNU libc uses '/.../{H;g}' (note absense of the separator after 'g'). So, revert the -r/-E detection and check for sed's being of GNU origin. MacOS people, sorry, but you'd have to install GNU sed. Signed-off-by: Alexey Neyman <stilor@att.net>
* 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>