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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.