diff options
-rwxr-xr-x | lualdap/Makefile | 16 | ||||
-rwxr-xr-x | lualdap/src/lualdap.c | 25 |
2 files changed, 32 insertions, 9 deletions
diff --git a/lualdap/Makefile b/lualdap/Makefile index 0c6c4cb..c0abdf6 100755 --- a/lualdap/Makefile +++ b/lualdap/Makefile @@ -1,10 +1,11 @@ WARN= -Wall -Wmissing-prototypes -Wmissing-declarations -ansi INCS= -I/usr/local/include/lua5 LIBS_DIR= -LIBS= -llua.5.0 -llualib.5.0 -lm -lldap -ldl +LIBS= -llua -llualib -lm -lldap -ldl CFLAGS= -g $(MYCFLAGS) $(WARN) $(INCS) $(DEFS) -VERSION= 1.0a +V= 1.0 +VERSION= $Va PKG= lualdap-$(VERSION) TAR_FILE= $(PKG).tar.gz ZIP_FILE= $(PKG).zip @@ -17,10 +18,10 @@ AR= ar rcu RANLIB= ranlib OBJ= lualdap.o -LIB= liblualdap.$(VERSION).a -SO= liblualdap.$(VERSION).so -DYLIB= liblualdap.$(VERSION).dylib -DLL= lualdap.$(VERSION).dll +LIB= liblualdap$(VERSION).a +SO= liblualdap$(VERSION).so +DYLIB= liblualdap$(VERSION).dylib +DLL= lualdap$(VERSION).dll dist: mkdir $(PKG); @@ -42,7 +43,8 @@ $(SO): $(OBJ) dylib: $(DYLIB) $(DYLIB): $(OBJ) sed -e "s/LIB_NAME/$(DYLIB)/" loader.tmpl > lualdap.lua - gcc -o $@ -dynamiclib $(OBJ) $(LIBS_DIR) $(LIBS) + #gcc -o $@ -dynamiclib $(OBJ) $(LIBS_DIR) $(LIBS) + libtool -dynamic -compatibility_version $V -current_version $V -o $@ $(OBJ) $(LIBS_DIR) $(LIBS) -lcc_dynamic -lc clean: rm -f $(OBJ) $(LIB) $(SO) $(DYLIB) $(DLL) $(TAR_FILE) $(ZIP_FILE) diff --git a/lualdap/src/lualdap.c b/lualdap/src/lualdap.c index b424392..eb87bf3 100755 --- a/lualdap/src/lualdap.c +++ b/lualdap/src/lualdap.c @@ -1,7 +1,7 @@ /* ** LuaLDAP ** See Copyright Notice in license.html -** $Id: lualdap.c,v 1.28 2004-07-09 16:16:32 tomas Exp $ +** $Id: lualdap.c,v 1.29 2004-09-17 15:40:18 tomas Exp $ */ #include <stdlib.h> @@ -944,14 +944,35 @@ static int lualdap_open_simple (lua_State *L) { /* ** Create ldap table and register the open method. */ -int lualdap_libopen (lua_State *L) { +int luaopen_lualdap (lua_State *L) { + const char *name; + int lualdap; + lualdap_createmeta (L); lua_newtable (L); + lualdap = lua_gettop (L); lua_pushliteral (L, "open_simple"); lua_pushcfunction (L, lualdap_open_simple); lua_rawset (L, -3); lua_setglobal (L, LUALDAP_TABLENAME); + /* if Lua 5.0 then Set package.loaded[name] = lualdap */ + if (lua_isstring(L, 1)) + name = lua_tostring (L, 1); + else { + lua_getglobal (L, "arg"); + lua_rawgeti (L, -1, 1); + name = lua_tostring (L, -1); + lua_pop (L, 2); + } + lua_getglobal (L, "package"); + lua_pushliteral (L, "loaded"); + lua_gettable (L, -2); + lua_pushstring (L, name); + lua_pushvalue (L, lualdap); + lua_settable (L, -3); /* package.loaded[name] = lualdap */ + lua_pop (L, 2); + return 1; } |