<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Install from sources</title><link>https://sourceforge.net/p/libpninx/wiki/Install%2520from%2520sources/</link><description>Recent changes to Install from sources</description><atom:link href="https://sourceforge.net/p/libpninx/wiki/Install%20from%20sources/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 06 Mar 2012 12:49:59 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/libpninx/wiki/Install%20from%20sources/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Install from sources modified by Eugen Wintersberger</title><link>https://sourceforge.net/p/libpninx/wiki/Install%2520from%2520sources/</link><description>&lt;pre&gt;--- v3 
+++ v4 
@@ -51,19 +51,21 @@
 * `LIBDIR` - installation path for libraries
 * `INCDIR` - installation path for header files
 * `DOCDIR` - installation path for documentation
+
 These build variables override the `PREFIX` variable. For instance if you use
 
     $&gt; scons PREFIX=/usr/local LIBDIR=/usr/local/lib64 install
 Everything goes below `/usr/local` but the libraries will not be installed in `/usr/local/lib` but in `/usr/local/lib64`.
 
 In the examples above `scons` was always called without a particular target. In such a case the default target `all`. There are several other targets available
 
 * `library` - which will only build the library code
 * `test` - for only building test code
 * `doc` - builds the API documentation
 * `install` - installs the package (and runs a build if it has not been done yet)
 * `pdfdoc` - build PDF documentation (users and administrators guide)
 * `pdfdocinstall` - installs the PDF documentation.
+
 The default target all is equivalent to calling
 
     $&gt; scons library test doc
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eugen Wintersberger</dc:creator><pubDate>Tue, 06 Mar 2012 12:49:59 -0000</pubDate><guid>https://sourceforge.netf0911f521fe9cbd89ef2d80cf529ea4ff729c2cf</guid></item><item><title>WikiPage Install from sources modified by Eugen Wintersberger</title><link>https://sourceforge.net/p/libpninx/wiki/Install%2520from%2520sources/</link><description>&lt;pre&gt;--- v2 
+++ v3 
@@ -46,14 +46,28 @@
 
     $&gt; scons PREFIX=/opt/pninx install
 
-will install everything below `/opt/pninx`. 
-
+will install everything below `/opt/pninx`. There are three other installation related build variables which allow fine grained control over where code will be installed
+
+* `LIBDIR` - installation path for libraries
+* `INCDIR` - installation path for header files
+* `DOCDIR` - installation path for documentation
+These build variables override the `PREFIX` variable. For instance if you use
+
+    $&gt; scons PREFIX=/usr/local LIBDIR=/usr/local/lib64 install
+Everything goes below `/usr/local` but the libraries will not be installed in `/usr/local/lib` but in `/usr/local/lib64`.
+
 In the examples above `scons` was always called without a particular target. In such a case the default target `all`. There are several other targets available
 
 * `library` - which will only build the library code
 * `test` - for only building test code
-* `doc` - builds the documentation
+* `doc` - builds the API documentation
 * `install` - installs the package (and runs a build if it has not been done yet)
+* `pdfdoc` - build PDF documentation (users and administrators guide)
+* `pdfdocinstall` - installs the PDF documentation.
+The default target all is equivalent to calling
+
+    $&gt; scons library test doc
+The PDF documentation is not built (and thus not installed) by default in order to ensure a successful build even on machines with an outdated Latex installation. 
 
 ## Building on Windows ##
 Not done yet.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eugen Wintersberger</dc:creator><pubDate>Tue, 06 Mar 2012 12:49:04 -0000</pubDate><guid>https://sourceforge.netd474f43222ee273f47eb1c0584e9f3870113a034</guid></item><item><title>WikiPage Install from sources modified by Eugen Wintersberger</title><link>https://sourceforge.net/p/libpninx/wiki/Install%2520from%2520sources/</link><description>&lt;pre&gt;--- v1 
+++ v2 
@@ -27,19 +27,33 @@
 
     $&gt;scons
 
