aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Revert "core: add the possibility to provide help for custom rules"Gravatar Yann E. MORIN2016-04-171-7/+0
| | | | | | | | | | | | | | | | | | | This reverts commit 84c825f8e893bfb56847ab4a880c46066a41744f. Turns out that the custom help is not available when the $(O) directory has not been configure yet (i.e. when there is no .config already filled). Rather than trying to work around this limitation with dirty hacks, just revert this feature. After all, this will not prevent an external.mk from providing custom help anyway; it's just not gonna be advertised nor displayed with the main help. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Revert "core: also display the custom help with our main help"Gravatar Yann E. MORIN2016-04-171-3/+2
| | | | | | | | | | | | | | | | | | | This reverts commit 0a767deba004c920e7824543380cffbb298507f8. Turns out that the custom help is not available when the $(O) directory has not been configure yet (i.e. when there is no .config already filled). Rather than trying to work around this limitation with dirty hacks, just revert this feature. After all, this will not prevent an external.mk from providing custom help anyway; it's just not gonna be advertised nor displayed with the main help. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: reset LD and AR environment variablesGravatar Nicolas Dichtel2016-04-151-0/+2
| | | | | | | | | | | | | | | | | | | The goal is to fix the compilation of perf (from linux) when LD or AR variables are inherited from the environment. After the linux upstream commits 5ef7bbb09f7b ("perf tools: Allow to specify custom linker command") and 3c71ba3f80bb ("perf tools: Really allow to specify custom CC, AR or LD") CC, AR, and LD variables are not overridden if they are inherited. In case of a cross compilation, it results in an inconsistent state: CC is overridden but not LD and AR. Linux-patch: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5ef7bbb09f7b Linux-patch: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3c71ba3f80bb Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: also display the custom help with our main helpGravatar Yann E. MORIN2016-03-191-2/+3
| | | | | | | | | | | The patch merges the custom help, introduced in the previous patch, at the end of our internal help. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Jérôme Pouiller <jezz@sysmic.org> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: add the possibility to provide help for custom rulesGravatar Yann E. MORIN2016-03-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a br2-external tree, it is possible (as stated in our manual) to implement whatever arbitrary extra make rules (such as flashing a board, or extracting the rootfs in an NFS export...). Some of those extra rules might be exposed to the user as new entry points that the user can call by itself. However, there is no way for the br2-external to advertise those new rules in the help text. We add the possibility to do so, by adding a new make rule, called help-custom, advertised in our own help info. It is up to the br2-external tree to provide whatever help text is deemed necessary. The format of the help is completely free-form. Note that we need to provide an empty, dummy help-custom rule, since it is always advertised (making it .PHONY does not work). Since this rule is empty, make gently reports that there is "Nothing to be done for `help-local'", which is pretty well fitting when help-local was not provided (either because there's no br2-external tree, or when the br2-external tree does not provide it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Jérôme Pouiller <jezz@sysmic.org> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: use $(CURDIR) to set TOPDIRGravatar Samuel Martin2016-03-101-1/+1
| | | | | | | | | | | This changes saves a shell call and uses a variable automatically set by make [1]. [1] http://www.gnu.org/software/make/manual/make.html#Quick-Reference Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Kickoff 2016.05 cycleGravatar Peter Korsgaard2016-03-021-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2016.022016.02Gravatar Peter Korsgaard2016-03-011-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2016.02-rc32016.02-rc3Gravatar Peter Korsgaard2016-02-271-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: Add help to nobuild_targetsGravatar Ignacy Gawędzki2016-02-271-1/+1
| | | | | | Signed-off-by: Ignacy Gawędzki <ignacy.gawedzki@green-communications.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Update for 2016.02-rc22016.02-rc2Gravatar Peter Korsgaard2016-02-181-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2016.02-rc12016.02-rc1Gravatar Peter Korsgaard2016-02-101-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* core: add a make target to check the dependenciesGravatar Yann E. MORIN2016-02-071-0/+4
| | | | | | | | | | | | | Add a make target that will checks the dependencies of all packages. This will currently only detect circular dependencies, but more tests can be added later if need be. This can then be used in the autobuilders to automatically report dependency issues. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: catch failures in graph-dependsGravatar Yann E. MORIN2016-02-071-2/+4
| | | | | | | | | | | | | | | | | | | | | Currently, we generate the dependency graph in a single command, piping the stdout of support/scripts/.graph-depends to the stdin of dot. Unfortunately, this means we can't catch a failure of graph-depends, as the shell can only treturn the exit code of the last command in a pipe. Still, we do want to keep the output of graph-depends, and we in fact do keep it by mean of a tee. graph-depends has just gained the ability to generate its output to a file, so we break the pipe in two differnet commands, so we can bail out on graph-depends errors. Do that for the two call sites. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Update copyright yearGravatar Luca Ceresoli2016-02-011-1/+1
| | | | | Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: override the user's locale while setting HOSTARCHGravatar Romain Naour2016-01-201-1/+1
| | | | | | | | | | | | | | | | | | | At least with French user's locale HOSTARCH is empty since 'Target' is not present in gcc output. gcc -v 2>&1 Utilisation des specs internes. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/5.3.1/lto-wrapper Cible : x86_64-redhat-linux Override the user's local with LC_ALL=C. Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* skeleton: move LIB_SYMLINK definition from MakefileGravatar Thomas De Schampheleire2016-01-201-8/+0
| | | | | | | | | | | | | Commit 7a6b83a211612ff95a1f5d35b2861ad5655ac8b1 introduced the skeleton package, which took over the lib32/lib64 -> lib symlink creation from the main Makefile. However, the definition of the LIB_SYMLINK variable did not move along, for no real reason. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: fix setting of HOSTARCHGravatar Yann E. MORIN2016-01-201-10/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we set HOSTARCH to the output of `uname -m`. This gives us the architecture as seen by the running kernel. For example, we would end up with 'x86_64' for a 64-bit kernel running on an x86_64 processor. We use that value to determine whether we can run some binary tools, like our pre-configured external toolchains. However, one may be running a userland in a different bitness than that of the running kernel. For example, one may run in a 32-bit chroot, even though the kernel is running in 64-bit. Up until recently, this was not an issue because the pre-configured external toolchains were all requiring an i386 (x86 in Buildroot parlance). But since we introduced the latest Linaro toolchains, we now have toolchains that require a 64-bit userland. So, when running on a 64-bit kernel, we believe those toolchains are available, even when the user is running a 32-bit userland. This causes build failures for our autobuilders, like so: http://autobuild.buildroot.org/results/9cd/9cdf10ec5b31144b2e03ea09cf128702339895b3/ with the following symptoms: >>> toolchain-external undefined Configuring Cannot execute cross-compiler '/home/test/autobuild/instance-3/output/host/opt/ext-toolchain/bin/aarch64-linux-gnu-gcc' So, instead of relying on the output of `uname -r`, look for the host gcc and extract the target it was configured to generate code for. Fixes: http://autobuild.buildroot.org/results/9cd/9cdf10ec5b31144b2e03ea09cf128702339895b3/ (aarch64) http://autobuild.buildroot.org/results/888/8889aa7d9fb48370e4760a6edbc6d3ae945f02f2/ (arm) and many more... Besides fixing those issues, it will also allow us to add the 64-bit variants of toolchains when they exist, like the upcoming Codescape MTI and IMG toolchains for MIPS from Imagination Technologies. [Peter: use HOSTCC_NOCCACHE] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* pkg-generic: improve incorrectly used package detectionGravatar Thomas Petazzoni2016-01-031-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the check that packages we build are indeed enabled is done at the time a package is configured. This can come quite late in the build process, and does not provide direct knowledge of the real culprit for the incorrect dependency. However, we can improve these two issues quite easily, albeit at the expense of a very slightly more complicated make code. First, the check can not be done at the time we define the package, i.e. in the inner-generic-pacakge, because all its dependencies might have not been parsed yet, so we can't yet know whether it is enabled or not (because we can't match the package name of the dependency to its Kconfig variable yet). But then, we know we have all packages definitions after we scanned the the bundled packages, kernel, bootloaders and toolchains, as well as the br2-external tree (if any). So, at this location, we iterate through the list of enabled packages, and check that the packages they each depend on are indeed enabled. This allows us to: 1- do the check very early, before any build action, 2- report on the exact offending package very easily. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: drop ldconfig handlingGravatar Thomas Petazzoni2016-01-031-13/+4
| | | | | | | | | | | | | | | | | | | | | | | | | The ldconfig handling in the main Makefile is utterly broken, as it calls the build machine ldconfig to generate the ld.so.cache of the target. Unfortunately, the format of the ld.so.cache is architecture specific, and therefore the build machine ldconfig cannot be used as-is. This patch therefore simply drops using ldconfig entirely, and removes /etc/ld.so.conf.d/ from the target skeleton. The idea is that all libraries that should be loaded by the dynamic linker must be installed in paths where the dynamic linker searches them by default (typically /lib or /usr/lib). This might potentially break a few packages, but the only way to know is to actually stop handling ldconfig. In order to be notified of such cases, we add a check in target-finalize to verify that there is no /etc/ld.so.conf file as well as no /etc/ld.so.conf.d directory. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Config.in: add symbols for BR2_HOST_GCC_AT_LEAST_X_YGravatar Arnout Vandecappelle2015-12-311-0/+9
| | | | | | | | | | | | | | Some host packages need a recent gcc version. Add symbols to Config.in to specify the HOSTCC version. The values are passed through the environment, and this environment is generated in a new support script. Also update the documentation to mention the new symbols. [Thomas: simplify by using only make logic instead of an external shell script.] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: Add RANLIB to the list of critical variables to unexportGravatar Tom Rini2015-12-221-0/+1
| | | | | | | | If RANLIB is set and we're trying to build binutils, binutils will pick this up and potentially fail to build. Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: valgrind needs non-stripped dynamic linker libraryGravatar Peter Seiderer2015-12-171-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the following valgrind error (tested on freescale imx6): valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strcmp valgrind: in an object with soname matching: ld-linux-armhf.so.3 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-armhf.so.3 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. The package you need valgrind: to install for fix (1) is called Note that we can still strip the dynamic linker, but only strip the debugging symbols and nothing else. [Thomas: slightly adjust comment in the code.] Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: fix copyright yearGravatar Peter Korsgaard2015-12-031-1/+1
| | | | | | It is no longer 2014. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Merge branch 'next'Gravatar Peter Korsgaard2015-12-011-2/+5
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * core/printvars: allow dumping a set of variablesGravatar Yann E. MORIN2015-11-291-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dumping our 176164 variables can take quite some time (~12s here). What takes the most time is sorting the variables (~9s), followed by the parsing of our Makefiles (~3s), with the actual printing in the noise. However, sometimes only one or a few variables are needed. For example, one may want to retrieve the Linux build dir from a post-build hook (to get the Linux' actual .config after our fixups and check for various features). Add the possibility to only dump the variables listed in $(VAR) which must be passed as a make argument, like so: $ make -s printvars VARS="LINUX_DIR TOPDIR O" LINUX_DIR=/home/ymorin/dev/buildroot/O/build/linux-4.3 ($(BUILD_DIR)/$(LINUX_BASE_NAME)) O=/home/ymorin/dev/buildroot/O/. (/home/ymorin/dev/buildroot/O/.) TOPDIR=/home/ymorin/dev/buildroot/buildroot (/home/ymorin/dev/buildroot/buildroot) It is also possible to use make-appterns, like: $ make -s printvars VARS="BUSYBOX_%" This is much faster (the time is just about the time it takes to parse our Makefiles, 3s here) and easier to parse. [Thomas: improve comment above the printvars target.] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Kickoff 2016.02 cycleGravatar Thomas Petazzoni2015-11-091-1/+1
| | | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | Kickoff 2016.02 cycleGravatar Peter Korsgaard2015-12-011-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | Update for 2015.112015.11Gravatar Peter Korsgaard2015-11-301-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | package/skeleton: also handle merged /usr in the stagingGravatar Yann E. MORIN2015-11-281-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the target uses a merged /usr setup, gdbserver will only report paths in /lib to the remote gdb, which in turn will only look for libraries in staging/lib and never in staging/usr/lib. So. the merged (or non-merged) /usr setup must be replicated in the staging. The best solution where to do so is in the skeleton package, since it is guaranteed to come before any package that installs things in the staging, and even before the (internal or external) toolchain as well. Reported-by: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | Update for 2015.11-rc32015.11-rc3Gravatar Peter Korsgaard2015-11-261-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | Update for 2015.11-rc22015.11-rc2Gravatar Peter Korsgaard2015-11-191-1/+1
|/ | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.11-rc12015.11-rc1Gravatar Thomas Petazzoni2015-11-071-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: remove .br-external on distcleanGravatar Yann E. MORIN2015-11-031-1/+1
| | | | | | | | | | | | | | distclean is supposed to return the current directory, whether in-tree or out-of-tree, into pristine conditions, which means we should also forget about any br2-external tree on distclean. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> 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>
* core: do not accept multiple definitions of a packageGravatar Yann E. MORIN2015-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | One of the selling points for br2-external is to provide a mean to add new packages. However, it is not supported that a package be defined by Buildroot and then redefined in a br2-external tree. This situation may occur without the user noticing or even willing to redefine the package, for example: - br2-external is first created against a version of Buildroot - a package (missing in Buildroot) is added to that br2-external tree - upstream Buildroot adds this package - user updates to the new Buildroot In this case, the result in undefined, and we can't make any guarantee on the result (working or not). Add a sanity check so that a package redefinition gets caught. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: Remove 'quiet' variableGravatar Cédric Marie2015-10-291-3/+1
| | | | | | | | | | | | | | | | | 'quiet' variable is set and exported, but it is not used. We can safely remove it. This variable is inherited from the Makefile of the Linux kernel, and is not used in Buildroot. In support/scripts/mkmakefile, 'quiet' value is checked, but the test is always true ('quiet' is never set to silent_), so the test can be removed as well. Signed-off-by: Cédric Marie <cedric.marie@openmailbox.org> Reviewed-by: "James Knight" <james.d.knight@live.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ccache: allow for BR2_CCACHE_DIR environment overrideGravatar Gustavo Zacarias2015-10-171-2/+4
| | | | | | | | | | | | | Allow the BR2_CCACHE_DIR .config option to be overriden by the BR2_CCACHE_DIR env variable. This is useful for big projects where in some cases the developers home directory might be a NFS mount (slow) and real production builds aren't. Update documentation accordingly as well. Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: implement a graph-size targetGravatar Thomas Petazzoni2015-10-171-0/+8
| | | | | | | | | | | This commit implements a graph-size target that calls the script of the same name to generate the graph and CSV files related to package and file sizes. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-wrapper: support change of BR2_CCACHEGravatar Arnout Vandecappelle2015-10-041-0/+2
| | | | | | | | | | | | | | | | | | 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>
* legal-info: allow to declare the actual sources for binary packagesGravatar Luca Ceresoli2015-10-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* target-finalize: remove extra /usr/libexec/{*.a,*.la} filesGravatar Herve Codina2015-09-191-2/+2
| | | | | | | | | | | | | | | Some packages, sudo for instance, install .a and .la files in $(TARGET_DIR)/usr/libexec. These files are not needed on target. This patch refactors the existing "find" invocations in target-finalize into a single one removing all .a and .la files from lib, usr/lib and usr/libexec. [Thomas: rework to use a single "find" invocation, and adjusted the commit log accordingly.] Signed-off-by: Herve Codina <Herve.CODINA@celad.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* make help: remove <pkg>-legal-infoGravatar Luca Ceresoli2015-09-041-1/+0
| | | | | | | | | | | | | | The <pkg>-legal-info target is only a component of the top-level legal-info target, it is not meant to be used alone. For example, calling twice 'make busybox-legal-info' produces duplicate entries in licenses.txt and manifest.csv. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Kickoff 2015.11 cycleGravatar Peter Korsgaard2015-09-011-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.082015.08Gravatar Peter Korsgaard2015-08-311-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.08-rc22015.08-rc2Gravatar Thomas Petazzoni2015-08-241-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Update for 2015.08-rc12015.08-rc1Gravatar Thomas Petazzoni2015-08-051-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: unexport OGravatar Guido Martínez2015-07-261-0/+1
| | | | | | | | | | | | | | | | | | | After bee5745ccc2 ("Makefile: don't depend on the umask"), any use of "make O=<dir>" would leak $O into the enviroment for submakes, and it's inherited by package makefiles. Some package makefiles have protections to make sure they don't use the value of $O if it comes from the enviroment (Linux), but some don't (uClibc). This caused build failures when using a different output dir. Fix this by unconditionally unexporting the O variable, since we never need to have it set in the environment for packages, it should be only internally used by BR. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: fix performance regression caused by the umask handlingGravatar Guido Martínez2015-07-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit bee5745c introduced an extra level of 'make' when the umask is different from 0022. However, when several targets were specified on the command line, a new make instance would be called for each target. This introduces a huge performance overhead when many targets are specified on the command line. To fix this, use the same approach as used in the mkmakefile script: an addition target on which the MAKECMDGOALS depend, so that this target is run only once. Note that the mkmakefile script contains a special exception for Makefile, because the Makefile in the output directory is generated. Since the top-level Makefile is not generated, this exception is not needed here. While we're at it, also fix the whitespace in the UMASK assignment. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [yann.morin.1998@free.fr: aggregate patches from Arnout and Guido] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* release: remove manual build files from release tarballsGravatar Thomas De Schampheleire2015-07-171-0/+1
| | | | | | | | | | | | | | | | | | | The Buildroot release tarballs inadvertently contain a build/docs directory, containing the manual sources, the generated lists, and manual.text and manual.pdf (but excluding manual.html). This directory is populated as $(BUILD_DIR) (==$(O)/build), while O is set explicitly from the release target to a subdirectory buildroot-xxxx.yy-git/ which was populated with 'git archive'. Since the generated manuals are available in docs/manual, which is also referred to from the README, the build directory is not needed and should be removed from the release tarball. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: save MAKE_VERSIONGravatar Gustavo Zacarias2015-07-141-2/+5
| | | | | | | | | | | Save MAKE_VERSION as RUNNING_MAKE_VERSION since this is later clobbered by the make package. It will be used by the webkitgtk24 package to check for older make versions which have a bug building it with parallel jobs (it hangs). Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>