summaryrefslogtreecommitdiff
path: root/src/xdocs
diff options
context:
space:
mode:
authorMark Donszelmann <Mark.Donszelmann@gmail.com>2009-10-01 14:33:24 +0200
committerMark Donszelmann <Mark.Donszelmann@gmail.com>2009-10-01 14:33:24 +0200
commit846700d44b67b22835b57a1c04f17043db8323a3 (patch)
treea253ecd4ada6f80dbcd08177035cfa71ade9b670 /src/xdocs
parent0a8746644d70eb8b1cfb615c27155c19e09f46d3 (diff)
downloadmaven-nar-plugin-846700d44b67b22835b57a1c04f17043db8323a3.tar.gz
maven-nar-plugin-846700d44b67b22835b57a1c04f17043db8323a3.tar.bz2
maven-nar-plugin-846700d44b67b22835b57a1c04f17043db8323a3.tar.xz
maven-nar-plugin-846700d44b67b22835b57a1c04f17043db8323a3.zip
Moved files in from freehep-nar-plugin version 2.0-alpha-11-SNAPSHOT
Diffstat (limited to 'src/xdocs')
-rw-r--r--src/xdocs/nar-dependencies.xml152
-rw-r--r--src/xdocs/properties.xml737
2 files changed, 889 insertions, 0 deletions
diff --git a/src/xdocs/nar-dependencies.xml b/src/xdocs/nar-dependencies.xml
new file mode 100644
index 0000000..dd9ae8e
--- /dev/null
+++ b/src/xdocs/nar-dependencies.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<document>
+ <properties>
+ <title> NAR Dependencies</title>
+ <author email="Mark.Donszelmann@slac.stanford.edu">Mark Donszelmann</author>
+ </properties>
+ <body>
+ <section name="Dependencies on other NARs">
+ <p>
+ Dependencies on other NARs are handled by the maven dependency mechanism.
+
+ The type for NAR files is <code>nar</code>. A NAR dependency is specified
+ in the following way:
+ </p>
+
+ <source>
+&lt;dependency>
+ &lt;groupId>DependentGroup&lt;/groupId>
+ &lt;artifactId>DependentArtifact<b>-nar</b>&lt;/artifactId>
+ &lt;version>DependentVersion&lt;/version>
+ &lt;type><b>nar</b>&lt;/type>
+&lt;/dependency>
+ </source>
+
+ <p>
+ The artifactId needs to specify a <code><b>-nar</b></code> suffix since artifactIds need to be unique
+ and a jar file may exist with the same name.
+ </p>
+
+ <p>
+ When a nar dependency is found in the POM, Maven will download the property file :
+ </p>
+ <source>
+<i>DependentGroup</i>/<b>nar</b>s/<i>DependentArtifact</i><b>-nar</b>-<i>DependentVersion</i>.<b>nar</b>
+ </source>
+ <p>
+ This file is normally generated by the NAR plugin for the DependentArtifact and
+ may specify the following properties:
+ </p>
+
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.nars</td>
+ <td>Space separated list of other nar files to download.
+ </td>
+ <td>
+ <code><i>DependentArtifact</i><b>-nar</b>-<i>DependentVersion</i>.<b>noarch.nar</b>
+ <i>DependentArtifact</i><b>-nar</b>-<i>DependentVersion</i>.<b>${aol}.nar</b></code>
+ </td>
+ </tr>
+ </table>
+ <p>
+ The default files specified for download will have the common and machine-os specific parts in them
+ respectively.
+ </p>
+
+ <p>
+ The NAR plugin will look in the project.properties file followed by the
+ <i>DependentArtifact</i><b>-nar</b>-<i>DependentVersion</i>.<b>nar</b> file for any of the
+ following properties:
+ </p>
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.local</td>
+ <td>Specifies that the DependentArtifact is installed locally (in a different place than the local
+ repository. The property <code>freehep.nar.nars</code> will be ignored.
+ One would typically use this for standard libs such as zlib and others.</td>
+ <td>false</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.dir</td>
+ <td>Specify a local directory where the DependentArtifact libs can be found.</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.include</td>
+ <td>Specify a local directory where the DependentArtifact includes can be found.</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.libs</td>
+ <td>Specify the libs to use for linking</td>
+ <td><code>${DependentArtifact}-nar-${DependentVersion}</code></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.local.libs</td>
+ <td>Specify the libs to use for linking if the libs are local</td>
+ <td><code>${DependentArtifact}-nar.libs</code></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.type</td>
+ <td>Specify the type of linking</td>
+ <td><code>${freehep.nar.libs.type}</code></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]<i>DependentArtifact</i>-nar.linkLibs</td>
+ <td>Specify if libraries should be linked with (there are distributions with only include files).</td>
+ <td>true</td>
+ </tr>
+
+ <tr>
+ <td><i>DependentArtifact</i>-nar.<i>AOL</i></td>
+ <td>Converts one AOL into another. For example: YourLib-nar.i386-Linux-g++=i386-Linux-gcc will
+ make sure you can link from g++ as well as from gcc to YourLib. YourLib needs to be dsitributed
+ as a gcc linked lib in this case.</td>
+ <td>${freehep.nar.aol.name}</td>
+ </tr>
+
+ </table>
+
+ <p>
+ If the property <i>DependentArtifact</i>-nar.local is set to true, then no further files will be
+ downloaded or installed and the properties <i>DependentArtifact</i>-nar.dir and
+ <i>DependentArtifact</i>-nar.include will be used for compilation and linking with this <i>DependentArtifact</i>.
+ In the other case the files specified by freehep.nar.nars will be downloaded, installed in
+ the local repository, unpacked and used for compilation and linking.
+ Setting <i>DependentArtifact</i>-nar.local allows the user to avoid downloading a library
+ which is already installed as a non-NAR file somewhere else on his machine.
+ The other properties are used in both the local and the NAR case.
+ </p>
+ <p>
+ When generating a set of NAR files, the <i>Artifact</i>-nar-<i>Version</i>.nar file will be generated
+ for you. This file may contain any of the properties listed above. The NAR plugin generates the
+ properties freehep.nar.nars and <i>Artifact</i>-nar.linkLibs. Any other properties can be specified
+ in the nar.properties file in the artifact's top directory (alongside project.properties) and will
+ be concatenated to the generated nar file.
+ </p>
+ </section>
+
+
+
+ </body>
+</document> \ No newline at end of file
diff --git a/src/xdocs/properties.xml b/src/xdocs/properties.xml
new file mode 100644
index 0000000..28bcbf5
--- /dev/null
+++ b/src/xdocs/properties.xml
@@ -0,0 +1,737 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<document>
+
+ <properties>
+ <title>FreeHEP NAR Plugin Properties</title>
+ <author email="Mark.Donszelmann@slac.stanford.edu">Mark Donszelmann</author>
+ </properties>
+
+ <body>
+ <section name="NAR Properties">
+ <p>
+ Below are the properties by group for the NAR plugin. The properties with
+ the <code>[<i>arch.[os.[linker.]</i>]</code> prefix can either be set in general,
+ architecture specific, architecture-os specific or architecture-os-linker specific.
+ The latter overruling the former ones. The defaults for these combiations
+ are listed in two separate tables below.
+ </p>
+
+ <subsection name="Command Line Flags">
+ <table>
+ <tr>
+ <th>Flag</th>
+ <th>Description</th>
+ </tr>
+
+ <tr>
+ <td>maven -Dverbose</td>
+ <td>Output NAR debug stetements</td>
+ </tr>
+
+ <tr>
+ <td>maven -X</td>
+ <td>Output maven debug statements</td>
+ </tr>
+ </table>
+ </subsection>
+
+ <subsection name="General">
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.arch</td>
+ <td>Architecture [<i>arch</i>] (ex: x86, i386, sparc, ...)</td>
+ <td>
+ <code>${os.arch}</code>
+ </td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.os</td>
+ <td>Operating System [<i>os</i>] (ex: Linux, win32, MacOSX, SunOs, ...)</td>
+ <td>
+ <code>${os.name}</code> (Note: no spaces)
+ </td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>]]freehep.nar.linker</td>
+ <td><a href="http://ant-contrib.sourceforge.net/linker.html">Linker</a> [<i>linker</i>]
+ (ex: msvc, g++, CC, ...), but you may use any name here and override it in
+ the property <i>arch.os.linker.</i>freehep.nar.linker to the real linker name.</td>
+ <td>Architecture-OS specific, see <a href="#Architecture-OS">below</a>.</td>
+ </tr>
+ </table>
+ </subsection>
+
+ <subsection name="Architecture/OS Independent Settings" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.src</td>
+ <td>Source file directory</td>
+ <td><code>src/main/cpp</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.cpp.src.includes</td>
+ <td>C++ file pattern to include</td>
+ <td><code>**/*.h **/*.hh **/*.cc **/*.cpp **/*.cxx</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.cpp.src.excludes</td>
+ <td>C++ file pattern to exclude</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.c.src.includes</td>
+ <td>C file pattern to include</td>
+ <td><code>**/*.h **/*.c</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.c.src.excludes</td>
+ <td>C file pattern to exclude</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.fortran.src.includes</td>
+ <td>Fortran file pattern to include</td>
+ <td><code>**/*.f **/*.for</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.fortran.src.excludes</td>
+ <td>Fortran file pattern to exclude</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.test.src</td>
+ <td>Test source file directory</td>
+ <td><code>src/test/cpp</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.compile.includepath</td>
+ <td><a href="http://ant-contrib.sourceforge.net/includepath.html">
+ Include path for compilation</a></td>
+ <td><code>src/main/include</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.compile.sysincludepath</td>
+ <td><a href="http://ant-contrib.sourceforge.net/sysincludepath.html">
+ System include path for compilation</a></td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.compile.withjava</td>
+ <td>Adds the Java Virtual Machine include files for compilation</td>
+ <td>false (automatic if the nar:jni goal is run and headers are generated)</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.test.compile.includepath</td>
+ <td><a href="http://ant-contrib.sourceforge.net/includepath.html">
+ Include path for compilation of tests</a></td>
+ <td><code>src/test/include</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.link.withjava</td>
+ <td>Enables the linking with the Java Virtual Machine</td>
+ <td><code>${freehep.nar.compile.withjava}</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.jni.classpath</td>
+ <td>Classpath to add for nar:jni goal</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.tests</td>
+ <td>List of test (executables) to be generated</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.includefilesonly</td>
+ <td>Generates only common NAR file. Machine-OS specific NAR file will not be made.</td>
+ <td>false</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.aol</td>
+ <td>Architecture-OS-Linker [<i>aol</i>] name, used for naming the machine specific NAR
+ and used for the destination directory</td>
+ <td>
+ <code><i>arch-os-linker</i></code>
+ </td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.dest</td>
+ <td>Output directory</td>
+ <td>
+ <code>${maven.build.dir}/nar</code>
+ </td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.test.dest</td>
+ <td>Test output directory</td>
+ <td>
+ <code>${maven.build.dir}/test-nar</code>
+ </td>
+ </tr>
+ </table>
+ </subsection>
+
+
+ <subsection name="Compilers and Linkers" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.cpp.compiler</td>
+ <td><a href="http://ant-contrib.sourceforge.net/compiler.html">C++ Compiler</a></td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.c.compiler</td>
+ <td><a href="http://ant-contrib.sourceforge.net/compiler.html">C Compiler</a></td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.fortran.compiler</td>
+ <td><a href="http://ant-contrib.sourceforge.net/compiler.html">Fortran Compiler</a></td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+
+ <tr>
+ <td><i>arch.os.linker.</i>freehep.nar.linker</td>
+ <td><a href="http://ant-contrib.sourceforge.net/linker.html">Real linker name</a></td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+ </table>
+ </subsection>
+
+
+
+ <subsection name="Unified Compiler and Linker Options" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.rtti</td>
+ <td>Enable Runtime Type Identification</td>
+ <td>true</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.exceptions</td>
+ <td>Enable Exception Handling</td>
+ <td>true</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.runtime</td>
+ <td><a href="http://ant-contrib.sourceforge.net/cc.html">Use static or dynamic runtime library</a></td>
+ <td>dynamic</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.optmize</td>
+ <td><a href="http://ant-contrib.sourceforge.net/cc.html">Set optimization level</a></td>
+ <td>none</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.multithreaded</td>
+ <td>Enable multithreading</td>
+ <td>false</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.incremental</td>
+ <td>Enable incremental linking</td>
+ <td>false</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.failonerror</td>
+ <td>Abort if an error is detected</td>
+ <td>true</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.libtool</td>
+ <td>Use libtool to compile and link</td>
+ <td>false</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.debug</td>
+ <td>Generate debugging code</td>
+ <td>false</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.outtype</td>
+ <td><a href="http://ant-contrib.sourceforge.net/cc.html">Type of library to be generated</a> (use "jni" for native shareable code with java)</td>
+ <td>static</td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.test.outtype</td>
+ <td><a href="http://ant-contrib.sourceforge.net/cc.html">Type of test output to be generated</a></td>
+ <td>executable</td>
+ </tr>
+
+ </table>
+ </subsection>
+
+
+ <subsection name="Additional Compiler and Linker Options" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.compiler.arg.start|mid|end</td>
+ <td>
+ <a href="http://ant-contrib.sourceforge.net/compilerarg.html">
+ Space delimited list of optional compiler arguments</a>.
+ <code>start|mid|end</code> specifies the position in the compiler
+ argument list.
+ </td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.cpp.compiler.arg.start|mid|end</td>
+ <td>
+ <a href="http://ant-contrib.sourceforge.net/compilerarg.html">
+ Space delimited list of optional cpp compiler arguments</a>.
+ <code>start|mid|end</code> specifies the position in the compiler
+ argument list.
+ </td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.c.compiler.arg.start|mid|end</td>
+ <td>
+ <a href="http://ant-contrib.sourceforge.net/compilerarg.html">
+ Space delimited list of optional c compiler arguments</a>.
+ <code>start|mid|end</code> specifies the position in the compiler
+ argument list.
+ </td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.fortran.compiler.arg.start|mid|end</td>
+ <td>
+ <a href="http://ant-contrib.sourceforge.net/compilerarg.html">
+ Space delimited list of optional fortran compiler arguments</a>.
+ <code>start|mid|end</code> specifies the position in the compiler
+ argument list.
+ </td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.linker.arg.start|mid|end</td>
+ <td>
+ <a href="http://ant-contrib.sourceforge.net/linkerarg.html">
+ Space delimited list of optional linker arguments</a>.
+ <code>start|mid|end</code> specifies the position in the linker
+ argument list.
+ </td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.linker.test.arg.start|mid|end</td>
+ <td>
+ <a href="http://ant-contrib.sourceforge.net/linkerarg.html">
+ Space delimited list of optional linker arguments for creating the test output</a>.
+ <code>start|mid|end</code> specifies the position in the linker
+ argument list.
+ </td>
+ <td></td>
+ </tr>
+
+ </table>
+ </subsection>
+
+ <subsection name="Java Settings" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.java.home</td>
+ <td>Java Home (jdk)</td>
+ <td>
+ <code>${java.home}/..</code>
+ </td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.java.include</td>
+ <td>Directory to look for include files for jni</td>
+ <td><code>${freehep.nar.java.home}/include</code></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.java.include.os</td>
+ <td>OS specific directory to look for include files for jni</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.java.vm</td>
+ <td>Location to the jvm</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+ </table>
+ </subsection>
+
+
+
+ <subsection name="File Prefixes, Suffixes and Extensions" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.lib.prefix</td>
+ <td>Prefix for library name</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.static.extension</td>
+ <td>Extension for static library</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.shared.extension</td>
+ <td>Extension for shared library</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.plugin.extension</td>
+ <td>Extension for plugin library</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.executable.extension</td>
+ <td>Extension for executable output</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+
+ </table>
+ </subsection>
+
+ <subsection name="Extra Libraries (please use nar dependencies rather than these)" >
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>Description</th>
+ <th>Default Value</th>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.libs.type</td>
+ <td>Type for libraries</td>
+ <td>static</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.libs</td>
+ <td>List of library modules to link against [<i>X</i>]</td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.lib.<i>X</i>.libs</td>
+ <td>List of library names to link against</td>
+ <td><i>X</i></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.lib.<i>X</i>.dir</td>
+ <td>Directory where to look for <i>X</i></td>
+ <td><code>${freehep.nar.dest}/lib</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.lib.<i>X</i>.type</td>
+ <td>Type of library <i>X</i></td>
+ <td><code>${freehep.nar.libs.type}</code></td>
+ </tr>
+ </table>
+ </subsection>
+
+ <subsection name="NAR packaging" >
+ <table>
+ <tr>
+ <td>[<i>arch.</i>[<i>os.</i>[<i>linker.</i>]freehep.nar.arch.includes</td>
+ <td>Include these files and libraries in the arch specific nar file</td>
+ <td>Architecture-OS-Linker specific, see <a href="#Architecture-OS">below</a></td>
+ </tr>
+ </table>
+ </subsection>
+ </section>
+
+
+
+
+
+ <section name="Default values for Architecture and Operating System specific properties">
+ <p>
+ Below are the defaults for the architecture and os specific properties. Each of the property names
+ is prefixed with the <code>arch.os</code> name as given in the different columns.
+ </p>
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>x86.win32</th>
+ <th>i386.Linux</th>
+ <th>amd64.Linux</th>
+ <th>ppc.MacOSX</th>
+ <th>sparc.SunOS</th>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.linker</td>
+ <td>msvc</td>
+ <td>g++</td>
+ <td>g++</td>
+ <td>g++</td>
+ <td>CC</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.java.home</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td><code>${java.home}</code></td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.java.include.os prefixed with <code>freehep.nar.java.home</code></td>
+ <td>include/win32</td>
+ <td>include/linux</td>
+ <td>include/linux</td>
+ <td></td>
+ <td>include/solaris</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.java.vm prefixed with <code>freehep.nar.java.home</code></td>
+ <td><code>lib</code></td>
+ <td><code>jre/lib/i386/client</code></td>
+ <td><code>jre/lib/amd64/server</code></td>
+ <td>IGNORED, uses "-framework JavaVM"</td>
+ <td><code>jre/lib/sparc/server</code></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.multithreaded</td>
+ <td>true</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.cpp.compiler</td>
+ <td>msvc</td>
+ <td>g++</td>
+ <td>g++</td>
+ <td>g++</td>
+ <td>CC</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.c.compiler</td>
+ <td>msvc</td>
+ <td>gcc</td>
+ <td>gcc</td>
+ <td>gcc</td>
+ <td>suncc</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.fortran.compiler</td>
+ <td>df</td>
+ <td>g77</td>
+ <td>g77</td>
+ <td>g77</td>
+ <td>sunf77</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.compiler.arg.start</td>
+ <td>-DWIN32</td>
+ <td>-DLinux</td>
+ <td>-DLinux</td>
+ <td>-DDarwin</td>
+ <td>-lpthread -DSOLARIS2</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.linker.arg.start</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td>-lpthread</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.arch.includes</td>
+ <td>lib/**/*.lib lib/**/*.dll</td>
+ <td>lib/**/*.a lib/**/*.so</td>
+ <td>lib/**/*.a lib/**/*.so</td>
+ <td>lib/**/*.a lib/**/*.so lib/**/*.dylib lib/**/*.jnilib</td>
+ <td>lib/**/*.a lib/**/*.so</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.lib.prefix</td>
+ <td></td>
+ <td>lib</td>
+ <td>lib</td>
+ <td>lib</td>
+ <td>lib</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.static.extension</td>
+ <td>.lib</td>
+ <td>.a</td>
+ <td>.a</td>
+ <td>.a</td>
+ <td>.a</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.shared.extension</td>
+ <td>.dll</td>
+ <td>.so</td>
+ <td>.so</td>
+ <td>.dylib</td>
+ <td>.so</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.plugin.extension</td>
+ <td>.dll</td>
+ <td>.so</td>
+ <td>.so</td>
+ <td>.bundle</td>
+ <td>.so</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.executable.extension</td>
+ <td>.exe</td>
+ <td></td>
+ <td></td>
+ <td></td>
+ <td></td>
+ </tr>
+
+ </table>
+ </section>
+
+
+ <section name="Default values for Architecture, Operating System and Linker specific properties">
+ <p>
+ Below are the defaults for the architecture, os and linker specific properties. Each of the property names
+ is prefixed with the <code>arch.os.linker</code> name as given in the different columns.
+ </p>
+ <table>
+ <tr>
+ <th>Property</th>
+ <th>x86.win32.g++</th>
+ <th>i386.Linux.icc</th>
+ <th>i386.Linux.ecc</th>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.cpp.compiler</td>
+ <td>g++</td>
+ <td>icpc</td>
+ <td>ecpc</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.c.compiler</td>
+ <td>gcc</td>
+ <td>icc</td>
+ <td>ecc</td>
+ </tr>
+
+ <tr>
+ <td>freehep.nar.fortran.compiler</td>
+ <td>g77</td>
+ <td>ifort</td>
+ <td>ifort (should this be efc?)</td>
+ </tr>
+
+ </table>
+ </section>
+
+
+
+ </body>
+</document>