]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
librgw/rgw: reorganize autotools linkage
authorMatt Benjamin <mbenjamin@redhat.com>
Thu, 28 Jan 2016 17:37:03 +0000 (12:37 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Fri, 12 Feb 2016 17:08:19 +0000 (12:08 -0500)
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>
src/CMakeLists.txt
src/cls/Makefile-client.am
src/common/Makefile.am
src/global/Makefile.am
src/rgw/Makefile.am
src/test/Makefile-client.am

index 8a25e0ad98dad86e197155bbc43c1eaed3e8b0d8..1eb37d75604ca896c9fbbd96d7ae9583e5245bd0 100644 (file)
@@ -1233,7 +1233,7 @@ if(${WITH_RADOSGW})
     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)
index 642d167f81a0d01fa815de4b0c9adfaa555d8ef8..3e26db05a7c392a7a74b3fa53427b07ae4b5bbdb 100644 (file)
@@ -13,26 +13,26 @@ libcls_refcount_client_la_SOURCES = \
 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 \
@@ -47,12 +47,12 @@ libcls_rbd_client_la_SOURCES = \
 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
index 2851cf24ef73e0b1f65eac4141154b93d9e3cdc8..7c8828da35650aab9186db4d1fb1fee3327cb090 100644 (file)
@@ -23,6 +23,7 @@ libcommon_internal_la_SOURCES = \
        common/Finisher.cc \
        common/environment.cc\
        common/assert.cc \
+       xxHash/xxhash.c \
        common/run_cmd.cc \
        common/WorkQueue.cc \
        common/ConfUtils.cc \
@@ -125,6 +126,7 @@ libcommon_internal_la_SOURCES += \
        mds/inode_backtrace.cc \
        mds/mdstypes.cc \
        mds/flock.cc
+
 LIBCOMMON_DEPS += libcommon_internal.la
 noinst_LTLIBRARIES += libcommon_internal.la
 
index 51fff4b4136a36cbbffb277ff3660b1a0086d112..ed93426e05661d0b0ea27eaf4e77dc82b050ee72 100644 (file)
@@ -4,6 +4,7 @@ libglobal_la_SOURCES = \
        global/pidfile.cc \
        global/signal_handler.cc \
        common/TrackedOp.cc
+
 libglobal_la_LIBADD = $(LIBCOMMON)
 if WITH_LTTNG
 libglobal_la_LIBADD += -ldl -llttng-ust
index 8a04cfa648e3c0a8794193f2d21e67c68317b8c1..aac6e587a9a70d8b838e388dc9328ddefba12362 100644 (file)
@@ -12,70 +12,94 @@ DENCODER_SOURCES += \
 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 =  \
@@ -83,33 +107,24 @@ 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
index 612eee9660101a1f33d3f11052d54c0a66765aee..c205cb8148604cda38d6750806ba91e7513fd3bb 100644 (file)
@@ -152,23 +152,23 @@ ceph_test_cls_refcount_CXXFLAGS = $(UNITTEST_CXXFLAGS)
 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
@@ -645,9 +645,9 @@ ceph_test_cls_rgw_meta_LDADD = \
        $(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
 
@@ -656,9 +656,9 @@ ceph_test_cls_rgw_log_LDADD = \
        $(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
 
@@ -667,9 +667,10 @@ ceph_test_cls_rgw_opstate_LDADD = \
        $(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
@@ -681,6 +682,37 @@ ceph_test_cls_rgw_LDADD = \
 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