<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<p><span class="weinre">weinre</span> is shipped as two archives
available at
<a href="https://github.com/phonegap/weinre/archives/master">https://github.com/phonegap/weinre/archives/master</a>

<ul class="spaced">

<li><b><tt>weinre-jar-x.y.z.zip</tt></b>
<br>This archive includes a Java .jar file.

<li><b><tt>weinre-mac-x.y.z.zip</tt></b>
<br>This archive includes a Mac OS X application.

</ul>

<p>Install the .jar and/or Mac OS X application wherever you wish.  
At runtime, the .jar file is not sensive to the directory
it is installed in, or the current directory when it's launched.
