mirror of https://github.com/mpv-player/mpv
85 lines
2.8 KiB
Plaintext
85 lines
2.8 KiB
Plaintext
Tools required for building the documentation
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
* GNU make 3.80 or later
|
|
* DocBook 4.1.2 or later
|
|
* The DocBook XML DTD (also known as DocBk XML)
|
|
* DocBook XSL stylesheets -- version 1.50.0 or later is recommended.
|
|
|
|
I am not quite sure which tools work, but I used the following
|
|
ones successfully, so they are required:
|
|
|
|
* xmllint (part of libxml2) is used for validation.
|
|
* xsltproc (part of libxslt1) is used for transforming XML files into HTML
|
|
files. Version 1.0.18 or later is recommended.
|
|
|
|
On Red Hat systems you need the following packages:
|
|
libxml2, libxslt, docbook-dtds, docbook-style-xsl
|
|
|
|
On Debian you will need these packages:
|
|
docbook-xml, docbook-xsl, xsltproc, libxml2-utils
|
|
|
|
|
|
Building the documentation
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Before trying to build the documentation, run
|
|
|
|
make help
|
|
|
|
to see all available build targets and make your choice. If something goes
|
|
wrong, check the Configuration section of the toplevel Makefile and adjust
|
|
the variables.
|
|
|
|
The documentation and its translations reside in subdirectories.
|
|
When building the documentation, the generated HTML files are
|
|
placed in subdirectories of the 'HTML' directory.
|
|
|
|
IMPORTANT: Do NOT place sensitive files under 'HTML'!
|
|
It is for generated documentation only.
|
|
The whole directory tree is wiped out by the Makefile
|
|
when running 'make distclean' or 'make clean'.
|
|
|
|
|
|
Adding new translations
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
1) Create a new subdirectory and copy the XML files there. main.xml must not be
|
|
copied, it is autogenerated.
|
|
|
|
2) In each translated file after the <?xml ... ?> tag you must put a note
|
|
like <!-- synced with r2 -->, where 2 is the revision of corresponding
|
|
English file (see comment at the top of file).
|
|
|
|
That's all, in theory.
|
|
|
|
|
|
A few words about SGML catalog files
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
As far as I know, the document type declaration in XML files requires
|
|
both a public and a system identifier. For example:
|
|
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
"/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd">
|
|
|
|
where
|
|
|
|
"-//OASIS//DTD DocBook XML V4.1.2//EN"
|
|
|
|
is the public, and
|
|
|
|
"/usr/share/sgml/docbook/dtd/xml/4.1.2/docbookx.dtd"
|
|
|
|
is the system identifier.
|
|
|
|
The problem is that the system identifier is most probably system-dependent.
|
|
To avoid the need to manually fix the system identifiers before building the
|
|
documentation, I've decided to use SGML catalogs. If you have your catalogs
|
|
set up correctly, xmllint and xsltproc will use them to find the DTDs
|
|
based on the public identifiers.
|
|
|
|
Note that this works only if public identifiers override system identifiers
|
|
(i.e. the catalog file must contain 'OVERRIDE YES'). (I had no problem with
|
|
these on my system, since the Debian people took care of everything. ;-))
|