فهرست منبع

Add support for buildling on Solaris platforms.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2222 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 16 سال پیش
والد
کامیت
3d7f87779a
5فایلهای تغییر یافته به همراه74 افزوده شده و 2 حذف شده
  1. 5 2
      configure.ac
  2. 23 0
      exec/Makefile.am
  3. 11 0
      lcr/Makefile.am
  4. 22 0
      lib/Makefile.am
  5. 13 0
      services/Makefile.am

+ 5 - 2
configure.ac

@@ -238,9 +238,10 @@ case "$host_os" in
 				   [Prevent being scheduled RR])
 				   [Prevent being scheduled RR])
 		OS_CFLAGS=""
 		OS_CFLAGS=""
 		OS_CPPFLAGS="-D_REENTRANT"
 		OS_CPPFLAGS="-D_REENTRANT"
-		OS_LDFLAGS="-Wl,-rpath-link=/usr/lib"
-		OS_DYFLAGS="-Wl,--export-dynamic"
+		OS_LDFLAGS=""
+		OS_DYFLAGS="-Wl,-z,lazyload"
 		DARWIN_OPTS=""
 		DARWIN_OPTS=""
+		SOLARIS_OPTS=" "
 	;;
 	;;
 	*)
 	*)
 		AC_MSG_ERROR([Unsupported OS? hmmmm])
 		AC_MSG_ERROR([Unsupported OS? hmmmm])
@@ -358,7 +359,9 @@ AC_SUBST([OS_DYFLAGS])
 AC_SUBST([NSS_LDFLAGS])
 AC_SUBST([NSS_LDFLAGS])
 
 
 AM_CONDITIONAL(BUILD_DARWIN, test -n "${DARWIN_OPTS}")
 AM_CONDITIONAL(BUILD_DARWIN, test -n "${DARWIN_OPTS}")
+AM_CONDITIONAL(BUILD_SOLARIS, test -n "${SOLARIS_OPTS}")
 AC_SUBST([DARWIN_OPTS])
 AC_SUBST([DARWIN_OPTS])
+AC_SUBST([SOLARIS_OPTS])
 
 
 AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}")
 AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}")
 
 

+ 23 - 0
exec/Makefile.am

@@ -94,6 +94,27 @@ libcoroipcs.so.$(SONAME): $(COROIPCS_OBJS)
 
 
 else
 else
 
 
+if BUILD_SOLARIS
+%.lcrso: %.o
+	$(LD) -G $^ -o $@
+
+libtotem_pg.so.$(SONAME): $(TOTEM_OBJS)
+	$(LD) -G $(TOTEM_OBJS) -o $@ -lpthread
+	ln -sf libtotem_pg.so.$(SONAME) libtotem_pg.so
+	ln -sf libtotem_pg.so.$(SONAME) libtotem_pg.so.$(SOMAJOR)
+
+liblogsys.so.$(SONAME): $(LOGSYS_OBJS)
+	$(LD) -G $(LOGSYS_OBJS) -o $@ -lpthread
+	ln -sf liblogsys.so.$(SONAME) liblogsys.so
+	ln -sf liblogsys.so.$(SONAME) liblogsys.so.$(SOMAJOR)
+
+libcoroipcs.so.$(SONAME): $(COROIPCS_OBJS)
+	$(LD) -G $(COROIPCS_OBJS) -o $@ -lpthread
+	ln -sf libcoroipcs.so.$(SONAME) libcoroipcs.so
+	ln -sf libcoroipcs.so.$(SONAME) libcoroipcs.so.$(SOMAJOR)
+
+else
+
 %.lcrso: %.o
 %.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 
 
@@ -120,6 +141,8 @@ libcoroipcs.so.$(SONAME): $(COROIPCS_OBJS)
 
 
 endif
 endif
 
 
+endif
+
 lint:
 lint:
 	-splint $(LINT_FLAGS) $(CFLAGS) *.c
 	-splint $(LINT_FLAGS) $(CFLAGS) *.c
 
 

+ 11 - 0
lcr/Makefile.am

