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

Reply via email to