| commit | 14a8c8de981933fdb362597d7cf989249846ee9f | [log] [tgz] |
|---|---|---|
| author | Andrew Jeffery <andrew@aj.id.au> | Wed Mar 07 11:03:13 2018 +1030 |
| committer | Andrew Jeffery <andrew@aj.id.au> | Thu Mar 08 00:40:55 2018 +1030 |
| tree | ecefc4ed53a4e1693a89c771990fedaefc437000 | |
| parent | 4e5f521a62251659ebd432e0a336f2735f8a1dd0 [diff] |
templates: Allow use of -fsanitize=undefined Push down the str member to avoid linker errors about the lack of storage for str when using -fsanitize=undefined. Change-Id: I1a6b1ba9632aa6e4294573a6be3252d5230992b9 Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
phosphor logging provides mechanism for common event and logging creation based on information from the journal log.
To build this package, do the following steps:
1. ./bootstrap.sh
2. ./configure ${CONFIGURE_FLAGS}
3. make
To clean the repository run `./bootstrap.sh clean`.
Reference
Modify Makefile.am to export newly added error YAML to shared location
yamldir = ${datadir}/phosphor-dbus-yaml/yaml
nobase_yaml_DATA = \
org/open_power/Host.errors.yaml
# Generate phosphor-logging/elog-errors.hpp
if GEN_ERRORS
ELOG_MAKO ?= elog-gen-template.mako.hpp
ELOG_DIR ?= ${OECORE_NATIVE_SYSROOT}${datadir}/phosphor-logging/elog
ELOG_GEN_DIR ?= ${ELOG_DIR}/tools/
ELOG_MAKO_DIR ?= ${ELOG_DIR}/tools/phosphor-logging/templates/
YAML_DIR ?= ${OECORE_NATIVE_SYSROOT}${datadir}/phosphor-dbus-yaml/yaml
phosphor-logging/elog-errors.hpp:
@mkdir -p ${YAML_DIR}/org/open_power/
@cp ${top_srcdir}/org/open_power/Host.errors.yaml \
${YAML_DIR}/org/open_power/Host.errors.yaml
@mkdir -p `dirname $@`
@chmod 777 $(ELOG_GEN_DIR)/elog-gen.py
$(AM_V_at)$(PYTHON) $(ELOG_GEN_DIR)/elog-gen.py -y ${YAML_DIR} \
-t ${ELOG_MAKO_DIR} -m ${ELOG_MAKO} -o $@
endif
if GEN_ERRORS
nobase_nodist_include_HEADERS += \
phosphor-logging/elog-errors.hpp
endif
if GEN_ERRORS
BUILT_SOURCES += phosphor-logging/elog-errors.hpp
endif
if !INSTALL_ERROR_YAML endif
Reference
Install error yaml option(argument) is enabled for native recipe build and disabled for bitbake build.
When install error yaml option is disabled do not check for target specific packages in autotools configure script.
AC_ARG_ENABLE([install_error_yaml],
AS_HELP_STRING([--enable-install_error_yaml],
[Enable installing error yaml file]),[], [install_error_yaml=no])
AM_CONDITIONAL([INSTALL_ERROR_YAML],
[test "x$enable_install_error_yaml" = "xyes"])
AS_IF([test "x$enable_install_error_yaml" != "xyes"], [
..
..
])
AC_ARG_ENABLE([gen_errors],
AS_HELP_STRING([--enable-gen_errors], [Enable elog-errors.hpp generation ]),
[],[gen_errors=yes])
AM_CONDITIONAL([GEN_ERRORS], [test "x$enable_gen_errors" != "xno"])
Reference
BBCLASSEXTEND += "native nativesdk"
DEPENDS_remove_class-native = "phosphor-logging"
DEPENDS_remove_class-nativesdk = "phosphor-logging"
## Add package config to enable/disable install_error_yaml feature
PACKAGECONFIG ??= "install_error_yaml"
PACKAGECONFIG[install_error_yaml] = " \
--enable-install_error_yaml, \
--disable-install_error_yaml, ,\
"
PACKAGECONFIG_add_class-native = "install_error_yaml" PACKAGECONFIG_add_class-nativesdk = "install_error_yaml"
PACKAGECONFIG_remove_class-target = "install_error_yaml"
XTRA_OECONF += "--disable-gen_errors"
Reference