* [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR.
@ 2014-11-17 20:02 Volker Krause
2014-11-18 17:06 ` Bernd Kuhls
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Volker Krause @ 2014-11-17 20:02 UTC (permalink / raw)
To: buildroot
This is rarely needed by packages, but convenient to have when it is.
Signed-off-by: Volker Krause <volker.krause@kdab.com>
---
Changes v2 -> v3:
- fixed endianess handling for ARM v4-v7
- coding style
Changes v1 -> v2:
- added missing qstrip
- set the correct ARM variant as done in
http://patchwork.ozlabs.org/patch/408501/
package/pkg-cmake.mk | 22 ++++++++++++++++++++++
support/misc/toolchainfile.cmake.in | 1 +
2 files changed, 23 insertions(+)
diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
index c8735ef..85fda86 100644
--- a/package/pkg-cmake.mk
+++ b/package/pkg-cmake.mk
@@ -180,6 +180,27 @@ host-cmake-package = $(call inner-cmake-package,host-$(pkgname),$(call UPPERCASE
# Generation of the CMake toolchain file
################################################################################
+# CMAKE_SYSTEM_PROCESSOR should match uname -m
+ifeq ($(BR2_ARM_CPU_ARMV4),y)
+ARM_VARIANT = armv4
+else ifeq ($(BR2_ARM_CPU_ARMV5),y)
+ARM_VARIANT = armv5
+else ifeq ($(BR2_ARM_CPU_ARMV6),y)
+ARM_VARIANT = armv6
+else ifeq ($(BR2_ARM_CPU_ARMV7A),y)
+ARM_VARIANT = armv7
+endif
+
+ifeq ($(BR2_arm),y)
+CMAKE_SYSTEM_PROCESSOR = $(ARM_VARIANT)l
+else ifeq ($(BR2_armeb),y)
+CMAKE_SYSTEM_PROCESSOR = $(ARM_VARIANT)b
+endif
+
+ifndef CMAKE_SYSTEM_PROCESSOR
+CMAKE_SYSTEM_PROCESSOR = $(BR2_ARCH)
+endif
+
# In order to allow the toolchain to be relocated, we calculate the HOST_DIR
# based on the toolchainfile.cmake file's location: $(HOST_DIR)/usr/share/buildroot
# In all the other variables, HOST_DIR will be replaced by RELOCATED_HOST_DIR,
@@ -193,5 +214,6 @@ $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake:
-e 's:@@TARGET_LDFLAGS@@:$(call qstrip,$(TARGET_LDFLAGS)):' \
-e 's:@@TARGET_CC_NOCCACHE@@:$(subst $(HOST_DIR)/,,$(call qstrip,$(TARGET_CC_NOCCACHE))):' \
-e 's:@@TARGET_CXX_NOCCACHE@@:$(subst $(HOST_DIR)/,,$(call qstrip,$(TARGET_CXX_NOCCACHE))):' \
+ -e 's:@@CMAKE_SYSTEM_PROCESSOR@@:$(call qstrip,$(CMAKE_SYSTEM_PROCESSOR)):' \
$(TOPDIR)/support/misc/toolchainfile.cmake.in \
> $@
diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in
index 4ca3d35..816af13 100644
--- a/support/misc/toolchainfile.cmake.in
+++ b/support/misc/toolchainfile.cmake.in
@@ -11,6 +11,7 @@
string(REPLACE "/usr/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR})
set(CMAKE_SYSTEM_NAME Linux)
+set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@)
set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@ ${CMAKE_C_FLAGS}" CACHE STRING "Buildroot CFLAGS")
set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@ ${CMAKE_CXX_FLAGS}" CACHE STRING "Buildroot CXXFLAGS")
--
1.8.4.5
^ permalink raw reply related [flat|nested] 5+ messages in thread* [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR.
2014-11-17 20:02 [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR Volker Krause
@ 2014-11-18 17:06 ` Bernd Kuhls
2014-11-22 0:22 ` Romain Naour
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Bernd Kuhls @ 2014-11-18 17:06 UTC (permalink / raw)
To: buildroot
Volker Krause <volker.krause@kdab.com> wrote in
news:1416254561-12691-1-git-send-email-volker.krause at kdab.com:
Hi,
your patch works with my proposed x265 package, therefore:
Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de>
I uploaded v2 of my x265 patch set which depends on your patch.
Regards, Bernd
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR.
2014-11-17 20:02 [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR Volker Krause
2014-11-18 17:06 ` Bernd Kuhls
@ 2014-11-22 0:22 ` Romain Naour
2014-12-09 21:53 ` Samuel Martin
2014-12-09 22:59 ` Thomas Petazzoni
3 siblings, 0 replies; 5+ messages in thread
From: Romain Naour @ 2014-11-22 0:22 UTC (permalink / raw)
To: buildroot
Hi Volker,
Le 17/11/2014 21:02, Volker Krause a ?crit :
> This is rarely needed by packages, but convenient to have when it is.
>
> Signed-off-by: Volker Krause <volker.krause@kdab.com>
> ---
> Changes v2 -> v3:
> - fixed endianess handling for ARM v4-v7
> - coding style
>
> Changes v1 -> v2:
> - added missing qstrip
> - set the correct ARM variant as done in
> http://patchwork.ozlabs.org/patch/408501/
>
Openpowerlink package compiled with your patch and [1] applied.
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
[1] http://patchwork.ozlabs.org/patch/413219/
Best regards,
Romain
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR.
2014-11-17 20:02 [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR Volker Krause
2014-11-18 17:06 ` Bernd Kuhls
2014-11-22 0:22 ` Romain Naour
@ 2014-12-09 21:53 ` Samuel Martin
2014-12-09 22:59 ` Thomas Petazzoni
3 siblings, 0 replies; 5+ messages in thread
From: Samuel Martin @ 2014-12-09 21:53 UTC (permalink / raw)
To: buildroot
On Mon, Nov 17, 2014 at 9:02 PM, Volker Krause <volker.krause@kdab.com> wrote:
> This is rarely needed by packages, but convenient to have when it is.
>
> Signed-off-by: Volker Krause <volker.krause@kdab.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
> ---
> Changes v2 -> v3:
> - fixed endianess handling for ARM v4-v7
> - coding style
>
> Changes v1 -> v2:
> - added missing qstrip
> - set the correct ARM variant as done in
> http://patchwork.ozlabs.org/patch/408501/
>
> package/pkg-cmake.mk | 22 ++++++++++++++++++++++
> support/misc/toolchainfile.cmake.in | 1 +
> 2 files changed, 23 insertions(+)
>
> diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
> index c8735ef..85fda86 100644
> --- a/package/pkg-cmake.mk
> +++ b/package/pkg-cmake.mk
> @@ -180,6 +180,27 @@ host-cmake-package = $(call inner-cmake-package,host-$(pkgname),$(call UPPERCASE
> # Generation of the CMake toolchain file
> ################################################################################
>
> +# CMAKE_SYSTEM_PROCESSOR should match uname -m
> +ifeq ($(BR2_ARM_CPU_ARMV4),y)
> +ARM_VARIANT = armv4
> +else ifeq ($(BR2_ARM_CPU_ARMV5),y)
> +ARM_VARIANT = armv5
> +else ifeq ($(BR2_ARM_CPU_ARMV6),y)
> +ARM_VARIANT = armv6
> +else ifeq ($(BR2_ARM_CPU_ARMV7A),y)
> +ARM_VARIANT = armv7
> +endif
> +
> +ifeq ($(BR2_arm),y)
> +CMAKE_SYSTEM_PROCESSOR = $(ARM_VARIANT)l
> +else ifeq ($(BR2_armeb),y)
> +CMAKE_SYSTEM_PROCESSOR = $(ARM_VARIANT)b
> +endif
> +
> +ifndef CMAKE_SYSTEM_PROCESSOR
> +CMAKE_SYSTEM_PROCESSOR = $(BR2_ARCH)
> +endif
> +
> # In order to allow the toolchain to be relocated, we calculate the HOST_DIR
> # based on the toolchainfile.cmake file's location: $(HOST_DIR)/usr/share/buildroot
> # In all the other variables, HOST_DIR will be replaced by RELOCATED_HOST_DIR,
> @@ -193,5 +214,6 @@ $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake:
> -e 's:@@TARGET_LDFLAGS@@:$(call qstrip,$(TARGET_LDFLAGS)):' \
> -e 's:@@TARGET_CC_NOCCACHE@@:$(subst $(HOST_DIR)/,,$(call qstrip,$(TARGET_CC_NOCCACHE))):' \
> -e 's:@@TARGET_CXX_NOCCACHE@@:$(subst $(HOST_DIR)/,,$(call qstrip,$(TARGET_CXX_NOCCACHE))):' \
> + -e 's:@@CMAKE_SYSTEM_PROCESSOR@@:$(call qstrip,$(CMAKE_SYSTEM_PROCESSOR)):' \
> $(TOPDIR)/support/misc/toolchainfile.cmake.in \
> > $@
> diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in
> index 4ca3d35..816af13 100644
> --- a/support/misc/toolchainfile.cmake.in
> +++ b/support/misc/toolchainfile.cmake.in
> @@ -11,6 +11,7 @@
> string(REPLACE "/usr/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR})
>
> set(CMAKE_SYSTEM_NAME Linux)
> +set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@)
>
> set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@ ${CMAKE_C_FLAGS}" CACHE STRING "Buildroot CFLAGS")
> set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@ ${CMAKE_CXX_FLAGS}" CACHE STRING "Buildroot CXXFLAGS")
> --
> 1.8.4.5
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Samuel
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR.
2014-11-17 20:02 [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR Volker Krause
` (2 preceding siblings ...)
2014-12-09 21:53 ` Samuel Martin
@ 2014-12-09 22:59 ` Thomas Petazzoni
3 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2014-12-09 22:59 UTC (permalink / raw)
To: buildroot
Dear Volker Krause,
On Mon, 17 Nov 2014 21:02:41 +0100, Volker Krause wrote:
> This is rarely needed by packages, but convenient to have when it is.
>
> Signed-off-by: Volker Krause <volker.krause@kdab.com>
Thanks, I've applied your patch, with a few changes (see below).
> +# CMAKE_SYSTEM_PROCESSOR should match uname -m
> +ifeq ($(BR2_ARM_CPU_ARMV4),y)
> +ARM_VARIANT = armv4
> +else ifeq ($(BR2_ARM_CPU_ARMV5),y)
> +ARM_VARIANT = armv5
> +else ifeq ($(BR2_ARM_CPU_ARMV6),y)
> +ARM_VARIANT = armv6
> +else ifeq ($(BR2_ARM_CPU_ARMV7A),y)
> +ARM_VARIANT = armv7
> +endif
The namespace of variables is global, and we don't want pkg-cmake.mk to
define a variable with a name as "global" as ARM_VARIANT. So I've
renamed this variable to CMAKE_SYSTEM_PROCESSOR_ARM_VARIANT.
> +
> +ifeq ($(BR2_arm),y)
> +CMAKE_SYSTEM_PROCESSOR = $(ARM_VARIANT)l
> +else ifeq ($(BR2_armeb),y)
> +CMAKE_SYSTEM_PROCESSOR = $(ARM_VARIANT)b
> +endif
> +
> +ifndef CMAKE_SYSTEM_PROCESSOR
> +CMAKE_SYSTEM_PROCESSOR = $(BR2_ARCH)
> +endif
I've changed this to the more logical (IMO):
ifeq ($(BR2_arm),y)
...
else ifeq ($(BR2_armeb),y)
...
else
... = $(BR2_ARCH)
endif
See:
http://git.buildroot.net/buildroot/commit/?id=c1e41153e662c7d49d7e0d1bf5e7a953d784f849
For the result.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-12-09 22:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-17 20:02 [Buildroot] [PATCH v3] pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR Volker Krause
2014-11-18 17:06 ` Bernd Kuhls
2014-11-22 0:22 ` Romain Naour
2014-12-09 21:53 ` Samuel Martin
2014-12-09 22:59 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox