Move lalapps/src/pulsar/ codes to LALPulsar
@adam-mercer @duncanmmacleod @david-keitel I'm currently working towards moving all codes under lalapps/src/pulsar/
to LALPulsar, so that all CW codes in LALSuite are in the one package. This should make it easier to make more regular releases of CW codes and encourage people to rely more on the packaged versions. It will also ease development to have all CW codes in the one package. It may also help with efforts to remove unused code from LALSuite (#539 (comment 557399))
While this effort is underway, I'd prefer to avoid any major changes to the LALSuite build system (e.g. #529 (closed), #539) so that I don't end up with major merge conflicts. Happy to discuss further if that's a problem for anyone.
One major change that needs to happen is reversing the dependency between LALInference and LALPulsar. Currently the dependency graph is:
-
lalapps/src/pulsar/HeterodyneSearch/
depends on LALInference - LALInference depends on LALPulsar
- LALPulsar depends on LAL, (optional) LALFrame
So at present I can't move lalapps/src/pulsar/HeterodyneSearch/
to LALPulsar without a circular dependency. !1845 (merged) will remove LALPulsar code from LALInference, so that LALInference need no longer depend on LALPulsar. I then need to make LALPulsar (optionally) depend on LALInference for lalapps/src/pulsar/HeterodyneSearch/
- so essentially reversing the current dependency. The final dependency graph should be:
- LALApps no longer depends on LALPulsar
- LALInference no longer depends on LALPulsar
- LALPulsar depends on LAL, (optional) LALFrame, (optional) LALInference
@adam-mercer @duncanmmacleod I imagine reversing the dependency between LALInference and LALPulsar will be tricky to do in the build system. Do you foresee any major obstacles here?
Aside from that, I'm hoping actually moving the lalapps/src/pulsar/
codes will be straightforward. All executables will be renamed with a lalpulsar_
prefix instead of lalapps_
, but I'll also install stub scripts with the old lalapps_
names for backward compatibility, at least until the end of O4 analyses.