Message ID | 884EA965490E3C4D8E66AEF41E9802500939A1@ezex10.ezchip.com |
---|---|
State | Superseded |
Headers | show |
Noam, All, On 2014-03-04 04:51 +0000, Noam Camus spake thusly: > This option allows to customize the "vendor" part of the > toolchain tuple, where the toolchain tuple has the form > <cpu>-<vendor>-<kernel>-<os>. Use this option in situations > where gcc might make different decisions based on the vendor > part of the tuple. > > Signed-off-by: Noam Camus <noamc@ezchip.com> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> I don't think Thomas provided a SoB line so far. You can't add such a line for someone else, unless they explicitly stated so. A SoB-line is binding: http://elinux.org/Developer_Certificate_Of_Origin > diff --git a/package/Makefile.in b/package/Makefile.in > index 454f614..121fe74 100644 > --- a/package/Makefile.in > +++ b/package/Makefile.in > @@ -20,8 +20,18 @@ endif > MAKE1:=$(HOSTMAKE) -j1 > MAKE:=$(HOSTMAKE) $(if $(PARALLEL_JOBS),-j$(PARALLEL_JOBS)) > > +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_VENDOR),) > +VENDOR:=buildroot > +else > +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_VENDOR),unknown) > +$(error The value 'unknown' is not allowed. It might be confused with native toolchain) ... with the native ... [--SNIP--] > diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in > index 07db50b..34f78ae 100644 > --- a/toolchain/toolchain-buildroot/Config.in > +++ b/toolchain/toolchain-buildroot/Config.in > @@ -70,6 +70,23 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC > default "glibc" if BR2_TOOLCHAIN_BUILDROOT_EGLIBC > default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC Your patch is space-mangled: the leading tabs have been replaced with spaces. Can you try to use 'git send-email' to send the mails? This is known to work correctly most of the case, whereas some user-friendly mailers (lie the ones from MS) have issues properly sending patches. > +config BR2_TOOLCHAIN_BUILDROOT_VENDOR > + string "custom toolchain vendor name" > + default "buildroot" > + help > + Superfluous empty line. > + This option allows to customize the "vendor" part of the > + toolchain tuple, where the toolchain tuple has the form > + <cpu>-<vendor>-<kernel>-<os>. The default value, "buildroot", > + is fine for most cases, except in very specific situations > + where gcc might make different decisions based on the vendor > + part of the tuple. The value "unknown" is not allowed, as the > + cross-compiling toolchain might then be confused with the > + native toolchain when the target and host architecture are > + identical. > + > + If you're not sure, just leave the default "buildroot" value. Add something like: Leaving this empty will also use the default "buildroot" value. Otherwise, looks good. Regards, Yann E. MORIN.
On 04/03/14 05:51, Noam Camus wrote: > This option allows to customize the "vendor" part of the > toolchain tuple, where the toolchain tuple has the form > <cpu>-<vendor>-<kernel>-<os>. Use this option in situations > where gcc might make different decisions based on the vendor > part of the tuple. > > Signed-off-by: Noam Camus <noamc@ezchip.com> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > package/Makefile.in | 12 +++++++++++- > toolchain/toolchain-buildroot/Config.in | 17 +++++++++++++++++ > 2 files changed, 28 insertions(+), 1 deletions(-) > > diff --git a/package/Makefile.in b/package/Makefile.in > index 454f614..121fe74 100644 > --- a/package/Makefile.in > +++ b/package/Makefile.in > @@ -20,8 +20,18 @@ endif > MAKE1:=$(HOSTMAKE) -j1 > MAKE:=$(HOSTMAKE) $(if $(PARALLEL_JOBS),-j$(PARALLEL_JOBS)) > > +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_VENDOR),) > +VENDOR:=buildroot > +else > +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_VENDOR),unknown) > +$(error The value 'unknown' is not allowed. It might be confused with native toolchain) > +else > +VENDOR:=$(call qstrip,$(BR2_TOOLCHAIN_BUILDROOT_VENDOR)) > +endif > +endif I don't think it's a good idea to treat the case that vendor is empty specially. Anyway, it will never be empty or unknown, because it always includes quotes - it should be qstripped first. Therefore, this is better (also note the fixed spacing and := ): VENDOR = $(call qstrip,$(BR2_TOOLCHAIN_BUILDROOT_VENDOR)) ifeq ($(VENDOR),) $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR is not allowed to be empty) endif ifeq ($(VENDOR),unknown) $(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \ It might be confused with the native toolchain) endif I would also prefer to name the internal variable TARGET_VENDOR, similar to TARGET_OS. > + > # Compute GNU_TARGET_NAME > -GNU_TARGET_NAME=$(ARCH)-buildroot-$(TARGET_OS)-$(LIBC)$(ABI) > +GNU_TARGET_NAME=$(ARCH)-$(VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI) > > # Blackfin FLAT needs uclinux > ifeq ($(BR2_bfin)$(BR2_BINFMT_FLAT),yy) > diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in > index 07db50b..34f78ae 100644 > --- a/toolchain/toolchain-buildroot/Config.in > +++ b/toolchain/toolchain-buildroot/Config.in > @@ -70,6 +70,23 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC > default "glibc" if BR2_TOOLCHAIN_BUILDROOT_EGLIBC > default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC > > +config BR2_TOOLCHAIN_BUILDROOT_VENDOR > + string "custom toolchain vendor name" > + default "buildroot" > + help > + > + This option allows to customize the "vendor" part of the > + toolchain tuple, where the toolchain tuple has the form > + <cpu>-<vendor>-<kernel>-<os>. The default value, "buildroot", It's more like <arch>-<vendor>-<os>-<libc> > + is fine for most cases, except in very specific situations > + where gcc might make different decisions based on the vendor > + part of the tuple. The value "unknown" is not allowed, as the > + cross-compiling toolchain might then be confused with the > + native toolchain when the target and host architecture are > + identical. > + > + If you're not sure, just leave the default "buildroot" value. With my comment above, Yann's comment about rewriting this is no longer correct of course. Regards, Arnout > + > source "package/uclibc/Config.in" > source "package/glibc/Config.in" > source "package/binutils/Config.in.host" > -- > 1.7.1 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot >
diff --git a/package/Makefile.in b/package/Makefile.in index 454f614..121fe74 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -20,8 +20,18 @@ endif MAKE1:=$(HOSTMAKE) -j1 MAKE:=$(HOSTMAKE) $(if $(PARALLEL_JOBS),-j$(PARALLEL_JOBS)) +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_VENDOR),) +VENDOR:=buildroot +else +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_VENDOR),unknown) +$(error The value 'unknown' is not allowed. It might be confused with native toolchain) +else +VENDOR:=$(call qstrip,$(BR2_TOOLCHAIN_BUILDROOT_VENDOR)) +endif +endif + # Compute GNU_TARGET_NAME -GNU_TARGET_NAME=$(ARCH)-buildroot-$(TARGET_OS)-$(LIBC)$(ABI) +GNU_TARGET_NAME=$(ARCH)-$(VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI) # Blackfin FLAT needs uclinux ifeq ($(BR2_bfin)$(BR2_BINFMT_FLAT),yy) diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 07db50b..34f78ae 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -70,6 +70,23 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC default "glibc" if BR2_TOOLCHAIN_BUILDROOT_EGLIBC default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC +config BR2_TOOLCHAIN_BUILDROOT_VENDOR + string "custom toolchain vendor name" + default "buildroot" + help + + This option allows to customize the "vendor" part of the + toolchain tuple, where the toolchain tuple has the form + <cpu>-<vendor>-<kernel>-<os>. The default value, "buildroot", + is fine for most cases, except in very specific situations + where gcc might make different decisions based on the vendor + part of the tuple. The value "unknown" is not allowed, as the + cross-compiling toolchain might then be confused with the + native toolchain when the target and host architecture are + identical. + + If you're not sure, just leave the default "buildroot" value. + source "package/uclibc/Config.in" source "package/glibc/Config.in" source "package/binutils/Config.in.host"