Patchwork cmake: add AArch64 support

login
register
mail settings
Submitter Marcin Juszkiewicz
Date Jan. 7, 2013, 11:54 a.m.
Message ID <1357559683-2702-1-git-send-email-marcin.juszkiewicz@linaro.org>
Download mbox | patch
Permalink /patch/42179/
State Accepted
Commit dd98eeaf4c6f05c55886f9fa3021fae704a004fe
Headers show

Comments

Marcin Juszkiewicz - Jan. 7, 2013, 11:54 a.m.
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 meta/recipes-devtools/cmake/cmake.inc              |  7 ++--
 .../cmake/cmake/aarch64-cmake.patch                | 37 ++++++++++++++++++++
 .../cmake/cmake/aarch64-kwsys.patch                | 40 ++++++++++++++++++++++
 3 files changed, 82 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch
 create mode 100644 meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch

Patch

diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index 6dc319c..b2cba5e 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -9,12 +9,15 @@  LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://Copyright.txt;md5=bb2fa3a08736b842556f6171bb9e8ae1 \
                     file://Source/cmake.h;beginline=1;endline=10;md5=341736dae83c9e344b53eeb1bc7d7bc2"
 
-INC_PR = "r0"
+INC_PR = "r1"
 
 CMAKE_MAJOR_VERSION = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
 
 SRC_URI = "http://www.cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
-           file://support-oe-qt4-tools-names.patch"
+           file://support-oe-qt4-tools-names.patch \
+           file://aarch64-cmake.patch \
+           file://aarch64-kwsys.patch \
+           "
 
 inherit autotools
 
diff --git a/meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch b/meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch
new file mode 100644
index 0000000..b3e38b3
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch
@@ -0,0 +1,37 @@ 
+From: Riku Voipio <riku.voipio@linaro.org>
+Date: Fri, 21 Dec 2012 11:20:02 +0000 (+0200)
+Subject: KWIML: Teach ABI.h about Aarch64
+X-Git-Url: http://cmake.org/gitweb?p=cmake.git;a=commitdiff_plain;h=34916522
+
+KWIML: Teach ABI.h about Aarch64
+
+The __aarch64__ defines Aarch64, while __AARCH64EB__ defines bigendian
+and __AARCH64EL__ little endian.  Only little endian tested, no big
+endian toolchain exists yet.
+
+Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
+
+Hand edited by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> to get it applied in OE
+
+Upstream-status: Backport
+---
+
+diff --git a/ABI.h.in b/ABI.h.in
+index f93ddba..7f4772a 100644
+--- a/Utilities/KWIML/ABI.h.in
++++ b/Utilities/KWIML/ABI.h.in
+@@ -418,6 +418,14 @@ suppression macro @KWIML@_ABI_NO_VERIFY was defined.
+ #elif defined(__vax__)
+ # define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG
+ 
++/* Aarch64 */
++#elif defined(__aarch64__)
++# if !defined(__AARCH64EB__)
++#  define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE
++# else
++#  define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG
++# endif
++
+ /* Unknown CPU */
+ #elif !defined(@KWIML@_ABI_NO_ERROR_ENDIAN)
+ # error "Byte order of target CPU unknown."
diff --git a/meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch b/meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch
new file mode 100644
index 0000000..03e8fa1
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch
@@ -0,0 +1,40 @@ 
+From: KWSys Robot <kwrobot@kitware.com>
+Date: Fri, 21 Dec 2012 13:29:37 +0000 (-0500)
+Subject: KWSys 2012-12-21 (8ce09af5)
+X-Git-Url: http://cmake.org/gitweb?p=cmake.git;a=commitdiff_plain;h=567e7d94
+
+KWSys 2012-12-21 (8ce09af5)
+
+Extract upstream KWSys using the following shell commands.
+
+$ git archive --prefix=upstream-kwsys/ 8ce09af5 | tar x
+$ git shortlog --no-merges --abbrev=8 --format='%h %s' 933eb822..8ce09af5
+Riku Voipio (1):
+      8ce09af5 CPU: Add Aarch64 support
+
+Change-Id: I4bd0a97abaa0f958e2679afe2d4ad4bcc37434a0
+
+Hand edited by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> to get it applied in OE
+
+Upstream-status: Backport
+---
+
+diff --git a/CPU.h.in b/CPU.h.in
+index ecd29d1..2e1a584 100644
+--- a/Source/kwsys/CPU.h.in
++++ b/Source/kwsys/CPU.h.in
+@@ -98,6 +98,14 @@
+ #elif defined(__SYSC_ZARCH__)
+ # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
+ 
++/* Aarch64 */
++#elif defined(__aarch64__)
++# if !defined(__AARCH64EB__)
++#  define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE
++# else
++#  define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG
++# endif
++
+ /* Unknown CPU */
+ #else
+ # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID 0