root/juggler/branches/2.2/INSTALL.html

Revision 19793, 50.6 kB (checked in by patrick, 2 years ago)

Drop support for Visual C++ 7.0. The minimum required compiler version on
Windows is now Visual C++ 7.1 (from .NET 2003).

Approved by: General silence on vrjuggler-devel

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