The dependency table was originally in "fixed" format, so that
AsciiDoc took a fixed number of characters to the first column
and the rest to the second column. However, "OpenSSL or GNU TLS
or nss_compat_ossl" will not fit in that number of characters,
and backslash line continuation will not help because AsciiDoc
apparently parses that before it counts the characters.
I could widen the column in the AsciiDoc source but switching
to "dsv" format seems prettier.
It was reported at elinks-dev on 2007-06-03 that Solaris 10 comes with
zlib 1.1.4, which does not include gzclearerr(), which ELinks nowadays
requires. It would be possible to rewrite the decompression support
to use deflate() directly and avoid stdio, in which case gzclearerr()
would not be needed. That will take some time however, so I'm not
attempting it for ELinks 0.12.0. Instead, I'm just disabling gzip
decompression entirely if zlib is too old.
installation.html built from installation.txt does not include the
sections about LUA scripting and ECMAScript, but installation.txt
tries to link to them via fragment identifiers. Point those links to
manual.html instead; not manual.html-chunked because the file names
there might not remain stable.
Alternatively, installation.txt could be changed to include
lua-scripting.txt and ecmascript.txt into installation.html.
You can now use: make {all-docs,pdf,html,man,api,update-man}
instead of: make {all-docs,pdf-docs,html-docs,man-docs}
Away is building into separate dirs. This makes make able to actually get
dependencies right, since there are now a collection of 'common' build
rules, some of which have even been moved to use the cmd infrastructure.
To update the man pages there is a new update-man rule. It builds the
manual pages and copies them to their proper place under man/ while doing
the final preformatting.
As good thing is that the (two) man pages are moved to .txt files and
include the generated content.
The API building thing is also refined. It builds into api/ and builds it's
list of files dynamically by searching throught the .h files in the src/
directory. Documented header files must contain a comment like this:
/* API Doc :: <api-name> */
where <api-name> is the name used for the file under api/, for example
dom-scanner.