diff mbox series

[1/1] cmake: bump version to 3.10.2 and add license hash

Message ID 20180213195729.33644-1-markhirota@gmail.com
State Changes Requested
Headers show
Series [1/1] cmake: bump version to 3.10.2 and add license hash | expand

Commit Message

Mark Hirota Feb. 13, 2018, 7:57 p.m. UTC
Signed-off-by: Mark Hirota <markhirota@gmail.com>
---
 package/cmake/cmake.hash | 5 +++--
 package/cmake/cmake.mk   | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

Comments

Thomas Petazzoni Feb. 13, 2018, 10:25 p.m. UTC | #1
Hello,

On Tue, 13 Feb 2018 11:57:29 -0800, Mark Hirota wrote:
> Signed-off-by: Mark Hirota <markhirota@gmail.com>
> ---
>  package/cmake/cmake.hash | 5 +++--
>  package/cmake/cmake.mk   | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)

Thanks for this contribution. However, I'm a little bit worried by this
bump: it was already submitted before, and we had to revert because it
was causing gazillions of build failures.

See https://patchwork.ozlabs.org/patch/846757/. Basically, unless CMake
fixed the problem, CMake now requires C++11 to build, which is
annoying, as not all environments where Buildroot is used have a C++11
capable host compiler.

Could you check the status of the emplace_hint() method usage? Has it
been made conditional?

Thanks!

Thomas
Mark Hirota Feb. 14, 2018, 2:48 p.m. UTC | #2
Hi Thomas,

Thank you for providing that patchwork link, as it provides excellent background on this.  It seems that the build failures you’re referring to can only be seen once a change occurs on master?

Perhaps I should submit a patch for cmake 3.9.6 instead? This is because my goal is to have support for LTO the or CMAKE_INTERPROCEDURAL_OPTIMIZATION variable.

Thanks,
—M
> On Feb 13, 2018, at 2:25 PM, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> 
> Hello,
> 
>> On Tue, 13 Feb 2018 11:57:29 -0800, Mark Hirota wrote:
>> Signed-off-by: Mark Hirota <markhirota@gmail.com>
>> ---
>> package/cmake/cmake.hash | 5 +++--
>> package/cmake/cmake.mk   | 2 +-
>> 2 files changed, 4 insertions(+), 3 deletions(-)
> 
> Thanks for this contribution. However, I'm a little bit worried by this
> bump: it was already submitted before, and we had to revert because it
> was causing gazillions of build failures.
> 
> See https://patchwork.ozlabs.org/patch/846757/. Basically, unless CMake
> fixed the problem, CMake now requires C++11 to build, which is
> annoying, as not all environments where Buildroot is used have a C++11
> capable host compiler.
> 
> Could you check the status of the emplace_hint() method usage? Has it
> been made conditional?
> 
> Thanks!
> 
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
> Embedded Linux and Kernel engineering
> http://bootlin.com
Thomas Petazzoni Feb. 14, 2018, 3:04 p.m. UTC | #3
Hello,

On Wed, 14 Feb 2018 06:48:36 -0800, Mark Hirota wrote:

> Thank you for providing that patchwork link, as it provides excellent
> background on this.  It seems that the build failures you’re
> referring to can only be seen once a change occurs on master?

No, you can reproduce the issue if you build host-cmake in an old
enough system, such as a system that has a host gcc < 4.8.

> Perhaps I should submit a patch for cmake 3.9.6 instead? This is
> because my goal is to have support for LTO the or
> CMAKE_INTERPROCEDURAL_OPTIMIZATION variable.

I'm not familiar with CMake numbering scheme. Isn't 3.8.x and 3.10.x
stable, and 3.9.x development ?

I think the most appropriate approach is instead to make the
->emplace_hint() method call conditional. It is only there to "hint" at
where some element should be placed in a list, and looks like an
optimization. Perhaps it could fallback on something else if
->emplace_hint() is not available.

Alternatively, this ->emplace_hint() is only used in the Ninja backend,
so if the Ninja backend could be conditionally enabled/disabled, it
would allow to disable it when the host gcc is too old.

It's just that IMO it's too early for Buildroot to drop support for
build machines that don't have at least gcc 4.8.

Best regards,

Thomas
diff mbox series

Patch

diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash
index f138ac79a1..29c4b7eb6f 100644
--- a/package/cmake/cmake.hash
+++ b/package/cmake/cmake.hash
@@ -1,2 +1,3 @@ 
-# From http://www.cmake.org/files/v3.8/cmake-3.8.2-SHA-256.txt
-sha256 da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d  cmake-3.8.2.tar.gz
+# From http://www.cmake.org/files/v3.10/cmake-3.10.0-SHA-256.txt
+sha256 80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b  cmake-3.10.2.tar.gz
+sha256 ccf2c6d4468919c8c26a764b9ed8fde349f0d298335524568b346b9bdcf56e1f  Copyright.txt
diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
index a00691a128..48933b24d2 100644
--- a/package/cmake/cmake.mk
+++ b/package/cmake/cmake.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-CMAKE_VERSION_MAJOR = 3.8
+CMAKE_VERSION_MAJOR = 3.10
 CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).2
 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR)
 CMAKE_LICENSE = BSD-3-Clause