Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install RtpsRelay Library #2864

Merged
merged 8 commits into from Jul 29, 2021

Conversation

iguessthislldo
Copy link
Member

@iguessthislldo iguessthislldo commented Jul 23, 2021

  • RtpsRelay library
    • Is now installed
    • Rename to OpenDDS_RtpsRelay so the header names are proper when installed
    • Moved to tools to avoid putting the files in tools/rtpsrelay on the include path
  • Make OpenDDS_Util headers install to the same places as OpenDDS_DCPS
  • Add OpenDDS_RtpsRelay and the other installed headers to the same lint checks as the dds installed headers and deal with the issues arising from that.

@iguessthislldo iguessthislldo changed the title Move RtpsRelayLib to Allow for Install Install RtpsRelay Library Jul 23, 2021
@iguessthislldo iguessthislldo marked this pull request as ready for review July 23, 2021 21:04
@@ -6,7 +6,7 @@ project: acelib, dds_macros, install {
libout = $(DDS_ROOT)/lib
pch_header =
pch_source =
macros += NOTAO
macros += OPENDDS_NO_TAO
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we originally named it that way since the macro doesn't appear in headers. Not that I mind changing it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it's probably not as important that it starts with OpenDDS as one that's defined normally since that would leak into a user's code, but it still a macro we're using in a header, so it'd be safer if it's prefixed. It's possible, though unlikely, that it could be defined somewhere else by the user or another library.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scratch that I missed the whole "not in the headers" part.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I think I will keep it, because it's a bit safer, but I'm not sure I would have changed it if I realized it's only for the Serializer.cpp. I think it being in the mpb file threw me off.

@@ -3,6 +3,5 @@ project: acelib, dds_macros {
libs += OpenDDS_Util
includes += $(DDS_ROOT)
libpaths += $(DDS_ROOT)/lib
macros += NOTAO

macros += OPENDDS_NO_TAO
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this line be removed instead of edited? (see comment on the corresponding .mpc file)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this can go away.

@@ -18,6 +18,10 @@ project: acelib, dds_macros, install {
XTypes/TypeObject.h
}

specific {
install_dir = dds/DCPS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This project doesn't need to install headers since DdsDcps will -- but maybe we don't have a way to do that?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do, I actually had it like that previously. I changed it because I didn't know if there was going to point where we might have headers in Util that won't be in Dcps. If you don't thinks that's likely though I don't have a problem with reverting to what I had before.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'd prefer not to have headers from this project installed since they're a subset of the headers already installed

@@ -1,10 +1,10 @@
#ifdef OPENDDS_HAS_CXX11

#include <gtest/gtest.h>
#include <OpenDDS_RtpsRelayLib/Name.h>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have this style of directory name anywhere else in the repo. Since $(DDS_ROOT)/tools is on the include path, how about making this include dds/rtpsrelaylib/Name.h with the actual file being tools/dds/rtpsrelaylib/Name.h? Then we have the same top-level directory after $prefix/include as the one that's already in use.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have this style of directory name anywhere else in the repo.

No, I based it on the library filenames but I'd like us to eventually transition to something where the include path starts with some form of OpenDDS. This is related to #2160.

Since $(DDS_ROOT)/tools is on the include path, how about making this include dds/rtpsrelaylib/Name.h with the actual file being tools/dds/rtpsrelaylib/Name.h?

Maybe... but I don't know about using dds because of the reason above and I'm not sure it should be the same name as the main directory that it's not part of. It sounds a bit confusing.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's an example from ACE https://github.com/DOCGroup/ACE_TAO/tree/master/ACE/protocols/ace
We can certainly eventually transition to something else, but I'd rather not do that for different libraries at different times

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fact that ACE does it doesn't make me feel any better about it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I was assuming that was the case when I wrote the last comment.
However I do think we need to be consistent across different libraries in the same version. A hypothetical change to a new scheme should come later and apply to all libraries.

@mitza-oci mitza-oci merged commit 7806cde into OpenDDS:master Jul 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants