forked from opencurve/curve
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfigure.sh
executable file
·83 lines (65 loc) · 2.28 KB
/
configure.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
#
# Copyright (c) 2020 NetEase Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
echo "********************************************************************"
echo "***********Prepare for curvefs python API build env.****************"
echo "********************************************************************"
echo "First of all, you must build curve all. Then you can run this script."
usage() {
echo "Usage: ./configure.sh [python2|python3]"
}
curve_path=$PWD
echo "curve workspace path is $curve_path"
PYTHON_VER=python2
if [ $# -ge 1 ]; then
PYTHON_VER=$1
fi
bazelbin="bazel-bin"
if [ -n "$BAZEL_BIN" ]; then
bazelbin=$BAZEL_BIN
fi
echo "bazel-bin path is $bazelbin"
echo "configure for ${PYTHON_VER}"
if [ "${PYTHON_VER}" = "python2" ] || [ "${PYTHON_VER}" = "python3" ]; then
PYTHON_H_DIR=`find /usr/include/ -name "${PYTHON_VER}*" | grep "/usr/include/${PYTHON_VER}*" | head -n1`
else
usage
exit 1
fi
if [ -z $PYTHON_H_DIR ] || [ ! -f $PYTHON_H_DIR/Python.h ]; then
echo "Not found include path for Python.h"
exit 1
fi
cd $curve_path/curvefs_python/
echo "Prepare bazel build file"
cp BUILD_bak BUILD -f
sed -i "s%PYTHON_H_DIR%${PYTHON_H_DIR}%g" ${PWD}/BUILD
echo "copy libs to tmplib directory"
libs=`cat BUILD | tr -d "[:blank:]" | grep "^\"-l" | sed 's/[",]//g' | awk '{ print substr($0, 3) }'`
rm -rf tmplib
mkdir tmplib
for i in `find $curve_path/$bazelbin/|grep -w so|grep -v solib|grep -v params`
do
basename=$(basename $i)
linkname=`echo $basename | awk -F'.' '{ print $1 }' | awk '{ print substr($0, 4) }'`
if [[ $libs =~ $linkname ]]
then
echo $i
cp -f $i ./tmplib/
fi
done
echo "Prepare env done, you can build curvefs now."
echo "Plesae add --linkopt -L/path/to/tmplib to bazel build command line."