fontforge/fontforge — pull request #880 by coolwanglu (2013-10-26 07:49:02+00:00)
Title: First attempt to split fontforgeexe/ from fontforge/

There are some libraries which depends on libfontforge but depended on by libfontforgeexe, e.g. libgdraw.

Previously there was no check of undefined symbols, therefore although libgdraw replies on libfontforge, it can be built before libfontforge, leaving the undefined symbols there. As long as libfontforge is always provided when libgdraw is linked with others, there won't be any error. However "libfontforge is always provided" relied on the __manually maintaining the makefiles (for internal) and pkg-config files (for external)__, which is quite easy to miss some libs -- that's why link-test has been keeping failing.

Now I've added the `-Wl,--no-defined` flag such that __libfontforge must be provided while building libgdraw__, so we have to build the libraries in the correct order: libfontforge, libgdraw and libfontforgeexe. But as libfontforge and libfontforgexe are mixed in a single dir, it's impossible (or at least very hard) to set things up.

So that's the motivation of this pull request. I've planned for this for some time. Lots of files originally in `fontforge/` are moved into `fontforgeexe/`. In this way, the hierarchy of the libraries is hopefully clearer, and the building order mentioned above is now possible.

Please do NOT merge this request yet:
- This patch has been tested only on Travis CI (ubuntu 12.04) and my machine (ubuntu 13.10). There are also a few file about mac packaging involved which I'm not sure. So please test on
- [] mac
- [] windows
- and possibly cross-compiling etc.
- [] I've not been able to split the header files, mostly because some of them are used by both libraries. __Can I move some of them into `inc/`__?
- [] I think should be now save to remove `link-test` now.

Relevant issues: #877 #872 #469