[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Please help debug - usage of luars232
- From: Philipp Janda <siffiejoe@...>
- Date: Sun, 15 Sep 2013 09:04:53 +0200
Am 14.09.2013 06:55 schröbte Jayanth Acharya:
However, I'd also be quite interested in the other method that you
suggested. Since I installed the "luars232" library using luarocks, I am
not quite sure if there is a place on this machine where the library
sources are there, and I can enable DBG and rebuild it. Or, should I clone
the "luars232" module from Git and then do this ? If the latter, do I first
uninstall the version installed via luarocks ?
If the rock uses the `builtin` build type (like luars232) you can
download the rockspec[1] from the luarocks site[2], modify the rockspec
to include the proper defines, and install the rock via the modified
local rockspec:
luarocks install luars232-1.0.3-1.rockspec
In your case the modified build section in the rockspec would look like
this:
...
build = {
type = "builtin",
platforms = {
unix = {
modules = {
luars232 = {
sources = { "src/rs232.c", "src/rs232_posix.c",
"bindings/lua/luars232.c" },
incdirs = { "include" },
defines = { "RS232_DEBUG=1", "LUAROCKS_HACK
-std=gnu99" },
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
}
}
},
...
If the rock in question does *not* use the `builtin` build type I would
download and unpack the corresponding source rock (just a zip archive,
see e.g. [3]), modify the build scripts and/or source files inside, move
the included rockspec file to the top-level source directory and call
from there:
luarocks make
You could also try this with a clone of git head, but some projects
require a non-trivial packaging step (like generating some source file),
in which case this approach would fail unless you also perform those
packaging steps yourself.
[1]: http://luarocks.org/repositories/rocks/luars232-1.0.3-1.rockspec
[2]: http://luarocks.org/repositories/rocks/
[3]: http://luarocks.org/repositories/rocks/luars232-1.0.3-1.src.rock
In both cases you don't need to uninstall anything, the old files in the
local rocks tree just get replaced.
HTH,
Philipp