docs/razor-docs.xml
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Oct 04 18:12:58 2014 +0100 (2014-10-04)
changeset 454 56ff755c268c
parent 262 63644cc28e0b
permissions -rw-r--r--
Only export symbols starting with razor_ in dynamic library.

Apart from being good practice to avoid clashes with higher-level
libraries and the application, this also fixes an obscure bug: The
gnulib library is used both by librazor (the dynamic library) and
by razor (the executable). In doing so, we want to have two separate
copies of the library despite the code duplication this involves.
Without the explicit limit to export only razor_ symbols, the razor
executable under mingw64 was picking up the getopt_long function
from librazor and the optind variable from libgnu which meant that
it did not see optind changing. Hiding librazor's copy of getopt
causes the linker to find libgnu's copy and everything works.

Note that under mingw librazor-#.dll still contains undocumented
(private) razor_ symbols but these will do no harm as long as nobody
tries to use them.
     1 <?xml version="1.0"?>
     2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
     3                "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
     4 <!ENTITY version SYSTEM "version.xml">
     5 ]>
     6 <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
     7   <bookinfo>
     8     <title>Razor Library Reference Manual</title>
     9     <releaseinfo>Version &version;</releaseinfo>
    10     <authorgroup>
    11       <author>
    12 	<firstname>Kristian</firstname>
    13 	<surname>Høgsberg</surname>
    14 	<affiliation>
    15 	  <address>
    16 	    <email>krh@redhat.com</email>
    17 	  </address>
    18 	</affiliation>
    19       </author>
    20     </authorgroup>
    21 
    22     <copyright>
    23       <year>2008</year>
    24       <holder>Razor Authors</holder>
    25     </copyright>
    26 
    27     <copyright>
    28       <year>2008</year>
    29       <holder>Red Hat, Inc</holder>
    30     </copyright>
    31 
    32     <legalnotice>
    33       <para>
    34 	Permission is granted to copy, distribute and/or modify this
    35 	document under the terms of the <citetitle>GNU Free
    36 	Documentation License</citetitle>, Version 1.1 or any later
    37 	version published by the Free Software Foundation with no
    38 	Invariant Sections, no Front-Cover Texts, and no Back-Cover
    39 	Texts. You may obtain a copy of the <citetitle>GNU Free
    40 	Documentation License</citetitle> from the Free Software
    41 	Foundation by visiting <ulink type="http"
    42 	url="http://www.fsf.org">their Web site</ulink> or by writing
    43 	to:
    44 
    45 	<address>
    46 	  The Free Software Foundation, Inc.,
    47 	  <street>59 Temple Place</street> - Suite 330,
    48 	  <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
    49 	  <country>USA</country>
    50 	</address>
    51       </para>
    52     </legalnotice>
    53   </bookinfo>
    54 
    55   <reference id="ref-design">
    56     <title>Design Overview</title>
    57     <partintro>
    58       <para>
    59 	This part presents the design documentation for razor.
    60       </para>
    61     </partintro>
    62     <xi:include href="package-set.xml" />
    63     <xi:include href="solver.xml" />
    64   </reference>
    65 
    66   <reference id="ref-core">
    67     <title>Core API Reference</title>
    68     <partintro>
    69       <para>
    70 	This part presents the class and function reference for the
    71 	core razor library.
    72       </para>
    73     </partintro>
    74     <xi:include href="xml/set.xml"/>
    75     <xi:include href="xml/importer.xml"/>
    76     <xi:include href="xml/iterator.xml"/>
    77     <xi:include href="xml/transaction.xml"/>
    78     <xi:include href="xml/rpm.xml"/>
    79     <xi:include href="xml/root.xml"/>
    80     <xi:include href="xml/misc.xml"/>
    81   </reference>
    82 
    83   <index>
    84     <title>Index</title>
    85   </index>
    86 
    87 </book>