-
Notifications
You must be signed in to change notification settings - Fork 78
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
Add Linux support for external tirpc library #216
base: master
Are you sure you want to change the base?
Conversation
Add support on Linux for using a tirpc library that is not a system library.
❌ Build asyn 1.0.290 failed (commit 8cacd75dde by @jlmuir) |
# To enable linking against this library, set TIRPC=YES | ||
TIRPC=NO | ||
# If TIRPC_EXTERNAL=NO, libtirpc is a system library; otherwise, it is not | ||
TIRPC_EXTERNAL=NO | ||
# Path to the include files for libtirpc | ||
TIRPC_INCLUDE=/usr/include/tirpc | ||
# If TIRPC_EXTERNAL=YES, path to the library files for libtirpc | ||
TIRPC_LIB= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in most cases in AD for example, ***_EXTERNAL
specifies whether to use a version of the library built as a part of the EPICS build system or not, rather than a system version vs. source install. Maybe we could automatically use the system version if TIRPC_INCLUDE
and TIRPC_LIB
are not set, and we can comment them out by default? Then we wouldn't need the TIRPC_EXTERNAL
.
Something like: https://github.com/areaDetector/ADCore/blob/0ebde8129e652876b7fd71b459275725f70b2da6/ADApp/commonDriverMakefile#L230
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was basically trying to be consistent with areaDetector's configure/EXAMPLE_CONFIG_SITE.local, which contains the following comment:
# Configure which 3rd party libraries to use and where to find them.
# For each library XXX the following definitions are used:
# WITH_XXX Build the plugins and drivers that require this library.
# Build the source code for this library in ADSupport if XXX_EXTERNAL=NO.
# XXX_EXTERNAL If NO then build the source code for this library in ADSupport.
# XXX_INCLUDE If XXX_EXTERNAL=YES then this is the path to the include files for XXX.
# However, if XXX is a system library whose include files are in a
# standard include search path then do not define XXX_INCLUDE.
# XXX_LIB If XXX_EXTERNAL=YES then this is the path to the library files for XXX.
# However, if XXX is a system library whose library files in a
# standard library search path then do not define XXX_LIB.
But I'd be happy with the approach you proposed too. Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also see an approach like what you're describing in measComp/measCompApp/src/Makefile. So, do you want to make the change, or do you want me to change this PR?
Add support on Linux for using a tirpc library that is not a system library.