Allow per-library fallback LAL data path for XLALFileResolvePathLong()
Description
Detailed description of the changes, why they are being made, etc... Also indicate appropriate tickets and tests that have been run to determine that the changes work as intended and do not introduce other problems.
API Changes and Justification
-
XLALFileResolvePathLong()
replacesfallbackdir
withfallbackpath
- May contain either absolute or relative (to
liblalsupport.so
) paths
- May contain either absolute or relative (to
-
LALSUITE_WITH_FALLBACK_DATA_PATH
(replacesLAL_WITH_DATA_PATH
) definesLAL_FALLBACK_DATA_PATH
to fallback LAL data path- Defaults to
$(pkgdatadir)
, same as forfallbackdir
argument
- Defaults to
- New macro
XLAL_FILE_RESOLVE_PATH()
passesLAL_FALLBACK_DATA_PATH
toXLALFileResolvePathLong()
, so each library gets its own fallback path- Not designed to be used outside of LALSuite; libraries implement their
own functions (e.g.
XLALReadEphemerisFile()
,XLALSimReadDataFileOpen()
) which callXLAL_FILE_RESOLVE_PATH()
internally
- Not designed to be used outside of LALSuite; libraries implement their
own functions (e.g.
- Non-inline
XLALFileResolvePath()
andXLALPulsarFileResolvePath()
wrappers kept to avoid breaking ABI -
.gitlab-ci.yml
: add finding data files test tolalpulsar_longtests
Backwards Compatible Changes
-
This change does not modify any class/function/struct/type definitions in a public C header file or any Python class/function definitions -
This change adds new classes/functions/structs/types to a public C header file or Python module
Backwards Incompatible Changes
-
This change modifies an existing class/function/struct/type definition in a public C header file or Python module -
This change removes an existing class/function/struct/type from a public C header file or Python module
If any of the Backwards Incompatible check boxes are ticked please provide a justification why this change is necessary and why it needs to be done in a backwards incompatible way.
Review Status
n/a p
Merge request reports
Activity
assigned to @karl-wette
requested review from @adam-mercer
@adam-mercer This is designed to be a non-API/ABI breaking change, but let me know if you spot any issues.
This will eventually be used to close out #675 (closed).
- A deleted user
I changed the backwards comaptible changes section, this adds
XLAL_FILE_RESOLVE_PATH
toFileIO.h
. As there's new things being added to the headers this will be a forwards incompatible change, i.e. a minor version bump so no backwards incompatible changes.Edited by Adam Mercer@maria.haney @geraint.pratten @vijay.varma Can you please take a look at the LALSImulation changes, they are minor and result in no functional changes so I can't see this leading to any concerns.
- Resolved by David Keitel
@karl-wette thanks for this, but I don't quite follow why you've replaced the
XLALPulsarFileResolvePath
calls with the genericXLAL_FILE_RESOLVE_PATH
? Even if it's just a trivial wrapper for now, isn't it better for future maintainability to have it called that way within lalpulsar?@adam-mercer something seems to have gone wrong with approvals here. Somehow the lalpulsar and lalinference approvals show as required only when expanding the dropdown, and the button says "additionally", but then further down still the usual "Merge blocked: all required approvals must be given.". Do you know what that "invalid rule" auto-approve is about?
@david-keitel Yes, AFAICT the actual approval process still works properly, it's just the GUI widget which is incorrect.
Thanks all for the approvals, I'll merge now.
mentioned in commit fd9cf7e3