Dear all,
I would like to express some concerns regarding the *.all files in the include directories. Such files are provided for convenience in order to simplify the inclusion of multiples classes at once. Originally, this was a reviewer request from the very first paper, to be able to include all models at once like #include <models>. Later, we redesigned the code structure into subdirectories, such as Bpp/Phyl/Model/Proteins, with corresponding files Proteins.all, Model.all, Phyl.all, etc. which include the content of the content of the directory in one shot. The *.all files are generated by a script, launched after installation.
Some libs, however, share the same directory structure, such as Bpp/Seq/Io used both by bpp-seq and bpp-seq-omics. This means that the *.all files have to be regenerated after each install/uninstall for the full directory tree. While this script method is rather tricky and error prone, Debian and Rpm packages handle this pretty well thanks to the post-install target. Things get more complicated for package managers like Homebrew (Mac), where "packages" are installed from source in a separate directory and then linked to their final destination. This means that *.all files have to be disabled there, as they will not behave correctly.
I would suggest to remove such files on all platforms. I cannot see a real use for them, but I can see several potential issues (not even mentioning the fact that including a lot of stuff you do not need is not particularly a good idea).
Does anybody would have objections to this removal, or have alternative solutions to propose?
Cheers,
J.