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