From 64a3030683fab242a1608d7c35766130faffc1c0 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Wed, 23 Dec 2009 11:29:19 -0500 Subject: [PATCH] libnsm.a: Move the sm_inter XDR pieces to libnsm.a Clean up: Move the .x file and the generated C source for NSM to libnsm.a, echoing the architecture of mountd and exportfs. This makes the NSM protocol definitions, data types, and XDR routines available to be shared across nfs-utils. This simplifies the addition of other NSM-related code (for example for testing or providing clustering support), and also provides public data type definitions that can be used to make sense of the contents of statd's on-disk database. Because sim_sm_inter.x still resides in utils/statd, I've left some rpcgen build magic in utils/statd/Makefile.am. This is an internal organization change only. This patch should not affect code behavior in any way. Signed-off-by: Chuck Lever Signed-off-by: Steve Dickson --- .gitignore | 9 ++--- configure.ac | 1 + support/Makefile.am | 2 +- support/nsm/Makefile.am | 45 +++++++++++++++++++++++++ {utils/statd => support/nsm}/sm_inter.x | 0 utils/statd/Makefile.am | 16 +++------ 6 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 support/nsm/Makefile.am rename {utils/statd => support/nsm}/sm_inter.x (100%) diff --git a/.gitignore b/.gitignore index 632609e..03e4606 100644 --- a/.gitignore +++ b/.gitignore @@ -55,10 +55,11 @@ support/export/mount.h support/export/mount_clnt.c support/export/mount_xdr.c support/include/mount.h -utils/statd/sm_inter.h -utils/statd/sm_inter_clnt.c -utils/statd/sm_inter_svc.c -utils/statd/sm_inter_xdr.c +support/nsm/sm_inter.h +support/nsm/sm_inter_clnt.c +support/nsm/sm_inter_svc.c +support/nsm/sm_inter_xdr.c +support/include/sm_inter.h # cscope database files cscope.* # generic editor backup et al diff --git a/configure.ac b/configure.ac index 3ad415c..1c79b21 100644 --- a/configure.ac +++ b/configure.ac @@ -402,6 +402,7 @@ AC_CONFIG_FILES([ support/include/Makefile support/misc/Makefile support/nfs/Makefile + support/nsm/Makefile tools/Makefile tools/locktest/Makefile tools/nlmtest/Makefile diff --git a/support/Makefile.am b/support/Makefile.am index aa4d692..cb37733 100644 --- a/support/Makefile.am +++ b/support/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS = export include misc nfs +SUBDIRS = export include misc nfs nsm MAINTAINERCLEANFILES = Makefile.in diff --git a/support/nsm/Makefile.am b/support/nsm/Makefile.am new file mode 100644 index 0000000..4b8110d --- /dev/null +++ b/support/nsm/Makefile.am @@ -0,0 +1,45 @@ +## Process this file with automake to produce Makefile.in + +GENFILES_CLNT = sm_inter_clnt.c +GENFILES_SVC = sm_inter_svc.c +GENFILES_XDR = sm_inter_xdr.c +GENFILES_H = sm_inter.h + +GENFILES = $(GENFILES_CLNT) $(GENFILES_SVC) $(GENFILES_XDR) $(GENFILES_H) + +EXTRA_DIST = sm_inter.x + +noinst_LIBRARIES = libnsm.a +libnsm_a_SOURCES = $(GENFILES) + +BUILT_SOURCES = $(GENFILES) + +if CONFIG_RPCGEN +RPCGEN = $(top_builddir)/tools/rpcgen/rpcgen +$(RPCGEN): + make -C ../../tools/rpcgen all +else +RPCGEN = @RPCGEN_PATH@ +endif + +$(GENFILES_CLNT): %_clnt.c: %.x $(RPCGEN) + test -f $@ && rm -rf $@ || true + $(RPCGEN) -l -o $@ $< + +$(GENFILES_SVC): %_svc.c: %.x $(RPCGEN) + test -f $@ && rm -rf $@ || true + $(RPCGEN) -m -o $@ $< + +$(GENFILES_XDR): %_xdr.c: %.x $(RPCGEN) + test -f $@ && rm -rf $@ || true + $(RPCGEN) -c -o $@ $< + +$(GENFILES_H): %.h: %.x $(RPCGEN) + test -f $@ && rm -rf $@ || true + $(RPCGEN) -h -o $@ $< + rm -f $(top_builddir)/support/include/sm_inter.h + $(LN_S) ../nsm/sm_inter.h $(top_builddir)/support/include/sm_inter.h + +MAINTAINERCLEANFILES = Makefile.in + +CLEANFILES = $(GENFILES) $(top_builddir)/support/include/sm_inter.h diff --git a/utils/statd/sm_inter.x b/support/nsm/sm_inter.x similarity index 100% rename from utils/statd/sm_inter.x rename to support/nsm/sm_inter.x diff --git a/utils/statd/Makefile.am b/utils/statd/Makefile.am index f64cd7a..d9731b7 100644 --- a/utils/statd/Makefile.am +++ b/utils/statd/Makefile.am @@ -2,32 +2,26 @@ man8_MANS = statd.man sm-notify.man -GENFILES_CLNT = sm_inter_clnt.c -GENFILES_SVC = sm_inter_svc.c -GENFILES_XDR = sm_inter_xdr.c -GENFILES_H = sm_inter.h - -GENFILES = $(GENFILES_CLNT) $(GENFILES_SVC) $(GENFILES_XDR) $(GENFILES_H) - RPCPREFIX = rpc. KPREFIX = @kprefix@ sbin_PROGRAMS = statd sm-notify dist_sbin_SCRIPTS = start-statd statd_SOURCES = callback.c notlist.c misc.c monitor.c \ simu.c stat.c statd.c svc_run.c rmtcall.c \ - sm_inter_clnt.c sm_inter_svc.c sm_inter_xdr.c \ - notlist.h statd.h system.h version.h sm_inter.h + notlist.h statd.h system.h version.h sm_notify_SOURCES = sm-notify.c BUILT_SOURCES = $(GENFILES) statd_LDADD = ../../support/export/libexport.a \ + ../../support/nsm/libnsm.a \ ../../support/nfs/libnfs.a \ ../../support/misc/libmisc.a \ $(LIBWRAP) $(LIBNSL) -sm_notify_LDADD = ../../support/nfs/libnfs.a \ +sm_notify_LDADD = ../../support/nsm/libnsm.a \ + ../../support/nfs/libnfs.a \ $(LIBNSL) -EXTRA_DIST = sim_sm_inter.x sm_inter.x $(man8_MANS) COPYRIGHT simulate.c +EXTRA_DIST = sim_sm_inter.x $(man8_MANS) COPYRIGHT simulate.c if CONFIG_RPCGEN RPCGEN = $(top_builddir)/tools/rpcgen/rpcgen -- 2.39.5