Changeset 20738

Show
Ignore:
Timestamp:
08/21/07 19:55:06 (1 year ago)
Author:
patrick
Message:

Updated for SPROC removal.

Files:

Legend:

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

    r19949 r20738  
    11<html><head> 
    22      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    3    <title>Building and Installing the Juggler Project (Version 2.3)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.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 2.3)</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 
     3   <title>Building and Installing the Juggler Project (Version 2.3)</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.0"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1"></a>Building and Installing the Juggler Project (Version 2.3)</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e32">Important Notes for IRIX Users</a></span></dt><dt><span class="section"><a href="#d0e116">Important Note for Windows Users</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e124">Build Tools</a></span></dt><dt><span class="section"><a href="#source.code.section">Getting the Source Code and the Dependencies</a></span></dt><dd><dl><dt><span class="section"><a href="#section.cvs.access">How to Get the Juggler Suite from Subversion</a></span></dt><dt><span class="section"><a href="#d0e250">Downloading Third-Party Dependencies</a></span></dt></dl></dd><dt><span class="section"><a href="#compile.section">Compiling</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e332">Important Note Regarding Compiling</a></span></dt><dt><span class="section"><a href="#d0e343">Compiling the Juggler Suite of Tools</a></span></dt><dt><span class="section"><a href="#compile.individual.section">Tips for Compiling Individual Tools in the Juggler 
    44         Suite</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e15"></a>Introduction</h2></div></div></div><p>You have downloaded the source code for Version 2.3 of the Juggler 
    5       Project. This is the code that will become VR Juggler 2.4, and it is the 
    6       code that is used to create the VR juggler 2.4 pre-releases. Please be 
     5      Project. This is the code that will become VR Juggler 3.0, and it is the 
     6      code that is used to create the VR Juggler 3.0 pre-releases. Please be 
    77      aware that this code represents a work in progress, and if you acquired 
    88      it directly from Subversion rather than using a pre-packaged source code 
     
    1212      to specific operating systems. We then explain how to get the source 
    1313      code from our Subversion repository. (Those users who downloaded a 
    14       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 
     14      pre-packaged source release can skip ahead to <a class="xref" href="#using.configure.pl" title="Using configure.pl">the section called &#8220;Using <span class="command"><strong>configure.pl</strong></span>&#8221;</a>). We conclude with instructions on how 
    1515      to build VR Juggler and its individual components.</p><p>Before reading further, we recommend that readers take a look at 
    16       the Wiki page relating to building from source (<a href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn</a>). 
     16      the Wiki page relating to building from source (<a class="ulink" href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn</a>). 
    1717      It is a <span class="emphasis"><em>supplement</em></span> to this document containing tips 
    1818      and reminders for those users building the SVN version of VR Juggler. It 
     
    2727            (circa 1997) and does not work with many Perl scripts we have 
    2828            written. SGI provides a much newer version of Perl (5.6.1) with 
    29             their freeware tools (<a href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>). 
     29            their freeware tools (<a class="ulink" href="http://freeware.sgi.com/" target="_top">http://freeware.sgi.com/</a>). 
    3030            It will be necessary to install that version for our scripts to 
    3131            work. This version is typically installed as 
     
    3535BEGIN failed--compilation aborted at ./configure.pl line 35.</pre><p>Furthermore, it is highly recommended that the 
    3636            <code class="option">--with-perl</code> argument be passed to 
    37             <span><strong class="command">configure.pl</strong></span>. This argument gives all the 
     37            <span class="command"><strong>configure.pl</strong></span>. This argument gives all the 
    3838            Autoconf-based configure scripts a hint about where the preferred 
    3939            version of Perl lives. If using 
    4040            <code class="filename">/usr/freeware/bin/perl</code> to run 
    41             <span><strong class="command">configure.pl</strong></span>, we recommend that the 
    42             <span><strong class="command">configure.pl</strong></span> command line appear similar to the 
     41            <span class="command"><strong>configure.pl</strong></span>, we recommend that the 
     42            <span class="command"><strong>configure.pl</strong></span> command line appear similar to the 
    4343            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 
    4444            the <span class="emphasis"><em>directory</em></span> where the 
    45             <span><strong class="command">perl</strong></span> executable can be found. The configure 
     45            <span class="command"><strong>perl</strong></span> executable can be found. The configure 
    4646            scripts will add this directory to the front of the search path 
    47             when trying to find a suitable <span><strong class="command">perl</strong></span> executable. 
     47            when trying to find a suitable <span class="command"><strong>perl</strong></span> executable. 
    4848            Once it is found, all the Perl scripts used for configuration, 
    4949            compilation, and installation will use that executable.</p><p>To simplify command execution somewhat, it can help to have 
     
    6262            compile and run VR Juggler (without OpenGL Performer support) 
    6363            using the version of GCC distributed by SGI. It can be downloaded 
    64             from <a href="http://freeware.sgi.com/index-by-alpha.html" target="_top">http://freeware.sgi.com/index-by-alpha.html</a> 
     64            from <a class="ulink" href="http://freeware.sgi.com/index-by-alpha.html" target="_top">http://freeware.sgi.com/index-by-alpha.html</a> 
    6565            for free. When configuring the source with 
    66             <span><strong class="command">configure.pl</strong></span> (described later), use the option 
     66            <span class="command"><strong>configure.pl</strong></span> (described later), use the option 
    6767            <code class="option">--with-gcc</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e116"></a>Important Note for Windows Users</h3></div></div></div><p>VR Juggler 1.1 and newer use a lot of C++ features not 
    68          supported by Visual Studio 6.0. Microsoft <a 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> 
     68         supported by Visual Studio 6.0. Microsoft <a class="ulink" href="http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q243/4/51.asp&amp;NoWebContent=1" target="_top">acknowledges</a> 
    6969         the issues concerning noncompliance to the C++ Standard with Visual 
    7070         Studio 6.0, and it appears that they have no plans to fix these 
     
    7373      required. This means that, in addition to a C++ compiler (e.g., GCC), 
    7474      the following packages must be installed in order to compile VR 
    75       Juggler:</p><div class="itemizedlist"><ul type="disc"><li><p>GNU Make 3.79 or newer</p></li><li><p>GNU Autoconf 2.53 or newer</p></li><li><p>GNU Automake 1.8 or newer</p></li></ul></div><p>Additionally, VR Juggler 2.1 and beyond require the <a href="https://realityforge.vrsource.org/view/FlagPoll/" target="_top">Flagpoll</a> 
     75      Juggler:</p><div class="itemizedlist"><ul type="disc"><li><p>GNU Make 3.79 or newer</p></li><li><p>GNU Autoconf 2.53 or newer</p></li><li><p>GNU Automake 1.8 or newer</p></li></ul></div><p>Additionally, VR Juggler 2.1 and beyond require the <a class="ulink" href="https://realityforge.vrsource.org/view/FlagPoll/" target="_top">Flagpoll</a> 
    7676      software tool. As of this writing, the minimum required version is 
    7777      0.8.1. It is recommended that all of these tools be installed in either 
     
    8787      binary dependencies that must be downloaded separately (such as NSPR, 
    8888      the Java Developer Kit, a C++ compiler, etc.).</p><p>The current list of <span class="emphasis"><em>required</em></span> software 
    89       packages is as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM (<a href="http://www.sourceforge.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>): 
     89      packages is as follows:</p><div class="itemizedlist"><ul type="disc"><li><p>CppDOM (<a class="ulink" href="http://www.sourceforge.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>): 
    9090            A lightweight, easy-to-use XML parser written in C++. CppDOM must 
    91             be compiled and installed for use with VR Juggler.</p></li><li><p>Boost (<a href="http://www.boost.org/" target="_top">http://www.boost.org/</a>): A C++ 
     91            be compiled and installed for use with VR Juggler.</p></li><li><p>Boost (<a class="ulink" href="http://www.boost.org/" target="_top">http://www.boost.org/</a>): A C++ 
    9292            library providing many powerful utility classes and libraries. 
    9393            Boost must be compiled and installed for use with VR 
    94             Juggler.</p></li><li><p>GMTL (<a href="http://ggt.sourceforge.net/" target="_top">http://ggt.sf.net/</a>): A 
     94            Juggler.</p></li><li><p>GMTL (<a class="ulink" href="http://ggt.sourceforge.net/" target="_top">http://ggt.sf.net/</a>): A 
    9595            generic math library that makes use of C++ templates and STL 
    9696            paradigms. GMTL must be installed for use with VR Juggler.</p></li></ul></div><p>The following lists <span class="emphasis"><em>semi-optional</em></span> 
    97       packages:</p><div class="itemizedlist"><ul type="disc"><li><p>NSPR (<a href="http://www.mozilla.org/projects/nspr/" target="_top">http://www.mozilla.org/projects/nspr/</a>): 
     97      packages:</p><div class="itemizedlist"><ul type="disc"><li><p>NSPR (<a class="ulink" href="http://www.mozilla.org/projects/nspr/" target="_top">http://www.mozilla.org/projects/nspr/</a>): 
    9898            The Netscape Portable Runtime, which can be used by VPR for 
    99             threading and sockets (required on Win32 and Solaris).</p></li><li><p>Java Developer Kit (<a href="http://java.sun.com/" target="_top">http://java.sun.com/</a>): The J2SE 
     99            threading and sockets (required on Win32 and Solaris).</p></li><li><p>Java Developer Kit (<a class="ulink" href="http://java.sun.com/" target="_top">http://java.sun.com/</a>): The J2SE 
    100100            SDK (or JDK) is used to compile all the Java code used in the 
    101101            Juggler Project. Without it, none of the Java code can be built. 
    102102            We require version 1.4 or newer. The Java Standard Edition (J2SE) 
    103             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>): 
     103            can be downloaded from <a class="ulink" href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>.</p></li><li><p>omniORB (<a class="ulink" href="http://www.jdom.org/" target="_top">http://omniorb.sourceforge.net/</a>): 
    104104            A C++ implementation of CORBA 2.3, required for the Tweek C++ 
    105             API.</p></li><li><p>Doozer (<a href="http://sourceforge.net/projects/doozer" target="_top">http://sourceforge.net/projects/doozer</a>): 
     105            API.</p></li><li><p>Doozer (<a class="ulink" href="http://sourceforge.net/projects/doozer" target="_top">http://sourceforge.net/projects/doozer</a>): 
    106106            A collection of makefile stubs written for use with GNU Make and 
    107107            intended for simplifying the creation of cross-platform VR Juggler 
     
    109109            VR Juggler sample applications.</p></li></ul></div><p>The following are fully optional packages that are primarily of 
    110110      interest only to people doing development on the Juggler Suite 
    111       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 
    112             testing framework for Java.</p></li><li><p>CppUnit (<a href="http://cppunit.sourceforge.net/" target="_top">http://cppunit.sourceforge.net/</a>): 
     111      itself:</p><div class="itemizedlist"><ul type="disc"><li><p>JUnit (<a class="ulink" href="http://www.junit.org/" target="_top">http://www.junit.org/</a>): A unit 
     112            testing framework for Java.</p></li><li><p>CppUnit (<a class="ulink" href="http://cppunit.sourceforge.net/" target="_top">http://cppunit.sourceforge.net/</a>): 
    113113            A unit testing framework for C++. The Juggler C++ test suties make 
    114114            use of extensions to CppUnit. An extended version of the CppUnit 
    115115            source that includes these extensions can be acquired from the 
    116116            Juggler Subversion repository in the module 
    117             <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 
     117            <code class="literal">cppunit</code>. Refer to <a class="xref" href="#section.cvs.access" title="How to Get the Juggler Suite from Subversion">the section called &#8220;How to Get the Juggler Suite from Subversion&#8221;</a> for instructions about accessing 
    118118            the Juggler Subversion repository.</p></li></ul></div><p>The third-party dependencies must be downloaded from the sites 
    119119      listed above and installed manually. You may also have to compile one or 
     
    123123      installed and what versions of tools (such as the JDK) that you 
    124124      download.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="section.cvs.access"></a>How to Get the Juggler Suite from Subversion</h3></div></div></div><p>You can optionally get the Juggler Project as a source code 
    125          tarball from the website (<a href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or 
     125         tarball from the website (<a class="ulink" href="http://www.vrjuggler.org/" target="_top">http://www.vrjuggler.org/</a>) or 
    126126         you can execute the following command from a shell to get the code 
    127127         from our Subversion repository:</p><pre class="screen">svn co https://realityforge.vrsource.org/svn/vrjuggler/juggler/trunk juggler 
     
    130130         installed separately. Remember that no Java code in VR Juggler can be 
    131131         used without the JDK and a working Java version of CORBA.</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e255"></a>Boost</h4></div></div></div><p>The minimum required version of Boost, as of this writing, 
    132             is 1.31.0. The Boost source can be downloaded from <a href="http://www.sf.net/projects/boost/" target="_top">http://www.sf.net/projects/boost/</a>. 
     132            is 1.31.0. The Boost source can be downloaded from <a class="ulink" href="http://www.sf.net/projects/boost/" target="_top">http://www.sf.net/projects/boost/</a>. 
    133133            To compile and install Boost, refer to its installation 
    134             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>). 
    135             Note that you need the command <span><strong class="command">bjam</strong></span> (referred 
     134            documentation (<a class="ulink" href="http://www.boost.org/more/getting_started.html#Build_Install" target="_top">http://www.boost.org/more/getting_started.html#Build_Install</a>). 
     135            Note that you need the command <span class="command"><strong>bjam</strong></span> (referred 
    136136            to as &#8220;<span class="quote">boost-jam</span>&#8221; on the Boost download page) to 
    137137            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 
    138138               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 
    139139            and binary distributions for some platforms can be downloaded from 
    140             <a href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>. 
     140            <a class="ulink" href="http://www.sf.net/projects/xml-cppdom/" target="_top">http://www.sf.net/projects/xml-cppdom/</a>. 
    141141            If a binary version is not available for your operating system you 
    142142            must compile and install CppDOM yourself. Note that you need SCons 
    143             (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 
     143            (<a class="ulink" href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 
    144144            to build and install CppDOM.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e289"></a>GMTL</h4></div></div></div><p>For high-level mathematical operations, we use GMTL 0.4.12 
    145             or newer. The source distribution can be downloaded from <a href="http://www.sf.net/projects/ggt/" target="_top">http://www.sf.net/projects/ggt/</a>. 
    146             Note that you need SCons (<a href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 
     145            or newer. The source distribution can be downloaded from <a class="ulink" href="http://www.sf.net/projects/ggt/" target="_top">http://www.sf.net/projects/ggt/</a>. 
     146            Note that you need SCons (<a class="ulink" href="http://scons.sourceforge.net/" target="_top">http://scons.sourceforge.net/</a>) 
    147147            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 
    148148            for operating system primitives. On some platforms (IRIX, FreeBSD, 
     
    150150            (Win32, HP-UX, and Solaris), it is required. Based on your local 
    151151            system, you should decide whether you need NSPR. Binary versions 
    152             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>. 
     152            of NSPR can be downloaded from <a class="ulink" href="ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases" target="_top">ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases</a>. 
    153153            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 
    154154            C++. Java is used exclusively for GUIs such as Tweek and VRJConfig 
    155155            (which is a JavaBean that is loaded into Tweek). To compile the 
    156156            Java code, a JDK is necessary. We currently require version 1.4 or 
    157             newer. The Java Standard Edition can be downloaded from <a href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>. 
    158             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 
     157            newer. The Java Standard Edition can be downloaded from <a class="ulink" href="http://java.sun.com/j2se/" target="_top">http://java.sun.com/j2se/</a>. 
     158            More information can be found at <a class="ulink" href="http://java.sun.com/" target="_top">http://java.sun.com/</a>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e319"></a>omniORB</h4></div></div></div><p>omniORB is a C++ implementation of CORBA 2.3. It is required 
    159159            in order to compile the Tweek C++ API. At this time, the Tweek C++ 
    160160            API is not required for VR Juggler, but this situation will change 
    161161            in the near future. At this time, we primarily use omniORB 4.0.x; 
    162162            omniORB 3.0 is not supported. omniORB can be downloaded from 
    163             <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. 
     163            <a class="ulink" href="http://omniorb.sourceforge.net/" target="_top">http://omniorb.sourceforge.net/</a>.</p></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compile.section"></a>Compiling</h2></div></div></div><p>In this section, we describe how to compile the Juggler Project. 
    164164      We focus on VR Juggler as a whole, but information about some of the 
    165165      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 
     
    167167         itself can be a little complicated for anyone who does not have some 
    168168         background in using Subversion, Autoconf, C++, and 
    169          <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 
     169         <span class="command"><strong>make</strong></span> or Visual Studio.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e343"></a>Compiling the Juggler Suite of Tools</h3></div></div></div><p>This section explains how to get, configure, and compile all of 
    170170         the tools that make up VR Juggler. Each tool compiles to its own 
    171171         library and can be installed individually. (Refer to the 
     
    173173         information about the specific modules.)</p><p>To build VR Juggler on Windows, you must use the Visual Studio 
    174174         solution. After getting the dependencies needed to compile VR Juggler 
    175          (see the next section), refer to the <a href="README-WINDOWS.html" target="_top">README-WINDOWS.html</a> file located in 
     175         (see the next section), refer to the <a class="ulink" href="README-WINDOWS.html" target="_top">README-WINDOWS.html</a> file located in 
    176176         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 
    177177            that the dependencies for any single module are met, the modules 
     
    278278            to find the information it needs with no extra work on the part of 
    279279            the user.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>If Flagpoll is not installed in a place where the 
    280                <span><strong class="command">aclocal</strong></span> tool searches for 
     280               <span class="command"><strong>aclocal</strong></span> tool searches for 
    281281               <code class="filename">.m4</code> files by default, then it is necessary 
    282                to extend <span><strong class="command">aclocal</strong></span>'s search path. This is 
     282               to extend <span class="command"><strong>aclocal</strong></span>'s search path. This is 
    283283               done by setting the environment variable 
    284284               <code class="envar">ACLOCAL_FLAGS</code> to &#8220;<span class="quote"><code class="literal">-I 
     
    288288            configured. The Juggler Suite makes use of the well-known, widely 
    289289            used GNU tools Autoconf and GNU Make. We provide a wrapper script 
    290             written in Perl called <span><strong class="command">configure.pl</strong></span> that gets 
     290            written in Perl called <span class="command"><strong>configure.pl</strong></span> that gets 
    291291            the process started.</p><p>The Juggler build is highly automated. The trickiest part is 
    292292            telling the build where to find the third-party dependencies. This 
     
    312312               <code class="filename">/usr/local</code>, which suggests that the 
    313313               authors of those tools generally expect their software to be in 
    314                <code class="filename">/usr/local</code>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="using.configure.pl"></a>Using <span><strong class="command">configure.pl</strong></span></h5></div></div></div><p>In the base <code class="filename">juggler</code> source 
     314               <code class="filename">/usr/local</code>.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="using.configure.pl"></a>Using <span class="command"><strong>configure.pl</strong></span></h5></div></div></div><p>In the base <code class="filename">juggler</code> source 
    315315               directory, we have a &#8220;<span class="quote">global</span>&#8221; configure script 
    316                written in Perl called <span><strong class="command">configure.pl</strong></span>. To get 
     316               written in Perl called <span class="command"><strong>configure.pl</strong></span>. To get 
    317317               the command-line options for this script, use one of the 
    318318               following (the second being much more detailed):</p><pre class="screen">./configure.pl --help 
     
    321321               need. To get this text, enter:</p><pre class="screen">./configure.pl --all-help</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>In order for this to work, the configure script for 
    322322                     each of the Juggler modules must be generated. This can 
    323                      be done manually by running <span><strong class="command">autogen.sh</strong></span> 
     323                     be done manually by running <span class="command"><strong>autogen.sh</strong></span> 
    324324                     in the top-level <code class="filename">juggler</code> directory. 
    325                      It use is simple:</p><pre class="screen">./autogen.sh</pre><p>This <span><strong class="command">autogen.sh</strong></span> script must be 
     325                     It use is simple:</p><pre class="screen">./autogen.sh</pre><p>This <span class="command"><strong>autogen.sh</strong></span> script must be 
    326326                     run from the directory where it exists. Do not try to run 
    327327                     it from a build directory or any other place in the 
    328328                     Juggler source tree. The same holds for the individual 
    329                      <span><strong class="command">autogen.sh</strong></span> scripts in the various 
    330                      modules, should you need to run one individually.</p></div><p><span><strong class="command">configure.pl</strong></span> can run in a 
     329                     <span class="command"><strong>autogen.sh</strong></span> scripts in the various 
     330                     modules, should you need to run one individually.</p></div><p><span class="command"><strong>configure.pl</strong></span> can run in a 
    331331               unique &#8220;<span class="quote">build</span>&#8221; directory or in the directory where 
    332332               it resides. Here is how we (the Juggler Team) have been using 
     
    335335                     they will not be listed here).</p><pre class="screen">mkdir build.linux.posix</pre><p>This example using an ad hoc naming convention 
    336336                     based on operating system and threading subsystem. Other 
    337                      examples could be <code class="filename">build.irix.sproc</code>, 
     337                     examples could be <code class="filename">build.linux.posix</code>, 
    338338                     <code class="filename">build.solaris.nspr</code>, etc.</p></li><li><p>Enter the new build directory.</p><pre class="screen">cd build.linux.posix</pre></li><li><p>Configure all the modules making up VR Juggler. 
    339339                     This is when you must tell the module configure scripts 
    340                      where all the package dependencies are found.</p><pre class="screen">../configure.pl --prefix=$HOME/vrjuggler-2.4 --with-java-orb=JDK</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>You will probably have to specify the path to 
     340                     where all the package dependencies are found.</p><pre class="screen">../configure.pl --prefix=$HOME/vrjuggler-3.0 --with-java-orb=JDK</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>You will probably have to specify the path to 
    341341                        your local Boost installation using the option 
    342342                        <code class="option">--with-boost</code> unless it is installed 
     
    354354                        In this case, you must also specify the option 
    355355                        <code class="option">--with-boost-includes=/home/user1/pkgs/boost/include/boost-1_34</code> 
    356                         when running <span><strong class="command">configure.pl</strong></span>.</p></div></li></ol></div><p>By default, the configuration process will configure VR 
     356                        when running <span class="command"><strong>configure.pl</strong></span>.</p></div></li></ol></div><p>By default, the configuration process will configure VR 
    357357               Juggler and all of its dependencies. This includes Sonix, which 
    358358               is an interesting special case. Sonix can make use of Audiere, 
     
    361361               out</span>&#8221; its sound APIs. This means that Sonix and the VR 
    362362               Juggler Sound Manager can still be used in applications, but no 
    363                audio will be heard at run time. See <a href="#sonix.compile.section" title="Sonix">the section called &#8220;Sonix&#8221;</a> for more information about 
     363               audio will be heard at run time. See <a class="xref" href="#sonix.compile.section" title="Sonix">the section called &#8220;Sonix&#8221;</a> for more information about 
    364364               how to configure Sonix to use Audiere, OpenAL, or 
    365                AudioWorks.</p><p>For example uses of <span><strong class="command">configure.pl</strong></span>, take 
     365               AudioWorks.</p><p>For example uses of <span class="command"><strong>configure.pl</strong></span>, take 
    366366               a look at the Wiki page relating to building from source 
    367                (<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>). 
     367               (<a class="ulink" href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn</a>). 
    368368               It is not a replacement for this document, but it shows how 
    369369               some members of the Juggler team configure VR Juggler. It also 
    370370               has information on more advanced uses of 
    371                <span><strong class="command">configure.pl</strong></span> that are beyond the scope of 
    372                this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e896"></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 
     371               <span class="command"><strong>configure.pl</strong></span> that are beyond the scope of 
     372               this document.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h5 class="title"><a name="d0e896"></a>Using Locally Installed Software</h5></div></div></div><p>As noted in <a class="xref" 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 
    373373               Juggler depends on several external software packages. As an 
    374374               example, consider the case where the Boost libraries are 
     
    376376               the headers in 
    377377               <code class="filename">/home/user1/pkgs/boost/include</code>. To use 
    378                this installation, run <span><strong class="command">configure.pl</strong></span> as 
     378               this installation, run <span class="command"><strong>configure.pl</strong></span> as 
    379379               follows:</p><pre class="screen">../configure.pl --with-boost=/home/user1/pkgs/boost</pre></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="compile.vrjuggler.section"></a>Compiling VR Juggler</h4></div></div></div><p>Once the configuration process is complete, the code can be 
    380380            compiled. Remember that we require the use of GNU make 3.78 or 
     
    387387         tools in the Juggler Suite are compiled correctly. For the most part, 
    388388         this duplicates information that can be found on the Wiki page 
    389          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>).</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sonix.compile.section"></a>Sonix</h4></div></div></div><p>Sonix wraps other audio subsystems such as OpenAL (<a href="http://www.openal.org/" target="_top">www.openal.org</a>), Audiere 
    390             (<a href="http://audiere.sf.net/" target="_top">audiere.sf.net</a>), or 
    391             AudioWorks (<a href="http://www.multigen.com/" target="_top">multigen.com</a>). At least one 
     389         relating to building from source (<a class="ulink" href="http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn" target="_top">http://www.vrjuggler.org/twiki_public/bin/view/Juggler/BuildingFromSvn</a>).</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="sonix.compile.section"></a>Sonix</h4></div></div></div><p>Sonix wraps other audio subsystems such as OpenAL (<a class="ulink" href="http://www.openal.org/" target="_top">www.openal.org</a>), Audiere 
     390            (<a class="ulink" href="http://audiere.sf.net/" target="_top">audiere.sf.net</a>), or 
     391            AudioWorks (<a class="ulink" href="http://www.multigen.com/" target="_top">multigen.com</a>). At least one 
    392392            of these packages must be installed for use by Sonix in order to 
    393393            hear sounds in VR Juggler applications. Once you have all the 
    394394            necessary source code and third-party package installations, add 
    395395            one or more of the following options to your 
    396             <span><strong class="command">configure.pl</strong></span> command line to enable the 
     396            <span class="command"><strong>configure.pl</strong></span> command line to enable the 
    397397            appropriate audio subsystem:</p><div class="itemizedlist"><ul type="disc"><li><p><code class="option">--enable-openal 
    398398                  --with-openal=&lt;OPENAL_PATH&gt;</code>: Enable the use 
     
    412412               fact. OpenAL and Audiere can be compiled together, 
    413413               however.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="tweek.build.section"></a>Tweek</h4></div></div></div><p>Tweek needs JDK 1.4 or newer and a C++ CORBA implementation. 
    414             Currently, we primarily use omniORB 4.0. Visit the <a href="http://omniorb.sourceforge.net/" target="_top">omniORB website</a> to 
    415             download omniORB.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>IRIX users must configure Tweek (and its VPR dependency) 
    416                to use the POSIX subsystem or the NSPR subsystem. omniORB 
    417                <span class="emphasis"><em>will not work</em></span> with SPROC threads. To 
    418                configure VPR to use either POSIX threads or NSPR threads, pass 
    419                either <code class="option">--enable-subsystem=POSIX</code> or 
    420                <code class="option">--enable-subsystem=NSPR</code> respectively to 
    421                <span><strong class="command">configure.pl</strong></span>.</p></div><p>For the following steps, assume that you have omniORB 
     414            Currently, we primarily use omniORB 4.0. Visit the <a class="ulink" href="http://omniorb.sourceforge.net/" target="_top">omniORB website</a> to 
     415            download omniORB.</p><p>For the following steps, assume that you have omniORB 
    422416            installed in <code class="filename">&lt;OMNIORB_PATH&gt;</code>. Assuming 
    423417            you have the external packages installed, do the following from 
  • juggler/trunk/INSTALL.txt

    r19949 r20738  
    1  
    21 
    32Building and Installing the Juggler Project (Version 2.3) 
     
    4544 
    4645 You have downloaded the source code for Version 2.3 of the Juggler Project. 
    47  This is the code that will become VR Juggler 2.4, and it is the code that 
    48  is used to create the VR juggler 2.4 pre-releases. Please be aware that 
     46 This is the code that will become VR Juggler 3.0, and it is the code that 
     47 is used to create the VR Juggler 3.0 pre-releases. Please be aware that 
    4948 this code represents a work in progress, and if you acquired it directly 
    5049 from Subversion rather than using a pre-packaged source code snapshot, the 
     
    272271Important 
    273272 
    274  Mac OS X users should compile the Boost libraries using the "darwin" 
    275  toolset. 
     273 Mac OS X users should compile the Boost libraries using the 
     274 "darwin" toolset. 
    276275 
    277276 
     
    688687 
    689688 In the base juggler source directory, we have a "global" configure script 
    690  written in Perl called configure.pl. To get the command- line options for 
     689 written in Perl called configure.pl. To get the command-line options for 
    691690 this script, use one of the following (the second being much more detailed): 
    692691 
     
    729728      This example using an ad hoc naming convention based on operating 
    730729      system and threading subsystem. Other examples could be 
    731       build.irix.sproc, build.solaris.nspr, etc. 
     730      build.linux.posix, build.solaris.nspr, etc. 
    732731 
    733732  2.  Enter the new build directory. 
     
    741740 
    742741 
    743        ../configure.pl --prefix=$HOME/vrjuggler-2.4 --with-java-orb=JDK 
     742       ../configure.pl --prefix=$HOME/vrjuggler-3.0 --with-java-orb=JDK 
    744743 
    745744 
     
    855854 primarily use omniORB 4.0. Visit the omniORB website to download omniORB. 
    856855 
    857  
    858 Note 
    859  
    860  IRIX users must configure Tweek (and its VPR dependency) to use the POSIX 
    861  subsystem or the NSPR subsystem. omniORB will not work with SPROC threads. 
    862  To configure VPR to use either POSIX threads or NSPR threads, pass either - 
    863  -enable-subsystem=POSIX or --enable-subsystem=NSPR respectively to 
    864  configure.pl. 
    865  
    866856 For the following steps, assume that you have omniORB installed in 
    867857 <OMNIORB_PATH>. Assuming you have the external packages installed, do the 
  • juggler/trunk/README.html

    r17626 r20738  
    11<html><head> 
    22      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    3    <title>Juggler Project Overview</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.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>Juggler Project Overview</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><dt><span class="section"><a href="#d0e26">Compiling</a></span></dt><dt><span class="section"><a href="#modules-section">Modules</a></span></dt><dd><dl><dt><span class="section"><a href="#d0e42">VR Juggler</a></span></dt><dt><span class="section"><a href="#d0e56">VR Juggler Portable Runtime (VPR)</a></span></dt><dt><span class="section"><a href="#d0e93">Juggler Configuration and Control Library (JCCL)</a></span></dt><dt><span class="section"><a href="#d0e117">Gadgeteer</a></span></dt><dt><span class="section"><a href="#d0e131">Sonix</a></span></dt><dt><span class="section"><a href="#d0e147">Tweek</a></span></dt><dt><span class="section"><a href="#d0e163">VRJConfig</a></span></dt></dl></dd><dt><span class="section"><a href="#d0e175">VR Juggler 2.x</a></span></dt></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>Congratulations, you have downloaded the source code to the Juggler 
    4     Project, open source software for virtual reality from the <a href="http://www.vrac.iastate.edu/" target="_top">Virtual Reality Applications 
    5     Center</a> at <a href="http://www.iastate.edu/" target="_top">Iowa State 
    6     University</a>. Within this document, you will find information about 
    7     the new VR Juggler 2.x directory structure including descriptions of all 
    8     the component modules that make up the Juggler Project. Instructions for 
    9     building the individual modules can be found within the specific module 
    10     directories and on the VR Juggler website.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e26"></a>Compiling</h2></div></div></div><p>For information on compiling the source code, refer to either the 
    11     <code class="filename">INSTALL.txt</code> or <code class="filename">INSTALL.html</code> file 
    12     found in this directory.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="modules-section"></a>Modules</h2></div></div></div><p>The Juggler Project is made up of several modules that have evolved 
    13     from the original VR Juggler source tree. Within this section, we describe 
    14     each of the modules, what they are used for, and, when possible, how they 
    15     relate to VR Juggler 1.0.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e42"></a>VR Juggler</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e45"></a>Directory</h4></div></div></div><p><code class="filename">juggler/modules/vrjuggler</code></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e51"></a>Description</h4></div></div></div><p>VR Juggler is still VR Juggler. There are many new features in 
    16         VR Juggler since the 1.0 series, but in essence, it is still the same 
    17         familiar tool. Of the projects listed below, VR Juggler depends on 
    18         VPR, JCCL, Sonix, and Gadgeteer. Its individual components have simply 
    19         been broken out into individually developed modules. More information 
    20         about the latest version of VR Juggler is given in the following 
    21         section.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e56"></a>VR Juggler Portable Runtime (VPR)</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e59"></a>Directory</h4></div></div></div><p><code class="filename">juggler/modules/vapor</code></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e65"></a>Description</h4></div></div></div><p>VPR is the foundation for all the Juggler modules. It provides 
    22         an object-oriented, cross-platform abstraction layer to common 
    23         operating system features such as threads, semaphores, and sockets. 
    24         All the other modules depend on VPR so that they may be ported easily 
    25         to other platforms. In VR Juggler 1.0, VPR was the collection of 
    26         directories Threads, SharedMem, and Sync. Since then, that code has 
    27         been collected into a single library and greatly extended into what is 
    28         now VPR.</p><p>VPR itself contains a great deal of platform-specific code. It 
    29         categorizes this code into subsystems, and various subsystems may be 
    30         chosen depending upon the target platform and target threading system. 
    31         For example, on IRIX, there are three possible subsystems: SPROC, 
    32         POSIX, and Netscape Portable Runtime (NSPR). Win32, on the other hand, 
    33         only uses the NSPR subsystem. The subsystems are:</p><div class="itemizedlist"><ul type="disc"><li><p>SPROC (IRIX only)</p></li><li><p>POSIX (UNIX-based platforms only)</p></li><li><p>NSPR (all platforms, required on Win32 and Mac OS X)</p></li></ul></div><p>Because VPR is the foundation for all the other modules, it is 
    34         important to choose the right subsystem.</p><p>Choosing the correct subsystem depends on many factors. For 
    35         example, which of the subsystems are supported on the desired target 
    36         platform? Are there compatibility issues with software outside the 
    37         Juggler Project? In most cases, however, the choice is 
    38         straightforward. Indeed, IRIX is the only platform that presents any 
    39         real issues. In particular, the use of OpenGL Performer from SGI 
    40         raises important compatibility concerns. SPROC threads are the only 
    41         threads that are stable with OpenGL Performer (on IRIX). POSIX threads 
    42         will work, but applications may sometimes crash on startup. As of this 
    43         writing, OpenGL Performer does not work at all with NSPR. Other 
    44         software may pose similar problems, and it is important to know the 
    45         needs of other tools when configuring VPR.</p><p>On platforms other than IRIX, the choice is relatively simple. 
    46         If NSPR is available, its use is recommended. If NSPR is not 
    47         available, POSIX threads is the next logical choice--at least on 
    48         UNIX-based platforms. On Win32 and Mac OS X, NSPR is required.</p><p>As mentioned above, all the other modules depend on VPR, so it 
    49         must be compiled before anything else. For more information on 
    50         compiling VPR, refer to 
    51         <code class="filename">modules/vapor/INSTALL.txt</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e93"></a>Juggler Configuration and Control Library (JCCL)</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e96"></a>Directory</h4></div></div></div><p><code class="filename">juggler/modules/jackal</code></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e102"></a>Description</h4></div></div></div><p>JCCL provides the configuration layer for VR Juggler and other 
    52         modules. The config chunks and reusable configuration editor JavaBeans 
    53         come from JCCL. These JavaBeans are used by the VR Juggler 
    54         configuration editor tool, VRJConfig (see below). In essence, JCCL is 
    55         the VR Juggler 1.0 Config directory with many new features including 
    56         XML-based config files.</p><p>To build the JCCL C++ library, CppDOM is required for parsing 
    57         XML. CppDOM is a lightweight XML parser written in C++ and designed to 
    58         provide an interface similar to JDOM. More information can be found at 
    59         <a href="http://xml-cppdom.sourceforge.net/" target="_top">http://xml-cppdom.sourceforge.net/</a>.</p><p>To build the configuration editor JavaBeans, JDOM and the Tweek 
    60         Java API are required. Tweek is another module in the Juggler Project, 
    61         and it will be built automatically as a dependency of JCCL. JDOM comes 
    62         with the Juggler Project source code and can be found in the directory 
    63         <code class="filename">juggler/external/jdom</code>.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e117"></a>Gadgeteer</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e120"></a>Directory</h4></div></div></div><p><code class="filename">juggler/modules/gadgeteer</code></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e126"></a>Description</h4></div></div></div><p>Gadgeteer is made up of the code that was formerly in the VR 
    64         Juggler 1.0 Input directory. It contains all the drivers used for VR 
    65         Juggler input devices, and it contains the high-level Input Manager. 
    66         The goal with Gadgeteer is to mold it into the first dynamically 
    67         loadable component within the VR Juggler microkernel. At this time, it 
    68         must still be compiled in, but we hope to generalize the concepts of 
    69         VR Juggler Managers to the point that the kernel knows nothing about 
    70         them until they are loaded at run time.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e131"></a>Sonix</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e134"></a>Directory</h4></div></div></div><p><code class="filename">juggler/modules/sonix</code></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e140"></a>Description</h4></div></div></div><p>Sonix provides an interface useful to many simple VR and 
    71         entertainment applications to trigger and position sounds in 3D. This 
    72         library provides simple audio sound objects on top of several audio 
    73         APIs. The interface to Sonix is kept very simple in order to get 
    74         people up and running with sound as fast as possible.</p><p>The interface to sonix is kept very simple in order to get 
    75         people up and running with sound as fast as possible. Sonix is 
    76         reconfigurable allowing audio APIs to be safely swapped out at runtime 
    77         without the dependent systems noticing. Systems using this layer 
    78         expect to be completely portable.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e147"></a>Tweek</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e150"></a>Directory</h4></div></div></div><p><code class="filename">juggler/modules/tweek</code></p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="d0e156"></a>Description</h4></div></div></div><p>Tweek is a cross-platform, cross-language library consisting of 
    79         a C++ API and a Java API. Its purpose is to provide a convenient 
    80         mechanism for a Java-based GUI to interact with a complex C++ library 
    81         or application. The Tweek GUI can be run in virtual environments, 
    82         external on a palm top, or on the desktop next to a running 
    83         application. Each of these methods gives a familiar 2D widget set that 
    84         can control applications flexibly. To provide this capability, it uses 
    85         CORBA.</p><p>The Java code in Tweek includes the Tweek Java API and the Tweek 
    86         JavaBean loader application. The Java API is provided to make the use 
    87         of JavaBeans and CORBA simpler for programmers. The JavaBean loader 
    88         application simply loads the Beans it finds and presents them to the 
    89         user in some sort of structured manner (for example, a collection of 
    90         icons with web-style navigation).</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="d0e163"></a>VRJConfig</h3></div></div></div><p>VRJConfig is the configuration editor for VR Juggler. It is a 
    91       complete rewrite of VjControl, both in terms of the user interface and 
    92       the back-end code. The new interface is based on open discussion and 
    93       feedback from users of VR Juggler 1.0 and VjControl.</p><p>The back-end is much more extensible. It allows users to write 
    94       plug-in editors to simplify complex editing tasks. User-defined 
    95       configuration elements can be handled in a much more dynamic manner as 
    96       well. No modification of VR Juggler or JCCL &#8220;<span class="quote">system</span>&#8221; files 
    97       must be made to get user-defined elements into the editor.</p><p>VRJConfig is itself a JavaBean that is loaded into the Tweek Java 
    98       GUI. VRJConfig uses JavaBeans internally to facilitate user extensions. 
    99       All in all, VRJConfig is a highly dynamic, powerful editor for VR 
    100       Juggler configurations.</p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="d0e175"></a>VR Juggler 2.x</h2></div></div></div><p>TODO... (this is the version number of the next release of 
    101     Juggler)</p></div></div></body></html> 
     3   <title>Juggler Project Overview</title><link rel="stylesheet" href="base_style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.0"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="d0e1"></a>Juggler Project Overview</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="othername">The Juggler Team</span></h3></div></div></div><div><p class="pubdate">$Date$</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#d0e15">Introduction</a></span></dt><