| 1 |
<html><head> |
|---|
| 2 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
|---|
| 3 |
<title>Building and Installing the Juggler Project (Version 2.3)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1"></a>Building and Installing the Juggler Project (Version 2.3)</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e32">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e116">Important Note for Windows Users</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e124">Build Tools</a></span></dt><dt><span class="section"><a href="#source.code.section">Getting the Source Code and the Dependencies</a></span></dt><dd><dl><dt><span class="section"><a href="#section.cvs.access">How to Get the Juggler Suite from Subversion</a></span></dt><dt><span class="section"><a href="#d0e250">Downloading Third-Party Dependencies</a></span></dt></dl></dd><dt><span class="section"><a href="#compile.section">Compiling</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e332">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e343">Compiling the Juggler Suite of Tools</a></span></dt><dt><span class="section"><a href="#compile.individual.section">Tips for Compiling Individual Tools in the Juggler |
|---|
| 4 |
Suite</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e15"></a>Introduction</h2></div></div></div><p>You have downloaded the source code for Version 2.3 of the Juggler |
|---|
| 5 |
Project. This is the code that will become VR Juggler 3.0, and it is the |
|---|
| 6 |
code that is used to create the VR Juggler 3.0 pre-releases. Please be |
|---|
| 7 |
aware that this code represents a work in progress, and if you acquired |
|---|
| 8 |
it directly from Subversion rather than using a pre-packaged source code |
|---|
| 9 |
snapshot, the code may have bugs affecting compilation and |
|---|
| 10 |
execution.</p><p>This document explains how to build the modules of the Juggler |
|---|
| 11 |
Project from the source code. We begin by explaining some issues related |
|---|
| 12 |
to specific operating systems. We then explain how to get the source |
|---|
| 13 |
code from our Subversion repository. (Those users who downloaded a |
|---|
| 14 |
pre-packaged source release can skip ahead to <a class="xref" href="#using.configure.pl" title="Using configure.pl">the section called “Using <span class="command"><strong>configure.pl</strong></span>”</a>). We conclude with instructions on how |
|---|
| 15 |
to build VR Juggler and its individual components.</p><p>Before reading further, we recommend that readers take a look at |
|---|
| 16 |
the Wiki page relating to building from source (<a class="ulink" href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn</a>). |
|---|
| 17 |
It is a <span class="emphasis"><em>supplement</em></span> to this document containing tips |
|---|
| 18 |
and reminders for those users building the SVN version of VR Juggler. It |
|---|
| 19 |
is not a replacement for this document, nor can it stand on its own as |
|---|
| 20 |
build instructions. You are reading the definitive build instructions; |
|---|
| 21 |
the Wiki page merely provides informal, extra information.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e32"></a>Important Notes for IRIX Users</h3></div></div></div><p>Despite our best efforts, there are some issues related to |
|---|
| 22 |
compiling the Juggler Project on IRIX. We introduce them in this |
|---|
| 23 |
section and explain how to work around them.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e37"></a>Perl Version</h4></div></div></div><p>There are many Perl scripts used as part of getting, |
|---|
| 24 |
configuring, and building the Juggler Suite of tools. In |
|---|
| 25 |
particular, two scripts required for compiling need Perl 5.005 or |
|---|
| 26 |
newer. The version of Perl that ships with IRIX 6.5 is very old |
|---|
| 27 |
(circa 1997) and does not work with many Perl scripts we have |
|---|
| 28 |
written. SGI provides a much newer version of Perl (5.6.1) with |
|---|
| 29 |
their freeware tools (<a class="ulink" href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>). |
|---|
| 30 |
It will be necessary to install that version for our scripts to |
|---|
| 31 |
work. This version is typically installed as |
|---|
| 32 |
<code class="filename">/usr/freeware/bin/perl</code>.</p><p>Once you have a modern Perl installed, you can run various |
|---|
| 33 |
Perl scripts as follows:</p><pre class="screen">/usr/freeware/bin/perl <script-name></pre><p>The above will be required any time a Perl script fails with |
|---|
| 34 |
an error similar to the following:</p><pre class="screen">Perl 5.005 required--this is only version 5.00404, stopped at ./configure.pl line 35. |
|---|
| 35 |
BEGIN failed--compilation aborted at ./configure.pl line 35.</pre><p>Furthermore, it is highly recommended that the |
|---|
| 36 |
<code class="option">--with-perl</code> argument be passed to |
|---|
| 37 |
<span class="command"><strong>configure.pl</strong></span>. This argument gives all the |
|---|
| 38 |
Autoconf-based configure scripts a hint about where the preferred |
|---|
| 39 |
version of Perl lives. If using |
|---|
| 40 |
<code class="filename">/usr/freeware/bin/perl</code> to run |
|---|
| 41 |
<span class="command"><strong>configure.pl</strong></span>, we recommend that the |
|---|
| 42 |
<span class="command"><strong>configure.pl</strong></span> command line appear similar to the |
|---|
| 43 |
following:</p><pre class="screen">/usr/freeware/bin/perl configure.pl --with-perl=/usr/freeware/bin</pre><p>Note that the value given to <code class="option">--with-perl</code> is |
|---|
| 44 |
the <span class="emphasis"><em>directory</em></span> where the |
|---|
| 45 |
<span class="command"><strong>perl</strong></span> executable can be found. The configure |
|---|
| 46 |
scripts will add this directory to the front of the search path |
|---|
| 47 |
when trying to find a suitable <span class="command"><strong>perl</strong></span> executable. |
|---|
| 48 |
Once it is found, all the Perl scripts used for configuration, |
|---|
| 49 |
compilation, and installation will use that executable.</p><p>To simplify command execution somewhat, it can help to have |
|---|
| 50 |
<code class="filename">/usr/freeware/bin</code> (or whatever path is |
|---|
| 51 |
appropriate) in your path before <code class="filename">/bin</code> or |
|---|
| 52 |
<code class="filename">/usr/bin</code> or any of the other myriad |
|---|
| 53 |
directories where Perl might exist on IRIX. In such a situation, |
|---|
| 54 |
none of the above extra steps should be necessary. The correct |
|---|
| 55 |
version of Perl will be found simply by virtue of it being early |
|---|
| 56 |
in your path.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e100"></a>MIPSpro Compiler Version</h4></div></div></div><p>Reports have been made on the VR Juggler mailing list |
|---|
| 57 |
regarding compile failures (including segmentation faults within |
|---|
| 58 |
the compiler) occur when using the MIPSpro Compilers Version |
|---|
| 59 |
7.3.1.1m. We have found upgrading to Version 7.3.1.3m (or newer) |
|---|
| 60 |
fixes the problems.</p><p>A new feature of VR Juggler 1.1 and newer is support for GCC |
|---|
| 61 |
on IRIX. Users who do not have MIPSpro or cannot upgrade can |
|---|
| 62 |
compile and run VR Juggler (without OpenGL Performer support) |
|---|
| 63 |
using the version of GCC distributed by SGI. It can be downloaded |
|---|
| 64 |
from <a class="ulink" href="http://freeware.sgi.com/index-by-alpha.html" target="_top">http://freeware.sgi.com/index-by-alpha.html</a> |
|---|
| 65 |
for free. When configuring the source with |
|---|
| 66 |
<span class="command"><strong>configure.pl</strong></span> (described later), use the option |
|---|
| 67 |
<code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e116"></a>Important Note for Windows Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not |
|---|
| 68 |
supported by Visual Studio 6.0. Microsoft <a class="ulink" href="http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q243/4/51.asp&NoWebContent=1" target="_top">acknowledges</a> |
|---|
| 69 |
the issues concerning noncompliance to the C++ Standard with Visual |
|---|
| 70 |
Studio 6.0, and it appears that they have no plans to fix these |
|---|
| 71 |
problems. Therefore, we require the use of Visual Studio 7.1 (.NET |
|---|
| 72 |
2003) or newer to compile the source code.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e124"></a>Build Tools</h2></div></div></div><p>When building on non-Windows platforms, the GNU Autotools are |
|---|
| 73 |
required. This means that, in addition to a C++ compiler (e.g., GCC), |
|---|
| 74 |
the following packages must be installed in order to compile VR |
|---|
| 75 |
Juggler:</p><div class="itemizedlist"><ul type="disc"><li><p>GNU Make 3.79 or newer</p></li><li><p>GNU Autoconf 2.53 or newer</p></li><li><p>GNU Automake 1.8 or newer</p></li></ul></div><p>Additionally, VR Juggler 2.1 and beyond require the <a class="ulink" href="https://realityforge.vrsource.org/view/FlagPoll/" target="_top">Flagpoll</a> |
|---|
| 76 |
software tool. As of this writing, the minimum required version is |
|---|
| 77 |
0.8.1. It is recommended that all of these tools be installed in either |
|---|
| 78 |
the <code class="filename">/usr</code> or the <code class="filename">/usr/local</code> |
|---|
| 79 |
directory trees so that search paths do not have to be extended.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="source.code.section"></a>Getting the Source Code and the Dependencies</h2></div></div></div><p>In this section, we explain how to get the Juggler Project source |
|---|
| 80 |
code and the dependencies required to build Juggler. There are two ways |
|---|
| 81 |
to get the source code: from a pre-packaged source release archive or |
|---|
| 82 |
from the Subversion repository on RealityForge. If you got the code from |
|---|
| 83 |
a pre-packaged source archive, that code is a complete |
|---|
| 84 |
“<span class="quote">snapshot</span>” of the Subversion repository at the time of |
|---|
| 85 |
release. It contains all dependencies that would otherwise have been |
|---|
| 86 |
acquired using Subversion. It <span class="emphasis"><em>does not</em></span> contain |
|---|
| 87 |
binary dependencies that must be downloaded separately (such as NSPR, |
|---|
| 88 |
the Java Developer Kit, a C++ compiler, etc.).</p><p>The current list of <span class="emphasis"><em>required</em></span> software |
|---|
| 89 |
packages is as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM (<a class="ulink" href="http://www.sourceforge.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>): |
|---|
| 90 |
A lightweight, easy-to-use XML parser written in C++. CppDOM must |
|---|
| 91 |
be compiled and installed for use with VR Juggler.</p></li><li><p>Boost (<a class="ulink" href="http://www.boost.org/" target="_top">http://www.boost.org/</a>): A C++ |
|---|
| 92 |
library providing many powerful utility classes and libraries. |
|---|
| 93 |
Boost must be compiled and installed for use with VR |
|---|
| 94 |
Juggler.</p></li><li><p>GMTL (<a class="ulink" href="http://ggt.sourceforge.net/" target="_top">http://ggt.sf.net/</a>): A |
|---|
| 95 |
generic math library that makes use of C++ templates and STL |
|---|
| 96 |
paradigms. GMTL must be installed for use with VR Juggler.</p></li></ul></div><p>The following lists <span class="emphasis"><em>semi-optional</em></span> |
|---|
| 97 |
packages:</p><div class="itemizedlist"><ul type="disc"><li><p>NSPR (<a class="ulink" href="http://www.mozilla.org/projects/nspr/" target="_top">http://www.mozilla.org/projects/nspr/</a>): |
|---|
| 98 |
The Netscape Portable Runtime, which can be used by VPR for |
|---|
| 99 |
threading and sockets (required on Win32 and Solaris).</p></li><li><p>Java Developer Kit (<a class="ulink" href="http://java.sun.com/" target="_top">http://java.sun.com/</a>): The J2SE |
|---|
| 100 |
SDK (or JDK) is used to compile all the Java code used in the |
|---|
| 101 |
Juggler Project. Without it, none of the Java code can be built. |
|---|
| 102 |
We require version 1.4 or newer. The Java Standard Edition (J2SE) |
|---|
| 103 |
can be downloaded from <a class="ulink" href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.</p></li><li><p>omniORB (<a class="ulink" href="http://www.jdom.org/" target="_top">http://omniorb.sourceforge.net/</a>): |
|---|
| 104 |
A C++ implementation of CORBA 2.3, required for the Tweek C++ |
|---|
| 105 |
API.</p></li><li><p>Doozer (<a class="ulink" href="http://sourceforge.net/projects/doozer" target="_top">http://sourceforge.net/projects/doozer</a>): |
|---|
| 106 |
A collection of makefile stubs written for use with GNU Make and |
|---|
| 107 |
intended for simplifying the creation of cross-platform VR Juggler |
|---|
| 108 |
application builds. Version 2.1.4 or newer is needed for building |
|---|
| 109 |
VR Juggler sample applications.</p></li></ul></div><p>The following are fully optional packages that are primarily of |
|---|
| 110 |
interest only to people doing development on the Juggler Suite |
|---|
| 111 |
itself:</p><div class="itemizedlist"><ul type="disc"><li><p>JUnit (<a class="ulink" href="http://www.junit.org/" target="_top">http://www.junit.org/</a>): A unit |
|---|
| 112 |
testing framework for Java.</p></li><li><p>CppUnit (<a class="ulink" href="http://cppunit.sourceforge.net/" target="_top">http://cppunit.sourceforge.net/</a>): |
|---|
| 113 |
A unit testing framework for C++. The Juggler C++ test suties make |
|---|
| 114 |
use of extensions to CppUnit. An extended version of the CppUnit |
|---|
| 115 |
source that includes these extensions can be acquired from the |
|---|
| 116 |
Juggler Subversion repository in the module |
|---|
| 117 |
<code class="literal">cppunit</code>. Refer to <a class="xref" href="#section.cvs.access" title="How to Get the Juggler Suite from Subversion">the section called “How to Get the Juggler Suite from Subversion”</a> for instructions about accessing |
|---|
| 118 |
the Juggler Subversion repository.</p></li></ul></div><p>The third-party dependencies must be downloaded from the sites |
|---|
| 119 |
listed above and installed manually. You may also have to compile one or |
|---|
| 120 |
more of the packages if binary distributions are not available. Which |
|---|
| 121 |
packages you download depends on what you already have installed. Note |
|---|
| 122 |
carefully which packages are needed based on the software you have |
|---|
| 123 |
installed and what versions of tools (such as the JDK) that you |
|---|
| 124 |
download.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.cvs.access"></a>How to Get the Juggler Suite from Subversion</h3></div></div></div><p>You can optionally get the Juggler Project as a source code |
|---|
| 125 |
tarball from the website (<a class="ulink" href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or |
|---|
| 126 |
you can execute the following command from a shell to get the code |
|---|
| 127 |
from our Subversion repository:</p><pre class="screen">svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/trunk juggler |
|---|
| 128 |
</pre></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e250"></a>Downloading Third-Party Dependencies</h3></div></div></div><p>In addition to source the dependencies acquired through |
|---|
| 129 |
Subversion, there are some third-party dependencies that must be |
|---|
| 130 |
installed separately. Remember that no Java code in VR Juggler can be |
|---|
| 131 |
used without the JDK and a working Java version of CORBA.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e255"></a>Boost</h4></div></div></div><p>The minimum required version of Boost, as of this writing, |
|---|
| 132 |
is 1.31.0. The Boost source can be downloaded from <a class="ulink" href="http://www.sf.net/projects/boost/" target="_top">http://www.sf.net/projects/boost/</a>. |
|---|
| 133 |
To compile and install Boost, refer to its installation |
|---|
| 134 |
documentation (<a class="ulink" href="http://www.boost.org/more/getting_started.html#Build_Install" target="_top">http://www.boost.org/more/getting_started.html#Build_Install</a>). |
|---|
| 135 |
Note that you need the command <span class="command"><strong>bjam</strong></span> (referred |
|---|
| 136 |
to as “<span class="quote">boost-jam</span>” on the Boost download page) to |
|---|
| 137 |
build Boost.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Mac OS X users should compile the Boost libraries using |
|---|
| 138 |
the “<span class="quote">darwin</span>” toolset.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e278"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.6.5 or newer. The source |
|---|
| 139 |
and binary distributions for some platforms can be downloaded from |
|---|
| 140 |
<a class="ulink" href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>. |
|---|
| 141 |
If a binary version is not available for your operating system you |
|---|
| 142 |
must compile and install CppDOM yourself. Note that you need SCons |
|---|
| 143 |
(<a class="ulink" href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) |
|---|
| 144 |
to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e289"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.4.12 |
|---|
| 145 |
or newer. The source distribution can be downloaded from <a class="ulink" href="http://www.sf.net/projects/ggt/" target="_top">http://www.sf.net/projects/ggt/</a>. |
|---|
| 146 |
Note that you need SCons (<a class="ulink" href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) |
|---|
| 147 |
to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e300"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR |
|---|
| 148 |
for operating system primitives. On some platforms (IRIX, FreeBSD, |
|---|
| 149 |
Linux, Mac OS X), the use of NSPR is strictly optional. On others |
|---|
| 150 |
(Win32, HP-UX, and Solaris), it is required. Based on your local |
|---|
| 151 |
system, you should decide whether you need NSPR. Binary versions |
|---|
| 152 |
of NSPR can be downloaded from <a class="ulink" href="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases" target="_top">ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases</a>. |
|---|
| 153 |
At this time, we recommend the use of version 4.2 or newer.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e308"></a>Java Developer Kit (also called the J2SE SDK)</h4></div></div></div><p>We make use of the Java programming language in addition to |
|---|
| 154 |
C++. Java is used exclusively for GUIs such as Tweek and VRJConfig |
|---|
| 155 |
(which is a JavaBean that is loaded into Tweek). To compile the |
|---|
| 156 |
Java code, a JDK is necessary. We currently require version 1.4 or |
|---|
| 157 |
newer. The Java Standard Edition can be downloaded from <a class="ulink" href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>. |
|---|
| 158 |
More information can be found at <a class="ulink" href="http://java.sun.com/" target="_top">http://java.sun.com/</a>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e319"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required |
|---|
| 159 |
in order to compile the Tweek C++ API. At this time, the Tweek C++ |
|---|
| 160 |
API is not required for VR Juggler, but this situation will change |
|---|
| 161 |
in the near future. At this time, we primarily use omniORB 4.0.x; |
|---|
| 162 |
omniORB 3.0 is not supported. omniORB can be downloaded from |
|---|
| 163 |
<a class="ulink" href="http://omniorb.sourceforge.net/" target="_top">http://omniorb.sourceforge.net/</a>.</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compile.section"></a>Compiling</h2></div></div></div><p>In this section, we describe how to compile the Juggler Project. |
|---|
| 164 |
We focus on VR Juggler as a whole, but information about some of the |
|---|
| 165 |
individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e332"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It |
|---|
| 166 |
may not be stable, and it may not even compile. Compiling VR Juggler |
|---|
| 167 |
itself can be a little complicated for anyone who does not have some |
|---|
| 168 |
background in using Subversion, Autoconf, C++, and |
|---|
| 169 |
<span class="command"><strong>make</strong></span> or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e343"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of |
|---|
| 170 |
the tools that make up VR Juggler. Each tool compiles to its own |
|---|
| 171 |
library and can be installed individually. (Refer to the |
|---|
| 172 |
<code class="filename">README</code> file in this directory for more |
|---|
| 173 |
information about the specific modules.)</p><p>To build VR Juggler on Windows, you must use the Visual Studio |
|---|
| 174 |
solution. After getting the dependencies needed to compile VR Juggler |
|---|
| 175 |
(see the next section), refer to the <a class="ulink" href="README-WINDOWS.html" target="_top">README-WINDOWS.html</a> file located in |
|---|
| 176 |
this directory. Do not bother to the rest of this document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e356"></a>Per-Module Dependencies</h4></div></div></div><p>Here, we provide per-module dependency information. Given |
|---|
| 177 |
that the dependencies for any single module are met, the modules |
|---|
| 178 |
may be reused effectively outside the scope of immersive VR |
|---|
| 179 |
application development. Below, we list the |
|---|
| 180 |
<span class="emphasis"><em>minimum</em></span> required version for each dependency, |
|---|
| 181 |
and where appropriate, we note which dependencies are |
|---|
| 182 |
optional.</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e364"></a>VPR</h5></div></div></div><p>VPR provides a cross-platform, object-oriented operating |
|---|
| 183 |
system abstraction. It is the foundation for all other Juggler |
|---|
| 184 |
modules.</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM 0.6.6</p></li><li><p>Boost headers and Boost.Filesystem 1.31.0</p></li><li><p>NSPR (Windows, Solaris, and HP-UX only) 4.4</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e379"></a>Tweek C++ API</h5></div></div></div><p>Tweek implements a distributed model/view/controller |
|---|
| 185 |
system on top of CORBA. The Tweek C++ API provides the C++ |
|---|
| 186 |
component of that system. Code written on top of the Tweek C++ |
|---|
| 187 |
API normally acts as the model piece of the distributed |
|---|
| 188 |
model/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>omniORB 4.0</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e391"></a>Tweek Java API</h5></div></div></div><p>Tweek implements a distributed model/view/controller |
|---|
| 189 |
system on top of CORBA. The Tweek Java API provides the Java |
|---|
| 190 |
component of that system. The main part of the Tweek Java API |
|---|
| 191 |
is the Tweek JavaBean Loader, a GUI application that loads |
|---|
| 192 |
Tweek Beans that normally function as the view and controller |
|---|
| 193 |
pieces of the distributed module/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>J2SE SDK 1.4</p></li><li><p>JDOM (included with Juggler source)</p></li><li><p>Ant (included with Juggler source)</p></li><li><p>JacORB IDL-to-Java compiler (included with Juggler |
|---|
| 194 |
source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e409"></a>Tweek Python API</h5></div></div></div><p>Tweek implements a distributed model/view/controller |
|---|
| 195 |
system on top of CORBA. The Tweek Python API provides the |
|---|
| 196 |
Python component of that system. The main part of the Tweek |
|---|
| 197 |
Java API is the <span class="emphasis"><em>unfinished</em></span> TweekQt GUI, an |
|---|
| 198 |
application that loads Python modules that normally function as |
|---|
| 199 |
the view and controller pieces of the distributed |
|---|
| 200 |
module/view/controller system.</p><div class="itemizedlist"><ul type="disc"><li><p>Python 2.3</p></li><li><p>omniORBpy 2.0</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e424"></a>JCCL C++ API</h5></div></div></div><p>The JCCL C++ API provides an interface for loading |
|---|
| 201 |
XML-based configurations. It includes the run-time |
|---|
| 202 |
reconfiguration feature of Juggler.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e433"></a>JCCL Java API</h5></div></div></div><p>The JCCL Java API provides a programming interface for |
|---|
| 203 |
editing Juggler configuration files and config definition files |
|---|
| 204 |
as well as JavaBeans for editing these files using a graphical |
|---|
| 205 |
interface.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li><li><p>TableLayout package (included with Juggler |
|---|
| 206 |
source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e445"></a>JCCL Remote Run-Time Reconfiguration Plug-in |
|---|
| 207 |
(C++)</h5></div></div></div><p>The C++ JCCL Remote Run-Time Reconfiguration Plug-in is |
|---|
| 208 |
an optional extension to the JCCL Config Manager for allowing |
|---|
| 209 |
remote manipulation of a Juggler configuration at run time |
|---|
| 210 |
based on Tweek.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek C++ API</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e454"></a>JCCL Remote Run-Time Reconfiguration Plug-in |
|---|
| 211 |
(Java)</h5></div></div></div><p>The Java JCCL Remote Run-Time Reconfiguration Plug-in is |
|---|
| 212 |
an optional extension that provides the features needed for a |
|---|
| 213 |
Java-based editor to communicate with the C++ Remote Run-Time |
|---|
| 214 |
Reconfiguration Plug-in to edit Juggler configurations |
|---|
| 215 |
live.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e463"></a>Sonix</h5></div></div></div><p>Sonix is an abstraction layer for positional sound |
|---|
| 216 |
software. Sonix itself cannot play audio, but it includes |
|---|
| 217 |
plug-ins based on popular interfaces for playing audio. Each |
|---|
| 218 |
plug-in depends on a specific audio software library.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>GMTL 0.4.12</p></li></ul></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e475"></a>Sonix OpenAL Plug-in</h6></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Sonix</p></li><li><p>OpenAL</p></li><li><p>Free ALUT</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e |
|---|