Adds the RGW-NFS library to the radosgw build, with unit tests.
Adds -fPIC to compile flags to satisfy the linker, but should have
been evident to automake/libtool.
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
curl expat global
resolv
${TCMALLOC_LIBS})
- set_target_properties(rgw PROPERTIES OUTPUT_NAME rgw VERSION 1.0.0
+ set_target_properties(rgw PROPERTIES OUTPUT_NAME rgw VERSION 2.0.0
SOVERSION 1)
install(TARGETS rgw DESTINATION lib)
noinst_LTLIBRARIES += libcls_refcount_client.la
DENCODER_DEPS += libcls_refcount_client.la
-libcls_version_client_a_SOURCES = \
+libcls_version_client_la_SOURCES = \
cls/version/cls_version_client.cc \
cls/version/cls_version_types.cc
-noinst_LIBRARIES += libcls_version_client.a
+noinst_LTLIBRARIES += libcls_version_client.la
-libcls_log_client_a_SOURCES = cls/log/cls_log_client.cc
-noinst_LIBRARIES += libcls_log_client.a
+libcls_log_client_la_SOURCES = cls/log/cls_log_client.cc
+noinst_LTLIBRARIES += libcls_log_client.la
-libcls_statelog_client_a_SOURCES = cls/statelog/cls_statelog_client.cc
-noinst_LIBRARIES += libcls_statelog_client.a
+libcls_statelog_client_la_SOURCES = cls/statelog/cls_statelog_client.cc
+noinst_LTLIBRARIES += libcls_statelog_client.la
-libcls_timeindex_client_a_SOURCES = cls/timeindex/cls_timeindex_client.cc
-noinst_LIBRARIES += libcls_timeindex_client.a
+libcls_timeindex_client_la_SOURCES = cls/timeindex/cls_timeindex_client.cc
+noinst_LTLIBRARIES += libcls_timeindex_client.la
-libcls_replica_log_client_a_SOURCES = \
+libcls_replica_log_client_la_SOURCES = \
cls/replica_log/cls_replica_log_types.cc \
cls/replica_log/cls_replica_log_ops.cc \
cls/replica_log/cls_replica_log_client.cc
-noinst_LIBRARIES += libcls_replica_log_client.a
-DENCODER_DEPS += libcls_replica_log_client.a
+noinst_LTLIBRARIES += libcls_replica_log_client.la
+DENCODER_DEPS += libcls_replica_log_client.la
libcls_rgw_client_la_SOURCES = \
cls/rgw/cls_rgw_client.cc \
noinst_LTLIBRARIES += libcls_rbd_client.la
DENCODER_DEPS += libcls_rbd_client.la
-libcls_user_client_a_SOURCES = cls/user/cls_user_client.cc \
+libcls_user_client_la_SOURCES = cls/user/cls_user_client.cc \
cls/user/cls_user_types.cc \
cls/user/cls_user_ops.cc
-DENCODER_DEPS += libcls_user_client.a
+DENCODER_DEPS += libcls_user_client.la
-noinst_LIBRARIES += libcls_user_client.a
+noinst_LTLIBRARIES += libcls_user_client.la
libcls_cephfs_client_la_SOURCES = cls/cephfs/cls_cephfs_client.cc
noinst_LTLIBRARIES += libcls_cephfs_client.la
common/Finisher.cc \
common/environment.cc\
common/assert.cc \
+ xxHash/xxhash.c \
common/run_cmd.cc \
common/WorkQueue.cc \
common/ConfUtils.cc \
mds/inode_backtrace.cc \
mds/mdstypes.cc \
mds/flock.cc
+
LIBCOMMON_DEPS += libcommon_internal.la
noinst_LTLIBRARIES += libcommon_internal.la
global/pidfile.cc \
global/signal_handler.cc \
common/TrackedOp.cc
+
libglobal_la_LIBADD = $(LIBCOMMON)
if WITH_LTTNG
libglobal_la_LIBADD += -ldl -llttng-ust
if WITH_RADOS
if WITH_RADOSGW
-librgw_la_SOURCES = \
- rgw/librgw.cc \
+librgw_la_SOURCES = \
rgw/rgw_acl.cc \
rgw/rgw_acl_s3.cc \
rgw/rgw_acl_swift.cc \
- rgw/rgw_client_io.cc \
- rgw/rgw_fcgi.cc \
- rgw/rgw_xml.cc \
- rgw/rgw_usage.cc \
- rgw/rgw_json_enc.cc \
- rgw/rgw_xml_enc.cc \
- rgw/rgw_user.cc \
- rgw/rgw_bucket.cc\
- rgw/rgw_tools.cc \
- rgw/rgw_rados.cc \
- rgw/rgw_http_client.cc \
- rgw/rgw_rest_client.cc \
- rgw/rgw_rest_conn.cc \
- rgw/rgw_op.cc \
+ rgw/rgw_auth_s3.cc \
rgw/rgw_basic_types.cc \
- rgw/rgw_common.cc \
+ rgw/rgw_bucket.cc \
rgw/rgw_cache.cc \
+ rgw/rgw_client_io.cc \
+ rgw/rgw_common.cc \
+ rgw/rgw_cors.cc \
+ rgw/rgw_cors_s3.cc \
+ rgw/rgw_dencoder.cc \
+ rgw/rgw_env.cc \
+ rgw/rgw_fcgi.cc \
rgw/rgw_formats.cc \
+ rgw/rgw_frontend.cc \
+ rgw/rgw_gc.cc \
+ rgw/rgw_http_client.cc \
+ rgw/rgw_json_enc.cc \
+ rgw/rgw_keystone.cc \
+ rgw/rgw_loadgen.cc \
rgw/rgw_log.cc \
+ rgw/rgw_metadata.cc \
rgw/rgw_multi.cc \
- rgw/rgw_policy_s3.cc \
- rgw/rgw_gc.cc \
rgw/rgw_multi_del.cc \
- rgw/rgw_env.cc \
- rgw/rgw_cors.cc \
- rgw/rgw_cors_s3.cc \
- rgw/rgw_auth_s3.cc \
- rgw/rgw_metadata.cc \
- rgw/rgw_replica_log.cc \
- rgw/rgw_keystone.cc \
+ rgw/rgw_object_expirer_core.cc \
+ rgw/rgw_op.cc \
+ rgw/rgw_os_lib.cc \
+ rgw/rgw_policy_s3.cc \
+ rgw/rgw_process.cc \
rgw/rgw_quota.cc \
- rgw/rgw_dencoder.cc \
+ rgw/rgw_rados.cc \
+ rgw/rgw_replica_log.cc \
rgw/rgw_request.cc \
- rgw/rgw_process.cc \
- rgw/rgw_frontend.cc \
- rgw/rgw_object_expirer_core.cc \
+ rgw/rgw_resolve.cc \
+ rgw/rgw_rest_bucket.cc \
+ rgw/rgw_rest.cc \
+ rgw/rgw_rest_client.cc \
+ rgw/rgw_rest_config.cc \
+ rgw/rgw_rest_conn.cc \
+ rgw/rgw_rest_log.cc \
+ rgw/rgw_rest_metadata.cc \
+ rgw/rgw_rest_opstate.cc \
+ rgw/rgw_rest_replica_log.cc \
+ rgw/rgw_rest_s3.cc \
+ rgw/rgw_rest_swift.cc \
+ rgw/rgw_rest_usage.cc \
+ rgw/rgw_rest_user.cc \
+ rgw/rgw_swift_auth.cc \
+ rgw/rgw_swift.cc \
+ rgw/rgw_tools.cc \
+ rgw/rgw_usage.cc \
+ rgw/rgw_user.cc \
+ rgw/rgw_file.cc \
+ rgw/librgw.cc \
+ rgw/rgw_xml.cc \
+ rgw/rgw_xml_enc.cc \
rgw/rgw_website.cc
- rgw/rgw_os_lib.cc
-librgw_la_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS}
-noinst_LTLIBRARIES += librgw.la
+librgw_la_CXXFLAGS = -Woverloaded-virtual -fPIC -I$(srcdir)/xxHash \
+ ${AM_CXXFLAGS}
LIBRGW_DEPS += \
$(LIBRADOS) \
libcls_rgw_client.la \
- libcls_log_client.a \
- libcls_statelog_client.a \
- libcls_timeindex_client.a \
- libcls_user_client.a \
- libcls_replica_log_client.a \
+ libcls_log_client.la \
+ libcls_statelog_client.la \
+ libcls_timeindex_client.la \
+ libcls_user_client.la \
+ libcls_replica_log_client.la \
libcls_lock_client.la \
libcls_refcount_client.la \
- libcls_version_client.a \
+ libcls_version_client.la \
-lcurl \
-lexpat \
-lm \
-lfcgi \
-ldl
+librgw_la_LIBADD = $(LIBRGW_DEPS) \
+ $(PTHREAD_LIBS) $(RESOLV_LIBS) $(LIBCOMMON) \
+ $(EXTRALIBS)
+
+librgw_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0
+
+lib_LTLIBRARIES += librgw.la
+
CIVETWEB_INCLUDE = --include $(srcdir)/civetweb/include/civetweb_conf.h
libcivetweb_la_SOURCES = \
rgw/rgw_civetweb_log.cc \
civetweb/src/civetweb.c
-libcivetweb_la_CXXFLAGS = ${CIVETWEB_INCLUDE} -Woverloaded-virtual ${AM_CXXFLAGS}
-libcivetweb_la_CFLAGS = -I$(srcdir)/civetweb/include ${CIVETWEB_INCLUDE}
+libcivetweb_la_CXXFLAGS = ${CIVETWEB_INCLUDE} -fPIC -Woverloaded-virtual \
+ ${AM_CXXFLAGS}
+libcivetweb_la_CFLAGS = -I$(srcdir)/civetweb/include ${CIVETWEB_INCLUDE} -fPIC
noinst_LTLIBRARIES += libcivetweb.la
radosgw_SOURCES = \
- rgw/rgw_resolve.cc \
- rgw/rgw_rest.cc \
- rgw/rgw_rest_swift.cc \
- rgw/rgw_rest_s3.cc \
- rgw/rgw_rest_usage.cc \
- rgw/rgw_rest_user.cc \
- rgw/rgw_rest_bucket.cc \
- rgw/rgw_rest_metadata.cc \
- rgw/rgw_replica_log.cc \
- rgw/rgw_rest_log.cc \
- rgw/rgw_rest_opstate.cc \
- rgw/rgw_rest_replica_log.cc \
- rgw/rgw_rest_config.cc \
- rgw/rgw_http_client.cc \
- rgw/rgw_swift.cc \
- rgw/rgw_swift_auth.cc \
- rgw/rgw_loadgen.cc \
- rgw/rgw_os_lib.cc \
+ rgw/rgw_fcgi_process.cc \
+ rgw/rgw_loadgen_process.cc \
+ rgw/rgw_civetweb.cc \
+ rgw/rgw_civetweb_frontend.cc \
+ rgw/rgw_civetweb_log.cc \
+ civetweb/src/civetweb.c \
rgw/rgw_main.cc
-radosgw_CFLAGS = -I$(srcdir)/civetweb/include
-radosgw_LDADD = $(LIBRGW) $(LIBCIVETWEB) $(LIBRGW_DEPS) $(RESOLV_LIBS) $(CEPH_GLOBAL)
+
+radosgw_CFLAGS = -I$(srcdir)/civetweb/include -fPIC -I$(srcdir)/xxHash
+radosgw_LDADD = $(LIBRGW) $(LIBCIVETWEB) $(LIBRGW_DEPS) $(RESOLV_LIBS) \
+ $(CEPH_GLOBAL)
bin_PROGRAMS += radosgw
radosgw_admin_SOURCES = rgw/rgw_admin.cc rgw/rgw_orphan.cc
bin_DEBUGPROGRAMS += ceph_test_cls_refcount
ceph_test_cls_version_SOURCES = test/cls_version/test_cls_version.cc
-ceph_test_cls_version_LDADD = $(LIBRADOS) libcls_version_client.a $(UNITTEST_LDADD) $(RADOS_TEST_LDADD)
+ceph_test_cls_version_LDADD = $(LIBRADOS) libcls_version_client.la $(UNITTEST_LDADD) $(RADOS_TEST_LDADD)
ceph_test_cls_version_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_version
ceph_test_cls_log_SOURCES = test/cls_log/test_cls_log.cc
-ceph_test_cls_log_LDADD = $(LIBRADOS) libcls_log_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL) $(RADOS_TEST_LDADD)
+ceph_test_cls_log_LDADD = $(LIBRADOS) libcls_log_client.la $(UNITTEST_LDADD) $(CEPH_GLOBAL) $(RADOS_TEST_LDADD)
ceph_test_cls_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_log
ceph_test_cls_statelog_SOURCES = test/cls_statelog/test_cls_statelog.cc
-ceph_test_cls_statelog_LDADD = $(LIBRADOS) libcls_statelog_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL) $(RADOS_TEST_LDADD)
+ceph_test_cls_statelog_LDADD = $(LIBRADOS) libcls_statelog_client.la $(UNITTEST_LDADD) $(CEPH_GLOBAL) $(RADOS_TEST_LDADD)
ceph_test_cls_statelog_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_statelog
ceph_test_cls_replica_log_SOURCES = test/cls_replica_log/test_cls_replica_log.cc
ceph_test_cls_replica_log_LDADD = \
- $(LIBRADOS) libcls_replica_log_client.a \
+ $(LIBRADOS) libcls_replica_log_client.la \
$(UNITTEST_LDADD) $(CEPH_GLOBAL) $(RADOS_TEST_LDADD)
ceph_test_cls_replica_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_replica_log
$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
-lcurl -lexpat \
- libcls_version_client.a libcls_log_client.a \
- libcls_statelog_client.a libcls_refcount_client.la \
- libcls_rgw_client.la libcls_user_client.a libcls_lock_client.la
+ libcls_version_client.la libcls_log_client.la \
+ libcls_statelog_client.la libcls_refcount_client.la \
+ libcls_rgw_client.la libcls_user_client.la libcls_lock_client.la
ceph_test_cls_rgw_meta_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_rgw_meta
$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
-lcurl -lexpat \
- libcls_version_client.a libcls_log_client.a \
- libcls_statelog_client.a libcls_refcount_client.la \
- libcls_rgw_client.la libcls_user_client.a libcls_lock_client.la
+ libcls_version_client.la libcls_log_client.la \
+ libcls_statelog_client.la libcls_refcount_client.la \
+ libcls_rgw_client.la libcls_user_client.la libcls_lock_client.la
ceph_test_cls_rgw_log_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_rgw_log
$(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \
$(UNITTEST_LDADD) $(CRYPTO_LIBS) \
-lcurl -lexpat \
- libcls_version_client.a libcls_log_client.a libcls_timeindex_client.a \
- libcls_statelog_client.a libcls_refcount_client.la \
- libcls_rgw_client.la libcls_user_client.a libcls_lock_client.la \
+ libcls_version_client.la libcls_log_client.la \
+ libcls_timeindex_client.la \
+ libcls_statelog_client.la libcls_refcount_client.la \
+ libcls_rgw_client.la libcls_user_client.la libcls_lock_client.la \
$(LIBRADOS)
ceph_test_cls_rgw_opstate_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_rgw_opstate
ceph_test_cls_rgw_CXXFLAGS = $(UNITTEST_CXXFLAGS)
bin_DEBUGPROGRAMS += ceph_test_cls_rgw
+# librgw/RGW-NFS
+librgw_file_SOURCES = test/librgw_file.cc
+librgw_file_CXXFLAGS = -I$(srcdir)/xxHash $(UNITTEST_CXXFLAGS)
+librgw_file_LDADD = $(UNITTEST_LDADD) \
+ librgw.la librados.la $(PTHREAD_LIBS) $(CEPH_GLOBAL) $(EXTRALIBS)
+bin_DEBUGPROGRAMS += librgw_file
+
+librgw_file_cd_SOURCES = test/librgw_file_cd.cc
+librgw_file_cd_CXXFLAGS = -I$(srcdir)/xxHash $(UNITTEST_CXXFLAGS)
+librgw_file_cd_LDADD = $(UNITTEST_LDADD) \
+ librgw.la librados.la $(PTHREAD_LIBS) $(CEPH_GLOBAL) $(EXTRALIBS)
+bin_DEBUGPROGRAMS += librgw_file_cd
+
+librgw_file_gp_SOURCES = test/librgw_file_gp.cc
+librgw_file_gp_CXXFLAGS = -I$(srcdir)/xxHash $(UNITTEST_CXXFLAGS)
+librgw_file_gp_LDADD = $(UNITTEST_LDADD) \
+ librgw.la librados.la $(PTHREAD_LIBS) $(CEPH_GLOBAL) $(EXTRALIBS)
+bin_DEBUGPROGRAMS += librgw_file_gp
+
+librgw_file_aw_SOURCES = test/librgw_file_aw.cc
+librgw_file_aw_CXXFLAGS = -I$(srcdir)/xxHash $(UNITTEST_CXXFLAGS)
+librgw_file_aw_LDADD = $(UNITTEST_LDADD) \
+ librgw.la librados.la $(PTHREAD_LIBS) $(CEPH_GLOBAL) $(EXTRALIBS)
+bin_DEBUGPROGRAMS += librgw_file_aw
+
+librgw_file_nfsns_SOURCES = test/librgw_file_nfsns.cc
+librgw_file_nfsns_CXXFLAGS = -I$(srcdir)/xxHash $(UNITTEST_CXXFLAGS)
+librgw_file_nfsns_LDADD = $(UNITTEST_LDADD) \
+ librgw.la librados.la $(PTHREAD_LIBS) $(CEPH_GLOBAL) $(EXTRALIBS)
+bin_DEBUGPROGRAMS += librgw_file_nfsns
+
endif # WITH_RADOSGW