After the current release is done, I'll be looking at doing some things about how FontForge is currently built. There's a lot of cruft in the way of actually making improvements, and detecting potential issues early enough.
- Compiling with
-Wall is a disaster; there's so many compiler warnings that it's hard to spot real issues
- Compilation itself is slow, or at least slower than it needs to be.
- On Windows, build times are atrocious; running
./bootstrap takes a good 10-15 minutes on my system, running configure another 10 minutes or so, and building it another 45 minutes or so.
- Linking in particular is very slow, although I'd put that down to libtool/mingw
Those two points in particular impedes on debugging issues, because it takes so long just to iterate on builds; worse still if those changes affect the build system in any way.
So because of that, at the top of my list is to:
- Delete a bunch of old stuff out of the repo, namely:
- breakpad and the collab feature; both are seriously unmaintained, and never really worked all that well; as far as I know, breakpad in particular was only ever built to work on mac, and I have doubts that it's doing anything useful now.
- The gtkui folder, no one ever uses it (besides, it'll still be in git history, that's what it's for)
- The nodejs (related to collab) and win folders. The win folder contains nothing useful (except maybe the icons, which can be moved out).
- Remove gnulib. Using gnulib is a mistake, for the things we use it for, we can just use glib, or write our own - more importantly, this means we can move off autotools.
- Switch to a different build system, either cmake or meson. It actually wasn't too bad to get something in cmake off the ground (see https://github.com/fontforge/fontforge/tree/cmake), but that's mostly because I'm already familiar with cmake.
- Get rid of the plugin system, no one uses it, and if I recall correctly, the only plugin that exists is gb12345, which again, is also broken. This means that we can not depend on libltdl, which is fairly unix specific.
Full wishlist here: https://github.com/jtanx/fontforge/wiki/Wishlist
After the current release is done, I'll be looking at doing some things about how FontForge is currently built. There's a lot of cruft in the way of actually making improvements, and detecting potential issues early enough.
-Wallis a disaster; there's so many compiler warnings that it's hard to spot real issues./bootstraptakes a good 10-15 minutes on my system, running configure another 10 minutes or so, and building it another 45 minutes or so.Those two points in particular impedes on debugging issues, because it takes so long just to iterate on builds; worse still if those changes affect the build system in any way.
So because of that, at the top of my list is to:
Full wishlist here: https://github.com/jtanx/fontforge/wiki/Wishlist