make bind port reuse previously unfreed port
[archipelago] / xseg / envsetup
1 #!/bin/bash
2
3 set -e
4
5 dirname=$(dirname -- "${0}")
6 if cd "${dirname}"; then
7         XSEG_HOME=$(pwd -P)
8         cd - > /dev/null
9 fi
10
11 if [ -z "$XSEG_HOME" ]; then
12         echo 'Cannot set $XSEG_HOME'
13         exit 1
14 fi
15
16 PEERS=${XSEG_HOME}/peers
17 TOOLS=${XSEG_HOME}/tools
18 LIBS=${XSEG_HOME}/lib/user
19
20 if [ ! -d "${LIBS}" ] || [ ! -d "${PEERS}" ]; then
21         echo "Cannot find basic xseg layout"
22         exit 1
23 fi
24
25 if ! echo ${PATH} | grep -E -e '(^|:)'"${PEERS}"'(:|$)' > /dev/null 2>&1; then
26         PATH=${PATH}:${PEERS}
27 fi
28
29 if ! echo ${PATH} | grep -E -e '(^|:)'"${TOOLS}"'(:|$)' > /dev/null 2>&1; then
30         PATH=${PATH}:${TOOLS}
31 fi
32
33 if ! echo ${LD_LIBRARY_PATH} | grep -E -e '(^|:)'"${LIBS}"'(:|$)' > /dev/null 2>&1; then
34         LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${LIBS}
35 fi
36
37 export PATH LD_LIBRARY_PATH XSEG_HOME
38 source ${XSEG_HOME}/config.env
39 export XSEG_DOMAIN_DIRS XSEG_DIRS
40
41 if [ "$1" = "show" ]; then
42         echo "export XSEG_HOME="${XSEG_HOME}
43         echo "export XSEG_DIRS="${XSEG_DIRS}
44         echo "export XSEG_DOMAIN_DIRS="${XSEG_DOMAIN_DIRS}
45         echo "export PATH="${PATH}
46         echo "export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}
47 else
48         if [ -z "${NONINTERACTIVE}" ]; then
49                 [ -z "$SHELL" ] && SHELL=/bin/bash
50
51                 selfname=$(basename -- "${0}")
52                 [ "$selfname" = "envsetup" ] && exec "$SHELL"
53         fi
54 fi