pushenv helps update your Bash or Zsh environment for compilation and linking with dependencies that are built and installed to different paths.
source pushenv.sh
pushenv PATH...
Suppose you want to experiment with some C or C++ library whose source is freely available as a tar ball with an autoconf build system. You want the benefits of installing it without the drawbacks of mixing an experimental library into your standard system paths.
tar xzf niftywidgets-0.1.2.tgz
cd niftywidgets-0.1.2
./configure --prefix $HOME/local/niftywidgets-0.1.2
make install
Whenever you want to work with this library, first push compiler, linker, and man page environment variables into your current environment.
pushenv ~/local/niftywidgets-0.1.2
Voila! Plain old gcc
and pkg-config
commands work without hassle
and you can lookup niftywidgets documentation with man
.