Changeset 18920

Show
Ignore:
Timestamp:
05/30/06 15:50:29 (2 years ago)
Author:
patrick
Message:

Regen.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • juggler/trunk/INSTALL.html

    r18807 r18920  
    22      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    33   <title>Building and Installing the Juggler Project (Version 
    4       2.1/2.2)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.69.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 
    5       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 Win32 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 CVS</a></span></dt><dt><span class="section"><a href="#d0e218">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="#d0e304">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e315">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      2.1/2.2)</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 
     5      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="#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 CVS</a></span></dt><dt><span class="section"><a href="#d0e218">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="#d0e310">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e321">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 
    66         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 
    77      Project. This is the code that will become VR Juggler 2.2, and it is the 
     
    6868            for free. When configuring the source with 
    6969            <span><strong class="command">configure.pl</strong></span> (described later), use the option 
    70             <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 Win32 Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not 
     70            <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 
    7171         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> 
    7272         the issues concerning noncompliance to the C++ Standard with Visual 
     
    127127            Note that you need the command <span><strong class="command">bjam</strong></span> (referred 
    128128            to as &#8220;<span class="quote">boost-jam</span>&#8221; on the Boost download page) to 
    129             build Boost.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e240"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source 
     129            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 
     130               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="d0e246"></a>CppDOM</h4></div></div></div><p>For XML processing, we use CppDOM 0.3.2 or newer. The source 
    130131            and binary distributions for some platforms can be downloaded from 
    131132            <a href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>. 
     
    133134            must compile and install CppDOM yourself. Note that you need SCons 
    134135            (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 
    135             to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e251"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or 
     136            to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e257"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.3.2 or 
    136137            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>. 
    137138            Note that you need SCons (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 
    138             to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e262"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR 
     139            to build and install GMTL.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e268"></a>Netscape Portable Runtime (NSPR)</h4></div></div></div><p>Our operating system abstraction, VPR, can make use of NSPR 
    139140            for operating system primitives. On some platforms (IRIX, FreeBSD, 
    140141            Linux, Mac OS X), the use of NSPR is strictly optional. On others 
     
    142143            system, you should decide whether you need NSPR. Binary versions 
    143144            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>. 
    144             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="d0e270"></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 
     145            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="d0e276"></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 
    145146            C++. Java is used exclusively for GUIs such as Tweek and VRJConfig 
    146147            (which is a JavaBean that is loaded into Tweek). To compile the 
    147148            Java code, a JDK is necessary. We currently require version 1.4 or 
    148149            newer. The Java Standard Edition can be downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>. 
    149             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="d0e281"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required 
     150            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="d0e287"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required 
    150151            in order to compile the Tweek C++ API. At this time, the Tweek C++ 
    151152            API is not required for VR Juggler, but this situation will change 
     
    159160            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. 
    160161      We focus on VR Juggler as a whole, but information about some of the 
    161       individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e304"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It 
     162      individual components is provided later.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e310"></a>Important Note Regarding Compiling</h3></div></div></div><p>You have downloaded <span class="emphasis"><em>developmental</em></span> code. It 
    162163         may not be stable, and it may not even compile. Compiling VR Juggler 
    163164         itself can be a little complicated for anyone who does not have some 
    164165         background in using CVS, Autoconf, C++, and <span><strong class="command">make</strong></span> 
    165          or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e315"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of 
     166         or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e321"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of 
    166167         the tools that make up VR Juggler. Each tool compiles to its own 
    167168         library and can be installed individually. (Refer to the 
     
    170171         solution. After getting the dependencies needed to compile VR Juggler 
    171172         (see the next section), refer to the <a href="README-WINDOWS.html" target="_top">README-WINDOWS.html</a> file located in 
    172          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="config.vrjuggler.section"></a>Configuring the Juggler Build</h4></div></div></div><p>We now explain the process by which the Juggler build is 
     173         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="d0e334"></a>Per-Module Dependencies</h4></div></div></div><p>Here, we provide per-module dependency information. Given 
     174            that the dependencies for any single module are met, the modules 
     175            may be reused effectively outside the scope of immersive VR 
     176            application development. Below, we list the 
     177            <span class="emphasis"><em>minimum</em></span> required version for each dependency, 
     178            and where appropriate, we note which dependencies are 
     179            optional.</p><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e342"></a>VPR</h5></div></div></div><p>VPR provides a cross-platform, object-oriented operating 
     180               system abstraction. It is the foundation for all other Juggler 
     181               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="d0e357"></a>Tweek C++ API</h5></div></div></div><p>Tweek implements a distributed model/view/controller 
     182               system on top of CORBA. The Tweek C++ API provides the C++ 
     183               component of that system. Code written on top of the Tweek C++ 
     184               API normally acts as the model piece of the distributed 
     185               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="d0e369"></a>Tweek Java API</h5></div></div></div><p>Tweek implements a distributed model/view/controller 
     186               system on top of CORBA. The Tweek Java API provides the Java 
     187               component of that system. The main part of the Tweek Java API 
     188               is the Tweek JavaBean Loader, a GUI application that loads 
     189               Tweek Beans that normally function as the view and controller 
     190               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 
     191                     source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e387"></a>Tweek Python API</h5></div></div></div><p>Tweek implements a distributed model/view/controller 
     192               system on top of CORBA. The Tweek Python API provides the 
     193               Python component of that system. The main part of the Tweek 
     194               Java API is the <span class="emphasis"><em>unfinished</em></span> TweekQt GUI, an 
     195               application that loads Python modules that normally function as 
     196               the view and controller pieces of the distributed 
     197               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="d0e402"></a>JCCL C++ API</h5></div></div></div><p>The JCCL C++ API provides an interface for loading 
     198               XML-based configurations. It includes the run-time 
     199               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="d0e411"></a>JCCL Java API</h5></div></div></div><p>The JCCL Java API provides a programming interface for 
     200               editing Juggler configuration files and config definition files 
     201               as well as JavaBeans for editing these files using a graphical 
     202               interface.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek Java API</p></li><li><p>TableLayout package (included with Juggler 
     203                     source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e423"></a>JCCL Remote Run-Time Reconfiguration Plug-in 
     204               (C++)</h5></div></div></div><p>The C++ JCCL Remote Run-Time Reconfiguration Plug-in is 
     205               an optional extension to the JCCL Config Manager for allowing 
     206               remote manipulation of a Juggler configuration at run time 
     207               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="d0e432"></a>JCCL Remote Run-Time Reconfiguration Plug-in 
     208               (Java)</h5></div></div></div><p>The Java JCCL Remote Run-Time Reconfiguration Plug-in is 
     209               an optional extension that provides the features needed for a 
     210               Java-based editor to communicate with the C++ Remote Run-Time 
     211               Reconfiguration Plug-in to edit Juggler configurations 
     212               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="d0e441"></a>Sonix</h5></div></div></div><p>Sonix is an abstraction layer for positional sound 
     213               software. Sonix itself cannot play audio, but it includes 
     214               plug-ins based on popular interfaces for playing audio. Each 
     215               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="d0e453"></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="d0e466"></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="d0e476"></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="d0e486"></a>Gadgeteer</h5></div></div></div><p>Gadgeteer handles all input devices that can be used by 
     216               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="d0e504"></a>Gadgeteer Device Driver Plug-ins</h5></div></div></div><p>The device driver plug-ins for Gadgeteer are independent 
     217               components that are discovered and used at run time based on 
     218               the application configuration. Drivers with dependencies are 
     219               optional.</p><div class="itemizedlist"><ul type="disc"><li><p>Gadgeteer</p></li><li><p>VRPN 06.06 for the VRPN driver plug-in</p></li><li><p>TrackD API 4 for the TrackD API driver 
     220                     plug-in</p></li><li><p>Microsoft Speech API for the MS Speech API driver 
     221                     plug-in</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e522"></a>Gadgeteer Cluster Plug-ins</h5></div></div></div><p>The cluster plug-ins extend the functionality of the 
     222               clustering infrastructure built into Gadgeteer.</p><div class="itemizedlist"><ul type="disc"><li><p>Gadgeteer</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e531"></a>VR Juggler</h5></div></div></div><p>The VR Juggler module is the unifying piece that pulls 
     223               all the other Juggler modules together. It provides a virtual 
     224               platform for VR application development. Real-time rendering is 
     225               controlled by Draw Managers. The OpenGL Performer Draw Manager 
     226               is optional.</p><div class="itemizedlist"><ul type="disc"><li><p>Gadgeteer</p></li><li><p>Sonix</p></li><li><p>OpenGL</p></li><li><p>OpenGL Performer for the 
     227                     <span class="emphasis"><em>optional</em></span> OpenGL Performer Draw 
     228                     Manager</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e552"></a>VR Juggler Run-Time Performance Monitoring Plug-in 
     229               (C++)</h5></div></div></div><p>The C++ VR Juggler Run-Time Performance Monitoring 
     230               Plug-in provides an optional extension to VR Juggler for remote 
     231               visualization of performance metrics that are captured while 
     232               running a VR Juggler application. Communication is performed 
     233               using the Tweek C++ API on top of CORBA.</p><div class="itemizedlist"><ul type="disc"><li><p>Tweek C++ API</p></li><li><p>VR Juggler</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e564"></a>VR Juggler Run-Time Performance Monitoring Plug-in 
     234               (Java)</h5></div></div></div><p>The Java VR Juggler Run-Time Performance Monitoring 
     235               Plug-in is an optional extension that provides the features 
     236               needed for Java-based visualization of performance data 
     237               collected while a VR Juggler application is running. This is 
     238               another JavaBean handled by the Tweek JavaBean Loader, and it 
     239               uses CORBA to communicate with the C++ VR Juggler Run-Time 
     240               Performance Monitoring Plug-in.</p><div class="itemizedlist"><ul type="disc"><li><p>JCCL Java API</p></li><li><p>JFreeChart (included with Juggler source)</p></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e576"></a>VRJConfig</h5></div></div></div><p>VRJConfig is the graphical editor for Juggler 
     241               configurations. It is a JavaBean loaded by the Tweek JavaBean 
     242               Loader, and it makes use of the editor Beans provided by the 
     243               JCCL Java API.</p><div class="itemizedlist"><ul type="disc"><li><p>JCCL Java API</p></li><li><p>JGraph (included with Juggler source)</p></li></ul></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="config.vrjuggler.section"></a>Configuring the Juggler Build</h4></div></div></div><p>We now explain the process by which the Juggler build is 
    173244            configured. The Juggler Suite makes use of the well-known, widely 
    174245            used GNU tools Autoconf and GNU Make. We provide a wrapper script 
     
    254325               has information on more advanced uses of 
    255326               <span><strong class="command">configure.pl</strong></span> that are beyond the scope of 
    256                this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e497"></a>Using Locally Installed Software</h5></div></div></div><p>As noted in <a href="#source.code.section" title="Getting the Source Code and the Dependencies">the section called &#8220;Getting the Source Code and the Dependencies&#8221;</a>, VR 
     327               this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e757"></a>Using Locally Installed Software</h5></div></div></div><p>As noted in <a href="#source.code.section" title="Getting the Source Code and the Dependencies">the section called &#8220;Getting the Source Code and the Dependencies&#8221;</a>, VR 
    257328               Juggler depends on several external software packages. As an 
    258329               example, consider the case where the GMTL library is installed 
  • juggler/trunk/INSTALL.txt

    r18807 r18920  
    1818        Important Notes for IRIX Users 
    1919 
    20         Important Note for Win32 Users 
     20        Important Note for Windows Users 
    2121 
    2222 
     
    136136 
    137137 
    138 Important Note for Win32 Users 
     138Important Note for Windows Users 
    139139 
    140140 VR Juggler 1.1 and newer use a lot of C++ features not supported by Visual 
     
    242242 
    243243 
     244Important 
     245 
     246 Mac OS X users should compile the Boost libraries using the 
     247 "darwin" toolset. 
     248 
     249 
    244250CppDOM 
    245251 
     
    323329 section), refer to the README-WINDOWS.html file located in this directory. 
    324330 Do not bother to the rest of this document. 
     331 
     332 
     333Per-Module Dependencies 
     334 
     335 Here, we provide per-module dependency information. Given that the 
     336 dependencies for any single module are met, the modules may be reused 
     337 effectively outside the scope of immersive VR application development. 
     338 Below, we list the minimum required version for each dependency, and where 
     339 appropriate, we note which dependencies are optional. 
     340 
     341 
     342VPR 
     343 
     344 VPR provides a cross-platform, object-oriented operating system 
     345 abstraction. It is the foundation for all other Juggler modules. 
     346 
     347 
     348*  CppDOM 0.3.2 
     349 
     350*  Boost headers and Boost.Filesystem 1.31.0 
     351 
     352*  NSPR (Windows, Solaris, and HP-UX only) 4.4 
     353 
     354 
     355 
     356Tweek C++ API 
     357 
     358 Tweek implements a distributed model/view/controller system on top of 
     359 CORBA. The Tweek C++ API provides the C++ component of that system. Code 
     360 written on top of the Tweek C++ API normally acts as the model piece of the 
     361 distributed model/view/controller system. 
     362 
     363 
     364*  VPR 
     365 
     366*  omniORB 4.0 
     367 
     368 
     369 
     370Tweek Java API 
     371 
     372 Tweek implements a distributed model/view/controller system on top of 
     373 CORBA. The Tweek Java API provides the Java component of that system. The 
     374 main part of the Tweek Java API is the Tweek JavaBean Loader, a GUI 
     375 application that loads Tweek Beans that normally function as the view and 
     376 controller pieces of the distributed module/view/controller system. 
     377 
     378 
     379*  J2SE SDK 1.4 
     380 
     381*  JDOM (included with Juggler source) 
     382 
     383*  Ant (included with Juggler source) 
     384 
     385*  JacORB IDL-to-Java compiler (included with Juggler source) 
     386 
     387 
     388 
     389Tweek Python API 
     390 
     391 Tweek implements a distributed model/view/controller system on top of 
     392 CORBA. The Tweek Python API provides the Python component of that system. 
     393 The main part of the Tweek Java API is the unfinished TweekQt GUI, an 
     394 application that loads Python modules that normally function as the view 
     395 and controller pieces of the distributed module/view/controller system. 
     396 
     397 
     398*  Python 2.3 
     399 
     400*  omniORBpy 2.0 
     401 
     402 
     403 
     404JCCL C++ API 
     405 
     406 The JCCL C++ API provides an interface for loading XML-based 
     407 configurations. It includes the run-time reconfiguration feature of 
     408 Juggler. 
     409 
     410 
     411*  VPR 
     412 
     413 
     414 
     415JCCL Java API 
     416 
     417 The JCCL Java API provides a programming interface for editing Juggler 
     418 configuration files and config definition files as well as JavaBeans for 
     419 editing these files using a graphical interface. 
     420 
     421 
     422*  Tweek Java API 
     423 
     424*  TableLayout package (included with Juggler source) 
     425 
     426 
     427 
     428JCCL Remote Run-Time Reconfiguration Plug-in (C++) 
     429 
     430 The C++ JCCL Remote Run-Time Reconfiguration Plug-in is an optional 
     431 extension to the JCCL Config Manager for allowing remote manipulation of a 
     432 Juggler configuration at run time based on Tweek. 
     433 
     434 
     435*  Tweek C++ API 
     436 
     437 
     438 
     439JCCL Remote Run-Time Reconfiguration Plug-in (Java) 
     440 
     441 The Java JCCL Remote Run-Time Reconfiguration Plug-in is an optional 
     442 extension that provides the features needed for a Java-based editor to 
     443 communicate with the C++ Remote Run-Time Reconfiguration Plug-in to edit 
     444 Juggler configurations live. 
     445 
     446 
     447*  Tweek Java API 
     448 
     449 
     450 
     451Sonix 
     452 
     453 Sonix is an abstraction layer for positional sound software. Sonix itself 
     454 cannot play audio, but it includes plug-ins based on popular interfaces for 
     455 playing audio. Each plug-in depends on a specific audio software library. 
     456 
     457 
     458*  VPR 
     459 
     460*  GMTL 0.1.9 
     461 
     462 
     463 
     464Sonix OpenAL Plug-in 
     465 
     466 
     467*  Sonix 
     468 
     469*  OpenAL 
     470 
     471*  Free ALUT 
     472 
     473 
     474 
     475Sonix Audiere Plug-in 
     476 
     477 
     478*  Sonix 
     479 
     480*  Audiere 
     481 
     482 
     483 
     484Sonix AudioWorks Plug-in 
     485 
     486 
     487*  Sonix 
     488 
     489*  AudioWorks 
     490 
     491 
     492 
     493Gadgeteer 
     494 
     495 Gadgeteer handles all input devices that can be used by VR Juggler 
     496 applications. 
     497 
     498 
     499*  VPR 
     500 
     501*  JCCL 
     502 
     503*  GMTL 0.1.9 
     504 
     505*  X Window System (non-Windows platforms) 
     506 
     507 
     508 
     509Gadgeteer Device Driver Plug-ins 
     510 
     511 The device driver plug-ins for Gadgeteer are independent components that 
     512 are discovered and used at run time based on the application configuration. 
     513 Drivers with dependencies are optional. 
     514 
     515 
     516*  Gadgeteer 
     517 
     518*  VRPN 06.06 for the VRPN driver plug-in 
     519 
     520*  TrackD API 4 for the TrackD API driver plug-in 
     521 
     522*  Microsoft Speech API for the MS Speech API driver plug-in 
     523 
     524 
     525 
     526Gadgeteer Cluster Plug-ins 
     527 
     528 The cluster plug-ins extend the functionality of the clustering 
     529 infrastructure built into Gadgeteer. 
     530 
     531 
     532*  Gadgeteer 
     533 
     534 
     535 
     536VR Juggler 
     537 
     538 The VR Juggler module is the unifying piece that pulls all the other 
     539 Juggler modules together. It provides a virtual platform for VR application 
     540 development. Real-time rendering is controlled by Draw Managers. The OpenGL 
     541 Performer Draw Manager is optional. 
     542 
     543 
     544*  Gadgeteer 
     545 
     546*  Sonix 
     547 
     548*  OpenGL 
     549 
     550*  OpenGL Performer for the optional OpenGL Performer Draw Manager 
     551 
     552 
     553 
     554VR Juggler Run-Time Performance Monitoring Plug-in (C++) 
     555 
     556 The C++ VR Juggler Run-Time Performance Monitoring Plug-in provides an 
     557 optional extension to VR Juggler for remote visualization of performance 
     558 metrics that are captured while running a VR Juggler application. 
     559 Communication is performed using the Tweek C++ API on top of CORBA. 
     560 
     561 
     562*  Tweek C++ API 
     563 
     564*  VR Juggler 
     565 
     566 
     567 
     568VR Juggler Run-Time Performance Monitoring Plug-in (Java) 
     569 
     570 The Java VR Juggler Run-Time Performance Monitoring Plug-in is an optional 
     571 extension that provides the features needed for Java-based visualization of 
     572 performance data collected while a VR Juggler application is running. This 
     573 is another JavaBean handled by the Tweek JavaBean Loader, and it uses CORBA 
     574 to communicate with the C++ VR Juggler Run-Time Performance Monitoring 
     575 Plug-in. 
     576 
     577 
     578*  JCCL Java API 
     579 
     580*  JFreeChart (included with Juggler source) 
     581 
     582 
     583 
     584VRJConfig 
     585 
     586 VRJConfig is the graphical editor for Juggler configurations. It is a 
     587 JavaBean loaded by the Tweek JavaBean Loader, and it makes use of the 
     588 editor Beans provided by the JCCL Java API. 
     589 
     590 
     591*  JCCL Java API 
     592 
     593*  JGraph (included with Juggler source) 
     594 
    325595 
    326596