All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 04/14] pkg-cmake.mk: do not hardcode absolute path in toolchainfile.cmake
Date: Fri, 25 Apr 2014 00:10:34 +0200	[thread overview]
Message-ID: <53598BDA.6030005@mind.be> (raw)
In-Reply-To: <1398293313-17580-5-git-send-email-s.martin49@gmail.com>

On 24/04/14 00:48, Samuel Martin wrote:
> The patch allows sharing or moving the toolchains.
> 
> This is a step toward making the toolchain/sdk relocatable.
> 
> Closes #6818
> 
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> Cc: Uwe Strempel <u.strempel@googlemail.com>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> 
> ---
> changes v1 -> v2:
> - rebase
> - use CMAKE_CURRENT_LIST_DIR instead of get_filename_component()
> - rewrite subst call in a more natural way (Arnout)
> ---
>  package/pkg-cmake.mk | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
> index af8ecf5..b2ac2df 100644
> --- a/package/pkg-cmake.mk
> +++ b/package/pkg-cmake.mk
> @@ -159,18 +159,19 @@ host-cmake-package = $(call inner-cmake-package,host-$(pkgname),$(call UPPERCASE
>  ################################################################################
>  
>  define TOOLCHAINFILE_CMAKE
> +string(REPLACE /usr/share/buildroot "" _HOST_DIR $${CMAKE_CURRENT_LIST_DIR})

 _HOST_DIR is not sufficiently explanatory. How about RELOCATED_HOST_DIR?

 This could benefit from some explanatory comment (took me some time to
figure it out, at least).

# In order to allow the toolchain to be relocated, we calculated the
# HOST_DIR based on this file's location: $(HOST_DIR)/usr/share/buildroot
# In all the other variables, HOST_DIR will be replaced by
# RELOCATED_HOST_DIR

>  set(CMAKE_SYSTEM_NAME Linux)
> -set(CMAKE_C_COMPILER $(TARGET_CC_NOCCACHE))
> -set(CMAKE_CXX_COMPILER $(TARGET_CXX_NOCCACHE))
> +set(CMAKE_C_COMPILER $(subst $(HOST_DIR),$${_HOST_DIR},$(TARGET_CROSS))gcc)

 Why is this using $(TARGET_CROSS)gcc instead of the original
$(TARGET_CC_NOCACHE) ?


 Regards,
 Arnout

> +set(CMAKE_CXX_COMPILER $(subst $(HOST_DIR),$${_HOST_DIR},$(TARGET_CROSS))g++)
>  set(CMAKE_C_FLAGS "$${CMAKE_C_FLAGS} $(TARGET_CFLAGS)" CACHE STRING "Buildroot CFLAGS" FORCE)
>  set(CMAKE_CXX_FLAGS "$${CMAKE_CXX_FLAGS} $(TARGET_CXXFLAGS)" CACHE STRING "Buildroot CXXFLAGS" FORCE)
>  set(CMAKE_INSTALL_SO_NO_EXE 0)
> -set(CMAKE_PROGRAM_PATH $(HOST_DIR)/usr/bin)
> -set(CMAKE_FIND_ROOT_PATH $(STAGING_DIR))
> +set(CMAKE_PROGRAM_PATH $${_HOST_DIR}/usr/bin)
> +set(CMAKE_FIND_ROOT_PATH $${_HOST_DIR}/$(STAGING_SUBDIR))
>  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
>  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
>  set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
> -set(ENV{PKG_CONFIG_SYSROOT_DIR} $(STAGING_DIR))
> +set(ENV{PKG_CONFIG_SYSROOT_DIR} $${_HOST_DIR}/$(STAGING_SUBDIR))
>  endef
>  
>  $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake:
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  reply	other threads:[~2014-04-24 22:10 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-23 22:48 [Buildroot] [PATCH 00/14] CMake infrastructure refactoring Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 01/14] pkg-cmake.mk: replace "echo -en" with printf Samuel Martin
2014-04-24 20:26   ` Arnout Vandecappelle
2014-04-24 20:31     ` Peter Korsgaard
2014-04-23 22:48 ` [Buildroot] [PATCH 02/14] pkg-cmake.mk: remove unneeded quotes in the generated toolchainfile.cmake Samuel Martin
2014-04-24 20:34   ` Arnout Vandecappelle
2014-04-23 22:48 ` [Buildroot] [PATCH 03/14] pkg-cmake.mk: rework toolchainfile.cmake Samuel Martin
2014-04-24 20:59   ` Arnout Vandecappelle
2014-04-23 22:48 ` [Buildroot] [PATCH 04/14] pkg-cmake.mk: do not hardcode absolute path in toolchainfile.cmake Samuel Martin
2014-04-24 22:10   ` Arnout Vandecappelle [this message]
2014-04-23 22:48 ` [Buildroot] [PATCH 05/14] pkg-cmake.mk: enable ccache for cmake packages Samuel Martin
2014-04-24 22:39   ` Arnout Vandecappelle
2014-05-29 11:03     ` Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 06/14] pkg-cmake.mk: cosmetic changes in the generated toolchainfile.cmake file Samuel Martin
2014-04-24  3:47   ` Baruch Siach
2014-05-28 19:07     ` Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 07/14] pkg-cmake.mk: set additional variables in toolchainfile.cmake Samuel Martin
2014-04-24 22:41   ` Arnout Vandecappelle
2014-05-28 19:09     ` Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 08/14] rpi-userland: cleanup *_CONF_OPT Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 09/14] pkg-cmake.mk: globally disable BUILD_TESTING flag Samuel Martin
2014-04-24 22:45   ` Arnout Vandecappelle
2014-05-28 19:17     ` Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 10/14] pkg-cmake.mk: globally drive the CMAKE_BUILD_TYPE flag using BR2_ENABLE_DEBUG Samuel Martin
2014-04-24 22:46   ` Arnout Vandecappelle
2014-05-28  8:42     ` Maxime Hadjinlian
2014-04-23 22:48 ` [Buildroot] [PATCH 11/14] openpowerlink: do not override CMAKE_BUILD_TYPE Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 12/14] opencv: " Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 13/14] flann: " Samuel Martin
2014-04-23 22:48 ` [Buildroot] [PATCH 14/14] qhull: " Samuel Martin

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=53598BDA.6030005@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /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.