commit: r354 - in trunk: daemon libspread

[email protected]
Newsgroups gmane.network.spread.cvs
Message-ID <[email protected]>
Author: jonathan
Date: 2006-06-04 01:10:05 -0400 (Sun, 04 Jun 2006)
New Revision: 354

Modified:
   trunk/daemon/Changelog
   trunk/libspread/Makefile.in
Log:
Fix for build failure on x86-64/linux.
Change way libspread.so is linked so that it directly 
includes the shared, thread-safe stdutil object files into the libspread.so 
library instead of trying to extract them from the stdutil.a or stdutil.so libraries.



Modified: trunk/daemon/Changelog
===================================================================
--- trunk/daemon/Changelog	2006-05-24 16:36:53 UTC (rev 353)
+++ trunk/daemon/Changelog	2006-06-04 05:10:05 UTC (rev 354)
@@ -1,3 +1,12 @@
+Sun Jun  4 01:01:51 2006  Jonathan Stanton  <[email protected]>
+
+	* Makefile.in (SHARED_STDUTIL): Change libspread.so target
+	to merge stdutil library objects directly by including the 
+	object files rather then linking in the stdutil archive. This
+	fixes the linking problem for platforms which require -fPIC
+	for all shared library code. Specifically this fixes the build
+	failure on x86-64/linux. 
+
 Wed Mar  1 08:05:32 2006  Jonathan Stanton  <[email protected]>
 
 	* libspread/sp.c, fl.c, include/sp.h, sp_func.h (SP_get_vs* memb_info()):

Modified: trunk/libspread/Makefile.in
===================================================================
--- trunk/libspread/Makefile.in	2006-05-24 16:36:53 UTC (rev 353)
+++ trunk/libspread/Makefile.in	2006-06-04 05:10:05 UTC (rev 354)
@@ -80,7 +80,13 @@
 
 LIBTFL_SHOBJS= fl.tlo scatp.tlo alarm.tlo events.tlo memory.tlo sp.tlo
 
+# A bit of a hack to grab the -fPIC threaded object files to merge into the shared spread library
+# since the stdutil.so cannot be merged, and the stdutil.a is not compiled -fPIC
+# Can be fixed correctly if stdutil generates incremental shared library versions
+STDUTIL_DIR=../stdutil/src
 
+SHARED_STDUTIL= $(STDUTIL_DIR)/stdarr.lto $(STDUTIL_DIR)/stdcarr.lto $(STDUTIL_DIR)/stddll.lto $(STDUTIL_DIR)/stderror.lto $(STDUTIL_DIR)/stdfd.lto $(STDUTIL_DIR)/stdhash.lto $(STDUTIL_DIR)/stdit.lto $(STDUTIL_DIR)/stdskl.lto $(STDUTIL_DIR)/stdthread.lto $(STDUTIL_DIR)/stdtime.lto $(STDUTIL_DIR)/stdutil.lto
+
 all: $(TARGETS)
 
 .c.o:
@@ -156,7 +162,7 @@
 	(cd $(DESTDIR)$(libdir); $(SOFTLINK) -f libspread.$(LIBVERSION).dylib libspread.dylib)
 
 libspread.so:	$(LIBTFL_SHOBJS)
-	$(SHLD) -o $@ $(LIBTFL_SHOBJS) $(SHLDFLAGS) $(SHLDCONVERTSTATIC) ../stdutil/lib/libstdutil-threaded-release.a $(SHLDCONVERTSTATICEND) $(SHLIBS) $(THLIBS)
+	$(SHLD) -o $@ $(LIBTFL_SHOBJS) $(SHLDFLAGS) $(SHARED_STDUTIL) $(SHLIBS) $(THLIBS)
 
 install-libspread.so:	libspread.so
 	$(INSTALL) -m 0755 libspread.so $(DESTDIR)$(libdir)/libspread.so.$(LIBVERSION)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.