From: Romain Naour <romain.naour@openwide.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] cmocka: new package
Date: Mon, 27 Jul 2015 19:36:55 +0200 [thread overview]
Message-ID: <55B66C37.9080103@openwide.fr> (raw)
In-Reply-To: <1437886772-6787-1-git-send-email-nimaim@gmail.com>
Hi Nimai,
Le 26/07/2015 06:59, Nimai Mahajan a ?crit :
> From: Nimai Mahajan <nimaim@gmail.com>
>
> Signed-off-by: Nimai Mahajan <nimaim@gmail.com>
> ---
> Changes v1->v2: Removed host-cmake dependency (Baruch)
>
> package/Config.in | 1 +
> package/cmocka/Config.in | 11 +++++++++++
> package/cmocka/cmocka.hash | 2 ++
> package/cmocka/cmocka.mk | 17 +++++++++++++++++
> 4 files changed, 31 insertions(+)
> create mode 100644 package/cmocka/Config.in
> create mode 100644 package/cmocka/cmocka.hash
> create mode 100644 package/cmocka/cmocka.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index f029e1d..e0dd14e 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1037,6 +1037,7 @@ menu "Other"
> source "package/boost/Config.in"
> source "package/clapack/Config.in"
> source "package/classpath/Config.in"
> + source "package/cmocka/Config.in"
> source "package/cppcms/Config.in"
> source "package/ding-libs/Config.in"
> source "package/eigen/Config.in"
> diff --git a/package/cmocka/Config.in b/package/cmocka/Config.in
> new file mode 100644
> index 0000000..37064bf
> --- /dev/null
> +++ b/package/cmocka/Config.in
> @@ -0,0 +1,11 @@
> +config BR2_PACKAGE_CMOCKA
> + bool "cmocka"
cmocka only build a shared library libcmocka.so, so this package must not be
selected on static only build (it's hard coded in src/CMakeLists.txt):
depends on !BR2_STATIC_LIBS
> + help
> + cmocka is an elegant unit testing framework for C with support
> + for mock objects. It only requires the standard C library,
> + works on a range of computing platforms (including embedded)
> + and with different compilers. It is a fork of Google's very
> + popular cmockery unit testing framework to fix bugs and support
> + it in the future.
> +
> + https://cmocka.org/
And add a comment here:
comment "cmocka needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
Also I tried to build with a uClibc-ng toolchain without stack protection
support (libssp) and cmocka fail to build. I haven't tested with a musl toolchain.
CMake Error at
/home/naourr/git/buildroot/test/uclibc-ng/host/usr/share/cmake-3.1/Modules/TestBigEndian.cmake:51
(message):
no suitable type found
Call Stack (most recent call first):
ConfigureChecks.cmake:142 (test_big_endian)
CMakeLists.txt:43 (include)
-- Configuring incomplete, errors occurred!
See also
"/home/naourr/git/buildroot/test/uclibc-ng/build/cmocka-1.0.1/buildroot-build/CMakeFiles/CMakeOutput.log".
See also
"/home/naourr/git/buildroot/test/uclibc-ng/build/cmocka-1.0.1/buildroot-build/CMakeFiles/CMakeError.log".
Here the content of CMakeError.log (see -fstack-protector):
/home/naourr/git/buildroot/test/uclibc-ng/host/usr/bin/i686-buildroot-linux-uclibc-gcc
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os
-std=gnu99 -pedantic -pedantic-errors -Wall -Wextra -Wshadow
-Wmissing-prototypes -Wdeclaration-after-statement -Wunused -Wfloat-equal
-Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute
-Wundef -fPIC -fstack-protector -D_GNU_SOURCE
CMakeFiles/cmTryCompileExec2344790343.dir/CMAKE_SIZEOF_UNSIGNED_LONG.c.o -o
cmTryCompileExec2344790343 -rdynamic -lrt
/home/naourr/git/buildroot/test/uclibc-ng/host/usr/lib/gcc/i686-buildroot-linux-uclibc/4.9.3/../../../../i686-buildroot-linux-uclibc/bin/ld:
ne peut trouver -lssp_nonshared
/home/naourr/git/buildroot/test/uclibc-ng/host/usr/lib/gcc/i686-buildroot-linux-uclibc/4.9.3/../../../../i686-buildroot-linux-uclibc/bin/ld:
ne peut trouver -lssp
collect2: erreur: ld a retourn? 1 code d'?tat d'ex?cution
-fstack-protector is added by cmake/Modules/DefineCompilerFlags.cmake:
check_c_compiler_flag_ssp("-fstack-protector" WITH_STACK_PROTECTOR)
if (WITH_STACK_PROTECTOR)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
endif (WITH_STACK_PROTECTOR)
For some reason, -fstack-protector is still added even when the ssp support is
disabled in the toolchain. It build fine when -fstack-protector is removed.
Thoughts ?
Best regards,
Romain Naour
> diff --git a/package/cmocka/cmocka.hash b/package/cmocka/cmocka.hash
> new file mode 100644
> index 0000000..96b81cb
> --- /dev/null
> +++ b/package/cmocka/cmocka.hash
> @@ -0,0 +1,2 @@
> +# Locally computed:
> +sha256 b36050d7a1224296803d216cba1a9d4c58c31bf308b2d6d6649d61aa5a36753b cmocka-1.0.1.tar.xz
> diff --git a/package/cmocka/cmocka.mk b/package/cmocka/cmocka.mk
> new file mode 100644
> index 0000000..812df76
> --- /dev/null
> +++ b/package/cmocka/cmocka.mk
> @@ -0,0 +1,17 @@
> +################################################################################
> +#
> +# cmocka
> +#
> +################################################################################
> +
> +CMOCKA_VERSION = 1.0.1
> +CMOCKA_SOURCE = cmocka-$(CMOCKA_VERSION).tar.xz
> +CMOCKA_SITE = https://cmocka.org/files/1.0/
> +CMOCKA_LICENSE = Apache-2.0
> +CMOCKA_LICENSE_FILES = COPYING
> +CMOCKA_INSTALL_STAGING = YES
> +
> +# cmocka only supports out of source builds
> +CMOCKA_SUPPORTS_IN_SOURCE_BUILD = NO
> +
> +$(eval $(cmake-package))
>
next prev parent reply other threads:[~2015-07-27 17:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-26 4:59 [Buildroot] [PATCH v2] cmocka: new package Nimai Mahajan
2015-07-27 17:36 ` Romain Naour [this message]
2015-07-28 1:48 ` Nimai Mahajan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55B66C37.9080103@openwide.fr \
--to=romain.naour@openwide.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox