Opened 7 years ago
#1049 new defect
use #include rather than source=[] for C libraries
Reported by: | pkienzle | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sasmodels Next Release +1 |
Component: | sasmodels | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description
Since OpenCL supports #include, we should set up the library functions so that they can be #included into the kernel source. Although it is still odd that we are including the .c files (normal includes are .h files giving the function signature, leaving it to the linker pulls the relevant object files from a library), it is a little less strange than the source=['lib/sasfile.c', ...] strategy that we are currently using.
All library files will need to have protection against multiple #includes.
A new dependency mechanism will be needed so that models are recompiled if an included file is updated, no matter how many levels deep the include occurs.