mirror of https://github.com/acidanthera/audk.git
0cf260fabc
Ignore the build error of assignment within conditional expression. Add build option to ignore the build error of "assignment within conditional expression". This build error is caused by the macros defined in open source project jansson header file jansson.h. - json_object_foreach - json_object_foreach_safe - json_array_foreach We use build option to avoid the build errors on Visual Studio (GCC doesn't havvve this problem) for now. Already sent an email to jansson open source community to revise these macro as Leif's suggestion as below, for (key = json_object_iter_key(json_object_iter(object)); \ key; \ key = json_object_iter_key( \ json_object_iter_next(object, json_object_key_to_iter(key)))) { \ value = json_object_iter_value(json_object_key_to_iter(key)); \ if (!value) \ break; \ } \ We will remove this build option once the patch is accepted and upstreamed. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Nickle Wang <nickle.wang@hpe.com> |
||
---|---|---|
.. | ||
jansson@e9ebfa7e77 | ||
JsonLib.c | ||
JsonLib.inf | ||
Readme.rst | ||
jansson_config.h | ||
jansson_private_config.h | ||
load.c |
Readme.rst
============================================================================= Introduction ============================================================================= Jansson is a C library for encoding, decoding and manipulating JSON data. Its main features and design principles are: - Simple and intuitive API and data model - Comprehensive documentation - No dependencies on other libraries - Full Unicode support (UTF-8) - Extensive test suite Jansson is licensed under the MIT license(refer to ReadMe.rst under edk2). It is used in production and its API is stable. It works on numerous platforms, including numerous Unix like systems and Windows. It's suitable for use on any system, including desktop, server, and small embedded systems. In UEFI/EDKII environment, Redfish project consumes jansson to achieve JSON operations. * Jansson version on edk2: 2.13.1, API reference is on the below URL, https://jansson.readthedocs.io/en/2.13/apiref.html * EDKII jansson library wrapper: - JsonLib.h: This is the denifitions of EDKII JSON APIs which are mapped to jannson funcitons accordingly. *Known issue: Build fail with jansson/src/load.c, add code in load.c to conditionally use stdin according to HAVE_UNISTD_H macro. The PR is submitted to jansson open source community. https://github.com/akheron/jansson/pull/558