]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
rsocket: Build librspreload 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 the rsocket preload library as part of the build.  To reduce the
risk of the preload library intercepting calls without the user's
knowledge, the preload library is installed into {_libdir}/rsocket.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Makefile.am
librdmacm.spec.in
src/preload.c

index 51b2f899c461e26686ae09800632ffebed8b6e0d..b271b45f48433f50e4c524cbe139357ce1285a76 100644 (file)
@@ -1,11 +1,14 @@
 INCLUDES = -I$(srcdir)/include
 
+rslibdir = $(libdir)/rsocket
 lib_LTLIBRARIES = src/librdmacm.la
+rslib_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
@@ -19,6 +22,10 @@ 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
+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
index 72481374e9c56ad528c62f04efa8bbc1921a0682..4652bbcca3c63422151648dd9820626ce54eff58 100644 (file)
@@ -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/*
index d21389f37c5244ba2fa5b6149163e20d97211648..8758d5c67c1b5edcc3851e27937b020e70ffff9c 100644 (file)
  *
  */
 
-/*
- * Build:
- * gcc -lrdmacm -Wall -shared -fPIC -o preload.so -D_GNU_SOURCE preload.c indexer.c
- *
- * Use:
- * LD_PRELOAD=preload.so binary --plus_args
- */
-
 #if HAVE_CONFIG_H
 #  include <config.h>
 #endif /* HAVE_CONFIG_H */