summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* linux: install dtc binary as linux-dtcPeter Korsgaard2015-10-041-1/+1
| | | | | | | So it doesn't conflict with host-dtc. The Linux kernel version may be a patched version supporting E.G. overlays. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* portaudio: fix dependency on alsa-libLuca Ceresoli2015-10-041-1/+1
| | | | | | | | BR2_PACKAGE_PORTAUDIO_ALSA is misspelled in one place, resulting in alsa-lib not being listed in the dependencies. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* webkitgtk24: fix compilation failure due to unicode quotesVicente Olivert Riera2015-10-041-0/+36
| | | | | | | | | | | | | | | | | As reported in this upstream bug... https://bugs.webkit.org/show_bug.cgi?id=128971 ...the pretty unicode double quotes break Python stdin. Backporting the patch that was attached to that bug report and tweak it minimally to make it apply on Buildroot. Fixes: http://autobuild.buildroot.net/results/c8e/c8ea1cab0a1ee081f9bca994ff5309ea0117d692/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain/external: commonalise comments about Linaro toolchainsYann E. MORIN2015-10-041-10/+5
| | | | | | | | | | | | Those two comments: - are exactly the same - have the same dependencies (except for arm/armeb) So, make it a common comment. It will be useful to have that comment when we introduce new Linaro toolchain versions. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* util-linux: update tool select optionsDanomi Manchego2015-10-043-12/+26
| | | | | | | | | | | | | | | Add missing app config options: - line - tunelp Drop app config options no longer supported by util-linux: - arch - ddate Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* parted: add patch to fix musl buildThomas Petazzoni2015-10-041-0/+18
| | | | | | | | Fixes: http://autobuild.buildroot.org/results/e1b/e1b6de7b234f2ec154d772ee93e33275dff38f3e/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* configs: fix build of calao_qil_a9260_defconfigThomas Petazzoni2015-10-044-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Barebox, AT91Bootstrap and Linux patches for the Calao QIL A9260 board are all located in the same directory, board/calao/qil-a9260/, with only a prefix to indicate to which component they apply. Unfortunately, since commit 0eba4759fab9d093afacac77a0ac31f1f0b3cceb ("packages: apply custom patches using *.patch instead of <pkg>-*.patch"), the logic to apply custom patches in Barebox and AT91Bootstrap has been changed from applying <package>-*.patch to applying *.patch (in order to be consistent with what we do for all packages in Buildroot). However, this had the effect of trying to apply both the AT91Bootstrap and Barebox patches on both packages, which obviously cannot work. This commit fixes that by moving patches around, and switching to use BR2_GLOBAL_PATCH_DIR for all of Barebox, AT91Bootstrap and Linux patches. In addition, the defconfig was not specifying explicitly which Barebox version to use, so right now it's trying to use Barebox 2015.09, on which the board-specific patch does not apply. So we've forced to use Barebox 2012.08, which was the lastest release available at the time the defconfig was initially contributed. Cc: Gregory Hermant <gregory.hermant@calao-systems.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* configs: fix build of calao_usb_a9g20_lpw_defconfigThomas Petazzoni2015-10-043-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Both the Barebox and AT91Bootstrap patches for the Calao USB A9G20 board are located in the same directory, board/calao/usb-a9g20-lpw/, with only a prefix making a difference between whether they apply to Barebox or AT91Bootstrap. Unfortunately, since commit 0eba4759fab9d093afacac77a0ac31f1f0b3cceb ("packages: apply custom patches using *.patch instead of <pkg>-*.patch"), the logic to apply custom patches in Barebox and AT91Bootstrap has been changed from applying <package>-*.patch to applying *.patch (in order to be consistent with what we do for all packages in Buildroot). However, this had the effect of trying to apply both the AT91Bootstrap and Barebox patches on both packages, which obviously cannot work. This commit fixes that by moving patches around, and switching to use BR2_GLOBAL_PATCH_DIR. Cc: Gregory Hermant <gregory.hermant@calao-systems.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* configs: remove gnublin_defconfigThomas Petazzoni2015-10-042-76/+0
| | | | | | | | | | | | | This defconfig tries to fetch its kernel source code and U-Boot source code from gitorious.org, which is not longer available. Therefore, this defconfig has been failing to build since quite some time. Since there's no obvious other place to grab the kernel and u-boot source code, and the defconfig was not updated since a long time, let's simply get rid of it. [Peter: also drop README] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* micropython: needs dynamic libraryThomas Petazzoni2015-10-041-2/+3
| | | | | | | | Fixes: http://autobuild.buildroot.org/results/06f/06fc79dad3d4c0c5f997f4c2e4b52014727764ac/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* python-numpy: re-enable for uClibcArnout Vandecappelle2015-10-042-4/+0
| | | | | | | | | | | | | | | | | In commit b0f025386f6861fdc21e38e3a33b65669276f2c2 a patch was added to make sure that python-numpy does work in uClibc. This patch was needed for the x86 architecture, because uClibc in fact does support fenv for x86. However, we don't turn on this support in our uClibc config. Because the Config.in depends still allowed uClibc for x86, this lead to a built failure, which lead to the fix in commit b0f02538. But since this fix also fixes it for all other (supported) architectures, we can just remove the !uClibc dependency completely. This is also propagated to the reverse dependency in opencv3. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* nfs-utils: systemd supportAurélien Chabot2015-10-043-0/+34
| | | | | | | | | | | | | | | | | nfs-utils has been patched to install only the needed systemd unit files supported. Also tmpfiles was needed because the folder /run/nfs is a tmpfs and nfs-utils need some files to be there to work correctly. Signed-off-by: Aurélien Chabot <aurelien@chabot.fr> [Maxime: Remove patches included originally in the patch as they have have been merged upstream in v1.3.3] Signed-off-by Maxime Hadjinlian <maxime.hadjinlian@gmail.com> [Thomas: - add comment in nfs-utils_env.sh to explain why an empty script is needed. - remove incorrect indentation.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* nfs-utils: Bump versionMaxime Hadjinlian2015-10-043-33/+3
| | | | | | | | | Remove patch as it was backported from upstream: http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=17a3e5bffb7110d46de1bf42b64b90713ff5ea50 Signed-off-by Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/schifra: remove packageRomain Naour2015-10-045-74/+6
| | | | | | | Signed-off-by: Romain Naour <romain.naour@openwide.fr> Cc: Arnaud Rébillout <rebillout@syscom.ch> Cc: Simon Dawson <spdawson@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* devmem2: add a hash fileVicente Olivert Riera2015-10-041-0/+2
| | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* squashfs: Add lz4 hc compressionMatthias Weisser2015-10-041-1/+1
| | | | | | | | lz4 offers a high compression mode. A minimalistic file system shrinks by about 15%. [Peter: Unconditionally use hc mode for lz4 instead of introducing another option] Signed-off-by: Matthias Weisser <m.weisser.m@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* mpdecimal: fix comment about fenv.hThomas Petazzoni2015-10-041-1/+1
| | | | | | | | We're disabling fenv.h usage on i386 because it is not available in musl/uclibc (and not musl/glibc as was written). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* mpdecimal: use official upstream siteThomas Petazzoni2015-10-042-7/+3
| | | | | | | | | | The official upstream site is available again, so let's switch to using it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Revert "opencv: mark as not available on Xtensa"Max Filippov2015-10-041-3/+0
| | | | | | | | | | Now that xtensa toolchain is able to compile huge functions this workaround is no longer needed. This reverts commit d21932508e69d4ab849cba9958f953ae9342cb8c. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* xtensa: switch from text-section-literals to auto-litpoolsMax Filippov2015-10-042-5/+5
| | | | | | | | | | | | | | Now that both binutils and gcc support auto-litpools use that option instead of text-section-literals to be able to compile huge functions. Fixes: http://autobuild.buildroot.net/results/dd384fe0ef02a4205bea66a4a16ca2062afe53b4/ http://autobuild.buildroot.net/results/87dd357a4b883ea3cd75546b3d63c4c28245beee/ http://autobuild.buildroot.net/results/b5bca00dec1ecb118c7fb9c10dee74c94809c831/ and many others. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: backport mauto-litpools xtensa optionMax Filippov2015-10-043-0/+870
| | | | | | | | | | | | | | | With support from assembler this option allows compiling huge functions, where single literal pool at the beginning of a function may not be reachable by L32R instructions at its end. Currently assembler --auto-litpools option cannot deal with literals used from multiple locations separated by more than 256 KBytes of code. Don't turn constants into literals, instead use MOVI instruction to load them into registers and let the assembler turn them into literals as necessary. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* binutils: backport auto-litpools xtensa gas optionMax Filippov2015-10-042-0/+1397
| | | | | | | | | | Auto-litpools is the automated version of text-section-literals: literal pool candidate frags are planted every N frags and during relaxation they are turned into actual literal pools where literals are moved to become reachable for their first reference by L32R instruction. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gcc: remove the --with-pkgversion option from the ccache hashArnout Vandecappelle2015-10-041-2/+4
| | | | | | | | | | | | | One of the gcc configure options that we hash for ccache is --with-pkgversion which is set to something like Buildroot 2015.11-git-00426-ge7e7e4f - i.e., it will change with every buildroot commit. That's obviously not wanted, so substitute this away. Also add a \n to the printf so the output is a bit more readable. [Peter: update documentation to match] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ccache: support changing the output directoryArnout Vandecappelle2015-10-045-1/+65
| | | | | | | | | | | | | | | | | | | | When building in a different output directory than the original build, there will currently be a lot of ccache misses because in many cases there is some -I/... absolute path in the compilation. Ccache has an option CCACHE_BASEDIR to substitute absolute paths with relative paths, so they wil be the same in the hash (and in the output). Since there are some disadvantages to this path rewriting, it is made optional as BR2_CCACHE_USE_BASEDIR. It defaults to y because the usefulness of ccache is severely reduced without this option. In addition to CCACHE_BASEDIR, we also substitute away the occurences of $(HOST_DIR) in the calculation of the compiler hash. This is done regardless of the setting of BR2_CCACHE_USE_BASEDIR because it's quite harmless. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ccache: use mtime for external toolchain, CONF_OPTS for internal toolchainArnout Vandecappelle2015-10-043-7/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our current ccache disables hashing of the compiler executable itself, because using the default 'mtime' doesn't work in buildroot: we always rebuild the compiler, so the mtime is always different, so the cache always misses. However, in the current situation, if a user changes the compiler configuration (which would result in the compiler generating different object files than before) and does 'make clean all', ccache may in fact reuse object files from the previous run. This rarely gives problems, because (1) the cache expires quite quickly (it's only 1GB by default), (2) radically changing compiler options will cause cache misses because different header files are used, (3) many compiler changes (e.g. changing -mtune) have little practical effect because the resulting code is usually still compatible, (4) we currently don't use CCACHE_BASEDIR, and almost all object files will contain an absolute path (e.g. in debug info), so when building in a different directory, most of it will miss, (5) we do mostly build test, and many of the potential problems only appear at runtime. Still, when ccache _does_ use the wrong cached object files, the effects are really weird and hard to debug. Also, we want reproducible builds and obviously the above makes builds non-reproducible. So we have a FAQ entry that warns against using ccache and tells the user to clear the cache in case of problems. Now that ccache is called from the toolchain wrapper, it is in fact possible to at least use the 'mtime' compiler hash for the external toolchain and for the host-gcc. Indeed, in this case, the compiler executable comes from a tarball so the mtime will be a good reference for its state. Therefore, the patch (sed script) that changes the default from 'mtime' to 'none' is removed. For the internal toolchain, we can do better by providing a hash of the relevant toolchain options. We are only interested in things that affect the compiler itself, because ccache also processes the header files and it doesn't look at libraries because it doesn't cache the link step, just compilation. Everything that affects the compiler itself can nicely be summarised in $(HOST_GCC_FINAL_CONF_OPTS). Of course, also the compiler source itself is relevant, so the source tarball and all the patches are included in the hash. For this purpose, a new HOST_GCC_XTENSA_OVERLAY_TAR is introduced. The following procedure tests the ccache behaviour: Use this defconfig: BR2_arm=y BR2_CCACHE=y make readelf -A output/build/uclibc-1.0.6/libc/signal/signal.os -> Tag_CPU_name: "ARM926EJ-S" Now make menuconfig, change variant into BR2_cortex_a9 make clean; make readelf -A output/build/uclibc-1.0.6/libc/signal/signal.os -> Tag_CPU_name: "ARM926EJ-S" should be "Cortex-A9" After this commit, it is "Cortex-A9". Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Danomi Manchego <danomimanchego123@gmail.com> Cc: Károly Kasza <kaszak@gmail.com> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-wrapper: support change of BR2_CCACHEArnout Vandecappelle2015-10-042-4/+13
| | | | | | | | | | | | | | | | | | By moving the ccache call to the toolchain wrapper, the following scenario no longer works: make foo-dirclean all BR2_CCACHE= That's a sometimes useful call to check if some failure is perhaps caused by ccache. We can enable this scenario again by exporting BR_NO_CCACHE when BR2_CCACHE is not set, and by handling this in the toolchain wrapper. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile.in: remove now-unused TARGET_CC/CXX_NOCCACHEArnout Vandecappelle2015-10-041-3/+0
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* qpid-proton: remove now-redundant ccache handling patchArnout Vandecappelle2015-10-041-52/+0
| | | | | | | | | | | | Although this patch is still relevant for upstream, we don't need it anymore in buildoort because we no longer have _ARG1. Note that it would be relevant again if we would add host-qpid-proton. However, the 0.10 release already has the fix. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package-cmake: remove now-redundant target ccache supportArnout Vandecappelle2015-10-042-33/+4
| | | | | | | | | | | | All the complexity with the different ways that CMAKE_C_COMPILER and CMAKE_C_COMPILER_ARG1 can be set are no longer needed, it's all handled by the toolchain wrapper now. Note that it is still necessary to handle this for the host build. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* qt5base: remove now-redundant ccache handlingArnout Vandecappelle2015-10-043-52/+4
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* cryptodev-linux: remove now-redundant fix-ccache-compile patchArnout Vandecappelle2015-10-041-20/+0
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* barebox: remove now-redundant ccache handlingArnout Vandecappelle2015-10-041-2/+1
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* uboot: remove now-redundant ccache handlingArnout Vandecappelle2015-10-041-1/+1
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* linux: remove now-redundant ccache handlingArnout Vandecappelle2015-10-041-1/+1
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* imx-vpu: remove now-redundant ccache handlingArnout Vandecappelle2015-10-041-1/+1
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* imx-lib: remove now-redundant ccache handlingArnout Vandecappelle2015-10-041-1/+1
| | | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* perl: Remove ccache handlingArnout Vandecappelle2015-10-041-3/+2
| | | | | | | | | Now the ccache handling has moved to the toolchain wrapper, it is no longer necessary to pass TARGET_CC_NOCCACHE. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* infra: move ccache handling to the toolchain wrapperArnout Vandecappelle2015-10-043-6/+18
| | | | | | | | | | | | | | | | | | | | | Since we always have a toolchain wrapper now, we can move the ccache call to the toolchain wrapper. The hostcc ccache handling obviously stays. The global addition of ccache to TARGET_CC/CXX is removed, but many individual packages and infras still add it. This means we have a chain like this: ccache -> toolchain-wrapper -> ccache -> gcc However, this is fairly harmless: for cache misses, the inner ccache just adds overhead and for cache hits, the inner ccache is never called. Later patches will remove these redundant ccache calls. As a side effect, perl now supports ccache as well. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Danomi Manchego <danomimanchego123@gmail.com> Cc: Károly Kasza <kaszak@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: remove unsafe patch check (poison system dirs) patchArnout Vandecappelle2015-10-046-1050/+0
| | | | | | | | | | | | | | Now that the calls to gcc always pass through the toolchain wrapper, it is no longer necessary to patch gcc to support poisoning. This does have the disadvantage that there is no unsafe path check for libc, libgcc and libstdc++ (all of these are built before the wrapper exists). But we can assume that the toolchain components themselves should be pretty safe. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* gcc: use toolchain wrapperArnout Vandecappelle2015-10-044-9/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a toolchain wrapper for external toolchain, but it is also beneficial for internal toolchains, for the following reasons: 1. It can make sure that BR2_TARGET_OPTIMIZATION is passed to the compiler even if a package's build system doesn't honor CFLAGS. 2. It allows us to do the unsafe path check (i.e. -I/usr/include) without patching gcc. 3. It makes it simpler to implement building each package with a separate staging directory (per-package staging). 4. It makes it simpler to implement a compiler hash check for ccache. The wrapper is reused from the external toolchain. A third CROSS_PATH_ option is added to the wrapper: in this case, the real executable is in the same directory, with the extension .real. The creation of the simple symlinks is merged with the creation of the wrapper symlinks, otherwise part of the -gcc-ar handling logic would have to be repeated. The complex case-condition could be refactored with the one for the external toolchain, but then it becomes even more complex because they each have special corner cases. For example, the internal toolchain has to handle *.real to avoid creating an extra indirection after host-gcc-{final,initial}-rebuild. Instead of creating the .real files, it would also have been possible to install the internal toolchain in $(HOST_DIR)/opt, similar to what we do for the external toolchain. However, then we would also have to copy things to the sysroot and do more of the magic that the external toolchain is doing. So keeping it in $(HOST_DIR)/usr/bin is much simpler. Note that gcc-initial has to be wrapped as well, because it is used for building libc and we want to apply the same magic when building libc. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Fabio Porcedda <fabio.porcedda@gmail.com> Cc: Jérôme Oufella <jerome.oufella@savoirfairelinux.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain-external: move wrapper to toolchain directoryArnout Vandecappelle2015-10-043-40/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The toolchain wrapper will be reused for the internal toolchain, so it belongs in the toolchain directory. Also, the ext- prefix is removed from it. The build commands are moved to a new toolchain-wrapper.mk. The wrapper arguments that are also relevant for the internal toolchain wrapper are moved to toolchain-wrapper.mk, the rest stays in toolchain-external.mk. While we're at it, move the building of the toolchain wrapper to the build step of toolchain-external. There is no specific reason to do this, other than that it fits better semantically. Also remove the MESSAGE call, otherwise we'd see: >>> toolchain-external undefined Building >>> toolchain-external undefined Building toolchain wrapper /usr/bin/gcc ... Having an extra "Building toolchain wrapper' message is pointless. The useless condition on $(BR2_TARGET_OPTIMIZATION) is removed. It was always true because it wasn't qstrip'ped first, so clearly it works without that condition as well. Also rewrapped some comments and removed the 'external' reference. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Fabio Porcedda <fabio.porcedda@gmail.com> Cc: Jérôme Oufella <jerome.oufella@savoirfairelinux.com> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* docs/manual: document new actual source package variablesLuca Ceresoli2015-10-041-0/+19
| | | | | | | Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-external: define actual sources for arago toolchainsLuca Ceresoli2015-10-041-0/+2
| | | | | | | | Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-external: mass-define actual source tarball for known patternsLuca Ceresoli2015-10-041-0/+10
| | | | | | | | | | | | | For some external toolchain vendors the actual source code URL can be simply derived from the binary file URL. Here we obtain TOOLCHAIN_EXTERNAL_ACTUAL_SOURCE_TARBALL for all Mentor and Linaro toolchains with a few $(subst) calls. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* legal-info: allow to declare the actual sources for binary packagesLuca Ceresoli2015-10-042-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FOO_SITE/FOO_SOURCE variables usually point to a tarball containing source code. For the downloaded external toolchains this is not true, the "source" tarball actually contains binaries. This is fine for making Buildroot work, but for legal-info we really want to ship real source code, not binaries. Luckily, some (hopefully all) toolchain vendors publish a downloadable tarball containing the source code counterpart for their binary packages. Here we allow the user to declare the URL of this other tarball in the pair of variables FOO_ACTUAL_SOURCE_TARBALL (by default equal to FOO_SOURCE) and FOO_ACTUAL_SOURCE_SITE (by default equal to FOO_SITE). If the "actual source" package can be downloaded from the same directory as the binary package, then only FOO_ACTUAL_SOURCE_TARBALL needs to be set. Note this change is not strictly toolchain-specific: it might be useful for other packages that happen to ship binaries in the same way. [Thomas: - remove "the source code has not been saved" warning that could never be triggered due to how the conditions were organized. Discussed with Luca live during the meeting.] Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* mpd: Without native RPC use libtirpcMaxime Hadjinlian2015-10-041-3/+4
| | | | | Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* kodi: Without native RPC use libtirpcMaxime Hadjinlian2015-10-041-3/+4
| | | | | | | | | | Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> ---- v2 -> v3: - Remove the select (not needed, we only have to propagate the depends on) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* libnfs: Without native RPC use libtirpcMaxime Hadjinlian2015-10-042-3/+8
| | | | | | | Signed-off-by Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* blackfin: 2012R2 toolchain is gone, remove kludgesMaxime Hadjinlian2015-10-047-21/+0
| | | | | | Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-external: Remove BLACKFIN_UCLINUX_2012R2Maxime Hadjinlian2015-10-042-25/+2
| | | | | | Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud