Replies: 3 comments 11 replies
-
I don't think there is any overlap with #291, is it? There might be some overlap with adding a cmake backend. Once I get there, after #291 is done, I will simply work with you on this together. Do you have any things you want to discuss right now? |
Beta Was this translation helpful? Give feedback.
-
To elaborate a bit on the issue, it seems like the fpm model is missing some information, which are necessary to implement a high-level build backend (like cmake and meson). The mapping from the package manifest to the list of source files and build targets loses the information of the original project on the way. But exactly this information is crucial to generate build files for build systems that are working in project scopes. Currently this means the fpm source files are mixed together with the toml-f and M_CLI2 source files, but it would be beneficial for the backend to actually separate the three targets. So the main question is, am I overlooking something in our model or do we need a better model first before starting with a new backend? |
Beta Was this translation helpful? Give feedback.
-
Is lumping all the files a prerequisite for using the interprocedural optimization flags available in some compilers (e.g. ifort IPO, xlf -qipa)? The way I understand it, all object files compiled with "ipa" should be present at linking in order for the compiler to do all the possible inlining, transformations, etc. I recall a thread containing some anecdotal evidence that Fortran compilers would produce faster binaries if all sources were in a single file. |
Beta Was this translation helpful? Give feedback.
-
I'm opening this thread for a bit of brainstorming and coordination on refining fpm model.
We have been talking about creating a standalone tarball (#123) and using other build backends (#69) already. @certik started working on a way to represent the internal model (#291) and I'm currently trying to get a prototype of an
fpm-dist
command together (e2a837b).There is some overlap between the two projects and it turns out to be not that simple and therefore might require more coordination before we repeat too much work in this direction.
A viable strategy on this might be:
fpm_model_t
to provide the required informationLet me know what you think on this.
Beta Was this translation helpful? Give feedback.
All reactions