From: Kefu Chai Date: Tue, 9 Aug 2016 07:17:18 +0000 (+0800) Subject: doc,pybind: bypass sanity check if building doc X-Git-Tag: ses5-milestone5~170^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=333877023e2a53e8a015387ce7b9bfb3be36eaae;p=ceph.git doc,pybind: bypass sanity check if building doc the empty .so file does not compile at all, so we need to bypass the sanity check, if we are building docs. and what sphinx needs is just the docstrings. Fixes: http://tracker.ceph.com/issues/16940 Signed-off-by: Kefu Chai --- diff --git a/admin/build-doc b/admin/build-doc index 45b8974a9190..cedf05c1f4e6 100755 --- a/admin/build-doc +++ b/admin/build-doc @@ -67,13 +67,15 @@ install -d -m0755 \ # To avoid having to build librbd to build the Python bindings to build the docs, # create a dummy librbd.so that allows the module to be imported by sphinx. +# the module are imported by the "automodule::" directive. mkdir -p $vdir/lib export LD_LIBRARY_PATH="$vdir/lib" export PYTHONPATH=$TOPDIR/src/pybind ln -sf librados.so.2 $vdir/lib/librados.so gcc -shared -o $vdir/lib/librados.so.2 -xc /dev/null -CFLAGS="-iquote $TOPDIR/src/include" \ +BUILD_DOC=1 \ + CFLAGS="-iquote $TOPDIR/src/include" \ CPPFLAGS="-iquote $TOPDIR/src/include" \ LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \ $vdir/bin/pip install $TOPDIR/src/pybind/rados @@ -90,7 +92,8 @@ cp -f $TOPDIR/src/pybind/rados/rados.pxd $TOPDIR/src/pybind/cephfs/ ln -sf librbd.so.1 $vdir/lib/librbd.so gcc -shared -o $vdir/lib/librbd.so.1 -xc /dev/null -CFLAGS="-iquote $TOPDIR/src/include" \ +BUILD_DOC=1 \ + CFLAGS="-iquote $TOPDIR/src/include" \ CPPFLAGS="-iquote $TOPDIR/src/include" \ LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \ $vdir/bin/pip install $TOPDIR/src/pybind/rbd @@ -101,7 +104,8 @@ nm $vdir/lib/python*/*-packages/rbd.so | grep 'U rbd_' | \ ln -sf libcephfs.so.1 $vdir/lib/libcephfs.so gcc -shared -o $vdir/lib/libcephfs.so.1 -xc /dev/null -CFLAGS="-iquote $TOPDIR/src/include" \ +BUILD_DOC=1 \ + CFLAGS="-iquote $TOPDIR/src/include" \ CPPFLAGS="-iquote $TOPDIR/src/include" \ LDFLAGS="-L$vdir/lib -Wl,--no-as-needed" \ $vdir/bin/pip install $TOPDIR/src/pybind/cephfs diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake index f2e4b34a3fe6..60f011c46df6 100644 --- a/cmake/modules/Distutils.cmake +++ b/cmake/modules/Distutils.cmake @@ -45,7 +45,7 @@ function(distutils_add_cython_module name src) LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY} CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR} CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} - CFLAGS=\"-iquote ${CMAKE_SOURCE_DIR}/src/include\" + CFLAGS=\"-iquote${CMAKE_SOURCE_DIR}/src/include\" ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py build --build-base ${CYTHON_MODULE_DIR} --verbose WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DEPENDS ${src}) diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py index 4c952997883b..37b0c18a5aa1 100755 --- a/src/pybind/cephfs/setup.py +++ b/src/pybind/cephfs/setup.py @@ -122,7 +122,11 @@ def check_sanity(): shutil.rmtree(tmp_dir) -if not check_sanity(): +if 'BUILD_DOC' in os.environ.keys(): + pass +elif check_sanity(): + pass +else: sys.exit(1) cmdclass = {} diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py index 94e878387d6f..c30318d15818 100755 --- a/src/pybind/rados/setup.py +++ b/src/pybind/rados/setup.py @@ -131,7 +131,11 @@ def check_sanity(): shutil.rmtree(tmp_dir) -if not check_sanity(): +if 'BUILD_DOC' in os.environ.keys(): + pass +elif check_sanity(): + pass +else: sys.exit(1) cmdclass = {}