diff doc/installation.html @ 0:4b915342e2a8

LuaSocket 2.0.2 + CMake build description.
author Eric Wing <ewing . public |-at-| gmail . com>
date Tue, 26 Aug 2008 18:40:01 -0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/installation.html	Tue Aug 26 18:40:01 2008 -0700
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
+    "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+
+<head>
+<meta name="description" content="LuaSocket: Introduction to the core">
+<meta name="keywords" content="Lua, LuaSocket, TCP, UDP, Network, Support,
+Installation"> 
+<title>LuaSocket: Installation</title>
+<link rel="stylesheet" href="reference.css" type="text/css">
+</head>
+
+<body>
+
+<!-- header +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<div class=header>
+<hr>
+<center>
+<table summary="LuaSocket logo">
+<tr><td align=center><a href="http://www.lua.org">
+<img width=128 height=128 border=0 alt="LuaSocket" src="luasocket.png">
+</a></td></tr>
+<tr><td align=center valign=top>Network support for the Lua language
+</td></tr>
+</table>
+<p class=bar>
+<a href="home.html">home</a> &middot;
+<a href="home.html#download">download</a> &middot;
+<a href="installation.html">installation</a> &middot;
+<a href="introduction.html">introduction</a> &middot;
+<a href="reference.html">reference</a> 
+</p>
+</center>
+<hr>
+</div>
+
+<!-- installation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<h2>Installation</h2>
+
+<p> LuaSocket 2.0.2 uses the new package system for Lua 5.1.  
+All Lua library developers are encouraged to update their libraries so that
+all libraries can coexist peacefully and users can benefit from the
+standardization and flexibility of the standard.
+</p>
+
+<p> 
+Those stuck with Lua 5.0 will need the 
+<a href=http://www.keplerproject.org/compat/>compat-5.1</a> 
+module. It is maintained by 
+<a href=http://www.keplerproject.org/>The Kepler
+Project</a>'s team, and implements the Lua 5.1 package proposal 
+on top of Lua 5.0. </p>
+
+<p> Here we will only describe the standard distribution.
+If the standard doesn't meet your needs, we refer you to the
+Lua discussion list, where any question about the package
+scheme will likely already have been answered.  </p>
+
+<h3>Directory structure</h3>
+
+<p> On Unix systems, the standard distribution uses two base
+directories, one for system dependent files, and another for system
+independent files. Let's call these directories <tt>&lt;CDIR&gt;</tt> 
+and <tt>&lt;LDIR&gt;</tt>, respectively. 
+For instance, in my laptop, I use '<tt>/usr/local/lib/lua/5.0</tt>' for
+<tt>&lt;CDIR&gt;</tt> and '<tt>/usr/local/share/lua/5.0</tt>' for
+<tt>&lt;LDIR&gt;</tt>. On Windows, sometimes only one directory is used, say
+'<tt>c:\program files\lua\5.0</tt>'. Here is the standard LuaSocket 
+distribution directory structure:</p>
+
+<pre class=example>
+&lt;LDIR&gt;/compat-5.1.lua
+&lt;LDIR&gt;/ltn12.lua
+&lt;LDIR&gt;/socket.lua
+&lt;CDIR&gt;/socket/core.dll
+&lt;LDIR&gt;/socket/http.lua
+&lt;LDIR&gt;/socket/tp.lua
+&lt;LDIR&gt;/socket/ftp.lua
+&lt;LDIR&gt;/socket/smtp.lua
+&lt;LDIR&gt;/socket/url.lua
+&lt;LDIR&gt;/mime.lua
+&lt;CDIR&gt;/mime/core.dll
+</pre>
+
+<p> Naturally, on Unix systems, <tt>core.dll</tt>
+would be replaced by <tt>core.so</tt>.  
+</p>
+
+<p> In order for the interpreter to find all LuaSocket components, three
+environment variables need to be set. The first environment variable tells
+the interpreter to load the <tt>compat-5.1.lua</tt> module at startup: </p>
+
+<pre class=example>
+LUA_INIT=@&lt;LDIR&gt;/compat-5.1.lua
+</pre>
+
+<p>
+This is only need for Lua&nbsp;5.0! Lua&nbsp;5.1 comes with
+the package system built in, of course. 
+</p>
+
+<p>
+The other two environment variables instruct the compatibility module to
+look for dynamic libraries and extension modules in the appropriate
+directories and with the appropriate filename extensions.
+</p>
+
+<pre class=example>
+LUA_PATH=&lt;LDIR&gt;/?.lua;?.lua
+LUA_CPATH=&lt;CDIR&gt;/?.dll;?.dll
+</pre>
+
+<p> Again, naturally, on Unix systems the shared library extension would be
+<tt>.so</tt> instead of <tt>.dll</tt>.</p>
+
+<h3>Using LuaSocket</h3>
+
+<p> With the above setup, and an interpreter with shared library support,
+it should be easy to use LuaSocket. Just fire the interpreter and use the
+<tt>require</tt> function to gain access to whatever module you need:</p>
+
+<pre class=example>
+Lua 5.1.2  Copyright (C) 1994-2007 Lua.org, PUC-Rio
+&gt; socket = require("socket")
+&gt; print(socket._VERSION)
+--&gt; LuaSocket 2.0.2
+</pre>
+
+<p> Each module loads their dependencies automatically, so you only need to
+load the modules you directly depend upon: </p>
+
+<pre class=example>
+Lua 5.1.2  Copyright (C) 1994-2007 Lua.org, PUC-Rio
+&gt; http = require("socket.http")
+&gt; print(http.request("http://www.cs.princeton.edu/~diego/professional/luasocket"))
+--&gt; homepage gets dumped to terminal
+</pre>
+
+<!-- footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<div class=footer>
+<hr>
+<center>
+<p class=bar>
+<a href="home.html">home</a> &middot;
+<a href="home.html#down">download</a> &middot;
+<a href="installation.html">installation</a> &middot;
+<a href="introduction.html">introduction</a> &middot;
+<a href="reference.html">reference</a>
+</p>
+<p>
+<small>
+Last modified by Diego Nehab on <br>
+Thu Apr 20 00:25:30 EDT 2006
+</small>
+</p>
+</center>
+</div>
+
+</body>
+</html>