mirror of
https://github.com/ceph/ceph
synced 2025-01-10 05:00:59 +00:00
5fc657b40d
* drop WITH_PYTHON2 option * print warning message if WITH_PYTHON3 is disabled * drop MGR_PYTHON_VERSION option, as we don't support use different python version for python binding and ceph-mgr embedded python interpreter anymore. as before switching to python3-only build, we can build python3 and python2 python bindings, and ceph-mgr can use either of them. but after switching to python3-only build, ceph-mgr has to use whatever python version used to build python binding. * move WITH_PYTHON3 option to $top_srcdir/CMakeLists.txt, as ceph-mgr and python binding will share this option. * hardware ${PYTHON_VERSION} to 3 * hardware ${Python${PYTHON_VERSION}_VERSION_MAJOR} to 3 * only build boost library with python3 * s/Python_EXECUTABLE/Python3_EXECUTABLE/ * update the build scripts and packagings accordingly * rename all cython${PYTHON_VERSION}_* targets to cython_* * update distutils_install_module() so it does not take python_version parameter anymore. Signed-off-by: Kefu Chai <kchai@redhat.com>
83 lines
1.7 KiB
Bash
Executable File
83 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -x
|
|
|
|
git submodule update --init --recursive
|
|
|
|
: ${BUILD_DIR:=build}
|
|
: ${CEPH_GIT_DIR:=..}
|
|
|
|
if [ -e $BUILD_DIR ]; then
|
|
echo "'$BUILD_DIR' dir already exists; either rm -rf '$BUILD_DIR' and re-run, or set BUILD_DIR env var to a different directory name"
|
|
exit 1
|
|
fi
|
|
|
|
PYBUILD="2"
|
|
if [ -r /etc/os-release ]; then
|
|
source /etc/os-release
|
|
case "$ID" in
|
|
fedora)
|
|
if [ "$VERSION_ID" -ge "29" ] ; then
|
|
PYBUILD="3.7"
|
|
fi
|
|
;;
|
|
rhel|centos)
|
|
MAJOR_VER=$(echo "$VERSION_ID" | sed -e 's/\..*$//')
|
|
if [ "$MAJOR_VER" -ge "8" ] ; then
|
|
PYBUILD="3.6"
|
|
fi
|
|
;;
|
|
opensuse*|suse|sles)
|
|
PYBUILD="3"
|
|
ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF"
|
|
ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF"
|
|
;;
|
|
esac
|
|
elif [ "$(uname)" == FreeBSD ] ; then
|
|
PYBUILD="3"
|
|
ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF"
|
|
ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF"
|
|
else
|
|
echo Unknown release
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$PYBUILD" =~ ^3(\..*)?$ ]] ; then
|
|
ARGS+=" -DWITH_PYTHON3=${PYBUILD}"
|
|
fi
|
|
|
|
if type ccache > /dev/null 2>&1 ; then
|
|
echo "enabling ccache"
|
|
ARGS+=" -DWITH_CCACHE=ON"
|
|
fi
|
|
|
|
mkdir $BUILD_DIR
|
|
cd $BUILD_DIR
|
|
if type cmake3 > /dev/null 2>&1 ; then
|
|
CMAKE=cmake3
|
|
else
|
|
CMAKE=cmake
|
|
fi
|
|
${CMAKE} $ARGS "$@" $CEPH_GIT_DIR || exit 1
|
|
set +x
|
|
|
|
# minimal config to find plugins
|
|
cat <<EOF > ceph.conf
|
|
[global]
|
|
plugin dir = lib
|
|
erasure code dir = lib
|
|
EOF
|
|
|
|
echo done.
|
|
|
|
if [[ ! $ARGS =~ "-DCMAKE_BUILD_TYPE" ]]; then
|
|
cat <<EOF
|
|
|
|
****
|
|
WARNING: do_cmake.sh now creates debug builds by default. Performance
|
|
may be severely affected. Please use -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
if a performance sensitive build is required.
|
|
****
|
|
EOF
|
|
fi
|
|
|