зеркало из https://github.com/github/vitess-gh.git
114 строки
3.3 KiB
Bash
114 строки
3.3 KiB
Bash
# Copyright 2012, Google Inc. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can
|
|
# be found in the LICENSE file.
|
|
|
|
export VTTOP=$(pwd)
|
|
export VTROOT="${VTROOT:-${VTTOP/\/src\/github.com\/youtube\/vitess/}}"
|
|
# VTTOP sanity check
|
|
if [[ "$VTTOP" == "${VTTOP/\/src\/github.com\/youtube\/vitess/}" ]]; then
|
|
echo "WARNING: VTTOP($VTTOP) does not contain src/github.com/youtube/vitess"
|
|
fi
|
|
export GOTOP=$VTTOP/go
|
|
export PYTOP=$VTTOP/py
|
|
|
|
export VTDATAROOT="$VTROOT/vtdataroot"
|
|
mkdir -p $VTDATAROOT
|
|
|
|
export VTPORTSTART=15000
|
|
|
|
function prepend_path()
|
|
{
|
|
# $1 path variable
|
|
# $2 path to add
|
|
if [ -d "$2" ] && [[ ":$1:" != *":$2:"* ]]; then
|
|
echo "$2:$1"
|
|
else
|
|
echo "$1"
|
|
fi
|
|
if [ -d "$1" ] && [[ ":$PATH:" != *":$1:"* ]]; then
|
|
export PATH="$1:$PATH"
|
|
fi
|
|
}
|
|
|
|
for pypath in $(find $VTROOT/dist -name site-packages)
|
|
do
|
|
export PYTHONPATH=$(prepend_path $PYTHONPATH $pypath)
|
|
done
|
|
|
|
export PYTHONPATH=$(prepend_path $PYTHONPATH $VTROOT/py-vtdb)
|
|
|
|
# Add the current GOBIN
|
|
if [ "$GOBIN" ]; then
|
|
export PATH=$(prepend_path $PATH $GOBIN)
|
|
fi
|
|
|
|
# Many tests rely on "go install" and assume GOBIN is really $VTROOT/bin.
|
|
# Make sure these take precedence.
|
|
export GOBIN=$VTROOT/bin
|
|
export PATH=$(prepend_path $PATH $GOBIN)
|
|
|
|
# If we have a custom built mysql, prefer it over the default installation.
|
|
export PATH=$(prepend_path $PATH $VTROOT/dist/mysql/bin)
|
|
|
|
# GOROOT sanity
|
|
go_bin=`which go`
|
|
go_env=`go env | grep GOROOT | cut -f 2 -d\"`
|
|
if [ "$go_bin" -a "$go_bin" != "$go_env/bin/go" ]; then
|
|
echo "WARNING: \$GOROOT may not compatible with the used go binary"
|
|
echo "Please make sure 'go' comes from \$GOROOT/bin"
|
|
echo "go_env: $go_env"
|
|
echo "go_bin: $go_bin"
|
|
fi
|
|
|
|
# mysql install location. Please set based on your environment.
|
|
# Build will not work if this is incorrect.
|
|
|
|
if [[ "$VT_MYSQL_ROOT" == "" ]]; then
|
|
if [[ "$(which mysql_config)" == "" ]]; then
|
|
echo "WARNING: VT_MYSQL_ROOT unset because mysql_config not found. Did you install a client dev package?"
|
|
else
|
|
export VT_MYSQL_ROOT=$(dirname $(dirname $(which mysql_config)))
|
|
fi
|
|
fi
|
|
|
|
# restore MYSQL_FLAVOR, saved by bootstrap.sh
|
|
if [ -r $VTROOT/dist/MYSQL_FLAVOR ]; then
|
|
export MYSQL_FLAVOR=`cat $VTROOT/dist/MYSQL_FLAVOR`
|
|
fi
|
|
|
|
# mysql cgo library config
|
|
if [ -z "$MYSQL_FLAVOR" ]; then
|
|
export MYSQL_FLAVOR=MariaDB
|
|
fi
|
|
case "$MYSQL_FLAVOR" in
|
|
"MySQL56")
|
|
;;
|
|
"MariaDB")
|
|
export LD_LIBRARY_PATH=$(prepend_path $LD_LIBRARY_PATH $VT_MYSQL_ROOT/lib)
|
|
export CGO_CFLAGS="$CGO_CFLAGS -I$VT_MYSQL_ROOT/include"
|
|
;;
|
|
*)
|
|
echo "Unsupported MYSQL_FLAVOR $MYSQL_FLAVOR"
|
|
;;
|
|
esac
|
|
export PKG_CONFIG_PATH=$(prepend_path $PKG_CONFIG_PATH $VTROOT/lib)
|
|
|
|
# zookeeper cgo library config
|
|
zk_ver=3.4.6
|
|
export CGO_CFLAGS="$CGO_CFLAGS -I$VTROOT/dist/vt-zookeeper-$zk_ver/include/zookeeper"
|
|
export CGO_LDFLAGS="$CGO_LDFLAGS -L$VTROOT/dist/vt-zookeeper-$zk_ver/lib"
|
|
export LD_LIBRARY_PATH=$(prepend_path $LD_LIBRARY_PATH $VTROOT/dist/vt-zookeeper-$zk_ver/lib)
|
|
|
|
# needed to correctly import grpc if it's not installed globally
|
|
grpc_dist=$VTROOT/dist/grpc
|
|
if [ -f $grpc_dist/.build_finished ]; then
|
|
export LD_LIBRARY_PATH=$(prepend_path $LD_LIBRARY_PATH $grpc_dist/lib)
|
|
fi
|
|
|
|
export GOPATH=$(prepend_path $GOPATH $VTROOT)
|
|
|
|
# Useful aliases. Remove if inconvenient.
|
|
alias gt="cd $GOTOP"
|
|
alias pt="cd $PYTOP"
|
|
alias vt="cd $VTTOP"
|