[Buildroot] [PATCH] package/opencv3: fix CMAKE_CXX_FLAGS
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu Sep 29 09:27:36 UTC 2016
Hello,
Adding Samuel in Cc: there is a CMake issue below.
On Wed, 28 Sep 2016 11:40:32 -0700, Max Filippov wrote:
> The commit 4904c4c "package/opencv3: use BR2_TOOLCHAIN_HAS_LIBATOMIC"
> overrides CMAKE_CXX_FLAGS with the single -latomic, losing all ABI
> CFLAGS that are passed there by default. This breaks build on xtensa
> where ABI CFLAGS contain important code generation options.
>
> Append $(TARGET_CXXFLAGS) to CMAKE_CXX_FLAGS along with -latomic.
>
> Fixes:
> http://autobuild.buildroot.net/results/7f1c96abd8fbb5b358a07100ab623316e9bb9dcd
> http://autobuild.buildroot.net/results/e0c93d0f6d1da0d62d4dbba211a275bfe75e9645
> http://autobuild.buildroot.net/results/53e7e4b4b6a7b48b8012799d7507f7594dbf01b2
>
> Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
> ---
> package/opencv3/opencv3.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/opencv3/opencv3.mk b/package/opencv3/opencv3.mk
> index 2529de9..10660a9 100644
> --- a/package/opencv3/opencv3.mk
> +++ b/package/opencv3/opencv3.mk
> @@ -12,7 +12,7 @@ OPENCV3_LICENSE_FILES = LICENSE
>
> # Uses __atomic_fetch_add_4
> ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> -OPENCV3_CONF_OPTS += -DCMAKE_CXX_FLAGS="-latomic"
> +OPENCV3_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic"
There is something fishy going on here. Indeed,
support/misc/toolchainfile.cmake.in contains:
set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@ ${CMAKE_CXX_FLAGS}" CACHE STRING "Buildroot CXXFLAGS")
So it should normally always prefix CMAKE_CXX_FLAGS with
TARGET_CXXFLAGS. Can you check the toolchain.cmake file that gets
generated during your build? Does it contains the Xtensa specific
CXXFLAGS ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list