Add support for buildling on Solaris platforms.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2222 fd59a12c-fef9-0310-b244-a6a79926bd2f
This commit is contained in:
Steven Dake 2009-06-07 07:53:56 +00:00
parent ae5895c3f7
commit 3d7f87779a
5 changed files with 74 additions and 2 deletions

View File

@ -238,9 +238,10 @@ case "$host_os" in
[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([OS_DYFLAGS])
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}")

View File

@ -94,6 +94,27 @@ libcoroipcs.so.$(SONAME): $(COROIPCS_OBJS)
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 $@
@ -120,6 +141,8 @@ libcoroipcs.so.$(SONAME): $(COROIPCS_OBJS)
endif
endif
lint:
-splint $(LINT_FLAGS) $(CFLAGS) *.c

View File

@ -50,11 +50,22 @@ test_LDADD = liblcr.a
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:

View File

@ -82,6 +82,26 @@ lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
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) \
@ -108,6 +128,8 @@ lib%.so.$(SONAME): %.o libcoroipcc.so.$(SONAME)
endif
endif
all-local: $(SHARED_LIBS)
@echo Built shared libs

View File

@ -55,6 +55,17 @@ quorum_%.lcrso: %.o
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 $@
@ -63,6 +74,8 @@ service_%.lcrso: %.o
$(CC) $(CFLAGS) -shared -Wl,-soname=$@ $^ -o $@
endif
endif
%.o: %.c
$(CC) $(AM_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c -o $@ $<