@@ -50,11 +50,22 @@ test_LDADD		= liblcr.a
 test_static_SOURCES	= test.c libtest_a.c libtest_b.c uis.c lcr_ifact.c
 test_static_SOURCES	= test.c libtest_a.c libtest_b.c uis.c lcr_ifact.c
 
 
 if BUILD_DARWIN
 if BUILD_DARWIN
+
 %.lcrso: %.o
 %.lcrso: %.o
 	$(CC) $(CFLAGS) -bundle -bundle_loader ./test $^ -o $@
 	$(CC) $(CFLAGS) -bundle -bundle_loader ./test $^ -o $@
+else 
+
+if BUILD_SOLARIS
+
+%.lcrso: %.o
+	$(CC) $(CFLAGS) -shared $^ -o $@
 else
 else
+
 %.lcrso: %.o
 %.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname,$@ $^ -o $@
 	$(CC) $(CFLAGS) -shared -Wl,-soname,$@ $^ -o $@
+
+endif
+
 endif
 endif
 
 
 lint:
 lint:

+ 22 - 0
lib/Makefile.am

@@ -82,6 +82,26 @@ lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
 
 
 else
 else
 
 
+if BUILD_SOLARIS
+
+libcoroipcc.so.$(SONAME): coroipcc.o
+	$(LD) $(LDFLAGS) $(SOLARIS_OPTS) -G coroipcc.o -o $@ $(AM_LDFLAGS) -lsocket -lnsl
+	ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so
+	ln -sf libcoroipcc.so.$(SONAME) libcoroipcc.so.$(SOMAJOR)
+
+libconfdb.so.$(SONAME): confdb.o sa-confdb.o libcoroipcc.so.$(SONAME)
+	$(LD) $(LDFLAGS) $(SOLARIS_OPTS) -G coroipcc.o confdb.o \
+		sa-confdb.o ../lcr/lcr_ifact.o -o $@ -ldl $(AM_LDFLAGS)
+	ln -sf libconfdb.so.$(SONAME) libconfdb.so
+	ln -sf libconfdb.so.$(SONAME) libconfdb.so.$(SOMAJOR)
+
+lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
+	$(LD) $(SOLARIS_OPTS) -G $^ -o $@
+	ln -sf lib$*.so.$(SONAME) lib$*.so
+	ln -sf lib$*.so.$(SONAME) lib$*.so.$(SOMAJOR)
+
+else
+
 libcoroipcc.so.$(SONAME): coroipcc.o
 libcoroipcc.so.$(SONAME): coroipcc.o
 	$(CC) -shared -o $@ \
 	$(CC) -shared -o $@ \
 		-Wl,-soname=libcoroipcc.so.$(SOMAJOR) \
 		-Wl,-soname=libcoroipcc.so.$(SOMAJOR) \
@@ -108,6 +128,8 @@ lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
 
 
 endif
 endif
 
 
+endif
+
 all-local: $(SHARED_LIBS)
 all-local: $(SHARED_LIBS)
 	@echo Built shared libs
 	@echo Built shared libs
 
 

+ 13 - 0
services/Makefile.am

@@ -55,6 +55,17 @@ quorum_%.lcrso: %.o
 
 
 service_%.lcrso: %.o
 service_%.lcrso: %.o
 	$(CC) $(CFLAGS) -L$(top_builddir)/exec -llogsys -bundle -bundle_loader $(top_builddir)/exec/corosync $^ -o $@
 	$(CC) $(CFLAGS) -L$(top_builddir)/exec -llogsys -bundle -bundle_loader $(top_builddir)/exec/corosync $^ -o $@
+
+else
+
+if BUILD_SOLARIS
+
+quorum_%.lcrso: %.o
+	$(LD) $(LDFLAGS) -G $^ -o $@
+
+service_%.lcrso: %.o
+	$(LD) $(LDFLAGS) -G $^ -o $@
+ 
 else
 else
 quorum_%.lcrso: %.o
 quorum_%.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
@@ -63,6 +74,8 @@ service_%.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 endif
 endif
 
 
+endif
+
 %.o: %.c
 %.o: %.c
 	$(CC) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c -o $@ $<
 	$(CC) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c -o $@ $<