lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Tue, May 13, 2008 at 2:32 PM, Shmuel Zeigerman <shmuz@actcom.co.il> wrote:
> Ignacio Burgueño wrote:
>
> > For instance, I'm building a rock that installs precompiled versions
> > of lrexlib. It installs rex_pcre.dll where luarocks specified, and
> > pcre.dll in the same directory. However, I can't require rex_pcre,
> > because rex_pcre.dll depends on pcre.dll. This dependency isn't
> > handled by a plain LoadLibrary. Windows performs a lookup using the
> > usual rules. For it to work, with a vanilla Lua installation, I have
> > to copy pcre.dll to somewhere in my PATH, or worse, to system32.
> >
>
>  (Not replying to the main proposal but rather to the cited example).
>
>  If an lrexlib rock installs pcre.dll into the same directory as
> rex_pcre.dll, then the rock is wrong! pcre.dll should be either somewhere on
> Windows PATH, or in the directory where lua.exe resides.

Correct. External libraries are, well, external to LuaRocks. On Unix
we use { "/usr/local", "/usr" } as default value for the
external_deps_dirs in the config file, but on Windows (since there is
no default place to look for development libs and headers) one should
either set this value by hand in the config file or pass the location
of external deps in the LuaRocks command line. On runtime, we rely on
the standard Windows rules for loading libraries. LuaRocks will inform
if it can't find the external dependency on installation, but it is
not its task to provide it.

-- Hisham