]> git.apps.os.sepia.ceph.com Git - ceph-build.git/commitdiff
ceph-dev: Add crimson support wip-crimson 1476/head
authorDavid Galloway <dgallowa@redhat.com>
Tue, 24 Dec 2019 01:03:28 +0000 (20:03 -0500)
committerDavid Galloway <dgallowa@redhat.com>
Tue, 24 Dec 2019 01:03:28 +0000 (20:03 -0500)
Signed-off-by: David Galloway <dgallowa@redhat.com>
ceph-dev-setup/build/build
ceph-dev/config/definitions/ceph-dev.yml

index 74a473c10da38fc7ba22de048ddf61a7970746dd..cc0ea7bc64f4ee95d8b5d638c772ed1542661bc2 100644 (file)
@@ -82,6 +82,42 @@ else
     echo "forcing."
 fi
 
+# because autogen+configure will check for dependencies, we are forced to install them
+# and ensure they are present in the current host
+if [ -x install-deps.sh ]; then
+    echo "Ensuring dependencies are installed"
+    [ "${FLAVOR}" == "crimson" ] && WITH_SEASTAR=1
+    WITH_SEASTAR=$WITH_SEASTAR ./install-deps.sh
+fi
+
+# Flavor Builds support
+
+#cryptopp is not default for CMake
+AUTOCONF_FLAVOR_FLAGS="--without-cryptopp"
+
+case "${FLAVOR}" in
+    notcmalloc)
+        echo "Detected notcmalloc flavor: will use flag: --without-tcmalloc or -DALLOCATOR=libc"
+        AUTOCONF_FLAVOR_FLAGS="$AUTOCONF_FLAVOR_FLAGS --without-tcmalloc"
+        CEPH_EXTRA_CONFIGURE_ARGS="--without-tcmalloc"
+        CEPH_EXTRA_RPMBUILD_ARGS="--without tcmalloc"
+        CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS -DALLOCATOR=libc -DWITH_CEPH_DEBUG_MUTEX=ON"
+        ;;
+    default)
+        AUTOCONF_FLAVOR_FLAGS="$AUTOCONF_FLAVOR_FLAGS --with-tcmalloc"
+        CEPH_EXTRA_CONFIGURE_ARGS="--with-tcmalloc"
+        CEPH_EXTRA_RPMBUILD_ARGS="--with tcmalloc"
+        CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS -DALLOCATOR=tcmalloc"
+        ;;
+    crimson)
+        CEPH_EXTRA_RPMBUILD_ARGS="--with seastar"
+        CEPH_EXTRA_CMAKE_ARGS="$CEPH_EXTRA_CMAKE_ARGS -DWITH_SEASTAR=ON"
+        ;;
+    *)
+        echo "unknown FLAVOR: ${FLAVOR}" >&2
+        exit 1
+esac
+
 # make-dist does not exist for autotools builds
 if [ ! -x make-dist ]; then
     echo "Using autotools build system"
index b626a03f8e5cfdefa41ed83f6375d345ceb90611..688bd0f5a69f31279ea8d86eb760d8371a65b500 100644 (file)
@@ -56,8 +56,9 @@ If this is checked, then the binaries will be built and pushed to chacra even if
           choices:
             - default
             - notcmalloc
+            - crimson
           default: "default"
-          description: "Type of Ceph build, choices are: notcmalloc, default (i.e. with tcmalloc). Defaults to: 'default'"
+          description: "Type of Ceph build, choices are: crimson, notcmalloc, default (i.e. with tcmalloc). Defaults to: 'default'"
 
     builders:
       - multijob: