Closed kmpeters closed 6 years ago
First place is to update https://github.com/EPICS-synApps/support/Makefile
Documentation files might also need this change
On 3/28/2016 9:48 AM, Kevin Peterson wrote:
Many databases in the std module include the sseq record, which comes from the calc module, but the calc module is not required to build the std module, nor does it appear in the std module's RELEASE file.
How should we document the fact that the calc module may be a dependency for an IOC if it uses certain components from the std module?
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/epics-modules/std/issues/1
I disagree about changing support/Makefile. That Makefile should only contain the dependencies required to actually build std, not to run it. By putting in dependencies that are not needed to build you reduce the efficiency of parallel make. One option is to put comments in std/configure/RELEASE that say what other modules may be needed to use std databases.
I like what has been done in areaDetector. For each module the structure is like this module configure RELEASE moduleApp src Db iocs exampleIOC configure RELEASE exampleApp src
module/configure/RELEASE and module/moduleApp/src/Makefile contain only the support modules required to build the library. In the case of std that would not include calc.
iocs/exampleIOC/configure/RELEASE and iocs/exampleIOC/exampleApp/src/Makefile contain the support modules to build a working IOC. In the case of std that would include calc.
Sorry, the indents got lost when I posted. It should be
module
configure
RELEASE
moduleApp
src
Db
iocs
exampleIOC
configure
RELEASE
exampleApp
src
good point
On 3/28/2016 10:18 AM, Mark Rivers wrote:
By putting in dependencies that are not needed to build you reduce the efficiency of parallel make.
we discussed at group meeting this AM and decided to add this to the RELEASE file
Another possibility would be to create some new documentation file that describes dependencies within any synApps module (for building the App or IOC or running the IOC). This will need some consideration.
Many databases in the std module include the sseq record, which comes from the calc module, but the calc module is not required to build the std module, nor does it appear in the std module's RELEASE file.
How should we document the fact that the calc module may be a dependency for an IOC if it uses certain components from the std module?