Nick Bowler [Tue, 4 Feb 2020 05:12:51 +0000 (00:12 -0500)]
Generate ChangeLog from git at packaging time.
Import the gitlog-to-changelog script from gnulib and add rules to
generate an up-to-date changelog from the git history, if available,
when running 'make dist'.
The ChangeLog is otherwise taken from srcdir as usual, so that
modified versions can be prepared from a release tarball without
requiring the full git history. In this scenario, the ChangeLog
would have to be manually edited.
In case the ChangeLog generation fails, a distcheck-hook is added to
hopefully catch issues before releasing tarballs with a broken
ChangeLog.
Nick Bowler [Mon, 25 Feb 2019 04:56:34 +0000 (23:56 -0500)]
Add support for simple dynamic types.
Defining types in runtime-loaded modules requires a slightly different
get_type implementation, and the type registration is done explicitly
using a different API. It's an extra pile of GObject boilerplate which
is a good fit for GOB to generate.
Add a (dynamic) flag which can be put on any class definition which
causes gob to spit out these alternate implementations.
Nick Bowler [Thu, 21 Feb 2019 16:26:58 +0000 (11:26 -0500)]
Pull in dxcommon for library tests.
Use the glib tests from dxcommon and hook up an initial Autotest-based
test suite which attempts to replicate the functionality of the old
(very basic) test functions.
Nick Bowler [Thu, 21 Feb 2019 16:15:06 +0000 (11:15 -0500)]
Build with libtool.
We link against glib, which is built using libtool, so using libtool
ourselves gives better results "out of the box". For example, if glib
is installed to a non-standard location libtool will automatically add
appropriate rpath options when linking.
Nick Bowler [Tue, 19 Feb 2019 21:40:10 +0000 (16:40 -0500)]
Modernize build system a bit.
Mostly rewrite the build system bits with the following changes:
- Convert to a non-recursive Automake setup.
- Convert to standard Automake variables where practical.
- Add rules to regenerate treefuncs as required.
- Avoid BUILT_SOURCES by adding accurate prerequisites.
- Remove NOINSTGLOB functionality as it seems pointless.
- Properly hook generated HTML documentation into Automake.
- Remove test bits for now, will be reintroduced later.
- Simplify configure.ac.