- Remove EX_AMCOND() and EX_FEAT_EXPORT(), instead add flags to
EX_FEAT() to check whether a feature should be exported.
- Only mark a feature to be exported with AM_CONDITIONAL() when
it is checked within either */Makefile.am or tests/atlocal.in.
- Only add a feature to test/atlocal.in when it is checked by
ATX_FEAT_*().
- Move feature "bookmarkfs-util" after features that may enable it,
so that its enable status can be correctly displayed.
Since we're already installing man pages conditionally
(only install a man page when the corresponding program is enabled),
it makes more sense to install them by default,
instead of having to install separately with `make install-man`.
- Move common `AC_DEFINE()` usage to `EX_FEAT()`.
- Remove unused argument `action-if-disabled` for `EX_FEAT()`.
- Conditionally enable features by default.
Do not force 64-bit `time_t` on 32-bit platforms, since libfuse
does not do so. Linking shared objects with incompatible types
breaks ABI, resulting in undefined behavior.
Instead, add run-time checks to make sure that timestamps do not
overflow. If they do, set to `INT32_MAX`.
Also tidy up build scripts, tests, and the installation guide.
That part of code in configure.ac look stupid, remove it.
If we _do_ try to run BookmarkFS on such an exotic platform with
non-zero null pointers, the breakage should be detected by the tests
(if it can run or even build at all).
There's only a few legacy releases of gcc and clang that
support -fmacro-prefix-map but not __FILE_NAME__.
Thus the originial workaround is not very beneficial.
Switching to a more portable `__FILE__ + offset` workaround
that works for any standard-compliant compiler, even TinyCC.
However, this workaround may produce binaries that leak
information about the build environment, especially when using
an exotic build path.