All of lore.kernel.org
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 9/9] cmake: add nativesdk and target versions
Date: Wed, 29 Jun 2011 20:36:09 -0700	[thread overview]
Message-ID: <4E0BEF29.30603@linux.intel.com> (raw)
In-Reply-To: <f4239a4c1ed0d18dc8db93ea8c140587722843bc.1308322247.git.otavio@ossystems.com.br>

On 06/17/2011 07:51 AM, Otavio Salvador wrote:
> Adds a recipe that provides the nativesdk and target versions of
> CMake.
>
> This recipe is based on code from OpenEmbeeded (rev
> b1f2e1501c19540617a829b37415c0616101c7ad).
>
> Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>
> ---
>   .../cmake/cmake/dont-run-cross-binaries.patch      |   22 +++++++++
>   meta/recipes-devtools/cmake/cmake_2.8.3.bb         |   48 ++++++++++++++++++++
>   2 files changed, 70 insertions(+), 0 deletions(-)
>   create mode 100644 meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch
>   create mode 100644 meta/recipes-devtools/cmake/cmake_2.8.3.bb
>
> diff --git a/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch b/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch
> new file mode 100644
> index 0000000..4eb1794
> --- /dev/null
> +++ b/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch
> @@ -0,0 +1,22 @@
> +cmake: don't run cross-binaries on host machine
> +
> +When doing the cross build we obviously cannot run those binaries on
> +host since they can be binary incompatible.
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +
> +Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>
> +
> +diff -ru cmake-2.8.2.orig/CMakeLists.txt cmake-2.8.2/CMakeLists.txt
> +--- cmake-2.8.2.orig/CMakeLists.txt	2010-07-28 00:48:42.000000000 +0200
> ++++ cmake-2.8.2/CMakeLists.txt	2010-07-28 01:05:17.000000000 +0200
> +@@ -518,7 +518,8 @@
> +
> + # build the remaining subdirectories
> + ADD_SUBDIRECTORY(Source)
> +-ADD_SUBDIRECTORY(Utilities)
> ++# Come on! Running the cross-binaries on host is not a good idea.
> ++#ADD_SUBDIRECTORY(Utilities)
> + ADD_SUBDIRECTORY(Tests)
> +
> + # add a test
> diff --git a/meta/recipes-devtools/cmake/cmake_2.8.3.bb b/meta/recipes-devtools/cmake/cmake_2.8.3.bb
> new file mode 100644
> index 0000000..93c98c3
> --- /dev/null
> +++ b/meta/recipes-devtools/cmake/cmake_2.8.3.bb
> @@ -0,0 +1,48 @@
> +require cmake.inc
> +
> +inherit cmake
> +
> +DEPENDS += "curl expat zlib libarchive ncurses"
> +
> +PR = "${INC_PR}.0"
> +
> +SRC_URI += "file://dont-run-cross-binaries.patch"
> +
> +SRC_URI[md5sum] = "a76a44b93acf5e3badda9de111385921"
> +SRC_URI[sha256sum] = "689ed02786b5cefa5515c7716784ee82a82e8ece6be5a3d629ac3cc0c05fc288"
> +
> +# Strip ${prefix} from ${docdir}, set result into docdir_stripped
> +python () {
> +    prefix=bb.data.getVar("prefix", d, 1)
> +    docdir=bb.data.getVar("docdir", d, 1)
> +
> +    if not docdir.startswith(prefix):
> +	raise bb.build.FuncFailed('docdir must contain prefix as its prefix')
> +
> +    docdir_stripped = docdir[len(prefix):]
> +    if len(docdir_stripped)>  0 and docdir_stripped[0] == '/':
> +	docdir_stripped = docdir_stripped[1:]
> +
> +    bb.data.setVar("docdir_stripped", docdir_stripped, d)
> +}
> +
> +EXTRA_OECMAKE=" \
> +    -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \
> +    -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
> +# This is compiler&  target dependant, but it seems cmake does not in fact use this value.
> +    -DKWSYS_CHAR_IS_SIGNED=1 \
> +# This disables large file support. Hopefully nobody processes>2G files on the target.
> +# If you want to enable this, add -DWKSYS_LFS_WORKS=1
> +    -DKWSYS_LFS_DISABLE=1 \
> +"
Otavio,

You can't embedded comments into variable setting like the above anymore.

Sau!

> +
> +# FIXME: Hack due gcc-crosssdk not being able to detect those automatically
> +CXXFLAGS_virtclass-nativesdk += " \
> +   -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++ \
> +   -I${STAGING_DIR_HOST}${SDKPATHNATIVE}/usr/include/c++/${TARGET_SYS} \
> +   "
> +
> +FILES_${PN} += "${datadir}/cmake-${CMAKE_MAJOR_VERSION}"
> +FILES_${PN}-doc += "${docdir}/cmake-${CMAKE_MAJOR_VERSION}"
> +
> +BBCLASSEXTEND = "nativesdk"



      reply	other threads:[~2011-06-30  3:39 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-17 14:51 [PATCH 0/9] Patches pending on O.S. Systems tree Otavio Salvador
2011-06-17 14:51 ` [PATCH 1/9] oe.classutils: add module Otavio Salvador
2011-06-17 14:51 ` [PATCH 2/9] Rework how the devshell functions Otavio Salvador
2011-06-17 14:51 ` [PATCH 3/9] oe.terminal: improve how we spawn screen Otavio Salvador
2011-06-17 14:51 ` [PATCH 4/9] cmake.bbclass: use CPPFLAGS and CXXFLAGS Otavio Salvador
2011-06-17 14:51 ` [PATCH 5/9] cmake: refactor recipe Otavio Salvador
2011-06-17 14:51 ` [PATCH 6/9] lib_package.bbclass: move static libraries to ${PN}-staticdev Otavio Salvador
2011-06-17 14:51 ` [PATCH 7/9] libxml: extend nativesdk class Otavio Salvador
2011-06-17 14:51 ` [PATCH 8/9] libarchive: add 2.8.4 version Otavio Salvador
2011-06-17 14:51 ` [PATCH 9/9] cmake: add nativesdk and target versions Otavio Salvador
2011-06-30  3:36   ` Saul Wold [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E0BEF29.30603@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.