summaryrefslogtreecommitdiff
path: root/scripts/build/companion_libs
AgeCommit message (Collapse)AuthorFilesLines
2022-02-11Convert tabs to spacesAlexey Neyman2-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>
2022-02-11Restrict *-uclibc,* canadians to gettext 0.20Alexey Neyman1-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>
2022-02-11Retire obsoleted milestonesAlexey Neyman2-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>
2021-09-19gmp: Support building for targetChris Packham1-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>
2021-08-22gnuprumcu: Bump to v0.6.0Dimitar Dimitrov1-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>
2021-07-30newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGETKumar Gala1-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>
2021-07-13picolibc: Disable wchar_t use in libstdc++Keith Packard1-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>
2021-06-07newlib: Add libstdc++ nano-specific CXXFLAGSStephanos Ioannidis1-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>
2021-04-19Merge branch 'abrodkin-newlib-nano-relocatable' of ↵Chris Packham1-3/+3
git://github.com/foss-for-synopsys-dwc-arc-processors/crosstool-ng
2021-04-16newlib-nano: Use run-time calculated paths in top-level nano.specsAlexey Brodkin1-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>
2021-04-15newlib-nano: Add option to copy libs into targetKumar Gala1-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>
2021-04-15newlib-nano: remove whitespace from nano.spec fileKumar Gala1-1/+1
Remove trailing whitespace from generated nano.spec file. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-19newlib-nano: Create symlinks for nano-suffixed libsAlexey Brodkin1-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>
2021-01-24Merge pull request #1448 from dinuxbg/masterChris Packham1-0/+89
Add PRU target configuration
2021-01-19Add package with PRU linker scripts and headersDimitar Dimitrov1-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>
2021-01-14newlib-nano: Build libstdc++ against newlib-nano if requestedKeith Packard1-0/+45
This uses the gcc support for building libstdc++ using alternate lib header files. Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-14Create nano.spec file that sits atop the existing nano buildKeith Packard1-0/+16
Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-14Add newlib-nano as companion libKeith Packard1-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>
2021-01-13Merge branches 'elijahr-dtc-1.6.0', 'elijahr-readme-typo', ↵Chris Packham2-0/+179
'foss-for-synopsys-dwc-arc-processors-abrodkin-libgmp-for-mac' and 'keith-packard-picolibc-companion'
2021-01-12picolibc: Build libstdc++ against picolibc if requestedKeith Packard1-0/+46
This uses the gcc support for building libstdc++ using alternate lib header files. Signed-off-by: Keith Packard <keithp@keithp.com>
2021-01-09picolibc: Convert to companion libraryKeith Packard1-0/+124
This allows configurations to include picolibc without excluding another C library. Signed-off-by: Keith Packard <keithp@keithp.com>
2020-12-23libgmp: Fix cross-canadian build for macOSAlexey Brodkin1-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>
2019-04-05Rename JOBSFLAGS -> CT_JOBSFLAGSAlexey Neyman10-15/+15
... so that it is saved/restored when restarting the build. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-10Move GDB build into a common backend functionAlexey Neyman1-1/+1
... needed to create a common runtime test for an incompatible change in glibc API. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-02-20expat: Build without docbookBernhard Walle1-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>
2019-01-30Config v2: select relevant parts of each package versionAlexey Neyman1-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>
2018-06-05Avoid adding arch/cpu/tune flags for target to GCC buildAlexey Neyman3-3/+3
... as it may need to override them for building runtime-selectable code. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-01-30Ncurses fixes for 6.1Alexey Neyman1-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>
2017-10-01Add -D__GLIBC__ to target CFLAGSAlexey Neyman3-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>
2017-09-30expat 2.2.4 dropped INSTALL_ROOTAlexey Neyman1-1/+1
... in favor of its alias, DESTDIR. Before, it supported both. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Fix the references to old config variablesAlexey Neyman11-67/+35
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Switch comp.libs/tools and debug to new framework.Alexey Neyman3-4/+6
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-06-08Fix debuild warnings/errorsAlexey Neyman1-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>
2017-05-25Handle ming32 as a hostAlexey Neyman1-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>
2017-04-02Always build ncurses-for-buildAlexey Neyman1-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>
2017-03-07Merge pull request #634 from stilor/macos-canadianAlexey Neyman1-1/+1
A couple of fixes for canadian samples on macos
2017-03-07Use CHOST instead of CROSS_PREFIXAlexey Neyman1-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>
2017-03-06Explicitly use gcc for GMPDan McGregor1-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>
2017-02-27Require GNU sedAlexey Neyman1-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>
2017-02-17Add --disable-database and --with-fallbacks separatelyAlexey Neyman1-3/+12
The dependency between them has been removed in Kconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-15Skip gettext/libiconv on linux-gnuAlexey Neyman2-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>
2017-02-11Skip comp.libs checking on host for canadianAlexey Neyman6-12/+42
... they all want to run the binaries they produced, which fails when build!=host. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-06Merge pull request #575 from stilor/ncurses-configureAlexey Neyman1-1/+21
Allow some tunables for ncurses
2017-02-05Add zlib as a companion libAlexey Neyman7-7/+109
with version 1.2.11. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05Allow some tunables for ncursesAlexey Neyman1-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>
2017-01-25Run all configure scripts using ${CONFIG_SHELL}Alexey Neyman10-0/+10
... as its help message says in menuconfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Change when libiconv/gettext are built.Alexey Neyman2-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>
2017-01-10Simplify a bit, no functional changes.Alexey Neyman1-14/+4
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-17Avoid host libs when compiling gettext.Alexey Neyman1-0/+8
On Travis, old libxml2 is picked up from host and breaks the build. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-11Make companion libs static.Alexey Neyman5-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>