linuxptp: don't check host headers for target features
PATCH 1/1 linuxptp: don't check host headers for target features
The incdefs.sh script runs ${CROSS_COMPILE}cpp to get a list of default headers directories. Make sure CROSS_COMPILE is set correctly to avoid check of host headers.
Also, drop the CC command line override. Upstream makefile sets CC to $(CROSS_COMPILE)gcc.
Should fix:
http://autobuild.buildroot.net/results/394/394414df25b0b7261b27ca5d4901fde0f639e73c/
http://autobuild.buildroot.net/results/6ad/6adbc8c77c2ca70246b31600ab66b37c56c1e89e/
http://autobuild.buildroot.net/results/70d/70dfd05acc9d951169267f2820ecedb37f0711fe/
--- package/linuxptp/linuxptp.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/linuxptp/linuxptp.mk +2 -2
@@ -11,9 +11,9 @@ LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING define LINUXPTP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ + $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ EXTRA_CFLAGS="$(TARGET_CFLAGS)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ - CC="$(TARGET_CC)" \ -C $(@D) all endef
Signature · 1 line
2.11.0
PATCH 1/1 linuxptp: don't check host headers for target features
Hi Baruch,
first of all thank you for the patch.
The trouble is that linuxptp overrides the build commands to gcc and cpp (with the CROSS_COMPILE prefix). This might be a problem if someone uses a different compiler.
That's why I've put the CC override there.
When porting the package into BR I was facing the same issues as you are seeing now in the autobuild logs. But they have been solved. Not sure what happened since then...
For a clean solution the problem should be addressed in the package itself. The package shouldn't force any particular compiler. I've raised a question in the linuxptp devel list for that.
Regards
Petr
Quoted 34 lines · Baruch Siach
The
incdefs.shscript runs ${CROSS_COMPILE}cpp to get a list of default headers directories. Make sureCROSS_COMPILEis set correctly to avoid check of host headers.Also, drop the CC command line override. Upstream makefile sets CC to $(CROSS_COMPILE)gcc.
Should fix:
http://autobuild.buildroot.net/results/394/394414df25b0b7261b27ca5d4901fde0f639e73c/
http://autobuild.buildroot.net/results/6ad/6adbc8c77c2ca70246b31600ab66b37c56c1e89e/
http://autobuild.buildroot.net/results/70d/70dfd05acc9d951169267f2820ecedb37f0711fe/Cc Petr Kulhavy <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/linuxptp/linuxptp.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)package/linuxptp/linuxptp.mk +2
-2@@ -11,9 +11,9 @@ LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING define LINUXPTP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ + $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ EXTRA_CFLAGS="$(TARGET_CFLAGS)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ - CC="$(TARGET_CC)" \ -C $(@D) all endef
Thomas Petazzoni
AppliedPATCH 1/1 linuxptp: don't check host headers for target features
In reply to Baruch SiachHello,
Quoted 12 lines · Baruch Siach
The
incdefs.shscript runs ${CROSS_COMPILE}cpp to get a list of default headers directories. Make sureCROSS_COMPILEis set correctly to avoid check of host headers.Also, drop the CC command line override. Upstream makefile sets CC to $(CROSS_COMPILE)gcc.
Should fix:
http://autobuild.buildroot.net/results/394/394414df25b0b7261b27ca5d4901fde0f639e73c/
http://autobuild.buildroot.net/results/6ad/6adbc8c77c2ca70246b31600ab66b37c56c1e89e/
http://autobuild.buildroot.net/results/70d/70dfd05acc9d951169267f2820ecedb37f0711fe/
Quoted 5 lines
Cc Petr Kulhavy <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/linuxptp/linuxptp.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 linuxptp: don't check host headers for target features
In reply to Baruch SiachHi Baruch,
I'm concerned about the fact that this package doesn't use the CC environment variable but forces the compiler to be $(COMPILER_PREFIX)gcc and $(COMPILER_PREFIX)cpp.
Reading the BR Makefile the generic toolchain filename consists of:TOOLCHAIN_EXTERNAL_CC = $(TOOLCHAIN_EXTERNAL_CROSS)gcc$(TOOLCHAIN_EXTERNAL_SUFFIX)
In other words the TOOLCHAIN_EXTERNAL_SUFFIX will be lost and the build will fail with toolchains that set it non-empty.
Are there any BR toolchains what use the TOOLCHAIN_EXTERNAL_SUFFIX?
Regards
Petr
Quoted 34 lines · Baruch Siach
The
incdefs.shscript runs ${CROSS_COMPILE}cpp to get a list of default headers directories. Make sureCROSS_COMPILEis set correctly to avoid check of host headers.Also, drop the CC command line override. Upstream makefile sets CC to $(CROSS_COMPILE)gcc.
Should fix:
http://autobuild.buildroot.net/results/394/394414df25b0b7261b27ca5d4901fde0f639e73c/
http://autobuild.buildroot.net/results/6ad/6adbc8c77c2ca70246b31600ab66b37c56c1e89e/
http://autobuild.buildroot.net/results/70d/70dfd05acc9d951169267f2820ecedb37f0711fe/Cc Petr Kulhavy <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/linuxptp/linuxptp.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)package/linuxptp/linuxptp.mk +2
-2@@ -11,9 +11,9 @@ LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING define LINUXPTP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ + $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ EXTRA_CFLAGS="$(TARGET_CFLAGS)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ - CC="$(TARGET_CC)" \ -C $(@D) all endef
PATCH 1/1 linuxptp: don't check host headers for target features
Hi Petr,
Quoted 11 lines · Petr Kulhavy
I'm concerned about the fact that this package doesn't use the CC environment variable but forces the compiler to be $(COMPILER_PREFIX)gcc and $(COMPILER_PREFIX)cpp.
Reading the BR
Makefilethe generic toolchain filename consists of:TOOLCHAIN_EXTERNAL_CC= $(TOOLCHAIN_EXTERNAL_CROSS)gcc$(TOOLCHAIN_EXTERNAL_SUFFIX)In other words the
TOOLCHAIN_EXTERNAL_SUFFIXwill be lost and the build will fail with toolchains that set it non-empty.
Are there any BR toolchains what use theTOOLCHAIN_EXTERNAL_SUFFIX?
As far as I understand this TOOLCHAIN_EXTERNAL_SUFFIX is only applicable to Buildroot toolchains that are used as external toolchains. Only the toolchain wrapper sees TOOLCHAIN_EXTERNAL_CC. Target packages never use it, but the toolchain wrapper at $(TARGET_CROSS)gcc.
Maybe one of the toolchain expert here can confirm that.
baruch
Quoted 34 lines · Baruch Siach
Quoted 32 lines
The
incdefs.shscript runs ${CROSS_COMPILE}cpp to get a list of default headers directories. Make sureCROSS_COMPILEis set correctly to avoid check of host headers.Also, drop the CC command line override. Upstream makefile sets CC to $(CROSS_COMPILE)gcc.
Should fix:
http://autobuild.buildroot.net/results/394/394414df25b0b7261b27ca5d4901fde0f639e73c/
http://autobuild.buildroot.net/results/6ad/6adbc8c77c2ca70246b31600ab66b37c56c1e89e/
http://autobuild.buildroot.net/results/70d/70dfd05acc9d951169267f2820ecedb37f0711fe/Cc Petr Kulhavy <[email protected]>Signed-off-by Baruch Siach <[email protected]>--- package/linuxptp/linuxptp.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)package/linuxptp/linuxptp.mk +2
-2@@ -11,9 +11,9 @@ LINUXPTP_LICENSE = GPL-2.0+ LINUXPTP_LICENSE_FILES = COPYING define LINUXPTP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ + $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \ + $(MAKE) KBUILD_OUTPUT=$(TARGET_DIR) \ EXTRA_CFLAGS="$(TARGET_CFLAGS)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ - CC="$(TARGET_CC)" \ -C $(@D) all endef
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -