arfbtwn / banshee

http://banshee.fm/
MIT License
6 stars 4 forks source link

Feature/build #42

Closed arfbtwn closed 5 years ago

arfbtwn commented 6 years ago

Issues the current build system:

  1. a custom autogen.sh is required because autoreconf does not work;
  2. we require intltool, which is deprecated;
  3. ./configure often fails for optional dependencies; (although it does provide resolution instructions)
  4. each *.m4 file has custom style and implementation, raising the bar for new developers;
  5. auto-tools and MSBuild solutions are fairly isolated.

Goals:

  1. [x] autoreconf -fvi should produce a working configure script;
  2. [x] use GNU gettext;
  3. [x] use a consistent style for (almost) all *.m4 files;
  4. [x] ./configure should succeed if base dependencies are satisfied; (or can be configured with internal facsimilies)
  5. [x] ./configure should enable all optional components where dependencies are satisfied;
  6. [ ] ./configure should configure solution and project files. e.g trivially LIBMTP_SIZEOF_T_64 but also the solution file build configuration.

Stretch:

arfbtwn commented 6 years ago

Probably about time we extracted this one from feature/fixes too. I'll use the result of this in doing the auto-tools part of #4.

TODO: first commit in this series is huge, it needs cutting down into commits matching the goals in the description. Order is incorrect too - switching to gettext should come before the major refactor.

Now it's separated into distinct goals, I think we may have 1-4 done, 5 is on its way and 6 is pie-in-the-sky but definitely desirable - considering the stretch goal. (we could extend that to system libraries)