summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2017-01-20Install canadian crosses into a separate subdir.Alexey Neyman6-104/+100
Makes them sorted out by host, and removes the need for similar hack in samples.mk. Change how canadian crosses are named: using `=' character resulted in Glibc build failure. Move loading config into a common function, CT_LoadConfig. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16Replace strace workaround with a patch.Alexey Neyman1-12/+0
The correct solution was checked in to strace GIT; will be part of the next release. Backport patch to 4.10..4.15, and remove the workaround from 500-strace.sh. Versions 4.9 and older should build fine even without the workaround (they would be picking up wrong definitions, but they need different patch and I don't feel like spending any time on these versions). Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-16Merge pull request #536 from stilor/musl-updateAlexey Neyman1-2/+3
Musl update to 1.1.16
2017-01-16Merge pull request #535 from stilor/broke-newlib-cxx-canadianAlexey Neyman1-0/+7
Restore copying headers for gcc_build
2017-01-14Restore copying headers for gcc_build.Alexey Neyman1-0/+7
Only needed in canadian configurations to build libstdc++. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14addToolVersion.sh: support muslAlexey Neyman1-2/+3
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14Use ${CT_CC} instead of gcc ...Alexey Neyman8-33/+33
... when refering to target's compiler. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14GDB 7.12 needs c++.Alexey Neyman1-9/+20
Also, minor fixes in 300-gdb.sh Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14addToolVersion.sh: Fix gdb version handling.Alexey Neyman1-0/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-14Merge pull request #526 from stilor/double-includeAlexey Neyman2-10/+1
Avoid creating include/include
2017-01-13Unify fetching Linaro components.Alexey Neyman6-74/+89
Add CT_GetLinaro, use it from gcc/binutils/gdb/glibc/newlib. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13AVR32 support has been retired.Alexey Neyman1-4/+0
Scripts no longer download avr-headers. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13install_root has no effect on newlib install.Alexey Neyman1-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>
2017-01-13Remove 2nd copy of the option.Alexey Neyman1-2/+0
Added above, as part of the list. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13No need to copy header; libc_start_file does it.Alexey Neyman1-3/+0
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-11Merge pull request #519 from InfernoEmbedded/newlib-enhancementsAlexey Neyman1-26/+46
Newlib enhancements
2017-01-10Pick up <linux/ioctl.h> and friends from TARGET.Alexey Neyman1-9/+21
Otherwise, cross-compiling fails on non-Linux build machines. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Add MacOS options.Alexey Neyman1-0/+23
Needed for linking gettext/libiconv. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10${LD_TARGET} -> ${CT_TARGET}.Alexey Neyman1-1/+1
Obvious typo, worked by some miracle. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Shut clang's warning that confuses configure.Alexey Neyman1-0/+6
Warning causes gdb's configure to not detect <limit.h> declarations of LONG_MIN/MAX. Found-by: Kirill Smirnov <kirill.k.smirnov@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Darwin needs -liconv when building glibc.Alexey Neyman1-7/+2
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Avoid trampling user's LDFLAGS_FOR_HOST...Alexey Neyman1-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>
2017-01-10For simple cross or native pick up both build/host flags.Alexey Neyman1-3/+17
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Select libintl from gettext we built.Alexey Neyman1-2/+10
Also, require gettext for NLS, and require iconv/ncurses for gettext. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-10Point FOR_BUILD flags to buildtools/{include,lib}.Alexey Neyman1-5/+6
Similarly to FOR_HOST; recent change in 100-gcc.sh that switched FOR_HOST->FOR_BUILD broke simple cross configurations on macos. 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>
2017-01-10Kill CT_COMPLIBS_SHARED.Alexey Neyman1-14/+12
There is no such option so the check is always true. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-09Support building Newlib with Link Time OptimisationAlastair D'Silva1-10/+13
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-09Add more newlib optionsAlastair D'Silva1-16/+33
2017-01-06Bump binutils to 2.27Alastair D'Silva1-1/+3
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2016-12-19Merge pull request #512 from stilor/kill-install-dirAlexey Neyman1-10/+9
Kill CT_INSTALL_DIR.
2016-12-19Kill CT_INSTALL_DIR.Alexey Neyman1-10/+9
We now use CT_PREFIX and expect the resulting toolchain to be relocatable. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-18Catch more make errors.Alexey Neyman1-1/+1
Some errors from make(1) do not include a file reference in brackets. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-17Merge pull request #508 from stilor/drop-dmallocAlexey Neyman3-60/+1
Drop dmalloc
2016-12-17Pass original multi_os_dir to iterator.Alexey Neyman2-10/+16
This is needed for callbacks that use that directory to look inside GCC internal directories, e.g. moving the libraries. This broke when I made libexpat for target honor ${CT_SHARED_LIBS}. 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-17Kill dmalloc.Alexey Neyman3-60/+1
- No new releases in almost 10 year. - No public bug tracker or VCS. - No responses from maintainer over sent patches. RIP, dmalloc. 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>
2016-12-06Work around Cygwin idiosyncrasy.Alexey Neyman1-1/+7
Cygwin doesn't like directory names ending with a dot, e.g. "multilib_." Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-06Merge pull request #443 from KirillSmirnov/gdb-nativeAlexey Neyman4-5/+54
debug/gdb: properly link with expat
2016-12-05debug/gdb: restore commentsKirill K. Smirnov1-0/+12
There are two separate issues with gdb configure usage: 1) inspecting build system libraries while cross-compiling; 2) preferring a shared library over static one. The first usage issue is described and fixed now. The second issue was described but the notes were removed for some reason. This patch restores those notes. Suggested-by: Alexey Neyman <stilor@att.net> Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-12-03Merge pull request #487 from stilor/host-comp-toolsAlexey Neyman7-60/+249
Allow for installation of companion tools for host
2016-12-02Add 'companion tools for host' step.Alexey Neyman7-46/+217
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02Move companion tool build into a separate step.Alexey Neyman7-17/+35
Also, rename "build" -> "for_build", since we're going to have a "for_host" as well. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-12-02Fix use of custom location if it is a directory.Alexey Neyman6-6/+6
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>
2016-11-29Pass FOR_BUILD flags when building the pass-1/2 core GCC.Alexey Neyman1-7/+8
Current build passes {CFLAGS,LDFLAGS}_FOR_HOST - which breaks canadian cross (e.g. tried building for x86_64-unknown-linux-uclibc host). This dates back to the days of yore when CFLAGS were set directly in the do_gcc_core_backend (and that function is used as the final gcc's backend). do_gcc_core_backend is now passed with CFLAGS/LDFLAGS to use, so let the pass-1/pass-2/final-for-build steps pass the appropriate flags. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-22xtensa: fix endianness supportMax Filippov1-0/+2
To build uClibc correctly we need correct endianness selected in the crosstool-NG. Xtensa cores may be little- or big-endian, but this property is static. The toolchain knows the core endianness and doesn't need options to select it. Enable ARCH_SUPPORTS_BOTH_ENDIAN and select LE by default. Specify empty CT_ARCH_ENDIAN_CFLAG so that -m{big,little}-endian don't get added to the TARGET_CFLAGS, as it's not supported by gcc. Specify empty CT_ARCH_ENDIAN_LDFLAG so that -EB/-EL don't get added to the TARGET_LDFLAGS as they are ignored. Select big-endian in the example xtensa-unknown-linux-uclibc configuration. This fixes uClibc toolchain build for little-endian cores. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-11-22Give companion tools some love.Alexey Neyman6-32/+37
Allow selection of make/m4/... version. Support imports of new versions via addToolVersion.sh. Import newest versions of the companion tools. One non-trivial change is the handling of make versions. Existing code was not handling make companion tool as described (see the previous commit). However, since most modern systems have make 4.x, that previous commit made crosstool-ng always build make as a companion tool. This traces back to the commit dd15c93 from 2014. That commit's log message says that actually it was 3.81 which broke the build for certain component (it was originally breaking eglibc, but I noticed it was breaking current glibc on powerpc64), and introduced an option to force using 3.81 by "components that really need it". It looks like in 2.5 years we haven't seen any such components that really need make 3.81, and (given that make has already had a few releases since 3.81) we're unlikely to see them in the future. Hence, the configure check is changed from "exactly 3.81" to "3.81 or newer". In its current form, configure will accept make 3.80+, and will not require make as a companion tool for 3.81+. We might want to bump the latter check to even newer version given the claim from dd15c93. Killed COMP_TOOLS_make_3_81_NEEDED. Anyway, I retained 3.81 just in case; ditto for m4 1.14.3, autoconf 2.65 and automake 1.11.1. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-11-21Partially revert 6f8e89cb5ca061e899bf3feaaf3fecf30d366c3e.Alexey Neyman34-186/+186
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>