Hi,
As I have mentioned earlier, I needed to make some changes in the build
process in order to produce the shared library to be used by the Perl
bindings...
Follow the patch of those changes... (it also links se_term and se_exp
to this shared object).
daniel
diff --exclude pcre --exclude COPYING --exclude config.h --exclude AUTHORS --exclude chartables.c --exclude debian --exclude .git -uNard sedna-3.2.91.orig/driver/c/Makefile sedna-3.2.91/driver/c/Makefile
--- sedna-3.2.91.orig/driver/c/Makefile 2009-09-21 19:57:15.000000000 -0300
+++ sedna-3.2.91/driver/c/Makefile 2010-01-14 10:22:49.000000000 -0300
@@ -14,7 +14,7 @@
@echo C Driver Done
@echo ===================================================================
else
-all: libsedna$(LIB_EXT)
+all: libsedna$(DL_EXT)
@echo ===================================================================
@echo C Driver Done
@echo ===================================================================
@@ -48,10 +48,6 @@
libsednamt$(LIB_EXT): $(MT_OBJS)
$(LB) $(LIBFLAGS) $(LIBOUT)$@ $^
-# static multi-threaded library linked with /MD[d]
-libsednamd$(LIB_EXT): $(DL_MT_OBJS)
- $(LB) $(LIBFLAGS) $(LIBOUT)$@ $^
-
# dynamic multi-threaded library linked with /MT[d]
sednamt$(DL_EXT): $(MT_OBJS)
$(LD) $(LFLAGS_NOLIB) /DLL /DEF:sednamt$(DEF_EXT) $(LIBOUT)$@ $^
@@ -73,12 +69,14 @@
$(CC) $(CFLAGS_DL) $(OBJ_NAME)$@ $<
else # UNIX
-LD=gcc # It must be enough to build C-driver!
+LD=ld # It must be enough to build C-driver!
OBJ_NAME = -o
CFLAGS += $(CFLAGS_SL)
-libsedna$(LIB_EXT): $(MT_OBJS)
- $(LB) $(LIBFLAGS) $(LIBOUT)$@ $^
+libsedna$(DL_EXT): $(MT_OBJS)
+ $(LD) -shared -fPIC -o $(LIBOUT)$@ $^
+ strip $(LIBOUT)$@
+ ln -s $(LIBOUT)$@ libsedna.so
%.mt$(OBJ_EXT): %.d
@@ -93,5 +91,5 @@
.PHONY: clean
clean: generic_clean
- -$(REMOVE) *.exp *$(DL_EXT)
+ -$(REMOVE) *.exp *$(DL_EXT) libsedna.so
diff --exclude pcre --exclude COPYING --exclude config.h --exclude AUTHORS --exclude chartables.c --exclude debian --exclude .git -uNard sedna-3.2.91.orig/export/Makefile sedna-3.2.91/export/Makefile
--- sedna-3.2.91.orig/export/Makefile 2009-09-21 19:57:15.000000000 -0300
+++ sedna-3.2.91/export/Makefile 2010-01-14 10:24:23.000000000 -0300
@@ -21,7 +21,7 @@
DRIVER_LIB = $(PP)/driver/c/libsednamt$(LIB_EXT)
DRIVER_LIB_S = $(DRIVER_LIB)
else
-DRIVER_LIB = $(PP)/driver/c/libsedna$(LIB_EXT)
+DRIVER_LIB = $(PP)/driver/c/libsedna$(DL_EXT)
DRIVER_LIB_S = -L$(PP)/driver/c -lsedna
endif
diff --exclude pcre --exclude COPYING --exclude config.h --exclude AUTHORS --exclude chartables.c --exclude debian --exclude .git -uNard sedna-3.2.91.orig/Makefile sedna-3.2.91/Makefile
--- sedna-3.2.91.orig/Makefile 2009-09-21 19:57:18.000000000 -0300
+++ sedna-3.2.91/Makefile 2010-01-14 10:25:42.000000000 -0300
@@ -157,7 +157,8 @@
$(INSTALL) -d $(PERM2) $(SEDNA_INSTALL)/sedna/share
ifeq ($(PLATFORM), UNIX)
- $(INSTALL) $(PRESERVE) $(PERM3) driver/c/libsedna.a $(SEDNA_INSTALL)/sedna/driver/c/libsedna.a
+ $(INSTALL) $(PRESERVE) $(PERM3) driver/c/libsedna$(DL_EXT) $(SEDNA_INSTALL)/sedna/driver/c/libsedna$(DL_EXT)
+ (cd $(SEDNA_INSTALL)/sedna/driver/c/; ln -s libsedna$(DL_EXT) libsedna.so)
$(INSTALL) $(PRESERVE) $(PERM2) examples/api/c/build.sh $(SEDNA_INSTALL)/sedna/examples/api/c/build.sh
$(INSTALL) $(PRESERVE) $(PERM2) examples/api/java/Clientbuild.sh $(SEDNA_INSTALL)/sedna/examples/api/java/Clientbuild.sh
$(INSTALL) $(PRESERVE) $(PERM2) examples/api/java/Client.sh $(SEDNA_INSTALL)/sedna/examples/api/java/Client.sh
diff --exclude pcre --exclude COPYING --exclude config.h --exclude AUTHORS --exclude chartables.c --exclude debian --exclude .git -uNard sedna-3.2.91.orig/Makefile.include sedna-3.2.91/Makefile.include
--- sedna-3.2.91.orig/Makefile.include 2009-09-21 19:57:18.000000000 -0300
+++ sedna-3.2.91/Makefile.include 2010-01-14 09:26:54.000000000 -0300
@@ -261,7 +261,7 @@
OBJ_EXT = .o
LIB_EXT = .a
EXE_EXT =
-DL_EXT = .so
+DL_EXT = .$(SEDNA_VERSION).so
PATCHER = patch
diff --exclude pcre --exclude COPYING --exclude config.h --exclude AUTHORS --exclude chartables.c --exclude debian --exclude .git -uNard sedna-3.2.91.orig/term/Makefile sedna-3.2.91/term/Makefile
--- sedna-3.2.91.orig/term/Makefile 2009-09-21 19:57:15.000000000 -0300
+++ sedna-3.2.91/term/Makefile 2010-01-14 10:21:51.000000000 -0300
@@ -24,11 +24,11 @@
DRIVER_LIB = $(PP)/driver/c/libsednamt$(LIB_EXT)
DRIVER_LIB_S = $(DRIVER_LIB)
else
-DRIVER_LIB = $(PP)/driver/c/libsedna$(LIB_EXT)
+DRIVER_LIB = $(PP)/driver/c/libsedna$(DL_EXT)
DRIVER_LIB_S = -L$(PP)/driver/c -lsedna
ifeq ($(ENABLE_LIBEDIT),1)
#libedit.so is picked if I try -ledit
-DRIVER_LIB_S += $(PP)/libs/libedit/lib/libedit.a -lcurses
+DRIVER_LIB_S += -lcurses -lreadline
endif
endif
------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Sedna-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sedna-discussion