[PATCH v2 11/11] liblockdep: preload helper

From: Sasha Levin
Date: Sat Feb 09 2013 - 19:42:39 EST


This is a simple wrapper to make using liblockdep on existing applications
much easier.

After running 'make && make install', it becomes quite simple to test things
with liblockdep. For example, to try it on perf:

lockdep perf

No other integration required.

Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx>
---
tools/lib/lockdep/Makefile | 12 ++++++++----
tools/lib/lockdep/lockdep | 3 +++
2 files changed, 11 insertions(+), 4 deletions(-)
create mode 100755 tools/lib/lockdep/lockdep

diff --git a/tools/lib/lockdep/Makefile b/tools/lib/lockdep/Makefile
index 245f8ba..b22122f 100644
--- a/tools/lib/lockdep/Makefile
+++ b/tools/lib/lockdep/Makefile
@@ -34,7 +34,9 @@ DESTDIR ?=
DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))'

prefix ?= /usr/local
-bindir_relative = lib
+libdir_relative = lib
+libdir = $(prefix)/$(libdir_relative)
+bindir_relative = bin
bindir = $(prefix)/$(bindir_relative)

export DESTDIR DESTDIR_SQ INSTALL
@@ -90,13 +92,14 @@ objtree := $(CURDIR)
src := $(srctree)
obj := $(objtree)

-export prefix bindir src obj
+export prefix libdir bindir src obj

# Shell quotes
+libdir_SQ = $(subst ','\'',$(libdir))
bindir_SQ = $(subst ','\'',$(bindir))
-bindir_relative_SQ = $(subst ','\'',$(bindir_relative))

LIB_FILE = liblockdep.a liblockdep.so
+BIN_FILE = lockdep

CONFIG_INCLUDES =
CONFIG_LIBS =
@@ -229,7 +232,8 @@ define do_install
endef

install_lib: all_cmd
- $(Q)$(call do_install,$(LIB_FILE),$(bindir_SQ))
+ $(Q)$(call do_install,$(LIB_FILE),$(libdir_SQ))
+ $(Q)$(call do_install,$(BIN_FILE),$(bindir_SQ))

install: install_lib

diff --git a/tools/lib/lockdep/lockdep b/tools/lib/lockdep/lockdep
new file mode 100755
index 0000000..a805c81
--- /dev/null
+++ b/tools/lib/lockdep/lockdep
@@ -0,0 +1,3 @@
+#! /bin/bash
+
+LD_PRELOAD="liblockdep.so $LD_PRELOAD" "$@"
--
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/