Skip to contentSkip to conversation

toolchain: Use the correct target name

PATCH New André Hentschel 2 participants 4 messages Jan 15, 2015 – Jan 18, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 toolchain: Use the correct target name

When using an external toolchain we need to use the toolchain prefix for the staging directory and e.g. for configure.

---
This fixes cross compiling Wine (not yet upstream because of that).

 package/Makefile.in | 4 ++++
 1 file changed, 4 insertions(+)
package/Makefile.in +4 -0
index 2055f00..0a00c7e 100644
@@ -36,7 +36,11 @@ $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \
 endif
 
 # Compute GNU_TARGET_NAME
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
 GNU_TARGET_NAME = $(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
+else
+GNU_TARGET_NAME = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
+endif
 
 # FLAT binary format needs uclinux
 ifeq ($(BR2_BINFMT_FLAT),y)
#1 lore raw

PATCH 1/1 toolchain: Use the correct target name

Dear Andr? Hentschel,

Quoted 15 lines · Andr? Hentschel

When using an external toolchain we need to use the toolchain prefix for the staging directory and e.g. for configure.

---
This fixes cross compiling Wine (not yet upstream because of that).

 package/Makefile.in | 4 ++++
 1 file changed, 4 insertions(+)
package/Makefile.in +0 -0
index 2055f00..0a00c7e 100644

package/Makefile.in $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \ · line 43

Quoted 8 lines
package/Makefile.in +4 -0
@@ -36,7 +36,11 @@ $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \
 endif
 
 # Compute GNU_TARGET_NAME
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
 GNU_TARGET_NAME = $(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
+else
+GNU_TARGET_NAME = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
+endif

I am not sure we want to do this actually. There is nothing that forces the toolchain to have the same prefix as the host tuple. Except Wine and its original build system.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 toolchain: Use the correct target name

Am 16.01.2015 um 09:29 schrieb Thomas Petazzoni:

Quoted 20 lines

Dear Andr? Hentschel,

Quoted 17 lines · Andr? Hentschel

When using an external toolchain we need to use the toolchain prefix for the staging directory and e.g. for configure.

---
This fixes cross compiling Wine (not yet upstream because of that).

 package/Makefile.in | 4 ++++
 1 file changed, 4 insertions(+)
package/Makefile.in +0 -0
index 2055f00..0a00c7e 100644
@@ -36,7 +36,11 @@ $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \
 endif
 
Quoted 10 lines

package/Makefile.in $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \ · line 43

Quoted 6 lines
package/Makefile.in +4 -0
 # Compute GNU_TARGET_NAME
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
 GNU_TARGET_NAME = $(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
+else
+GNU_TARGET_NAME = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
+endif

I am not sure we want to do this actually. There is nothing that forces the toolchain to have the same prefix as the host tuple. Except Wine and its original build system.

Hi Thomas,

This was based on the irc discussion (14.01.2015):
(20:49:23) kos_tom: Andre_H: well, I'm not happy with the BR2_TOOLCHAIN_BUILDROOT dependency
(20:49:40) kos_tom: Andre_H: we normally don't accept packages that would not build with external toolchains.
(20:55:05) Andre_H: kos_tom: we either need symbolic links for the external toolchain, so that the name fits the tupel, or we need to pass the external tupel. i guess the first strategy is more foolproof. what do you think about it? (20:56:13) kos_tom: nope, we want the second strategy: a way to pass the prefix of the toolchain.

I guess you missed my suggestion (16.01.2015):
(19:55:51) Andre_H: kos_tom: hi, what about redoing my wine makefile and doing it as a generic package with special configure rules? (22:19:17) kos_tom: Andre_H: which special configure rules would solve the problem?
(22:19:50) kos_tom: iamb: you can do whatever sort of target filesystem changes in a post-build script. (23:07:31) Andre_H: kos_tom: e.g. passing BR2_TOOLCHAIN_EXTERNAL_PREFIX instead of GNU_TARGET_NAME if possible

#3 lore raw

PATCH 1/1 toolchain: Use the correct target name

Dear Andr? Hentschel,

Quoted 11 lines · Andr? Hentschel

This was based on the irc discussion (14.01.2015):
(20:49:23) kos_tom: Andre_H: well, I'm not happy with the BR2_TOOLCHAIN_BUILDROOT dependency
(20:49:40) kos_tom: Andre_H: we normally don't accept packages that would not build with external toolchains.
(20:55:05) Andre_H: kos_tom: we either need symbolic links for the external toolchain, so that the name fits the tupel, or we need to pass the external tupel. i guess the first strategy is more foolproof. what do you think about it? (20:56:13) kos_tom: nope, we want the second strategy: a way to pass the prefix of the toolchain.

I guess you missed my suggestion (16.01.2015):
(19:55:51) Andre_H: kos_tom: hi, what about redoing my wine makefile and doing it as a generic package with special configure rules? (22:19:17) kos_tom: Andre_H: which special configure rules would solve the problem?
(22:19:50) kos_tom: iamb: you can do whatever sort of target filesystem changes in a post-build script. (23:07:31) Andre_H: kos_tom: e.g. passing BR2_TOOLCHAIN_EXTERNAL_PREFIX instead of GNU_TARGET_NAME if possible

I indeed missed your suggestion, sorry about that. And your patch is doing it globally for all packages.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com