]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
rsocket: Build rspreload library as part of build
authorSean Hefty <sean.hefty@intel.com>
Mon, 9 Jul 2012 21:58:14 +0000 (14:58 -0700)
committerSean Hefty <sean.hefty@intel.com>
Mon, 9 Jul 2012 21:58:14 +0000 (14:58 -0700)
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 <sean.hefty@intel.com>
Makefile.am
src/librspreload.map [new file with mode: 0644]

index 51b2f899c461e26686ae09800632ffebed8b6e0d..3f1280fc7b906e07bb5e21add64d83e19340fb88 100644 (file)
@@ -1,16 +1,20 @@
 INCLUDES = -I$(srcdir)/include
 
 lib_LTLIBRARIES = src/librdmacm.la
+noinst_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 +23,11 @@ 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_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
diff --git a/src/librspreload.map b/src/librspreload.map
new file mode 100644 (file)
index 0000000..554050d
--- /dev/null
@@ -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: *;
+};