[Buildroot] [PATCH v11 0/8] Add support for top-level parallel make
Fabio Porcedda
fabio.porcedda at gmail.com
Mon Jan 20 07:31:11 UTC 2014
On Fri, Jan 10, 2014 at 11:06 AM, Fabio Porcedda
<fabio.porcedda at gmail.com> wrote:
> Hi all,
> this is a patch set for adding support for top-level parallel make in
> buildroot, the common problem scattered in buildroot's top-level
> makefiles is that in the rules it relies on the order of evaluation of
> the prerequisites, to be able to use top-level parallel make instead
> of reling on the left to right ordering of evaluation of the
> prerequisites we must add an explicit rule to describe the
> dependencies.
>
> With this patch set the top-level parallel make seems to works fine,
> example:
> make clean
> make BR2_JLEVEL= -j$((`getconf _NPROCESSORS_ONLN` + 1))
>
> Before to try it remeber to remove the ".NOTPARALLEL" line.
>
> On my quad core system the building time for the first 220 packages of
> the "allpackageyesconfig" is 43m vs 18m.
>
> I've tested the qemu_x86_defconfig, uclibc/eglibc/glibc,
> ccache off/on, sstrip off/on.
>
> I've finished to work on this patch set, Arnout has acked some patches
> so i hope that this patch set is going to be merged soon because is
> frustrating to rebase this patch set. In the latest Buildroot
> Developer Day in Edinburgh
> (http://elinux.org/Buildroot:DeveloperDaysELCE2013) you agreed to
> accept this patch set, so what are you wating for?
>
> Thank you for all reviews and in particular Arnout.
>
> Best regards
> Fabio Porcedda
>
> v11:
> - Rebased over master
> - Added support for pythone framework in the second patch.
> - Changed comment on the latest patch.
> v10:
> - Added Acked-by: Arnout Vandecappelle on the first two patches
> - Improved descption and text of the last patch
> - Rebased over master
> v9:
> - Added Acked-by: Arnout Vandecappelle on some patches.
> - Changed the patches contents and descriptions following advices of Arnout
> - 1th patch: fixed to support ccache & sstrip
> - 2th patch: added pkg-cmake.mk
> - 2th patch: splitted ifeq
> - 3th patch: improved description
> - 3th patch: does not use %_BUILD_DEPENDENCIES anymore
> - 3th patch: added a comment about "|"
> - 4th patch: added a comment
> - 5th patch: added a comment
> - 6th patch:
> - 2th patch: fixed a comment
> - 8th patch: now it change only the comment
> v8:
> - rebased over master
> - added patche for for base dependency
> - added patche for for glibc package
> - added patche for for uclibc package
> - removed patch already merged
> - changed some descriptions
> - modified the patch for toolchain dependency to prevent circular dependency
> v7:
> - add the latest patch
> - add to the first patch the <pkgname>_TOOLCHAIN variable
> - improve the fifth patch
> v6:
> - added the fifth patch
> - updated the fourth patch adding the install targets
> - updated the second patch to remove TARGETS_ALL
> v5:
> - added the fourth patch
> - fixed some typos
> - rewrited the second patch to use only $$($(2)_TARGET_*) in the rules
> - add support for top-level parallel make for the glibc package
> v4:
> - rebased over master
> - add Acked-by: Thomas Petazzoni on the third patch
> - changed the orderd of the patches
> v3:
> - add back the patch "package: add toolchain dependency to
> inner-generic-package" because now is working fine.
> - add Acked-by: Arnout Vandecappelle to the third patch.
> - reworked the second patch following Arnout suggestions.
> v2:
> - remove patch "package: add toolchain dependency to inner-generic-package"
> because was not working fine against recent toolchain changes.
>
> Fabio Porcedda (8):
> package: add base dependency to every package
> package: add toolchain dependency to every target package
> package: add support for top-level parallel make
> uclibc: add support for top-level parallel make
> glibc: add support for top-level parallel make
> Makefile: add support for top-level parallel make
> package: enable jobserver for recursive make
> Makefile: update comment about top-level parallel Makefile
>
> Makefile | 34 ++++++-----
> fs/common.mk | 4 +-
> package/glibc/glibc.mk | 12 +++-
> package/linux-headers/linux-headers.mk | 3 +
> package/pkg-autotools.mk | 3 +-
> package/pkg-cmake.mk | 2 +-
> package/pkg-generic.mk | 67 ++++++++++++++--------
> package/pkg-python.mk | 2 +-
> package/uclibc/uclibc.mk | 12 +++-
> .../toolchain-buildroot/toolchain-buildroot.mk | 2 +
> toolchain/toolchain-external/toolchain-external.mk | 2 +
> toolchain/toolchain/toolchain.mk | 5 +-
> 12 files changed, 99 insertions(+), 49 deletions(-)
>
> --
> 1.8.5.2
>
ping?
Regards
--
Fabio Porcedda
More information about the buildroot
mailing list