root/juggler/tags/2.0.4/INSTALL.html

Revision 19201, 46.7 kB (checked in by patrick, 2 years ago)

Regen.

  • 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.0)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.70.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 2.0)</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="#d0e30">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e114">Important Note for Windows Users</a></span></dt></dl></dd><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="#d0e216">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="#d0e308">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e319">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.0 of the Juggler
5       Project. This document explains how to build the modules of the Juggler
6       Project from the source code. We begin by explaining some issues related
7       to specific operating systems. We then explain how to get the source
8       code from our Subversion repository. (Those users who downloaded a
9       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
10       to build VR Juggler and its individual components.</p><p>Before reading further, we recommend that readers take a look at
11       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>).
12       It is a <span class="emphasis"><em>supplement</em></span> to this document containing tips
13       and reminders for those users building the SVN version of VR Juggler. It
14       is not a replacement for this document, nor can it stand on its own as
15       build instructions. You are reading the definitive build instructions;
16       the Wiki page merely provides informal, extra information.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e30"></a>Important Notes for IRIX Users</h3></div></div></div><p>Despite our best efforts, there are some issues related to
17          compiling the Juggler Project on IRIX. We introduce them in this
18          section and explain how to work around them.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e35"></a>Perl Version</h4></div></div></div><p>There are many Perl scripts used as part of getting,
19             configuring, and building the Juggler Suite of tools. In
20             particular, two scripts required for compiling need Perl 5.005 or
21             newer. The version of Perl that ships with IRIX 6.5 is very old
22             (circa 1997) and does not work with many Perl scripts we have
23             written. SGI provides a much newer version of Perl (5.6.1) with
24             their freeware tools (<a href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>).
25             It will be necessary to install that version for our scripts to
26             work. This version is typically installed as
27             <code class="filename">/usr/freeware/bin/perl</code>.</p><p>Once you have a modern Perl installed, you can run various
28             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
29             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.
30 BEGIN failed--compilation aborted at ./configure.pl line 35.</pre><p>Furthermore, it is highly recommended that the
31             <code class="option">--with-perl</code> argument be passed to
32             <span><strong class="command">configure.pl</strong></span>. This argument gives all the
33             Autoconf-based configure scripts a hint about where the preferred
34             version of Perl lives. If using
35             <code class="filename">/usr/freeware/bin/perl</code> to run
36             <span><strong class="command">configure.pl</strong></span>, we recommend that the
37             <span><strong class="command">configure.pl</strong></span> command line appear similar to the
38             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
39             the <span class="emphasis"><em>directory</em></span> where the
40             <span><strong class="command">perl</strong></span> executable can be found. The configure
41             scripts will add this directory to the front of the search path
42             when trying to find a suitable <span><strong class="command">perl</strong></span> executable.
43             Once it is found, all the Perl scripts used for configuration,
44             compilation, and installation will use that executable.</p><p>To simplify command execution somewhat, it can help to have
45             <code class="filename">/usr/freeware/bin</code> (or whatever path is
46             appropriate) in your path before <code class="filename">/bin</code> or
47             <code class="filename">/usr/bin</code> or any of the other myriad
48             directories where Perl might exist on IRIX. In such a situation,
49             none of the above extra steps should be necessary. The correct
50             version of Perl will be found simply by virtue of it being early
51             in your path.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e98"></a>MIPSpro Compiler Version</h4></div></div></div><p>Reports have been made on the VR Juggler mailing list
52             regarding compile failures (including segmentation faults within
53             the compiler) occur when using the MIPSpro Compilers Version
54             7.3.1.1m. We have found upgrading to Version 7.3.1.3m (or newer)
55             fixes the problems.</p><p>A new feature of VR Juggler 1.1 and newer is support for GCC
56             on IRIX. Users who do not have MIPSpro or cannot upgrade can
57             compile and run VR Juggler (without OpenGL Performer support)
58             using the version of GCC distributed by SGI. It can be downloaded
59             from <a href="http://freeware.sgi.com/index-by-alpha.html" target="_top">http://freeware.sgi.com/index-by-alpha.html</a>
60             for free. When configuring the source with
61             <span><strong class="command">configure.pl</strong></span> (described later), use the option
62             <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e114"></a>Important Note for Windows Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not
63          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>
64          the issues concerning noncompliance to the C++ Standard with Visual
65          Studio 6.0, and it appears that they have no plans to fix these
66          problems. Therefore, we require the use of Visual Studio 7.x (.NET
67          2002 or 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="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
68       code and the dependencies required to build Juggler. There are two ways
69       to get the source code: from a pre-packaged source release archive or
70       from the Subversion repository on RealityForge. If you got the code from
71       a pre-packaged source archive, that code is a complete
72       &#8220;<span class="quote">snapshot</span>&#8221; of the Subversion repository at the time of
73       release. It contains all dependencies that would otherwise have been
74       acquired using Subversion. It <span class="emphasis"><em>does not</em></span> contain
75       binary dependencies that must be downloaded separately (such as NSPR,
76       the Java Developer Kit, a C++ compiler, etc.).</p><p>The current list of <span class="emphasis"><em>required</em></span> software
77       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>):
78             A lightweight, easy-to-use XML parser written in C++. CppDOM must
79             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++
80             library providing many powerful utility classes and libraries.
81             Boost must be compiled and installed for use with VR
82             Juggler.</p></li><li><p>GMTL (<a href="http://ggt.sourceforge.net/" target="_top">http://ggt.sf.net/</a>): A
83             generic math library that makes use of C++ templates and STL
84             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>
85       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>):
86             The Netscape Portable Runtime, which can be used by VPR for
87             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
88             SDK (or JDK) is used to compile all the Java code used in the
89             Juggler Project. Without it, none of the Java code can be built.
90             We require version 1.4 or newer. The Java Standard Edition (J2SE)
91             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>):
92             A C++ implementation of CORBA 2.3, required for the Tweek C++
93             API.</p></li></ul></div><p>The following are fully optional packages that are primarily of
94       interest only to people doing development on the Juggler Suite
95       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
96             testing framework for Java.</p></li><li><p>CppUnit (<a href="http://cppunit.sourceforge.net/" target="_top">http://cppunit.sourceforge.net/</a>):
97             A unit testing framework for C++. The Juggler C++ test suties make
98             use of extensions to CppUnit. An extended version of the CppUnit
99             source that includes these extensions can be acquired from the
100             Juggler Subversion repository in the module
101             <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
102             the Juggler Subversion repository.</p></li></ul></div><p>The third-party dependencies must be downloaded from the sites
103       listed above and installed manually. You may also have to compile one or
104       more of the packages if binary distributions are not available. Which
105       packages you download depends on what you already have installed. Note
106       carefully which packages are needed based on the software you have
107       installed and what versions of tools (such as the JDK) that you
108       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
109          tarball from the website (<a href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or
110          you can execute the following command from a shell to get the code
111          from our Subversion repository:</p><pre class="screen">svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/branches/2.0 juggler
112 </pre></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e216"></a>Downloading Third-Party Dependencies</h3></div></div></div><p>In addition to source the dependencies acquired through
113          Subversion, there are some third-party dependencies that must be
114          installed separately. Remember that no Java code in VR Juggler can be
115          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="d0e221"></a>Boost</h4></div></div></div><p>The minimum required version of Boost, as of this writing,
116             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>.
117             To compile and install Boost, refer to its installation
118             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>).
119             Note that you need the command <span><strong class="command">bjam</strong></span> (referred
120             to as &#8220;<span class="quote">boost-jam</span>&#8221; on the Boost download page) to
121             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
122                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="d0e244"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source
123             and binary distributions for some platforms can be downloaded from
124             <a href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>.
125             If a binary version is not available for your operating system you
126             must compile and install CppDOM yourself. Note that you need SCons
127             (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
128             to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e255"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or
129             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>.
130             Note that you need SCons (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>)
131             to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e266"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR
132             for operating system primitives. On some platforms (IRIX, FreeBSD,
133             Linux, Mac OS X), the use of NSPR is strictly optional. On others
134             (Win32, HP-UX, and Solaris), it is required. Based on your local
135             system, you should decide whether you need NSPR. Binary versions
136             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>.
137             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="d0e274"></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
138             C++. Java is used exclusively for GUIs such as Tweek and VRJConfig
139             (which is a JavaBean that is loaded into Tweek). To compile the
140             Java code, a JDK is necessary. We currently require version 1.4 or
141             newer. The Java Standard Edition can be downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.
142             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="d0e285"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required
143             in order to compile the Tweek C++ API. At this time, the Tweek C++
144             API is not required for VR Juggler, but this situation will change
145             in the near future. At this time, we primarily use omniORB 4.0.x.
146             omniORB can be downloaded from <a href="http://omniorb.sourceforge.net/" target="_top">http://omniorb.sourceforge.net/</a>.</p><p>omniORB 3.0 has strange conventions for how installations
147             are made. Within the <code class="filename">bin</code> and
148             <code class="filename">lib</code> directories, there are platform-specific
149             subdirectories that contain the actual binaries (except when
150             installed on FreeBSD via the Ports Collection). Because of this,
151             several extra options must be specified in order to tell the Tweek
152             configure script where to find everything. Please refer to <a href="#tweek.build.section" title="Tweek">the section called &#8220;Tweek&#8221;</a> for more details on this.</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.
153       We focus on VR Juggler as a whole, but information about some of the
154       individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e308"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It
155          may not be stable, and it may not even compile. Compiling VR Juggler
156          itself can be a little complicated for anyone who does not have some
157          background in using Subversion, Autoconf, C++, and
158          <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="d0e319"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of
159          the tools that make up VR Juggler. Each tool compiles to its own
160          library and can be installed individually. (Refer to the
161          <code class="filename">README</code> file in this directory for more
162          information about the specific modules.)</p><p>To build VR Juggler on Windows, you must use the Visual Studio
163          solution. After getting the dependencies needed to compile VR Juggler
164          (see the next section), refer to the <a href="vc7/README.html" target="_top">README.html</a> file located in the
165          <code class="filename">vc7</code> subdirectory of this directory. Do not
166          bother to the rest of this document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e335"></a>Per-Module Dependencies</h4></div></div></div><p>Here, we provide per-module dependency information. Given
167             that the dependencies for any single module are met, the modules
168             may be reused effectively outside the scope of immersive VR
169             application development. Below, we list the
170             <span class="emphasis"><em>minimum</em></span> required version for each dependency,
171             and where appropriate, we note which dependencies are
172             optional.</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e343"></a>VPR</h5></div></div></div><p>VPR provides a cross-platform, object-oriented operating
173                system abstraction. It is the foundation for all other Juggler
174                modules.</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM 0.3.2</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="d0e358"></a>Tweek C++ API</h5></div></div></div><p>Tweek implements a distributed model/view/controller
175                system on top of CORBA. The Tweek C++ API provides the C++
176                component of that system. Code written on top of the Tweek C++
177                API normally acts as the model piece of the distributed
178                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="d0e370"></a>Tweek Java API</h5></div></div></div><p>Tweek implements a distributed model/view/controller
179                system on top of CORBA. The Tweek Java API provides the Java
180                component of that system. The main part of the Tweek Java API
181                is the Tweek JavaBean Loader, a GUI application that loads
182                Tweek Beans that normally function as the view and controller
183                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
184                      source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e388"></a>Tweek Python API</h5></div></div></div><p>Tweek implements a distributed model/view/controller
185                system on top of CORBA. The Tweek Python API provides the
186                Python component of that system. The main part of the Tweek
187                Java API is the <span class="emphasis"><em>unfinished</em></span> TweekQt GUI, an
188                application that loads Python modules that normally function as
189                the view and controller pieces of the distributed
190                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="d0e403"></a>JCCL C++ API</h5></div></div></div><p>The JCCL C++ API provides an interface for loading
191                XML-based configurations. It includes the run-time
192                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="d0e412"></a>JCCL Java API</h5></div></div></div><p>The JCCL Java API provides a programming interface for
193                editing Juggler configuration files and config definition files
194                as well as JavaBeans for editing these files using a graphical
195                interface.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li><li><p>TableLayout package (included with Juggler
196                      source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e424"></a>JCCL Remote Run-Time Reconfiguration Plug-in
197                (C++)</h5></div></div></div><p>The C++ JCCL Remote Run-Time Reconfiguration Plug-in is
198                an optional extension to the JCCL Config Manager for allowing
199                remote manipulation of a Juggler configuration at run time
200                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="d0e433"></a>JCCL Remote Run-Time Reconfiguration Plug-in
201                (Java)</h5></div></div></div><p>The Java JCCL Remote Run-Time Reconfiguration Plug-in is
202                an optional extension that provides the features needed for a
203                Java-based editor to communicate with the C++ Remote Run-Time
204                Reconfiguration Plug-in to edit Juggler configurations
205                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="d0e442"></a>Sonix</h5></div></div></div><p>Sonix is an abstraction layer for positional sound
206                software. Sonix itself cannot play audio, but it includes
207                plug-ins based on popular interfaces for playing audio. Each
208                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.1.9</p></li></ul></div><div class="section" lang="en"><div class="titlepage"><div><div><h6 class="title"><a name="d0e454"></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="d0e467"></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="d0e477"></a>Sonix AudioWorks Plug-in</h6></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>Sonix</p></li><li><p>AudioWorks</p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e487"></a>Gadgeteer</h5></div></div></div><p>Gadgeteer handles all input devices that can be used by
209                VR Juggler applications.</p><div class="itemizedlist"><ul type="disc"><li><p>VPR</p></li><li><p>JCCL</p></li><li><p>GMTL 0.1.9</p></li><li><p>X Window System (non-Windows platforms)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e505"></a>Gadgeteer Device Driver Plug-ins</h5></div></div></div><p>The device driver plug-ins for Gadgeteer are independent
210                components that are discovered and used at run time based on
211                the application configuration. Drivers with dependencies are
212                optional.</p><div class="itemizedlist">