[Buildroot] [PATCH] package/opencv3: fix CMAKE_CXX_FLAGS
Max Filippov
jcmvbkbc at gmail.com
Thu Sep 29 16:14:41 UTC 2016
Hi Thomas,
On Thu, Sep 29, 2016 at 2:27 AM, Thomas Petazzoni
<thomas.petazzoni at free-electrons.com> wrote:
> 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 ?
Yes, it does.
opencv2 which has similar cmake build system but doesn't pass
-DCMAKE_CXX_FLAGS builds correctly.
--
Thanks.
-- Max
More information about the buildroot
mailing list