-in the root directory of the source tree. If BOOST is not installed in one of the standard locations you can add the prefix of you BOOST installation with
-
+in the root directory of the source tree. Scons tries to do some auto-configuration to find out if you have all necessary libraries installed and adds them to the link list if it can find them. If you have libraries installed in non-standard locations you can use several build variables on the command line to let scons know where to look for them. There are basically three of these build variables
+
+* BOOSTPREFIX - determines the prefix for your boost installation
+* HDF5PREFIX - for the prefix of the HDF5 code
+* PNIUPREFIX - the prefix for the libpniutils installation.
+
+For all three variables the build system will assume that libraries are installed under /lib and header files below /include with respect to the installation prefix.
+If you have, for instance, BOOST installed below /opt/boost you can use the following command line to build libpninx
+
     $&gt;scons BOOSTPREFIX=/opt/boost
 
 To install the code use 
 
     $&gt; scons install
 
 Which will try to install the library along with its development files and documentation below the default installation prefix which is `/usr` on Linux systems. Clearly you need administrative permissions to install software at this location (in other words: you must be root). If you want to install the library to a different location the `PREFIX` build variable can be used. For instance 
 
-    $&gt; scons PREFIX=/opt/pniutils install
-
-will install everything below `/opt/pniutils`. 
+    $&gt; scons PREFIX=/opt/pninx install
+
+will install everything below `/opt/pninx`. 
+
+In the examples above `scons` was always called without a particular target. In such a case the default target `all`. There are several other targets available
+
+* `library` - which will only build the library code
+* `test` - for only building test code
+* `doc` - builds the documentation
+* `install` - installs the package (and runs a build if it has not been done yet)
 
 ## Building on Windows ##
 Not done yet.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eugen Wintersberger</dc:creator><pubDate>Mon, 05 Mar 2012 23:11:39 -0000</pubDate><guid>https://sourceforge.net938cc8d97757f3c00371a980563848b99c006808</guid></item><item><title>WikiPage Install from sources modified by Eugen Wintersberger</title><link>https://sourceforge.net/p/libpninx/wiki/Install%2520from%2520sources/</link><description>Installing software from the plain source code can be a quite tedious job. So if you are a  normal user and have never compiled a program from its source code by yourself you are maybe on the wrong page. 

## Requirements ##

To build the source distribution some programs must be installed

* [SCons](http://www.scons.org) - the primary build tool
* [doxygen](http://www.doxygen.org) - used for generating the API documentation
* pdflatex - use for generating the users and administrators guide (in most cases if should be enough if you have a working Latex distribution installed on your system)
* [graphviz](http://www.graphviz.org) - required by doxygen
* [python](http://www.python.org)   - required by SCons
* [pygments](http://pygments.org) - a syntax highlighter (for documentation)


In addition to this programs a couple of libraries are needed

* [BOOST](http://www.boost.org) - from which shared pointers, static asserts, and numeric conversion is taken
* [CPPUNIT]( https://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page)- a C++ unit test framework
* [libpniutils](https://sourceforge.net/projects/libpniutils/) - utility library
* [hdf5](http://www.hdfgroup.org/index.html) - binary file format

If you are a Linux user you are most probably on the lucky side since most of these programs are included in the package library of modern Linux distributions. For Windows the situation is more difficult. Windows users may lookup the installation procedure for all of the required tools and libraries on the project sites of the software.

## Building on Linux ##

Once all dependencies (see above) are satisfied one can start with the build. To simply build the code run 

    $&gt;scons

in the root directory of the source tree. If BOOST is not installed in one of the standard locations you can add the prefix of you BOOST installation with

    $&gt;scons BOOSTPREFIX=/opt/boost

To install the code use 

    $&gt; scons install

Which will try to install the library along with its development files and documentation below the default installation prefix which is `/usr` on Linux systems. Clearly you need administrative permissions to install software at this location (in other words: you must be root). If you want to install the library to a different location the `PREFIX` build variable can be used. For instance 

    $&gt; scons PREFIX=/opt/pniutils install

will install everything below `/opt/pniutils`. 

## Building on Windows ##
Not done yet.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eugen Wintersberger</dc:creator><pubDate>Mon, 05 Mar 2012 23:01:16 -0000</pubDate><guid>https://sourceforge.net58214f4beda0f09fb163b1aa8d9e68fb2d5a4d5c</guid></item></channel></rss>