instrument-env.sh 1.67 KB
Newer Older
1
#!/bin/sh
Mike Hibler's avatar
Mike Hibler committed
2 3
#
# Copyright (c) 2006 University of Utah and the Flux Group.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
# 
# {{{EMULAB-LICENSE
# 
# This file is part of the Emulab network testbed software.
# 
# This file is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at
# your option) any later version.
# 
# This file is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
# License for more details.
# 
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
# 
# }}}
Mike Hibler's avatar
Mike Hibler committed
23
#
24 25 26 27 28

. `dirname $0`/../common-env.sh

LIB_SO="libnetmon.so"
SOCK="${TMPDIR}/netmon.sock";
29
CSOCK="${SOCK}.control";
30

31 32 33 34 35 36
#
# Number of times (1 second apart) to try connecting to netmond.
# (0 means try forever, unset means just one try).
#
TIMO=5

37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
#
# Try once to build the library
#
if ! [ -e $NETMON_DIR/$LIB_SO ]; then
    echo "Building $LIB_SO";
    gmake -C $NETMON_DIR $LIB_SO
fi

#
# Okay, let the user take care of it
#
if ! [ -e $NETMON_DIR/$LIB_SO ]; then
    echo "$NETMON_DIR/$LIB_SO missing - run 'gmake' in $NETMON_DIR to build it"
    exit 1;
fi

#
# Export the magic juice that will make programs use libnetmon
#
export LD_LIBRARY_PATH=$NETMON_DIR
export LD_PRELOAD=$LIB_SO
export LIBNETMON_SOCKPATH=$SOCK
59
export LIBNETMON_CONTROL_SOCKPATH=$CSOCK
60 61 62 63

# Allow this to be overridden from the environment
LIBNETMON_CONNECTTIMO=${LIBNETMON_CONNECTTIMO:=$TIMO}
export LIBNETMON_CONNECTTIMO