This adds solaris building to the Makefiles.

It is untidy, but seems to work :)

Index: lcr/Makefile.am
===================================================================
--- lcr/Makefile.am	(revision 2221)
+++ lcr/Makefile.am	(working copy)
@@ -50,13 +50,24 @@
 test_static_SOURCES	= test.c libtest_a.c libtest_b.c uis.c lcr_ifact.c
 
 if BUILD_DARWIN
+
 %.lcrso: %.o
 	$(CC) $(CFLAGS) -bundle -bundle_loader ./test $^ -o $@
+else 
+
+if BUILD_SOLARIS
+
+%.lcrso: %.o
+	$(CC) $(CFLAGS) -shared $^ -o $@
 else
+
 %.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname,$@ $^ -o $@
+
 endif
 
+endif
+
 lint:
 	-splint $(LINT_FLAGS) $(CFLAGS) *.c
 
Index: services/Makefile.am
===================================================================
--- services/Makefile.am	(revision 2221)
+++ services/Makefile.am	(working copy)
@@ -55,14 +55,27 @@
 
 service_%.lcrso: %.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
+quorum_%.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 
 service_%.lcrso: %.o
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 endif
 
+endif
+
 %.o: %.c
 	$(CC) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c -o $@ $<
 
Index: exec/Makefile.am
===================================================================
--- exec/Makefile.am	(revision 2221)
+++ exec/Makefile.am	(working copy)
@@ -94,7 +94,28 @@
 
 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
 	$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
 
 libtotem_pg.so.$(SONAME): $(TOTEM_OBJS)
@@ -120,6 +141,8 @@
 
 endif
 
+endif
+
 lint:
 	-splint $(LINT_FLAGS) $(CFLAGS) *.c
 
Index: configure.ac
===================================================================
--- configure.ac	(revision 2221)
+++ configure.ac	(working copy)
@@ -238,9 +238,10 @@
 				   [Prevent being scheduled RR])
 		OS_CFLAGS=""
 		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=""
+		SOLARIS_OPTS=" "
 	;;
 	*)
 		AC_MSG_ERROR([Unsupported OS? hmmmm])
@@ -358,7 +359,9 @@
 AC_SUBST([NSS_LDFLAGS])
 
 AM_CONDITIONAL(BUILD_DARWIN, test -n "${DARWIN_OPTS}")
+AM_CONDITIONAL(BUILD_SOLARIS, test -n "${SOLARIS_OPTS}")
 AC_SUBST([DARWIN_OPTS])
+AC_SUBST([SOLARIS_OPTS])
 
 AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}")
 
Index: lib/Makefile.am
===================================================================
--- lib/Makefile.am	(revision 2221)
+++ lib/Makefile.am	(working copy)
@@ -82,7 +82,27 @@
 
 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
 	$(CC) -shared -o $@ \
 		-Wl,-soname=libcoroipcc.so.$(SOMAJOR) \
 		-Wl,-version-script=$(srcdir)/libcoroipcc.versions \
@@ -108,6 +128,8 @@
 
 endif
 
+endif
+
 all-local: $(SHARED_LIBS)
 	@echo Built shared libs
 
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to