]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blobdiff - README
NEWS: improve 0.2 notes
[coloredstderr/coloredstderr.git] / README
diff --git a/README b/README
index d7ef1deab51fcce5c38d81c409831d04c610df79..46636c5a33d86bf0dafdec5e9c30e520b5d5b40f 100644 (file)
--- a/README
+++ b/README
@@ -3,7 +3,7 @@ README
 
 coloredstderr is a small library which uses 'LD_PRELOAD' to color stderr. It
 ``follows'' dups, has minimal performance overhead and can ignore certain
-binaries (requires /proc).
+binaries.
 
 Like all solutions using 'LD_PRELOAD' it only works with dynamically linked
 binaries. Statically linked binaries, for example valgrind, are not supported.
@@ -40,6 +40,9 @@ DEPENDENCIES
 INSTALLATION
 ------------
 
+If you're using the Git version, run `autoreconf -fsi` first to generate
+`configure`.
+
     ./configure && make && make check
 
 Then either install the library with `make install` or just copy it from
@@ -85,6 +88,27 @@ A default setup could look like this:
     COLORED_STDERR_FDS=2,
     export LD_PRELOAD COLORED_STDERR_FDS
 
+To use coloredstderr with multi-lib (multiple architectures on the same
+system, e.g. i386 and amd64), your system must support the '$LIB' variable in
+'LD_PRELOAD'. Then you can build coloredstderr for all architectures and use
+'$LIB' in 'LD_PRELOAD'. The following should work for Debian-based systems
+with this directory structure:
+
+    dir
+    `-- lib
+        |-- i386-linux-gnu
+        |   `-- libcoloredstderr.so
+        `-- x86_64-linux-gnu
+            `-- libcoloredstderr.so
+
+Now set 'LD_PRELOAD'. `lib/` is included in '$LIB'!
+
+    LD_PRELOAD='/absolute/path/to/dir/$LIB/libcoloredstderr.so'
+
+The single quotes are important. '$LIB' is not evaluated by the shell, but by
+the loader (`man ld.so`). Now both i386 and amd64 binaries automatically use
+coloredstderr.
+
 
 The following additional environment variables are available:
 
@@ -101,6 +125,7 @@ The following additional environment variables are available:
   Comma separated list of binary names/paths which should not be tracked
   (including their children). Useful for `reset` which writes to the terminal,
   but fails to work if the output is colored. See below for an example.
+  Requires `/proc/self/exe`.
 
 All environment variables starting with 'COLORED_STDERR_PRIVATE_*' are
 internal variables used by the implementation and should not be set manually.
@@ -158,8 +183,8 @@ KNOWN ISSUES
   inlines the code into the program without calling any function.
 - Test `test_stdio.sh` fails on FreeBSD, because FreeBSD does handle the above
   correctly (no inlining), but the test is designed for GNU/Linux.
-- 'COLORED_STDERR_IGNORED_BINARIES' requires the `/proc` file system.
-  Suggestions welcome.
+- 'COLORED_STDERR_IGNORED_BINARIES' requires `/proc/self/exe`. Suggestions
+  welcome.
 - Output of `strace` is not always colored correctly as the output from
   `coloredstderr` is traced and displayed as well. Suggestions welcome.