| <html> | |
| <body> | |
| <h1 align='right'><a name='INSTALL'><img src="1.gif" align="right" | |
| hspace="10" width="100" height="100" alt="1"></a>Building, | |
| Installing, and Packaging Mini-XML</h1> | |
| <p>This chapter describes how to build, install, and package | |
| Mini-XML on your system from the source archive. You will need an | |
| ANSI/ISO-C compatible compiler to build Mini-XML - GCC works, as | |
| do most vendors' C compilers. If you are building Mini-XML on | |
| Windows, we recommend using the Visual C++ environment with the | |
| supplied solution file. For other operating systems, you'll need a | |
| POSIX-compatible shell and <tt>make</tt> program in addition to | |
| the C compiler.</p> | |
| <h2>Compiling Mini-XML</h2> | |
| <p>Mini-XML comes with both an autoconf-based configure script | |
| and a Visual C++ solution that can be used to compile the library | |
| and associated tools.</p> | |
| <h3>Compiling with Visual C++</h3> | |
| <p>Open the <VAR>mxml.sln</VAR> solution in the <VAR>vcnet</VAR> | |
| folder. Choose the desired build configuration, "Debug" (the | |
| default) or "Release", and then choose <VAR>Build Solution</VAR> | |
| from the <VAR>Build</VAR> menu.</p> | |
| <h3>Compiling with Command-Line Tools</h3> | |
| <p>Type the following command to configure the Mini-XML source | |
| code for your system:</p> | |
| <pre> | |
| <kbd>./configure ENTER</kbd> | |
| </pre> | |
| <p>The default install prefix is <var>/usr/local</var>, which | |
| can be overridden using the <kbd>--prefix</kbd> option:</p> | |
| <pre> | |
| <kbd>./configure --prefix=/foo ENTER</kbd> | |
| </pre> | |
| <p>Other configure options can be found using the | |
| <kbd>--help</kbd> option:</p> | |
| <pre> | |
| <kbd>./configure --help ENTER</kbd> | |
| </pre> | |
| <p>Once you have configured the software, use the | |
| <tt>make(1)</tt> program to do the build and run the test | |
| program to verify that things are working, as follows:</p> | |
| <pre> | |
| <kbd>make ENTER</kbd> | |
| </pre> | |
| <h2>Installing Mini-XML</h2> | |
| <p>If you are using Visual C++, copy the <VAR>mxml.lib</VAR> and | |
| and <VAR>mxml.h</VAR> files to the Visual C++ <VAR>lib</VAR> and | |
| <VAR>include<VAR> directories, respectively.</p> | |
| <p>Otherwise, use the <tt>make</tt> command with the | |
| <kbd>install</kbd> target to install Mini-XML in the configured | |
| directories:</p> | |
| <pre> | |
| <kbd>make install ENTER</kbd> | |
| </pre> | |
| <h2>Creating Mini-XML Packages</h2> | |
| <p>Mini-XML includes two files that can be used to create binary | |
| packages. The first file is <var>mxml.spec</var> which is used | |
| by the <tt>rpmbuild(8)</tt> software to create Red Hat Package | |
| Manager ("RPM") packages which are commonly used on Linux. Since | |
| <tt>rpmbuild</tt> wants to compile the software on its own, you | |
| can provide it with the Mini-XML tar file to build the | |
| package:</p> | |
| <pre> | |
| <kbd>rpmbuild -ta mxml-<i>version</i>.tar.gz ENTER</kbd> | |
| </pre> | |
| <p>The second file is <var>mxml.list</var> which is used by the | |
| <tt>epm(1)</tt> program to create software packages in a variety | |
| of formats. The <tt>epm</tt> program is available from the | |
| following URL:</p> | |
| <pre> | |
| <a href="http://www.epmhome.org/">http://www.epmhome.org/</a> | |
| </pre> | |
| <p>Use the <tt>make</tt> command with the <kbd>epm</kbd> target | |
| to create portable and native packages for your system:</p> | |
| <pre> | |
| <kbd>make epm ENTER</kbd> | |
| </pre> | |
| <p>The packages are stored in a subdirectory named | |
| <var>dist</var> for your convenience. The portable packages | |
| utilize scripts and tar files to install the software on the | |
| target system. After extracting the package archive, use the | |
| <var>mxml.install</var> script to install the software.</p> | |
| <p>The native packages will be in the local OS's native format: | |
| RPM for Red Hat Linux, DPKG for Debian Linux, PKG for Solaris, | |
| and so forth. Use the corresponding commands to install the | |
| native packages.</p> | |
| </body> | |
| </html> |