All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Patch for toolchainfile.cmake absolut path references
@ 2014-02-01 11:31 Uwe Strempel
  2014-02-02 11:14 ` Samuel Martin
  0 siblings, 1 reply; 3+ messages in thread
From: Uwe Strempel @ 2014-02-01 11:31 UTC (permalink / raw)
  To: buildroot

Hi,
I've build a patch for BUG #6818


On build process of buildroot the toolchainfile.cmake is created, but
with wrong absolut path.
When shareing the toolchain or move the folder you get problems this
path settings.

A workarround for cmake files is
- get the path of the toolchainfile.cmake and set the the variables.

Regards
Uwe
-------------- next part --------------
diff --git a/package/Makefile.in b/package/Makefile.in
index 2e433fd..aa86fca 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -140,8 +140,10 @@ endif
 
 ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
 TARGET_CROSS=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-
+TARGET_CROSS_WITHOUT_HOST_DIR=/usr/bin/$(GNU_TARGET_NAME)-
 else
 TARGET_CROSS=$(HOST_DIR)/usr/bin/$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))-
+TARGET_CROSS_WITHOUT_HOST_DIR=/usr/bin/$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))-
 endif
 
 # Quotes are needed for spaces et al in path components.
@@ -164,6 +166,9 @@ TARGET_OBJDUMP  = $(TARGET_CROSS)objdump
 TARGET_CC_NOCCACHE  := $(TARGET_CC)
 TARGET_CXX_NOCCACHE := $(TARGET_CXX)
 
+TARGET_CC_NOCCACHE_WITHOUT_HOST_DIR  := $(TARGET_CROSS_WITHOUT_HOST_DIR)gcc
+TARGET_CXX_NOCCACHE_WITHOUT_HOST_DIR :=  $(TARGET_CROSS_WITHOUT_HOST_DIR)g++
+
 ifeq ($(BR2_CCACHE),y)
 TARGET_CC  := $(CCACHE) $(TARGET_CC)
 TARGET_CXX := $(CCACHE) $(TARGET_CXX)
diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
index 13be557..d30991c 100644
--- a/package/pkg-cmake.mk
+++ b/package/pkg-cmake.mk
@@ -160,16 +160,17 @@ host-cmake-package = $(call inner-cmake-package,host-$(call pkgname),$(call UPPE
 $(HOST_DIR)/usr/share/buildroot/toolchainfile.cmake:
 	@mkdir -p $(@D)
 	@echo -en "\
+	get_filename_component(CMAKE_TOOLCHAIN_PATH ${CMAKE_CURRENT_LIST_FILE} PATH)\n\
 	set(CMAKE_SYSTEM_NAME Linux)\n\
-	set(CMAKE_C_COMPILER $(TARGET_CC_NOCCACHE))\n\
-	set(CMAKE_CXX_COMPILER $(TARGET_CXX_NOCCACHE))\n\
+	set(CMAKE_C_COMPILER \"${CMAKE_TOOLCHAIN_PATH}/$(TARGET_CC_NOCCACHE_WITHOUT_HOST_DIR)\")\n\
+	set(CMAKE_CXX_COMPILER \"${CMAKE_TOOLCHAIN_PATH}/$(TARGET_CXX_NOCCACHE_WITHOUT_HOST_DIR)\")\n\
 	set(CMAKE_C_FLAGS \"\$${CMAKE_C_FLAGS} $(TARGET_CFLAGS)\" CACHE STRING \"Buildroot CFLAGS\" FORCE)\n\
 	set(CMAKE_CXX_FLAGS \"\$${CMAKE_CXX_FLAGS} $(TARGET_CXXFLAGS)\" CACHE STRING \"Buildroot CXXFLAGS\" FORCE)\n\
 	set(CMAKE_INSTALL_SO_NO_EXE 0)\n\
-	set(CMAKE_PROGRAM_PATH \"$(HOST_DIR)/usr/bin\")\n\
-	set(CMAKE_FIND_ROOT_PATH \"$(STAGING_DIR)\")\n\
+	set(CMAKE_PROGRAM_PATH \"$(CMAKE_TOOLCHAIN_PATH)/usr/bin\")\n\
+	set(CMAKE_FIND_ROOT_PATH \"${CMAKE_TOOLCHAIN_PATH}/${STAGING_SUBDIR}\")\n\
 	set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\n\
 	set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\n\
 	set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n\
-	set(ENV{PKG_CONFIG_SYSROOT_DIR} \"$(STAGING_DIR)\")\n\
+	set(ENV{PKG_CONFIG_SYSROOT_DIR} \"${CMAKE_TOOLCHAIN_PATH}/${STAGING_SUBDIR}\")\n\
 	" > $@

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] Patch for toolchainfile.cmake absolut path references
  2014-02-01 11:31 [Buildroot] Patch for toolchainfile.cmake absolut path references Uwe Strempel
@ 2014-02-02 11:14 ` Samuel Martin
  2014-02-02 12:13   ` Uwe Strempel
  0 siblings, 1 reply; 3+ messages in thread
From: Samuel Martin @ 2014-02-02 11:14 UTC (permalink / raw)
  To: buildroot

Hi Uwe,

On Sat, Feb 1, 2014 at 12:31 PM, Uwe Strempel <u.strempel@googlemail.com>wrote:

> Hi,
> I've build a patch for BUG #6818
>
> FIrst, thanks for your contribution, but please consider a patch using git,
and send it to the mailing list using 'git send-email' (see
http://www.buildroot.org/downloads/manual/manual.html#_contributing_to_buildroot
),
this is the way Buildroot community works.

Anyway, I looked at the patch.


> On build process of buildroot the toolchainfile.cmake is created, but
> with wrong absolut path.
> When shareing the toolchain or move the folder you get problems this
> path settings.
>
> A workarround for cmake files is
> - get the path of the toolchainfile.cmake and set the the variables.
>
>
I found the part touching the package/Makefile.in a bit confusing.
The idea of what has to be done in the toolchainfile.cmake is good, though
I think you miss some $-escaping...


Regards,

-- 
Samuel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140202/dfb329ae/attachment.html>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] Patch for toolchainfile.cmake absolut path references
  2014-02-02 11:14 ` Samuel Martin
