Go to file
Thomas Petazzoni 90430237cc libfastjson: indicate explicitly which gcc -std option to use
This commit fixes the following build issue of libfastjson with old
enough compilers (4.8) and wchar disabled:

json_object.c: In function 'fjson_object_object_delete':
json_object.c:385:3: error: 'for' loop initial declarations are only allowed in C99 mode
   for (int i = 0 ; i < FJSON_OBJECT_CHLD_PG_SIZE ; ++i) {
   ^

The code of libfastjson requires C99. If your compiler is recent
enough (gcc 5.x), then no problem, it is C99 by default, no additional
flags are needed.

If your compiler is older (for example gcc 4.8), then -std=c99 or
-std=gnu99 is explicitly needed to tell the compiler to accept C99
constructs. Testing the compiler for the availability of such flags is
done by libfastjson configure script. However, the test program used
by the configure script uses some wchar_t types, and therefore the
test checking for C99 availability fails on toolchains with wchar
disabled. From config.log:

configure:3928: checking for /home/test/buildroot/output/host/usr/bin/i586-buildroot-linux-uclibc-gcc option to accept ISO C99
[...]
configure:4077: /home/test/buildroot/output/host/usr/bin/i586-buildroot-linux-uclibc-gcc -std=gnu99 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5
conftest.c:54:3: error: unknown type name 'wchar_t'
   const wchar_t *name;
   ^

So, just like we did in libv4l in commit
f01396a158 ("libv4l: fix uclibc-ng
configure/compile"), let's hint directly the configure script that it
should use -std=gnu99. This fixes the build of libfastjson with old
compilers and wchar disabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-18 09:02:43 +01:00
arch arc/bfin: remove 60x cores 2017-10-02 21:45:04 +02:00
board board/pc: add documentation for testing with qemu 2017-10-22 16:29:07 +02:00
boot uboot: use local libfdt.h 2017-11-06 21:25:31 +01:00
configs orange-pi-one: bump kernel and uboot versions 2017-11-06 11:43:10 +01:00
docs Revert "pkg-download: remove explicit PKG_VERSION from github helper" 2017-11-14 13:55:39 +01:00
fs fs: add missing $$(sep) to pre- and post-command hooks code 2017-11-05 17:52:27 +01:00
linux linux: bump default to version 4.13.13 2017-11-15 22:35:50 +01:00
package libfastjson: indicate explicitly which gcc -std option to use 2017-11-18 09:02:43 +01:00
support support/config-fragments: update ARC pre-built toolchain 2017-11-17 23:40:57 +01:00
system
toolchain toolchain/wrapper: fake __DATE_ and __TIME__ for older gcc 2017-10-22 16:10:37 +02:00
utils perl: bump to version 5.26.1 2017-09-28 22:04:48 +02:00
.defconfig
.flake8 .flake8: add config file for Python code style 2017-10-06 19:05:18 +02:00
.gitignore
.gitlab-ci.yml .gitlab-ci.yml: use gitlab 9.0 varaible names 2017-11-05 15:53:46 +01:00
.gitlab-ci.yml.in .gitlab-ci.yml: use gitlab 9.0 varaible names 2017-11-05 15:53:46 +01:00
CHANGES Update for 2017.11-rc2 2017-11-13 22:28:15 +01:00
Config.in toolchain/wrapper: fake __DATE_ and __TIME__ for older gcc 2017-10-22 16:10:37 +02:00
Config.in.legacy rfkill: remove package 2017-11-03 17:21:14 +01:00
COPYING
DEVELOPERS DEVELOPERS: update email address 2017-11-16 17:10:03 +01:00
Makefile Update for 2017.11-rc2 2017-11-13 22:28:15 +01:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches