Add repo specific errors

1. Add Internal.errors.yaml to define repo specific errors
2. Update configure.ac and Makefile.am to generate code from error yamls
3. Add elog-gen.hpp generated by elog-gen.py

Change-Id: I6858f2c9f3c2100ce106d1effe7ad3f340117fec
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/elog-errors.hpp b/elog-errors.hpp
new file mode 100644
index 0000000..aa8d581
--- /dev/null
+++ b/elog-errors.hpp
@@ -0,0 +1,116 @@
+// This file was autogenerated.  Do not edit!
+// See elog-gen.py for more details
+#pragma once
+
+#include <string>
+#include <tuple>
+#include <type_traits>
+#include <sdbusplus/exception.hpp>
+#include <phosphor-logging/log.hpp>
+#include <phosphor-logging/elog.hpp>
+
+namespace sdbusplus
+{
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Time
+{
+namespace Internal
+{
+namespace Error
+{
+    struct MethodError;
+} // namespace Error
+} // namespace Internal
+} // namespace Time
+} // namespace openbmc_project
+} // namespace xyz
+} // namespace sdbusplus
+
+
+namespace phosphor
+{
+
+namespace logging
+{
+
+namespace xyz
+{
+namespace openbmc_project
+{
+namespace Time
+{
+namespace Internal
+{
+namespace _MethodError
+{
+
+struct METHOD_NAME
+{
+    static constexpr auto str = "METHOD_NAME=%s";
+    static constexpr auto str_short = "METHOD_NAME";
+    using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+    explicit constexpr METHOD_NAME(const char* a) : _entry(entry(str, a)) {};
+    type _entry;
+};
+struct PATH
+{
+    static constexpr auto str = "PATH=%s";
+    static constexpr auto str_short = "PATH";
+    using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+    explicit constexpr PATH(const char* a) : _entry(entry(str, a)) {};
+    type _entry;
+};
+struct INTERFACE
+{
+    static constexpr auto str = "INTERFACE=%s";
+    static constexpr auto str_short = "INTERFACE";
+    using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+    explicit constexpr INTERFACE(const char* a) : _entry(entry(str, a)) {};
+    type _entry;
+};
+struct MISC
+{
+    static constexpr auto str = "MISC=%s";
+    static constexpr auto str_short = "MISC";
+    using type = std::tuple<std::decay_t<decltype(str)>,const char*>;
+    explicit constexpr MISC(const char* a) : _entry(entry(str, a)) {};
+    type _entry;
+};
+
+}  // namespace _MethodError
+
+struct MethodError
+{
+    static constexpr auto L = level::ERR;
+    using METHOD_NAME = _MethodError::METHOD_NAME;
+    using PATH = _MethodError::PATH;
+    using INTERFACE = _MethodError::INTERFACE;
+    using MISC = _MethodError::MISC;
+    using metadata_types = std::tuple<METHOD_NAME, PATH, INTERFACE, MISC>;
+
+};
+
+} // namespace Internal
+} // namespace Time
+} // namespace openbmc_project
+} // namespace xyz
+
+
+namespace details
+{
+
+template <>
+struct map_exception_type<sdbusplus::xyz::openbmc_project::Time::Internal::Error::MethodError>
+{
+    using type = xyz::openbmc_project::Time::Internal::MethodError;
+};
+
+}
+
+
+} // namespace logging
+
+} // namespace phosphor