I have just downloaded the Synfig Git repository and noticed that the code is split among three codebases - EFL, synfig-core and synfig-studio - each with its own build system. As these three always seem to be distributed together, there doesn’t seem to be a good reason for this separation, so why is there? Is it a historical artifact?
Maybe it would be better to combine all three code bases in a single build root, with only one central autoconf file, like so:
synfig/ etl/ Makefile.am .... core/ Makefile.am .... studio/ Makefile.am .... configure.ac Makefile.am ...
This would ensure that all three are always in sync and reduces the need to define dependencies. With this setup, ETL could even be compiled into the synfig binaries statically, which would further simplify the setup and avoid the target system to be “polluted” with a shared library that is not used by any other program anyway.
What do you think?