From: Sean Hefty Date: Mon, 9 Jul 2012 21:58:14 +0000 (-0700) Subject: rsocket: Build rspreload library as part of build X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=9953927e2ba662867fb28d2147c6bca10883689b;p=~shefty%2Flibrdmacm.git rsocket: Build rspreload library as part of build Build rspreload.so, but do not install it. This avoids the need for the user to build it manually, without risking that the preload library intercepts socket calls without the user's explicit knowledge. Signed-off-by: Sean Hefty --- diff --git a/Makefile.am b/Makefile.am index 51b2f899..23d97f4e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,16 +1,21 @@ INCLUDES = -I$(srcdir)/include +rslibdir = $(libdir)/rsocket lib_LTLIBRARIES = src/librdmacm.la +rslibdir_LTLIBRARIES = src/librspreload.la ACLOCAL_AMFLAGS = -I config AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DSYSCONFDIR=\"$(sysconfdir)\" -DRDMADIR=\"@rdmadir@\" src_librdmacm_la_CFLAGS = $(AM_CFLAGS) +src_librspreload_la_CFLAGS = $(AM_CFLAGS) if HAVE_LD_VERSION_SCRIPT librdmacm_version_script = -Wl,--version-script=$(srcdir)/src/librdmacm.map + librspreload_version_script = -Wl,--version-script=$(srcdir)/src/librspreload.map else librdmacm_version_script = + librspreload_version_script = endif src_librdmacm_la_SOURCES = src/cma.c src/addrinfo.c src/acm.c \ @@ -19,6 +24,12 @@ src_librdmacm_la_LDFLAGS = -version-info 1 -export-dynamic \ $(librdmacm_version_script) src_librdmacm_la_DEPENDENCIES = $(srcdir)/src/librdmacm.map +src_librspreload_la_SOURCES = src/preload.c src/indexer.c +src_librspreload_la_LDFLAGS = -version-info 1 -export-dynamic \ + $(librspreload_version_script) +src_librspreload_la_DEPENDENCIES = $(srcdir)/src/librspreload.map +src_librspreload_la_LIBADD = $(top_builddir)/src/librdmacm.la + bin_PROGRAMS = examples/ucmatose examples/rping examples/udaddy examples/mckey \ examples/rdma_client examples/rdma_server examples/rdma_xclient \ examples/rdma_xserver examples/rstream examples/rcopy @@ -116,7 +127,7 @@ man_MANS = \ man/rdma_cm.7 \ man/rsocket.7 -EXTRA_DIST = src/cma.h src/indexer.h src/librdmacm.map \ +EXTRA_DIST = src/cma.h src/indexer.h src/librdmacm.map src/librspreload.map \ librdmacm.spec.in $(man_MANS) dist-hook: librdmacm.spec diff --git a/librdmacm.spec.in b/librdmacm.spec.in index 72481374..4652bbcc 100644 --- a/librdmacm.spec.in +++ b/librdmacm.spec.in @@ -44,6 +44,7 @@ rm -rf $RPM_BUILD_ROOT %makeinstall # remove unpackaged files from the buildroot rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/rsocket/*.la %clean rm -rf $RPM_BUILD_ROOT @@ -53,13 +54,16 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) -%{_libdir}/librdmacm*.so.* +%{_libdir}/lib*.so.* +%{_libdir}/rsocket/lib*.so.* %doc AUTHORS COPYING README %files devel %defattr(-,root,root) -%{_libdir}/lib*.so +%{_libdir}/librdmacm*.so +%{_libdir}/rsocket/librspreload*.so %{_libdir}/*.a +%{_libdir}/rsocket/*.a %{_includedir}/* %{_mandir}/man3/* %{_mandir}/man7/* diff --git a/src/librspreload.map b/src/librspreload.map new file mode 100644 index 00000000..554050da --- /dev/null +++ b/src/librspreload.map @@ -0,0 +1,30 @@ +RSPRELOAD_1.0 { + global: + socket; + bind; + listen; + accept; + connect; + shutdown; + close; + recv; + recvfrom; + recvmsg; + send; + sendto; + sendmsg; + read; + readv; + write; + writev; + poll; + select; + getpeername; + getsockname; + setsockopt; + getsockopt; + fcntl; + poll; + select; + local: *; +};