Lua fixes to work on Unix as well as windows.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7433 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
dfaaa959a6
commit
b93b3593bf
5 changed files with 27 additions and 15 deletions
|
|
@ -3,10 +3,13 @@
|
||||||
-- This file illustrates class C++ interface generated
|
-- This file illustrates class C++ interface generated
|
||||||
-- by SWIG.
|
-- by SWIG.
|
||||||
|
|
||||||
-- importing (lua doesnt have a nice way to do this)
|
-- importing (lua does not have a nice way to do this)
|
||||||
if example==nil then
|
loadlibrary = loadlib("example.so","Example_Init")
|
||||||
assert(loadlib("example.dll","Example_Init"))()
|
if loadlibrary == nil then
|
||||||
|
loadlibrary = loadlib("example.dll","Example_Init")
|
||||||
end
|
end
|
||||||
|
assert(loadlibrary, "could not find dynamic libray")
|
||||||
|
loadlibrary()
|
||||||
|
|
||||||
----- Object creation -----
|
----- Object creation -----
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
-- file: runme.lua
|
-- file: runme.lua
|
||||||
|
|
||||||
-- importing (lua doesnt have a nice way to do this)
|
-- importing (lua does not have a nice way to do this)
|
||||||
if example==nil then
|
loadlibrary = loadlib("example.so","Example_Init")
|
||||||
assert(loadlib("example.dll","Example_Init"))()
|
if loadlibrary == nil then
|
||||||
|
loadlibrary = loadlib("example.dll","Example_Init")
|
||||||
end
|
end
|
||||||
|
assert(loadlibrary, "could not find dynamic libray")
|
||||||
|
loadlibrary()
|
||||||
|
|
||||||
-- Call our gcd() function
|
-- Call our gcd() function
|
||||||
print("hello world")
|
print("hello world")
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
-- file: example.lua
|
-- file: example.lua
|
||||||
|
|
||||||
-- importing (lua doesnt have a nice way to do this)
|
-- importing (lua does not have a nice way to do this)
|
||||||
if example==nil then
|
loadlibrary = loadlib("example.so","Example_Init")
|
||||||
assert(loadlib("example.dll","Example_Init"))()
|
if loadlibrary == nil then
|
||||||
|
loadlibrary = loadlib("example.dll","Example_Init")
|
||||||
end
|
end
|
||||||
|
assert(loadlibrary, "could not find dynamic libray")
|
||||||
|
loadlibrary()
|
||||||
|
|
||||||
-- Try to set the values of some global variables
|
-- Try to set the values of some global variables
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ LIBS = -L.
|
||||||
# a file is found which has _runme.lua appended after the testcase name.
|
# a file is found which has _runme.lua appended after the testcase name.
|
||||||
run_testcase = \
|
run_testcase = \
|
||||||
if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then ( \
|
if [ -f $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then ( \
|
||||||
$(LUA) $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX);) \
|
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(LUA) $(srcdir)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX);) \
|
||||||
fi;
|
fi;
|
||||||
|
|
||||||
# Clean: (does nothing, we dont generate extra lua code)
|
# Clean: (does nothing, we dont generate extra lua code)
|
||||||
|
|
|
||||||
|
|
@ -2,17 +2,20 @@
|
||||||
function import(module,intoglobal)
|
function import(module,intoglobal)
|
||||||
-- imports the file into the program
|
-- imports the file into the program
|
||||||
-- for a module example
|
-- for a module example
|
||||||
-- this must load 'example.dll'
|
-- this must load 'example.dll' or 'example.so'
|
||||||
-- and look for the fn 'Example_Init()' (note the capitalisation)
|
-- and look for the fn 'Example_Init()' (note the capitalisation)
|
||||||
|
|
||||||
local libname=module..".dll" -- windows
|
|
||||||
--libname=module..".so" -- unix
|
|
||||||
|
|
||||||
-- capitialising the first letter
|
-- capitialising the first letter
|
||||||
local c=string.upper(string.sub(module,1,1))
|
local c=string.upper(string.sub(module,1,1))
|
||||||
local fnname=c..string.sub(module,2).."_Init"
|
local fnname=c..string.sub(module,2).."_Init"
|
||||||
|
|
||||||
assert(loadlib(libname,fnname),"error loading module:"..module)()
|
-- attempt to load the module using Unix and Windows dll/shared object
|
||||||
|
local loadlibrary = loadlib(module..".so",fnname)
|
||||||
|
if loadlibrary == nil then
|
||||||
|
loadlibrary = loadlib(module..".dll",fnname)
|
||||||
|
end
|
||||||
|
assert(loadlibrary~=nil,"could not load module")
|
||||||
|
loadlibrary()
|
||||||
|
|
||||||
-- moving to global namespace
|
-- moving to global namespace
|
||||||
if intoglobal then
|
if intoglobal then
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue