PEL: Find an entry in the message registry JSON

The message registry is a JSON file that holds data required to create a
PEL out of an OpenBMC event log. It includes fields like 'subsystem',
'event type', 'action flags', 'SRC reason code', etc.

Many fields in the message registry are optional, and a very minimal
entry make look like:

{
    "Name": "xyz.openbmc_project.Power.Error.Fault",
    "Subsystem": "power_supply",
    "ActionFlags": ["service_action", "report"],

    "SRC":
    {
        "ReasonCode": "0x2030"
    }
}

This commit adds support to look up a message registry entry based on an
OpenBMC event log's 'Message' property (i.e.
xyz.openbmc_project.Power.Error.Fault) and then fill in a structure with
the fields found.  Future commits will fill in the SRC related fields,
as well as actually create the PEL.

The message registry file can be found on the BMC at:
/usr/share/phosphor-logging/pels/message_registry.json.

For testing, users can put their own message_registry.json in
/etc/phosphor-logging, and that will take precedence.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ie4195ed7e58ab6a231271f6b295e63b1d0a4cd78
diff --git a/configure.ac b/configure.ac
index ead0a07..e5f2d81 100644
--- a/configure.ac
+++ b/configure.ac
@@ -159,6 +159,13 @@
 
 AM_CONDITIONAL([ENABLE_PEL_EXTENSION], [test "x$enable_openpower_pel_extension" == "xyes"])
 
+AS_IF([test "x$enable_openpower_pel_extension" == "xyes"],
+       [AC_CHECK_HEADER(
+            nlohmann/json.hpp,
+            [],
+            [AC_MSG_ERROR([Could not find nlohmann/json.hpp])]])
+)
+
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([Makefile test/Makefile phosphor-rsyslog-config/Makefile])
 AC_CONFIG_FILES([phosphor-logging.pc])