@ 2014-02-02 12:13   ` Uwe Strempel
  0 siblings, 0 replies; 3+ messages in thread
From: Uwe Strempel @ 2014-02-02 12:13 UTC (permalink / raw)
  To: buildroot

Hi,
> The idea of what has to be done in the toolchainfile.cmake is good,
though I think you miss some $-escaping...
Ok I fix the patch :/.
>
http://www.buildroot.org/downloads/manual/manual.html#_contributing_to_buildroot
),
I didn't know how to contribute the right the way.
But for the next patches I will do it the right way.

Thanks!
Regards,
Uwe

2014-02-02 Samuel Martin <s.martin49@gmail.com>:

> Hi Uwe,
>
> On Sat, Feb 1, 2014 at 12:31 PM, Uwe Strempel <u.strempel@googlemail.com>wrote:
>
>> Hi,
>> I've build a patch for BUG #6818
>>
>> FIrst, thanks for your contribution, but please consider a patch using
> git,
> and send it to the mailing list using 'git send-email' (see
>
> http://www.buildroot.org/downloads/manual/manual.html#_contributing_to_buildroot
> ),
> this is the way Buildroot community works.
>
> Anyway, I looked at the patch.
>
>
>> On build process of buildroot the toolchainfile.cmake is created, but
>> with wrong absolut path.
>> When shareing the toolchain or move the folder you get problems this
>> path settings.
>>
>> A workarround for cmake files is
>> - get the path of the toolchainfile.cmake and set the the variables.
>>
>>
> I found the part touching the package/Makefile.in a bit confusing.
> The idea of what has to be done in the toolchainfile.cmake is good, though
> I think you miss some $-escaping...
>
>
> Regards,
>
> --
> Samuel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140202/5f89f533/attachment.html>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-02-02 12:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-01 11:31 [Buildroot] Patch for toolchainfile.cmake absolut path references Uwe Strempel
2014-02-02 11:14 ` Samuel Martin
2014-02-02 12:13   ` Uwe Strempel

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.