From: Radoslaw Zarzynski Date: Sat, 15 Oct 2016 01:13:22 +0000 (+0200) Subject: rgw: make the ASIO front-end compilation optional. X-Git-Tag: v11.1.0~454^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=46a44646e890e4cb73085f40258a10855680270b;p=ceph.git rgw: make the ASIO front-end compilation optional. This is because of versioning issues between Boost and Beast on CentOS 7. It is intended that this patch will be reverted after merging the in-tree Boost facility. Signed-off-by: Radoslaw Zarzynski --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 352fe463ad4..da7d3cbd8a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -323,6 +323,8 @@ if(WITH_RADOSGW) find_package(fcgi REQUIRED) endif(WITH_RADOSGW) +option(WITH_RADOSGW_ASIO_FRONTEND "Rados Gateway's ASIO frontend is enabled" OFF) + #option for CephFS option(WITH_CEPHFS "CephFS is enabled" ON) diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake index 1123f5812d6..337b7d80a58 100644 --- a/src/include/config-h.in.cmake +++ b/src/include/config-h.in.cmake @@ -126,6 +126,9 @@ /* define if radosgw enabled */ #cmakedefine WITH_RADOSGW +/* define if radosgw's asio frontend enabled */ +#cmakedefine WITH_RADOSGW_ASIO_FRONTEND + /* define if HAVE_THREAD_SAFE_RES_QUERY */ #cmakedefine HAVE_THREAD_SAFE_RES_QUERY diff --git a/src/rgw/CMakeLists.txt b/src/rgw/CMakeLists.txt index 4b1b323db89..20984a0adc9 100644 --- a/src/rgw/CMakeLists.txt +++ b/src/rgw/CMakeLists.txt @@ -107,14 +107,19 @@ target_link_libraries(rgw_a librados cls_lock_client cls_rgw_client cls_refcount ${OPENLDAP_LIBRARIES} ${CRYPTO_LIBS}) set(radosgw_srcs - rgw_asio_client.cc - rgw_asio_frontend.cc rgw_fcgi_process.cc rgw_loadgen_process.cc rgw_civetweb.cc rgw_civetweb_frontend.cc rgw_civetweb_log.cc rgw_main.cc) + +if (WITH_RADOSGW_ASIO_FRONTEND) + list(APPEND radosgw_srcs + rgw_asio_client.cc + rgw_asio_frontend.cc) +endif (WITH_RADOSGW_ASIO_FRONTEND) + add_executable(radosgw ${radosgw_srcs} $) target_link_libraries(radosgw rgw_a librados cls_rgw_client cls_lock_client cls_refcount_client diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc index afaea85f4bc..c4a898e0a4a 100644 --- a/src/rgw/rgw_main.cc +++ b/src/rgw/rgw_main.cc @@ -53,7 +53,9 @@ #include "rgw_request.h" #include "rgw_process.h" #include "rgw_frontend.h" +#if defined(WITH_RADOSGW_ASIO_FRONTEND) #include "rgw_asio_frontend.h" +#endif /* WITH_RADOSGW_ASIO_FRONTEND */ #include #include @@ -431,6 +433,7 @@ int main(int argc, const char **argv) RGWFrontendConfig *config = fiter->second; string framework = config->get_framework(); RGWFrontend *fe; +#if defined(WITH_RADOSGW_ASIO_FRONTEND) if ((framework == "asio") && cct->check_experimental_feature_enabled("rgw-asio-frontend")) { int port; @@ -440,6 +443,9 @@ int main(int argc, const char **argv) RGWProcessEnv env{ store, &rest, olog, port, uri_prefix }; fe = new RGWAsioFrontend(env); } else if (framework == "fastcgi" || framework == "fcgi") { +#else + if (framework == "fastcgi" || framework == "fcgi") { +#endif /* WITH_RADOSGW_ASIO_FRONTEND */ std::string uri_prefix; config->get_val("prefix", "", &uri_prefix); RGWProcessEnv fcgi_pe = { store, &rest, olog, 0, uri_prefix };