[Spread-cvs] commit: r354 - in trunk: daemon libspread
jonathan at spread.org
jonathan at spread.org
Sun Jun 4 01:10:05 EDT 2006
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 <jonathan at cnds.jhu.edu>
+
+ * 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 <jonathan at cnds.jhu.edu>
* 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)
More information about the Spread-cvs
mailing list