[
https://issues.apache.org/jira/browse/MESOS-2211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14285332#comment-14285332
]
Bernd Mathiske commented on MESOS-2211:
---------------------------------------
Expanding on what Ben wrote above.
In case you don't go with the pragma solution, note that there is no reason to
include the ENTIRE path in the #define statements. Usually, prefixing with just
MESOS, LIBPROCESS, or STOUT suffices. This alone already solves the problem of
conflicts with external files.
What remains are internal conflicts due to identical file names inside Mesos,
libprocess, or stout. Solutions:
a) Ban using the exact same file name inside our code base.
b) Optionally prefix the dir closest to the leaf. This should normally suffice.
It not, add more going up the path incrementally as needed.
> Include guard naming fixup
> --------------------------
>
> Key: MESOS-2211
> URL: https://issues.apache.org/jira/browse/MESOS-2211
> Project: Mesos
> Issue Type: Bug
> Reporter: Till Toenshoff
> Assignee: Kapil Arya
> Priority: Trivial
> Labels: newbie
>
> Triggered by a comment in a review request, I noticed that we currently have
> no consistent style for naming include guards.
> Examples:
> include/mesos/resources.hpp: {{#define __RESOURCES_HPP__}}
> include/mesos/executor.hpp: {{#define __MESOS_EXECUTOR_HPP__}}
> include/mesos/mesos.hpp: {{#define __MESOS_HPP__}}
> I think the **right** way would be stating the path and include file name
> within the guard, so the above at fault become:
> include/mesos/resources.hpp: {{#define __MESOS_RESOURCES_HPP__}}
> include/mesos/mesos.hpp: {{#define __MESOS_MESOS_HPP__}}
> Everything from include/XXX should have a __XXX_ prefix in its guard name,
> anything from src/XXX should have a __XXX_ prefix. This should also apply to
> multiple folder levels; e.g. include/XXX/YYY/FOO should have a __XXX_YYY_FOO
> prefix.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)