Mercurial > mplayer.hg
view DOCS/xml/README @ 17566:f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.
Comments about a similar patch applied to ffmpeg:
That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter
Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- M\ns Rullg\rd
author | rathann |
---|---|
date | Thu, 09 Feb 2006 14:08:03 +0000 |
parents | 21173b458231 |
children | 61e033e4daee |
line wrap: on
line source
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. It's also possible to use the Saxon XSLT Processor. The Russian translator used it (version 6.4.4) for a while. If you have a suitable JavaVM and a saxon.jar installed somewhere, configure will try to detect them. If autodetection fails, try to tweak DOCS/xml/configure to get it working and send us a patch :) On Red Hat systems you need the following packages: libxml2, libxslt, docbook-dtds, docbook-style-xsl On Debian Sarge you will need these packages: libxml2, libxml2-utils, docbook-xsl, libxslt1.1, docbook, docbook-utils Installing the required tools from source ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1) Download libxslt AND libxml2 packages from http://xmlsoft.org/XSLT/downloads.html Installing them should be straightforward, execute the usual "./configure" and "make" then "make install" commands. 2) Download the docbook-xml package from http://www.oasis-open.org/docbook/xml/ Use the newest version. The URL will be something like this: http://www.oasis-open.org/docbook/xml/4.2/docbook-xml-4.2.zip Extract this package into a directory, enter it, and execute the following commands: mkdir -p /usr/share/sgml/docbook/dtd/xml/4.2/ cp -r * /usr/share/sgml/docbook/dtd/xml/4.2/ 3) Download the docbook-xsl package from http://prdownloads.sourceforge.net/docbook/ Use the newest version. The URL will be something like this: http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.62.0.tar.gz Extract this package into a directory, enter it, and execute the following commands: mkdir -p /usr/share/sgml/docbook/stylesheet/xsl/nwalsh cp -r VERSION common html lib \ /usr/share/sgml/docbook/stylesheet/xsl/nwalsh 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. 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. ;-))