diff options
author | Sage Weil <sage@inktank.com> | 2013-09-09 09:02:59 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-09-09 09:02:59 -0700 |
commit | 583ffaf47aa8a508e298af47430e8e4975015770 (patch) | |
tree | d4c1acfe9e6621b650f145fd86aa66d390e1a6f6 | |
parent | 726fe73d0d4bfff6eba173bd7190dcddc50f79c1 (diff) | |
parent | 6949d221ada12e6be4b5ebf94b58edd17288fb16 (diff) | |
download | ceph-583ffaf47aa8a508e298af47430e8e4975015770.tar.gz |
Merge pull request #577 from roaldvanloon/wip-automake
automake cleanup: implementing non-recursive make
Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/Makefile-env.am | 172 | ||||
-rw-r--r-- | src/Makefile.am | 2416 | ||||
-rw-r--r-- | src/arch/Makefile.am | 11 | ||||
-rw-r--r-- | src/auth/Makefile.am | 46 | ||||
-rw-r--r-- | src/client/Makefile.am | 35 | ||||
-rw-r--r-- | src/cls/Makefile.am | 118 | ||||
-rw-r--r-- | src/common/Makefile.am | 195 | ||||
-rw-r--r-- | src/crush/Makefile.am | 30 | ||||
-rw-r--r-- | src/global/Makefile.am | 14 | ||||
-rw-r--r-- | src/include/Makefile.am | 80 | ||||
-rw-r--r-- | src/json_spirit/Makefile.am | 18 | ||||
-rw-r--r-- | src/key_value_store/Makefile.am | 10 | ||||
-rw-r--r-- | src/librados/Makefile.am | 20 | ||||
-rw-r--r-- | src/librbd/Makefile.am | 24 | ||||
-rw-r--r-- | src/log/Makefile.am | 11 | ||||
-rw-r--r-- | src/mds/Makefile.am | 92 | ||||
-rw-r--r-- | src/messages/Makefile.am | 113 | ||||
-rw-r--r-- | src/mon/Makefile.am | 45 | ||||
-rw-r--r-- | src/msg/Makefile.am | 20 | ||||
-rw-r--r-- | src/os/Makefile.am | 49 | ||||
-rw-r--r-- | src/osd/Makefile.am | 31 | ||||
-rw-r--r-- | src/osdc/Makefile.am | 17 | ||||
-rw-r--r-- | src/perfglue/Makefile.am | 23 | ||||
-rw-r--r-- | src/rgw/Makefile.am | 155 | ||||
-rw-r--r-- | src/test/Makefile.am | 816 | ||||
-rw-r--r-- | src/tools/Makefile.am | 87 |
26 files changed, 2424 insertions, 2224 deletions
diff --git a/src/Makefile-env.am b/src/Makefile-env.am new file mode 100644 index 00000000000..cc9ffc62f12 --- /dev/null +++ b/src/Makefile-env.am @@ -0,0 +1,172 @@ +AUTOMAKE_OPTIONS = gnu subdir-objects + +SUBDIRS = +DIST_SUBDIRS = +BUILT_SOURCES = +EXTRA_DIST = +CLEANFILES = + +noinst_HEADERS = +bin_PROGRAMS = +bin_SCRIPTS = +sbin_PROGRAMS = +sbin_SCRIPTS = +dist_bin_SCRIPTS = +lib_LTLIBRARIES = +noinst_LTLIBRARIES = +noinst_LIBRARIES = +radoslib_LTLIBRARIES = + +# like bin_PROGRAMS, but these targets are only built for debug builds +bin_DEBUGPROGRAMS = + +# like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin +ceph_sbindir = $(exec_prefix)$(sbindir) + +# C/C++ tests to build will be appended to this +check_PROGRAMS = + +# when doing a debug build, make sure to make the targets +if WITH_DEBUG +bin_PROGRAMS += $(bin_DEBUGPROGRAMS) +endif + + +################################## +## automake environment + +AM_COMMON_FLAGS = \ + -D__CEPH__ \ + -D_FILE_OFFSET_BITS=64 \ + -D_REENTRANT \ + -D_THREAD_SAFE \ + -D__STDC_FORMAT_MACROS \ + -D_GNU_SOURCE \ + -rdynamic \ + -Wall \ + ${WARN_TYPE_LIMITS} \ + ${WARN_IGNORED_QUALIFIERS} \ + -Winit-self \ + -Wpointer-arith \ + -Werror=format-security \ + -fno-strict-aliasing \ + -fsigned-char + +AM_CFLAGS = $(AM_COMMON_FLAGS) +AM_CPPFLAGS = \ + $(AM_COMMON_FLAGS) \ + -DCEPH_LIBDIR=\"${libdir}\" +AM_CXXFLAGS = \ + @AM_CXXFLAGS@ \ + $(AM_COMMON_FLAGS) \ + -DCEPH_LIBDIR=\"${libdir}\" \ + -Wnon-virtual-dtor \ + -Wno-invalid-offsetof \ + -Wstrict-null-sentinel + +# note: this is position dependant, it affects the -l options that +# come after it on the command line. when you use ${AM_LDFLAGS} in +# later rules, take care where you place it. for more information, see +# http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do +# http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed +# http://www.gentoo.org/proj/en/qa/asneeded.xml +# http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html +# http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/ +AM_LDFLAGS = -Wl,--as-needed + +if USE_BOOST_SPIRIT_OLD_HDR +AM_CXXFLAGS += -DUSE_BOOST_SPIRIT_OLD_HDR +endif + +if WITH_LIBATOMIC +AM_LDFLAGS += -latomic_ops +endif + +if ENABLE_COVERAGE +AM_CFLAGS += -fprofile-arcs -ftest-coverage +AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0 +endif + +CCAS = ${srcdir}/yasm-wrapper +AM_CCASFLAGS = -f elf64 + + +##################### +## library definitions and dependencies + +EXTRALIBS = -luuid -lm -lkeyutils +if FREEBSD +EXTRALIBS += -lexecinfo +endif # FREEBSD + +if LINUX +EXTRALIBS += -lrt +endif # LINUX + +if WITH_PROFILER +EXTRALIBS += -lprofiler +endif # PROFILER + +LIBGLOBAL = libglobal.la +LIBCOMMON = libcommon.la +LIBARCH = libarch.la +LIBPERFGLUE = libperfglue.la +LIBAUTH = libauth.la +LIBMSG = libmsg.la +LIBCRUSH = libcrush.la +LIBJSON_SPIRIT = libjson_spirit.la +LIBLOG = liblog.la +LIBOS = libos.la +LIBOSD = libosd.la +LIBOSDC = libosdc.la +LIBMON = libmon.la +LIBMDS = libmds.la +LIBCLIENT = libclient.la +LIBCLIENT_FUSE = libclient_fuse.la +LIBRADOS = librados.la +LIBRGW = librgw.la +LIBRBD = librbd.la +LIBCEPHFS = libcephfs.la + +if WITH_LIBAIO +LIBOS += -laio +endif # WITH_LIBAIO + +if WITH_LIBZFS +LIBOS += libos_zfs.a -lzfs +endif # WITH_LIBZFS + +if WITH_TCMALLOC +LIBPERFGLUE += -ltcmalloc +endif # WITH_TCMALLOC + +if ENABLE_COVERAGE +EXTRALIBS += -lgcov +endif # ENABLE_COVERAGE + +# Libosd always needs osdc and os +LIBOSD += $(LIBOSDC) $(LIBOS) + +# These have references to syms like ceph_using_tcmalloc(), glue libperfglue to them +LIBMON += $(LIBPERFGLUE) +LIBOSD += $(LIBPERFGLUE) +LIBMDS += $(LIBPERFGLUE) + +# Always use system leveldb +LIBOS += -lleveldb -lsnappy + +# Use this for binaries requiring libglobal +CEPH_GLOBAL = $(LIBGLOBAL) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) + +# This is set by [lib]/Makefile.am and used for build tests +LIBCOMMON_DEPS = +LIBRADOS_DEPS = +LIBRGW_DEPS = + +# This is used by the dencoder test +DENCODER_SOURCES = +DENCODER_DEPS = + + +radoslibdir = $(libdir)/rados-classes + diff --git a/src/Makefile.am b/src/Makefile.am index 4a67214a1e1..3520ca8d8f9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,1301 +1,137 @@ -AUTOMAKE_OPTIONS = gnu -SUBDIRS = ocf java -DIST_SUBDIRS = gtest ocf libs3 java - -EXTRA_DIST = \ - libs3/COPYING \ - libs3/ChangeLog \ - libs3/GNUmakefile \ - libs3/GNUmakefile.mingw \ - libs3/GNUmakefile.osx \ - libs3/INSTALL \ - libs3/LICENSE \ - libs3/README \ - libs3/TODO \ - libs3/archlinux \ - libs3/debian \ - libs3/doxyfile \ - libs3/inc \ - libs3/libs3.spec \ - libs3/mswin \ - libs3/src \ - libs3/test \ - unittest_bufferlist.sh \ - yasm-wrapper - -CLEANFILES = -bin_PROGRAMS = -# like bin_PROGRAMS, but these targets are only built for debug builds -bin_DEBUGPROGRAMS = -sbin_PROGRAMS = -# like sbin_SCRIPTS but can be used to install to e.g. /usr/sbin -ceph_sbindir = $(exec_prefix)$(sbindir) -ceph_sbin_SCRIPTS = \ - ceph-disk \ - ceph-disk-prepare \ - ceph-disk-activate \ - ceph-disk-udev \ - ceph-create-keys - -sbin_SCRIPTS = \ - mount.fuse.ceph - -bin_SCRIPTS = ceph ceph-run ceph-rest-api ceph-clsinfo ceph-debugpack ceph-rbdnamer ceph-post-file -dist_bin_SCRIPTS = -# C/C++ tests to build will be appended to this -check_PROGRAMS = -# tests to actually run on "make check"; if you need extra, non-test, -# executables built, you need to replace this with manual assignments -# target by target -TESTS = $(check_PROGRAMS) unittest_bufferlist.sh - -check-local: - $(srcdir)/test/encoding/check-generated.sh - $(srcdir)/test/encoding/readable.sh ../ceph-object-corpus - -EXTRALIBS = -luuid -if FREEBSD -EXTRALIBS += -lexecinfo -endif -if LINUX -EXTRALIBS += -lrt -endif -if WITH_PROFILER -EXTRALIBS += -lprofiler -endif - -LIBGLOBAL_LDA = libglobal.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) - -LIBOS_LDA = libos.a - -if WITH_LIBAIO -LIBOS_LDA += -laio -endif - -if WITH_LIBZFS -LIBOS_LDA += libos_zfs.a -lzfs -endif - -# use system leveldb -LIBOS_LDA += -lleveldb -lsnappy - -# monitor -ceph_mon_SOURCES = ceph_mon.cc common/TextTable.cc -ceph_mon_LDFLAGS = $(AM_LDFLAGS) -ceph_mon_LDADD = libmon.a $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_mon_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} +include Makefile-env.am + +SUBDIRS += ocf java +DIST_SUBDIRS += gtest ocf libs3 java + + +# subdirs + +include arch/Makefile.am +include auth/Makefile.am +include crush/Makefile.am +include mon/Makefile.am +include mds/Makefile.am +include os/Makefile.am +include osd/Makefile.am +include osdc/Makefile.am +include client/Makefile.am +include global/Makefile.am +include json_spirit/Makefile.am +include log/Makefile.am +include perfglue/Makefile.am +include common/Makefile.am +include msg/Makefile.am +include messages/Makefile.am +include include/Makefile.am +include librados/Makefile.am +include librbd/Makefile.am +include rgw/Makefile.am +include cls/Makefile.am +include key_value_store/Makefile.am +include test/Makefile.am +include tools/Makefile.am + + +# core daemons + +ceph_mon_SOURCES = ceph_mon.cc +ceph_mon_LDADD = $(LIBMON) $(LIBOS) $(CEPH_GLOBAL) bin_PROGRAMS += ceph-mon -ceph_mon_store_converter_SOURCES = tools/mon_store_converter.cc \ - mon/MonitorStore.cc -ceph_mon_store_converter_LDFLAGS = ${AM_LDFLAGS} -ceph_mon_store_converter_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_mon_store_converter_CXXFLAGS = ${AM_CXXFLAGS} -bin_PROGRAMS += ceph_mon_store_converter - - -# osd ceph_osd_SOURCES = ceph_osd.cc -ceph_osd_LDADD = libosd.a libosdc.la $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_osd_CXXFLAGS = ${AM_CXXFLAGS} -bin_PROGRAMS += ceph-osd - +ceph_osd_LDADD = $(LIBOSD) $(CEPH_GLOBAL) if LINUX ceph_osd_LDADD += -ldl -endif +endif # LINUX +bin_PROGRAMS += ceph-osd -# mds ceph_mds_SOURCES = ceph_mds.cc -ceph_mds_LDADD = libmds.a libosdc.la $(LIBGLOBAL_LDA) +ceph_mds_LDADD = $(LIBMDS) $(LIBOSDC) $(CEPH_GLOBAL) bin_PROGRAMS += ceph-mds -ceph_mds_CXXFLAGS = ${AM_CXXFLAGS} + # admin tools -ceph_conf_SOURCES = tools/ceph_conf.cc -ceph_conf_LDADD = $(LIBGLOBAL_LDA) -ceph_conf_CXXFLAGS = ${AM_CXXFLAGS} -ceph_authtool_SOURCES = tools/ceph_authtool.cc -ceph_authtool_LDADD = $(LIBGLOBAL_LDA) -ceph_filestore_dump_SOURCES = tools/ceph-filestore-dump.cc -ceph_filestore_dump_SOURCES += perfglue/disabled_heap_profiler.cc -ceph_filestore_dump_LDADD = libosd.a libosdc.la $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options -if LINUX -ceph_filestore_dump_LDADD += -ldl -endif -bin_PROGRAMS += ceph-conf ceph-authtool ceph_filestore_dump - -ceph_osdomap_tool_SOURCES = tools/ceph-osdomap-tool.cc \ - os/LevelDBStore.cc -ceph_osdomap_tool_LDFLAGS = ${AM_LDFLAGS} -ceph_osdomap_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options -ceph_osdomap_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph-osdomap-tool - -ceph_monstore_tool_SOURCES = tools/ceph-monstore-tool.cc \ - os/LevelDBStore.cc -ceph_monstore_tool_LDFLAGS = ${AM_LDFLAGS} -ceph_monstore_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -lboost_program_options -ceph_monstore_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph-monstore-tool - -monmaptool_SOURCES = tools/monmaptool.cc -monmaptool_LDADD = $(LIBGLOBAL_LDA) -crushtool_SOURCES = tools/crushtool.cc -crushtool_LDADD = $(LIBGLOBAL_LDA) -osdmaptool_SOURCES = tools/osdmaptool.cc -osdmaptool_LDADD = $(LIBGLOBAL_LDA) -bin_PROGRAMS += monmaptool crushtool osdmaptool - -rgw_dencoder_src = rgw/rgw_dencoder.cc \ - rgw/rgw_acl.cc \ - rgw/rgw_common.cc \ - rgw/rgw_env.cc \ - rgw/rgw_json_enc.cc - -ceph_dencoder_SOURCES = test/encoding/ceph_dencoder.cc ${rgw_dencoder_src} perfglue/disabled_heap_profiler.cc -ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS} -ceph_dencoder_LDADD = $(LIBGLOBAL_LDA) libcls_lock_client.a \ - libcls_rgw_client.a \ - libcls_replica_log_client.a \ - libcls_refcount_client.a \ - libosd.a libmds.a libosdc.la $(LIBOS_LDA) libmon.a -bin_PROGRAMS += ceph-dencoder - -mount_ceph_SOURCES = mount/mount.ceph.c common/armor.c common/safe_io.c common/secret.c common/addr_parsing.c -mount_ceph_LDADD = -lkeyutils + +# user tools + +mount_ceph_SOURCES = mount/mount.ceph.c +mount_ceph_LDADD = $(LIBCOMMON) if LINUX sbin_PROGRAMS += mount.ceph -endif +endif # LINUX +sbin_SCRIPTS += mount.fuse.ceph -# user tools cephfs_SOURCES = cephfs.cc -cephfs_LDADD = libcommon.la +cephfs_LDADD = $(LIBCOMMON) bin_PROGRAMS += cephfs librados_config_SOURCES = librados-config.cc -librados_config_LDADD = librados.la $(LIBGLOBAL_LDA) +librados_config_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) bin_PROGRAMS += librados-config -# synthetic client -ceph_syn_SOURCES = ceph_syn.cc client/SyntheticClient.cc -ceph_syn_LDADD = libclient.la $(LIBGLOBAL_LDA) +ceph_syn_SOURCES = ceph_syn.cc +ceph_syn_SOURCES += client/SyntheticClient.cc # uses g_conf.. needs cleanup +ceph_syn_LDADD = $(LIBCLIENT) $(CEPH_GLOBAL) bin_PROGRAMS += ceph-syn -base: ceph-mon ceph-osd ceph-mds \ - cephfs \ - ceph-syn \ - rados radosgw librados-config \ - ceph-conf monmaptool osdmaptool crushtool ceph-authtool \ - init-ceph mkcephfs mon_store_converter ceph-post-file +rbd_SOURCES = rbd.cc +rbd_LDADD = $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL) +if LINUX +bin_PROGRAMS += rbd +endif #LINUX + + +# Fuse targets -# fuse targets? if WITH_FUSE -ceph_fuse_SOURCES = ceph_fuse.cc client/fuse_ll.cc -ceph_fuse_LDADD = -lfuse libclient.la $(LIBGLOBAL_LDA) -ceph_fuse_CXXFLAGS = ${AM_CXXFLAGS} +ceph_fuse_SOURCES = ceph_fuse.cc +ceph_fuse_LDADD = $(LIBCLIENT_FUSE) $(CEPH_GLOBAL) bin_PROGRAMS += ceph-fuse rbd_fuse_SOURCES = rbd_fuse/rbd-fuse.c -rbd_fuse_LDADD = -lfuse librados.la librbd.la $(LIBGLOBAL_LDA) -rbd_fuse_CXXFLAGS = ${AM_CXXFLAGS} +rbd_fuse_LDADD = -lfuse $(LIBRBD) $(LIBRADOS) $(CEPH_GLOBAL) bin_PROGRAMS += rbd-fuse +endif # WITH_FUSE -endif -# tcmalloc? -if WITH_TCMALLOC -tcmalloc_safety_flags = -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -ceph_osd_LDADD += -ltcmalloc -ceph_osd_CXXFLAGS += ${tcmalloc_safety_flags} -ceph_osd_SOURCES += perfglue/heap_profiler.cc -ceph_mds_LDADD += -ltcmalloc -ceph_mds_CXXFLAGS += ${tcmalloc_safety_flags} -ceph_mds_SOURCES += perfglue/heap_profiler.cc -ceph_mon_LDADD += -ltcmalloc -ceph_mon_CXXFLAGS += ${tcmalloc_safety_flags} -ceph_mon_SOURCES += perfglue/heap_profiler.cc -if WITH_FUSE -ceph_fuse_LDADD += -ltcmalloc -ceph_fuse_CXXFLAGS += ${tcmalloc_safety_flags} -endif #WITH_FUSE -else -ceph_osd_SOURCES += perfglue/disabled_heap_profiler.cc -ceph_mds_SOURCES += perfglue/disabled_heap_profiler.cc -ceph_mon_SOURCES += perfglue/disabled_heap_profiler.cc -endif # WITH_TCMALLOC - -# debug targets -ceph_psim_SOURCES = tools/psim.cc -ceph_psim_LDADD = $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_psim - -ceph_test_mutate_SOURCES = test/test_mutate.cc -ceph_test_mutate_LDADD = librados.la $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_mutate - -ceph_test_rewrite_latency_SOURCES = test/test_rewrite_latency.cc -ceph_test_rewrite_latency_LDADD = libcommon.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -bin_DEBUGPROGRAMS += ceph_test_rewrite_latency - -ceph_test_msgr_SOURCES = test/testmsgr.cc -ceph_test_msgr_LDADD = $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_msgr - -ceph_test_ioctls_SOURCES = client/test_ioctls.c -bin_DEBUGPROGRAMS += ceph_test_ioctls - -ceph_dupstore_SOURCES = tools/dupstore.cc -ceph_dupstore_CXXFLAGS= ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -ceph_dupstore_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_streamtest_SOURCES = test/streamtest.cc -ceph_streamtest_CXXFLAGS= ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -ceph_streamtest_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_dupstore ceph_streamtest - -ceph_test_trans_SOURCES = test/test_trans.cc -ceph_test_trans_CXXFLAGS= ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -ceph_test_trans_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_trans - -ceph_test_rados_SOURCES = test/osd/TestRados.cc test/osd/TestOpStat.cc test/osd/Object.cc test/osd/RadosModel.cc -ceph_test_rados_LDADD = librados.la $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_rados - -ceph_smalliobench_SOURCES = test/bench/small_io_bench.cc test/bench/rados_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc -ceph_smalliobench_LDADD = librados.la -lboost_program_options $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_smalliobench - -ceph_smalliobenchfs_SOURCES = test/bench/small_io_bench_fs.cc test/bench/testfilestore_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc -ceph_smalliobenchfs_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_smalliobenchfs_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_smalliobenchfs - -ceph_smalliobenchdumb_SOURCES = test/bench/small_io_bench_dumb.cc test/bench/dumb_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc -ceph_smalliobenchdumb_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_smalliobenchdumb_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_smalliobenchdumb - -ceph_smalliobenchrbd_SOURCES = test/bench/small_io_bench_rbd.cc test/bench/rbd_backend.cc test/bench/detailed_stat_collector.cc test/bench/bencher.cc -ceph_smalliobenchrbd_LDADD = librados.la librbd.la -lboost_program_options $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_smalliobenchrbd - -ceph_tpbench_SOURCES = test/bench/tp_bench.cc test/bench/detailed_stat_collector.cc -ceph_tpbench_LDADD = librados.la -lboost_program_options $(LIBOS_LDA) $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_tpbench - -ceph_omapbench_SOURCES = test/omap_bench.cc -ceph_omapbench_LDADD = librados.la $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_omapbench - -ceph_kvstorebench_SOURCES = test/kv_store_bench.cc key_value_store/kv_flat_btree_async.cc -ceph_kvstorebench_LDADD = librados.la $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_kvstorebench - -ceph_multi_stress_watch_SOURCES = test/multi_stress_watch.cc test/librados/test.cc -ceph_multi_stress_watch_LDADD = librados.la $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_multi_stress_watch - -if WITH_BUILD_TESTS -ceph_test_libcommon_build_SOURCES = test/buildtest_skeleton.cc $(libcommon_files) -ceph_test_libcommon_build_LDADD = libcrc.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -bin_DEBUGPROGRAMS += ceph_test_libcommon_build - -ceph_test_librados_build_SOURCES = test/buildtest_skeleton.cc $(libcommon_files) $(librados_SOURCES) -ceph_test_librados_build_LDADD = libcrc.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -ceph_test_librados_build_CXXFLAGS = $(AM_CXXFLAGS) -bin_DEBUGPROGRAMS += ceph_test_librados_build - -ceph_test_librgw_build_SOURCES = test/buildtest_skeleton.cc $(libcommon_files) \ - $(librados_SOURCES) $(librgw_la_SOURCES) -ceph_test_librgw_build_LDADD = libcrc.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -ceph_test_librgw_build_CXXFLAGS = $(AM_CXXFLAGS) -bin_DEBUGPROGRAMS += ceph_test_librgw_build - -ceph_test_libcephfs_build_SOURCES = test/buildtest_skeleton.cc $(libcommon_files) \ - $(libosdc_la_SOURCES) -ceph_test_libcephfs_build_LDADD = libcrc.la libcephfs.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -ceph_test_libcephfs_build_CXXFLAGS = $(AM_CXXFLAGS) -bin_DEBUGPROGRAMS += ceph_test_libcephfs_build -endif +# libcephfs (this and libhadoopcephfs should go somewhere else in the future) -if WITH_HADOOPCLIENT -ceph_test_libhadoopcephfs_build_SOURCES = test/buildtest_skeleton.cc \ - $(libhadoopcephfs_la_SOURCES) \ - $(libosdc_la_SOURCES) $(libcommon_files) -ceph_test_libhadoopcephfs_build_LDADD = libcrc.la libcephfs.la -lexpat $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -ceph_test_libhadoopcephfs_build_CXXFLAGS = $(AM_CXXFLAGS) -bin_DEBUGPROGRAMS += ceph_test_libhadoopcephfs_build -endif - -########## -BUILT_SOURCES = -lib_LTLIBRARIES = -noinst_LTLIBRARIES = -noinst_LIBRARIES = - -# libcephfs -libcephfs_la_SOURCES = \ - libcephfs.cc -libcephfs_la_CFLAGS= ${CRYPTO_CFLAGS} ${AM_CFLAGS} -libcephfs_la_CXXFLAGS= ${AM_CXXFLAGS} -libcephfs_la_LIBADD = libclient.la -libcephfs_la_LDFLAGS = $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) \ - ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^ceph_.*' +libcephfs_la_SOURCES = libcephfs.cc +libcephfs_la_LIBADD = $(LIBCLIENT) $(LIBCOMMON) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) +libcephfs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^ceph_.*' lib_LTLIBRARIES += libcephfs.la -ceph_test_timers_SOURCES = test/TestTimers.cc -ceph_test_timers_LDADD = $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_timers - -ceph_test_signal_handlers_SOURCES = test/TestSignalHandlers.cc -ceph_test_signal_handlers_LDADD = $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_signal_handlers - -# librados -librados_SOURCES = \ - librados/librados.cc \ - librados/RadosClient.cc \ - librados/IoCtxImpl.cc \ - osdc/Objecter.cc \ - osdc/Striper.cc \ - cls/lock/cls_lock_client.cc \ - cls/lock/cls_lock_types.cc \ - cls/lock/cls_lock_ops.cc -librados_la_SOURCES = ${librados_SOURCES} -librados_la_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS} -librados_la_CXXFLAGS = ${AM_CXXFLAGS} -librados_la_LIBADD = libcommon.la $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) -librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^rados_.*' -lib_LTLIBRARIES += librados.la - -if WITH_RADOSGW - -# rgw -librgw_a_SOURCES = \ - rgw/librgw.cc \ - 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_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_common.cc \ - rgw/rgw_cache.cc \ - rgw/rgw_formats.cc \ - rgw/rgw_log.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 -librgw_a_CFLAGS = ${CRYPTO_CFLAGS} ${AM_CFLAGS} -librgw_a_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS} -noinst_LIBRARIES += librgw.a - -my_radosgw_ldadd = \ - librgw.a librados.la libcls_rgw_client.a libcls_log_client.a \ - libcls_statelog_client.a libcls_replica_log_client.a libcls_lock_client.a \ - libcls_refcount_client.a libcls_version_client.a -lcurl -lexpat \ - $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) $(LIBGLOBAL_LDA) - -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_main.cc -radosgw_LDADD = $(my_radosgw_ldadd) -lfcgi -lresolv -radosgw_CXXFLAGS = ${AM_CXXFLAGS} -bin_PROGRAMS += radosgw - -radosgw_admin_SOURCES = rgw/rgw_admin.cc -radosgw_admin_CXXFLAGS = ${AM_CXXFLAGS} -radosgw_admin_LDADD = $(my_radosgw_ldadd) -bin_PROGRAMS += radosgw-admin - -ceph_rgw_multiparser_SOURCES = rgw/rgw_multiparser.cc -ceph_rgw_multiparser_CXXFLAGS = ${AM_CXXFLAGS} -ceph_rgw_multiparser_LDADD = $(my_radosgw_ldadd) -bin_DEBUGPROGRAMS += ceph_rgw_multiparser - -ceph_rgw_jsonparser_SOURCES = rgw/rgw_jsonparser.cc rgw/rgw_common.cc rgw/rgw_env.cc rgw/rgw_json_enc.cc -ceph_rgw_jsonparser_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -ceph_rgw_jsonparser_LDADD = $(my_radosgw_ldadd) -bin_DEBUGPROGRAMS += ceph_rgw_jsonparser - -endif - -# librbd -librbd_la_SOURCES = \ - librbd/librbd.cc \ - librbd/AioCompletion.cc \ - librbd/AioRequest.cc \ - cls/rbd/cls_rbd_client.cc \ - librbd/ImageCtx.cc \ - librbd/internal.cc \ - librbd/LibrbdWriteback.cc \ - librbd/WatchCtx.cc \ - osdc/ObjectCacher.cc \ - osdc/Striper.cc \ - librados/snap_set_diff.cc \ - cls/lock/cls_lock_client.cc \ - cls/lock/cls_lock_types.cc \ - cls/lock/cls_lock_ops.cc \ - common/util.cc -librbd_la_CFLAGS = ${AM_CFLAGS} ${CRYPTO_CFLAGS} -librbd_la_CXXFLAGS = ${AM_CXXFLAGS} -librbd_la_LIBADD = librados.la -librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 \ - -export-symbols-regex '^rbd_.*' $(PTHREAD_LIBS) $(EXTRALIBS) -lib_LTLIBRARIES += librbd.la - -rados_SOURCES = \ - tools/rados/rados.cc \ - tools/rados/rados_import.cc \ - tools/rados/rados_export.cc \ - tools/rados/rados_sync.cc \ - common/obj_bencher.cc -rados_LDADD = libcls_lock_client.a librados.la $(LIBGLOBAL_LDA) -bin_PROGRAMS += rados - -if WITH_REST_BENCH - -rest_bench_SOURCES = tools/rest_bench.cc common/obj_bencher.cc -rest_bench_LDADD = $(LIBGLOBAL_LDA) -rest_bench_CXXFLAGS = ${AM_CXXFLAGS} -bin_PROGRAMS += rest-bench - -if WITH_SYSTEM_LIBS3 -rest_bench_LDADD += -ls3 -else -rest_bench_LDADD += libs3/build/lib/libs3.a -lcurl -lxml2 -rest_bench_CXXFLAGS += -I$(top_srcdir)/src/libs3/inc -SUBDIRS += libs3 -endif - -endif - -ceph_scratchtool_SOURCES = tools/scratchtool.c -ceph_scratchtool_LDADD = librados.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -ceph_scratchtoolpp_SOURCES = tools/scratchtoolpp.cc -ceph_scratchtoolpp_LDADD = librados.la $(PTHREAD_LIBS) -lm -ceph_radosacl_SOURCES = tools/radosacl.cc -ceph_radosacl_LDADD = librados.la $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -bin_DEBUGPROGRAMS += ceph_scratchtool ceph_scratchtoolpp ceph_radosacl - -rbd_SOURCES = rbd.cc common/secret.c common/TextTable.cc common/util.cc -rbd_CXXFLAGS = ${AM_CXXFLAGS} -rbd_LDADD = librbd.la librados.la $(LIBGLOBAL_LDA) -lkeyutils -if LINUX -bin_PROGRAMS += rbd -endif - - -ceph_test_crypto_SOURCES = test/testcrypto.cc -ceph_test_crypto_LDADD = $(LIBGLOBAL_LDA) -ceph_test_crypto_CXXFLAGS = ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_crypto - -ceph_test_keys_SOURCES = test/testkeys.cc -ceph_test_keys_LDADD = libmon.a $(LIBGLOBAL_LDA) -ceph_test_keys_CXXFLAGS = ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_keys - -if WITH_TCMALLOC -ceph_test_keys_LDADD += -ltcmalloc -ceph_test_keys_CXXFLAGS += ${tcmalloc_safety_flags} -ceph_test_keys_SOURCES += perfglue/heap_profiler.cc -endif - - -## rados object classes - -radoslibdir = $(libdir)/rados-classes -radoslib_LTLIBRARIES = - -# hello world class -libcls_hello_la_SOURCES = cls/hello/cls_hello.cc -libcls_hello_la_CFLAGS = ${AM_CFLAGS} -libcls_hello_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_hello_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_hello_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_hello.la - -# rbd: rados block device class -libcls_rbd_la_SOURCES = cls/rbd/cls_rbd.cc -libcls_rbd_la_CFLAGS = ${AM_CFLAGS} -libcls_rbd_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_rbd_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_rbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_rbd.la - -# lock class -libcls_lock_la_SOURCES = cls/lock/cls_lock.cc -libcls_lock_la_CFLAGS = ${AM_CFLAGS} -libcls_lock_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_lock_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_lock_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' -radoslib_LTLIBRARIES += libcls_lock.la - -# refcount class -libcls_refcount_la_SOURCES = \ - cls/refcount/cls_refcount.cc \ - cls/refcount/cls_refcount_ops.cc \ - common/ceph_json.cc \ - json_spirit/json_spirit_reader.cpp \ - json_spirit/json_spirit_writer.cpp \ - json_spirit/json_spirit_value.cpp -libcls_refcount_la_CFLAGS = ${AM_CFLAGS} -libcls_refcount_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_refcount_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_refcount_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_refcount.la - -# version class -libcls_version_la_SOURCES = cls/version/cls_version.cc -libcls_version_la_CFLAGS = ${AM_CFLAGS} -libcls_version_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_version_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_version_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_version.la - -# log class -libcls_log_la_SOURCES = cls/log/cls_log.cc -libcls_log_la_CFLAGS = ${AM_CFLAGS} -libcls_log_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_log.la - -libcls_statelog_la_SOURCES = cls/statelog/cls_statelog.cc -libcls_statelog_la_CFLAGS = ${AM_CFLAGS} -libcls_statelog_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_statelog_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_statelog_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_statelog.la - -# replica log class -libcls_replica_log_la_SOURCES = cls/replica_log/cls_replica_log.cc -libcls_replica_log_la_CFLAGS = ${AM_CFLAGS} -libcls_replica_log_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_replica_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_replica_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_replica_log.la - -# rgw: rados gateway -libcls_rgw_la_SOURCES = \ - cls/rgw/cls_rgw.cc \ - cls/rgw/cls_rgw_ops.cc \ - cls/rgw/cls_rgw_types.cc \ - common/ceph_json.cc \ - json_spirit/json_spirit_reader.cpp \ - json_spirit/json_spirit_writer.cpp \ - json_spirit/json_spirit_value.cpp -libcls_rgw_la_CFLAGS = ${AM_CFLAGS} -libcls_rgw_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_rgw_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_rgw_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_rgw.la - -libcls_lock_client_a_SOURCES = \ - cls/lock/cls_lock_client.cc \ - cls/lock/cls_lock_types.cc \ - cls/lock/cls_lock_ops.cc -noinst_LIBRARIES += libcls_lock_client.a - -libcls_refcount_client_a_SOURCES = \ - cls/refcount/cls_refcount_client.cc \ - cls/refcount/cls_refcount_ops.cc -noinst_LIBRARIES += libcls_refcount_client.a - -libcls_version_client_a_SOURCES = \ - cls/version/cls_version_client.cc \ - cls/version/cls_version_types.cc -noinst_LIBRARIES += libcls_version_client.a - -libcls_log_client_a_SOURCES = \ - cls/log/cls_log_client.cc -noinst_LIBRARIES += libcls_log_client.a - -libcls_statelog_client_a_SOURCES = \ - cls/statelog/cls_statelog_client.cc -noinst_LIBRARIES += libcls_statelog_client.a - -libcls_replica_log_client_a_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 - -libcls_rgw_client_a_SOURCES = \ - cls/rgw/cls_rgw_client.cc \ - cls/rgw/cls_rgw_types.cc \ - cls/rgw/cls_rgw_ops.cc -noinst_LIBRARIES += libcls_rgw_client.a - -## hadoop client +# order matters! this *must* come after libcephfs, or else you'll encounter something +# like "error: relink libhadoopcephfs.la with the above command before installing it" if WITH_HADOOPCLIENT JAVA_BASE = /usr/lib/jvm/java-6-sun libhadoopcephfs_la_SOURCES = client/hadoop/CephFSInterface.cc -libhadoopcephfs_la_LIBADD = libcephfs.la -libhadoopcephfs_la_CFLAGS = ${AM_CFLAGS} -libhadoopcephfs_la_CXXFLAGS = ${AM_CXXFLAGS} +libhadoopcephfs_la_LIBADD = $(LIBCEPHFS) libhadoopcephfs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex 'hadoopcephfs_.*' lib_LTLIBRARIES += libhadoopcephfs.la +noinst_HEADERS += client/hadoop/CephFSInterface.h +endif # WITH_HADOOPCLIENT -endif -## CephFS Java Wrappers -## - The JNI library is here -## - The Java source Makefile.am is in src/java +# jni library (java source is in src/java) + if ENABLE_CEPHFS_JAVA libcephfs_jni_la_SOURCES = \ java/native/libcephfs_jni.cc \ java/native/ScopedLocalRef.h \ java/native/JniConstants.cpp \ java/native/JniConstants.h -libcephfs_jni_la_LIBADD = libcephfs.la $(EXTRALIBS) +libcephfs_jni_la_LIBADD = $(LIBCEPHFS) $(EXTRALIBS) libcephfs_jni_la_CPPFLAGS = $(JDK_CPPFLAGS) -libcephfs_jni_la_CXXFLAGS = ${AM_CXXFLAGS} libcephfs_jni_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 lib_LTLIBRARIES += libcephfs_jni.la endif -## key_value_store classes - -# key_value_store: key value store class -libcls_kvs_la_SOURCES = key_value_store/cls_kvs.cc -libcls_kvs_la_CFLAGS = ${AM_CFLAGS} -libcls_kvs_la_CXXFLAGS= ${AM_CXXFLAGS} -libcls_kvs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) -libcls_kvs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' - -radoslib_LTLIBRARIES += libcls_kvs.la - -## System tests -libsystest_la_SOURCES = \ - test/system/cross_process_sem.cc \ - test/system/systest_runnable.cc \ - test/system/systest_settings.cc -libsystest_la_LIBADD = $(LIBGLOBAL_LDA) -noinst_LTLIBRARIES += libsystest.la - -ceph_test_rados_list_parallel_SOURCES = \ - test/system/rados_list_parallel.cc \ - test/system/st_rados_create_pool.cc \ - test/system/st_rados_list_objects.cc -ceph_test_rados_list_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS) -bin_DEBUGPROGRAMS += ceph_test_rados_list_parallel - -ceph_test_rados_open_pools_parallel_SOURCES = \ - test/system/rados_open_pools_parallel.cc \ - test/system/st_rados_create_pool.cc -ceph_test_rados_open_pools_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS) -bin_DEBUGPROGRAMS += ceph_test_rados_open_pools_parallel - -ceph_test_rados_delete_pools_parallel_SOURCES = \ - test/system/rados_delete_pools_parallel.cc \ - test/system/st_rados_create_pool.cc \ - test/system/st_rados_delete_pool.cc \ - test/system/st_rados_list_objects.cc -ceph_test_rados_delete_pools_parallel_LDADD = libsystest.la librados.la $(PTHREAD_LIBS) -bin_DEBUGPROGRAMS += ceph_test_rados_delete_pools_parallel - -ceph_test_rados_watch_notify_SOURCES = \ - test/system/rados_watch_notify.cc \ - test/system/st_rados_create_pool.cc \ - test/system/st_rados_delete_pool.cc \ - test/system/st_rados_delete_objs.cc \ - test/system/st_rados_watch.cc \ - test/system/st_rados_notify.cc -ceph_test_rados_watch_notify_LDADD = libsystest.la librados.la $(PTHREAD_LIBS) -bin_DEBUGPROGRAMS += ceph_test_rados_watch_notify - -ceph_bench_log_SOURCES = \ - test/bench_log.cc -ceph_bench_log_LDADD = libcommon.la $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_bench_log - -## unit tests - -# target to build but not run the unit tests -unittests:: $(check_PROGRAMS) - -UNITTEST_CXXFLAGS = \ - -I$(top_srcdir)/src/gtest/include \ - -I$(top_builddir)/src/gtest/include -UNITTEST_STATIC_LDADD = \ - $(top_builddir)/src/gtest/lib/libgtest.a \ - $(top_builddir)/src/gtest/lib/libgtest_main.a \ - $(PTHREAD_LIBS) -UNITTEST_LDADD = ${UNITTEST_STATIC_LDADD} - -unittest_encoding_SOURCES = test/encoding.cc -unittest_encoding_LDADD = libcephfs.la librados.la $(PTHREAD_LIBS) -lm \ - ${UNITTEST_LDADD} -unittest_encoding_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} \ - -fno-strict-aliasing -check_PROGRAMS += unittest_encoding - -unittest_addrs_SOURCES = test/test_addrs.cc -unittest_addrs_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_addrs_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} -check_PROGRAMS += unittest_addrs - -unittest_arch_SOURCES = test/test_arch.c arch/intel.c arch/neon.c arch/probe.cc -unittest_arch_CXXFLAGS = ${AM_CFLAGS} -check_PROGRAMS += unittest_arch - -unittest_crc32c_SOURCES = test/common/test_crc32c.cc arch/intel.c arch/neon.c arch/probe.cc -unittest_crc32c_CXXFLAGS = ${AM_CFLAGS} ${UNITTEST_CXXFLAGS} -unittest_crc32c_LDADD = libcrc.la ${UNITTEST_LDADD} ${LIBGLOBAL_LDA} -check_PROGRAMS += unittest_crc32c - -unittest_sharedptr_registry_SOURCES = test/common/test_sharedptr_registry.cc -unittest_sharedptr_registry_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_sharedptr_registry_LDADD = libcommon.la ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} -check_PROGRAMS += unittest_sharedptr_registry - -unittest_util_SOURCES = test/common/test_util.cc common/util.cc -unittest_util_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_util_LDADD = libcommon.la $(PTHREAD_LIBS) -lm ${UNITTEST_LDADD} $(CRYPTO_LIBS) $(EXTRALIBS) -check_PROGRAMS += unittest_util - -unittest_workqueue_SOURCES = test/test_workqueue.cc -unittest_workqueue_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_workqueue_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} -check_PROGRAMS += unittest_workqueue - -unittest_striper_SOURCES = test/test_striper.cc -unittest_striper_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_striper_LDADD = libosdc.la $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} -check_PROGRAMS += unittest_striper - -unittest_prebufferedstreambuf_SOURCES = test/test_prebufferedstreambuf.cc common/PrebufferedStreambuf.cc -unittest_prebufferedstreambuf_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_prebufferedstreambuf_LDADD = ${UNITTEST_LDADD} $(EXTRALIBS) -check_PROGRAMS += unittest_prebufferedstreambuf - -unittest_str_list_SOURCES = test/test_str_list.cc -unittest_str_list_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_str_list_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} -check_PROGRAMS += unittest_str_list - -unittest_log_SOURCES = log/test.cc common/PrebufferedStreambuf.cc -unittest_log_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_log_LDADD = libcommon.la ${UNITTEST_LDADD} -unittest_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -O2 -check_PROGRAMS += unittest_log - -unittest_throttle_SOURCES = test/common/Throttle.cc -unittest_throttle_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_throttle_LDADD = libcommon.la ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} -unittest_throttle_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -O2 -check_PROGRAMS += unittest_throttle - -unittest_base64_SOURCES = test/base64.cc -unittest_base64_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_base64_LDADD = libcephfs.la -lm ${UNITTEST_LDADD} -unittest_base64_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_base64 - -unittest_ceph_argparse_SOURCES = test/ceph_argparse.cc -unittest_ceph_argparse_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_ceph_argparse_LDADD = $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} -unittest_ceph_argparse_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_ceph_argparse - -unittest_osd_types_SOURCES = test/test_osd_types.cc -unittest_osd_types_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_osd_types_LDADD = $(LIBGLOBAL_LDA) libcommon.la ${UNITTEST_LDADD} -check_PROGRAMS += unittest_osd_types - -unittest_pglog_SOURCES = test/osd/TestPGLog.cc perfglue/disabled_heap_profiler.cc -unittest_pglog_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -unittest_pglog_LDADD = libosd.a libosdc.la $(LIBOS_LDA) $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} -check_PROGRAMS += unittest_pglog - -if LINUX -unittest_pglog_LDADD += -ldl -endif - -unittest_gather_SOURCES = test/gather.cc -unittest_gather_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} -unittest_gather_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_gather - -unittest_run_cmd_SOURCES = test/run_cmd.cc -unittest_run_cmd_LDADD = libcephfs.la ${UNITTEST_LDADD} -unittest_run_cmd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_run_cmd - -unittest_signals_SOURCES = test/signals.cc -unittest_signals_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} -unittest_signals_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_signals - -unittest_simple_spin_SOURCES = test/simple_spin.cc -unittest_simple_spin_LDADD = libcephfs.la ${UNITTEST_LDADD} -unittest_simple_spin_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_simple_spin - -unittest_librados_SOURCES = test/librados/librados.cc -unittest_librados_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_librados_LDADD = librados.la ${UNITTEST_LDADD} -unittest_librados_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_librados - -unittest_bufferlist_SOURCES = test/bufferlist.cc -unittest_bufferlist_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_bufferlist_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_bufferlist - -unittest_crypto_SOURCES = test/crypto.cc -unittest_crypto_LDFLAGS = ${CRYPTO_LDFLAGS} ${AM_LDFLAGS} -unittest_crypto_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} -unittest_crypto_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_crypto - -unittest_perf_counters_SOURCES = test/perf_counters.cc -unittest_perf_counters_LDFLAGS = ${AM_LDFLAGS} -unittest_perf_counters_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} -unittest_perf_counters_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_perf_counters - -unittest_admin_socket_SOURCES = test/admin_socket.cc -unittest_admin_socket_LDFLAGS = ${AM_LDFLAGS} -unittest_admin_socket_LDADD = ${LIBGLOBAL_LDA} ${UNITTEST_LDADD} libcommon.la -unittest_admin_socket_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_admin_socket - -unittest_ceph_crypto_SOURCES = test/ceph_crypto.cc -unittest_ceph_crypto_LDFLAGS = ${CRYPTO_LDFLAGS} ${AM_LDFLAGS} -unittest_ceph_crypto_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_ceph_crypto_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_ceph_crypto - -unittest_utf8_SOURCES = test/utf8.cc -unittest_utf8_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_utf8_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_utf8_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_utf8 - -unittest_mime_SOURCES = test/mime.cc -unittest_mime_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_mime_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_mime_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_mime - -unittest_escape_SOURCES = test/escape.cc -unittest_escape_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_escape_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_escape_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_escape - -unittest_chain_xattr_SOURCES = test/filestore/chain_xattr.cc -unittest_chain_xattr_LDFLAGS = ${AM_LDFLAGS} -unittest_chain_xattr_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -unittest_chain_xattr_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -check_PROGRAMS += unittest_chain_xattr - -unittest_flatindex_SOURCES = test/os/TestFlatIndex.cc -unittest_flatindex_LDFLAGS = ${AM_LDFLAGS} -unittest_flatindex_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -unittest_flatindex_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -check_PROGRAMS += unittest_flatindex - -unittest_strtol_SOURCES = test/strtol.cc -unittest_strtol_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_strtol_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_strtol_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_strtol - -unittest_confutils_SOURCES = test/confutils.cc -unittest_confutils_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_confutils_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_confutils_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_confutils - -unittest_heartbeatmap_SOURCES = test/heartbeat_map.cc common/HeartbeatMap.cc -unittest_heartbeatmap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_heartbeatmap_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_heartbeatmap_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_heartbeatmap - -unittest_formatter_SOURCES = test/formatter.cc rgw/rgw_formats.cc -unittest_formatter_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_formatter_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_formatter_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_formatter - -unittest_libcephfs_config_SOURCES = test/libcephfs_config.cc -unittest_libcephfs_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_libcephfs_config_LDADD = libcephfs.la ${UNITTEST_LDADD} -unittest_libcephfs_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_libcephfs_config - -unittest_lfnindex_SOURCES = test/os/TestLFNIndex.cc -unittest_lfnindex_LDFLAGS = ${AM_LDFLAGS} -unittest_lfnindex_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -unittest_lfnindex_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -check_PROGRAMS += unittest_lfnindex - -unittest_librados_config_SOURCES = test/librados/librados_config.cc -unittest_librados_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_librados_config_LDADD = librados.la ${UNITTEST_LDADD} -unittest_librados_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_librados_config - -#unittest_librgw_link_SOURCES = test/librgw_link.cc -#unittest_librgw_link_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -#unittest_librgw_link_LDADD = librgw.la ${UNITTEST_LDADD} -#unittest_librgw_link_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -#check_PROGRAMS += unittest_librgw_link - -unittest_daemon_config_SOURCES = test/daemon_config.cc -unittest_daemon_config_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_daemon_config_LDADD = ${UNITTEST_LDADD} ${LIBGLOBAL_LDA} -unittest_daemon_config_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_daemon_config - -unittest_osd_osdcap_SOURCES = test/osd/osdcap.cc osd/OSDCap.cc -unittest_osd_osdcap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_osd_osdcap_LDADD = ${UNITTEST_LDADD} ${LIBGLOBAL_LDA} -unittest_osd_osdcap_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_osd_osdcap - -unittest_mon_moncap_SOURCES = test/mon/moncap.cc mon/MonCap.cc -unittest_mon_moncap_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_mon_moncap_LDADD = ${UNITTEST_LDADD} ${LIBGLOBAL_LDA} -unittest_mon_moncap_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_mon_moncap - -#if WITH_RADOSGW -#unittest_librgw_SOURCES = test/librgw.cc -#unittest_librgw_LDFLAGS = -lrt $(PTHREAD_CFLAGS) -lcurl ${AM_LDFLAGS} -#unittest_librgw_LDADD = librgw.la librados.la ${UNITTEST_LDADD} -lexpat $(LIBGLOBAL_LDA) -#unittest_librgw_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -#check_PROGRAMS += unittest_librgw -#endif - -unittest_ipaddr_SOURCES = test/test_ipaddr.cc -unittest_ipaddr_LDADD = ${UNITTEST_LDADD} $(LIBGLOBAL_LDA) -unittest_ipaddr_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_ipaddr - -unittest_texttable_SOURCES = test/test_texttable.cc common/TextTable.cc -unittest_texttable_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -unittest_texttable_LDADD = librados.la ${UNITTEST_LDADD} -unittest_texttable_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -check_PROGRAMS += unittest_texttable - -if WITH_RADOSGW -ceph_test_cors_SOURCES = test/test_cors.cc -ceph_test_cors_LDADD = librados.la librgw.a $(LIBGLOBAL_LDA) ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} -lcurl -luuid -lexpat -ceph_test_cors_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cors - -ceph_test_cls_rgw_meta_SOURCES = test/test_rgw_admin_meta.cc -ceph_test_cls_rgw_meta_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(LIBGLOBAL_LDA) $(CRYPTO_LIBS) -lcurl -luuid -lexpat librados.la libcls_version_client.a \ - libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a -ceph_test_cls_rgw_meta_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_rgw_meta - -ceph_test_cls_rgw_log_SOURCES = test/test_rgw_admin_log.cc -ceph_test_cls_rgw_log_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} ${LIBGLOBAL_LDA} $(CRYPTO_LIBS) -lcurl -luuid -lexpat librados.la libcls_version_client.a \ - libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a -ceph_test_cls_rgw_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_rgw_log - -ceph_test_cls_rgw_opstate_SOURCES = test/test_rgw_admin_opstate.cc -ceph_test_cls_rgw_opstate_LDADD = librgw.a ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} ${LIBGLOBAL_LDA} $(CRYPTO_LIBS) -lcurl -luuid -lexpat librados.la libcls_version_client.a \ - libcls_log_client.a libcls_statelog_client.a libcls_refcount_client.a libcls_rgw_client.a libcls_lock_client.a -ceph_test_cls_rgw_opstate_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_rgw_opstate -endif - -ceph_test_librbd_SOURCES = test/librbd/test_librbd.cc test/librados/test.cc -ceph_test_librbd_LDADD = librbd.la librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_librbd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_librbd - -ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c -ceph_test_librbd_fsx_LDADD = librbd.la librados.la -lm -ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format -bin_DEBUGPROGRAMS += ceph_test_librbd_fsx - -ceph_test_cls_rbd_SOURCES = test/cls_rbd/test_cls_rbd.cc \ - test/librados/test.cc \ - cls/rbd/cls_rbd_client.cc \ - cls/lock/cls_lock_client.cc \ - cls/lock/cls_lock_types.cc \ - cls/lock/cls_lock_ops.cc -ceph_test_cls_rbd_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_cls_rbd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_rbd - -ceph_test_cls_refcount_SOURCES = test/cls_refcount/test_cls_refcount.cc \ - test/librados/test.cc -ceph_test_cls_refcount_LDADD = librados.la libcls_refcount_client.a ${UNITTEST_STATIC_LDADD} -ceph_test_cls_refcount_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_refcount - -ceph_test_cls_version_SOURCES = test/cls_version/test_cls_version.cc \ - test/librados/test.cc -ceph_test_cls_version_LDADD = librados.la libcls_version_client.a ${UNITTEST_STATIC_LDADD} -ceph_test_cls_version_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_version - -ceph_test_cls_log_SOURCES = test/cls_log/test_cls_log.cc \ - test/librados/test.cc -ceph_test_cls_log_LDADD = librados.la libcls_log_client.a ${UNITTEST_STATIC_LDADD} ${LIBGLOBAL_LDA} -ceph_test_cls_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_log - -ceph_test_cls_statelog_SOURCES = test/cls_statelog/test_cls_statelog.cc \ - test/librados/test.cc -ceph_test_cls_statelog_LDADD = librados.la libcls_statelog_client.a ${UNITTEST_STATIC_LDADD} ${LIBGLOBAL_LDA} -ceph_test_cls_statelog_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_statelog -ceph_test_cls_replica_log_SOURCES = \ - test/cls_replica_log/test_cls_replica_log.cc \ - test/librados/test.cc -ceph_test_cls_replica_log_LDADD = librados.la \ - libcls_replica_log_client.a ${UNITTEST_STATIC_LDADD} ${LIBGLOBAL_LDA} -ceph_test_cls_replica_log_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_replica_log - -ceph_test_cls_lock_SOURCES = test/cls_lock/test_cls_lock.cc test/librados/test.cc -ceph_test_cls_lock_LDFLAGS = ${AM_LDFLAGS} -ceph_test_cls_lock_LDADD = libcls_lock_client.a librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_cls_lock_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_lock - -ceph_test_cls_hello_SOURCES = test/cls_hello/test_cls_hello.cc test/librados/test.cc -ceph_test_cls_hello_LDADD = ${UNITTEST_LDADD} ${UNITTEST_STATIC_LDADD} $(LIBGLOBAL_LDA) $(CRYPTO_LIBS) librados.la -ceph_test_cls_hello_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_hello - -if WITH_RADOSGW - -ceph_test_cls_rgw_SOURCES = test/cls_rgw/test_cls_rgw.cc \ - test/librados/test.cc -ceph_test_cls_rgw_LDADD = librados.la libcls_rgw_client.a ${UNITTEST_STATIC_LDADD} -ceph_test_cls_rgw_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cls_rgw - -endif - -ceph_test_mon_workloadgen_SOURCES = \ - test/mon/test_mon_workloadgen.cc \ - osdc/Objecter.cc \ - osdc/Striper.cc -ceph_test_mon_workloadgen_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_mon_workloadgen_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_mon_workloadgen - -ceph_test_rados_api_cmd_SOURCES = test/librados/cmd.cc test/librados/test.cc -ceph_test_rados_api_cmd_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_cmd_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_cmd_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_cmd - -ceph_test_rados_api_io_SOURCES = test/librados/io.cc test/librados/test.cc -ceph_test_rados_api_io_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_io_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_io_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_io - -ceph_test_rados_api_aio_SOURCES = test/librados/aio.cc test/librados/test.cc -ceph_test_rados_api_aio_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_aio_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_aio_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_aio - -ceph_test_rados_api_list_SOURCES = test/librados/list.cc test/librados/test.cc -ceph_test_rados_api_list_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_list_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_list_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_list - -ceph_test_rados_api_pool_SOURCES = test/librados/pool.cc test/librados/test.cc -ceph_test_rados_api_pool_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_pool_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_pool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_pool - -ceph_test_rados_api_stat_SOURCES = test/librados/stat.cc test/librados/test.cc -ceph_test_rados_api_stat_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_stat_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_stat_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_stat - -ceph_test_rados_api_watch_notify_SOURCES = test/librados/watch_notify.cc test/librados/test.cc -ceph_test_rados_api_watch_notify_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_watch_notify_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_watch_notify_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_watch_notify - -ceph_test_rados_api_snapshots_SOURCES = test/librados/snapshots.cc test/librados/test.cc -ceph_test_rados_api_snapshots_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_snapshots_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_snapshots_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_snapshots - -ceph_test_rados_api_cls_SOURCES = test/librados/cls.cc test/librados/test.cc -ceph_test_rados_api_cls_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_cls_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_cls_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_cls - -ceph_test_rados_api_misc_SOURCES = test/librados/misc.cc test/librados/test.cc -ceph_test_rados_api_misc_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_misc_LDADD = librados.la $(LIBGLOBAL_LDA) ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_misc_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_misc - -ceph_test_rados_api_lock_SOURCES = test/librados/lock.cc test/librados/test.cc -ceph_test_rados_api_lock_LDFLAGS = ${AM_LDFLAGS} -ceph_test_rados_api_lock_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_rados_api_lock_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_rados_api_lock - -ceph_test_libcephfs_SOURCES = test/libcephfs/test.cc test/libcephfs/readdir_r_cb.cc test/libcephfs/caps.cc test/libcephfs/multiclient.cc -ceph_test_libcephfs_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} -ceph_test_libcephfs_LDADD = ${UNITTEST_STATIC_LDADD} libcephfs.la -ceph_test_libcephfs_CXXFLAGS = $(AM_CXXFLAGS) ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_libcephfs - -ceph_test_filestore_SOURCES = test/filestore/store_test.cc -ceph_test_filestore_LDFLAGS = ${AM_LDFLAGS} -ceph_test_filestore_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_filestore_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_filestore - -ceph_test_filestore_workloadgen_SOURCES = \ - test/filestore/workload_generator.cc \ - test/filestore/TestFileStoreState.cc -ceph_test_filestore_workloadgen_LDFLAGS = ${AM_LDFLAGS} -ceph_test_filestore_workloadgen_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_filestore_workloadgen_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_filestore_workloadgen - -ceph_test_filestore_idempotent_SOURCES = test/filestore/test_idempotent.cc test/filestore/FileStoreTracker.cc test/common/ObjectContents.cc -ceph_test_filestore_idempotent_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_filestore_idempotent_CXXFLAGS = $(AM_CXXFLAGS) -bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent - -ceph_test_filestore_idempotent_sequence_SOURCES = \ - test/filestore/test_idempotent_sequence.cc \ - test/filestore/DeterministicOpSequence.cc \ - test/filestore/TestFileStoreState.cc \ - test/filestore/FileStoreDiff.cc -ceph_test_filestore_idempotent_sequence_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS} -ceph_test_filestore_idempotent_sequence_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent_sequence - -ceph_xattr_bench_SOURCES = test/xattr_bench.cc -ceph_xattr_bench_LDFLAGS = ${AM_LDFLAGS} -ceph_xattr_bench_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_xattr_bench_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_xattr_bench - -ceph_test_filejournal_SOURCES = test/test_filejournal.cc -ceph_test_filejournal_LDFLAGS = ${AM_LDFLAGS} -ceph_test_filejournal_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_filejournal_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_filejournal - -ceph_test_stress_watch_SOURCES = test/test_stress_watch.cc test/librados/test.cc -ceph_test_stress_watch_LDFLAGS = ${AM_LDFLAGS} -ceph_test_stress_watch_LDADD = librados.la ${UNITTEST_STATIC_LDADD} -ceph_test_stress_watch_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_stress_watch - -ceph_test_objectcacher_stress_SOURCES = test/osdc/object_cacher_stress.cc test/osdc/FakeWriteback.cc osdc/ObjectCacher.cc -ceph_test_objectcacher_stress_LDFLAGS = ${AM_LDFLAGS} -ceph_test_objectcacher_stress_LDADD = $(LIBGLOBAL_LDA) -ceph_test_objectcacher_stress_CXXFLAGS = ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_objectcacher_stress - -ceph_test_snap_mapper_SOURCES = test/test_snap_mapper.cc osd/SnapMapper.cc -ceph_test_snap_mapper_LDFLAGS = ${AM_LDFLAGS} -ceph_test_snap_mapper_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_snap_mapper_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} $(LEVELDB_INCLUDE) ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_snap_mapper - -ceph_test_object_map_SOURCES = test/ObjectMap/test_object_map.cc test/ObjectMap/KeyValueDBMemory.cc os/DBObjectMap.cc os/LevelDBStore.cc -ceph_test_object_map_LDFLAGS = ${AM_LDFLAGS} -ceph_test_object_map_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_object_map_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_object_map - -ceph_test_keyvaluedb_atomicity_SOURCES = test/ObjectMap/test_keyvaluedb_atomicity.cc os/LevelDBStore.cc -ceph_test_keyvaluedb_atomicity_LDFLAGS = ${AM_LDFLAGS} -ceph_test_keyvaluedb_atomicity_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_keyvaluedb_atomicity_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_atomicity - -ceph_test_keyvaluedb_iterators_SOURCES = test/ObjectMap/test_keyvaluedb_iterators.cc \ - test/ObjectMap/KeyValueDBMemory.cc \ - os/LevelDBStore.cc -ceph_test_keyvaluedb_iterators_LDFLAGS = ${AM_LDFLAGS} -ceph_test_keyvaluedb_iterators_LDADD = ${UNITTEST_STATIC_LDADD} $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_keyvaluedb_iterators_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} ${CRYPTO_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_iterators - -ceph_test_store_tool_SOURCES = test/ObjectMap/test_store_tool/test_store_tool.cc \ - os/LevelDBStore.cc -ceph_test_store_tool_LDFLAGS = ${AM_LDFLAGS} -ceph_test_store_tool_LDADD = $(LIBOS_LDA) $(LIBGLOBAL_LDA) -ceph_test_store_tool_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_store_tool - -ceph_test_cfuse_cache_invalidate_SOURCES = test/test_cfuse_cache_invalidate.cc -ceph_test_cfuse_cache_invalidate_LDFLAGS = ${AM_LDFLAGS} -ceph_test_cfuse_cache_invalidate_LDADD = -ceph_test_cfuse_cache_invalidate_CXXFLAGS = ${AM_CXXFLAGS} -bin_DEBUGPROGRAMS += ceph_test_cfuse_cache_invalidate # shell scripts + editpaths = sed \ -e 's|@bindir[@]|$(bindir)|g' \ -e 's|@sbindir[@]|$(sbindir)|g' \ @@ -1304,11 +140,8 @@ editpaths = sed \ -e 's|@datadir[@]|$(pkgdatadir)|g' \ -e 's|@prefix[@]|$(prefix)|g' \ -e 's|@@GCOV_PREFIX_STRIP[@][@]|$(GCOV_PREFIX_STRIP)|g' - -shell_scripts = init-ceph mkcephfs ceph-debugpack ceph-coverage ceph-post-file - +shell_scripts = ceph-debugpack ceph-post-file $(shell_scripts): Makefile - $(shell_scripts): %: %.in rm -f $@ $@.tmp $(editpaths) '$(srcdir)/$@.in' >$@.tmp @@ -1316,87 +149,26 @@ $(shell_scripts): %: %.in chmod a-w $@.tmp mv $@.tmp $@ -BUILT_SOURCES += init-ceph -sbin_SCRIPTS += mkcephfs - -bin_SCRIPTS += ceph-coverage - +EXTRA_DIST += $(srcdir)/$(shell_scripts:%=%.in) CLEANFILES += $(shell_scripts) -CLEANFILES += ceph_ver.h sample.fetch_config - -## - -AM_COMMON_FLAGS = \ - -D__CEPH__ \ - -D_FILE_OFFSET_BITS=64 \ - -D_REENTRANT \ - -D_THREAD_SAFE \ - -D__STDC_FORMAT_MACROS \ - -D_GNU_SOURCE \ - -Wall \ - ${WARN_TYPE_LIMITS} \ - ${WARN_IGNORED_QUALIFIERS} \ - -Winit-self \ - -Wpointer-arith \ - -Werror=format-security \ - -fno-strict-aliasing \ - -fsigned-char -if !CLANG - AM_COMMON_FLAGS += -rdynamic -endif - -AM_CFLAGS = $(AM_COMMON_FLAGS) -AM_CXXFLAGS = \ - @AM_CXXFLAGS@ \ - $(AM_COMMON_FLAGS) \ - -DCEPH_LIBDIR=\"${libdir}\" \ - -Wnon-virtual-dtor \ - -Wno-invalid-offsetof - -if ENABLE_FPU_NEON -AM_CFLAGS += -mfpu=neon -AM_CXXFLAGS += -mfpu=neon -endif - -if !CLANG - AM_CXXFLAGS += -Wstrict-null-sentinel -endif -# note: this is position dependant, it affects the -l options that -# come after it on the command line. when you use ${AM_LDFLAGS} in -# later rules, take care where you place it. for more information, see -# http://blog.flameeyes.eu/2008/11/19/relationship-between-as-needed-and-no-undefined-part-1-what-do-they-do -# http://blog.flameeyes.eu/2008/11/20/misguided-link-and-as-needed -# http://www.gentoo.org/proj/en/qa/asneeded.xml -# http://gcc.gnu.org/ml/gcc-help/2010-12/msg00338.html -# http://sigquit.wordpress.com/2011/02/16/why-asneeded-doesnt-work-as-expected-for-your-libraries-on-your-autotools-project/ -AM_LDFLAGS = -Wl,--as-needed - -if USE_BOOST_SPIRIT_OLD_HDR -AM_CXXFLAGS += -DUSE_BOOST_SPIRIT_OLD_HDR -endif - -if WITH_LIBATOMIC -AM_LDFLAGS += -latomic_ops -endif - -if ENABLE_COVERAGE -AM_CFLAGS += -fprofile-arcs -ftest-coverage -AM_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0 -EXTRALIBS += -lgcov -endif # extra bits + EXTRA_DIST += \ - $(srcdir)/verify-mds-journal.sh $(srcdir)/vstart.sh $(srcdir)/stop.sh \ - ceph-run $(srcdir)/ceph_common.sh \ + $(srcdir)/verify-mds-journal.sh \ + $(srcdir)/vstart.sh \ + $(srcdir)/stop.sh \ + ceph-run \ + $(srcdir)/ceph_common.sh \ $(srcdir)/init-radosgw \ $(srcdir)/init-radosgw.sysv \ $(srcdir)/init-rbdmap \ - $(srcdir)/ceph-clsinfo $(srcdir)/make_version $(srcdir)/check_version \ + $(srcdir)/ceph-clsinfo \ + $(srcdir)/make_version \ + $(srcdir)/check_version \ $(srcdir)/.git_version \ $(srcdir)/ceph-rbdnamer \ - $(ceph_tool_gui_DATA) \ $(srcdir)/test/encoding/readable.sh \ $(srcdir)/test/encoding/check-generated.sh \ $(srcdir)/upstart/ceph-all.conf \ @@ -1419,21 +191,39 @@ EXTRA_DIST += \ ceph-disk-activate \ ceph-disk-udev \ ceph-create-keys \ - mount.fuse.ceph \ ceph-rest-api \ mount.fuse.ceph \ - rbdmap + rbdmap \ + unittest_bufferlist.sh \ + yasm-wrapper -EXTRA_DIST += $(srcdir)/$(shell_scripts:%=%.in) +EXTRA_DIST += \ + libs3/COPYING \ + libs3/ChangeLog \ + libs3/GNUmakefile \ + libs3/GNUmakefile.mingw \ + libs3/GNUmakefile.osx \ + libs3/INSTALL \ + libs3/LICENSE \ + libs3/README \ + libs3/TODO \ + libs3/archlinux \ + libs3/debian \ + libs3/doxyfile \ + libs3/inc \ + libs3/libs3.spec \ + libs3/mswin \ + libs3/src \ + libs3/test \ + unittest_bufferlist.sh # work around old versions of automake that don't define $docdir # NOTE: this won't work on suse, where docdir is /usr/share/doc/packages/$package. docdir ?= ${datadir}/doc/ceph - doc_DATA = $(srcdir)/sample.ceph.conf sample.fetch_config -sample.fetch_config: fetch_config - cp -f $(srcdir)/fetch_config ./sample.fetch_config + +# various scripts shell_commondir = $(libdir)/ceph shell_common_SCRIPTS = ceph_common.sh @@ -1444,31 +234,53 @@ bash_completion_DATA = $(srcdir)/bash_completion/ceph \ $(srcdir)/bash_completion/rbd \ $(srcdir)/bash_completion/radosgw-admin -libcephfs_includedir = $(includedir)/cephfs -libcephfs_include_DATA = $(srcdir)/include/cephfs/libcephfs.h - -librbd_includedir = $(includedir)/rbd -librbd_include_DATA = \ - $(srcdir)/include/rbd/features.h \ - $(srcdir)/include/rbd/librbd.h \ - $(srcdir)/include/rbd/librbd.hpp - -rados_includedir = $(includedir)/rados -rados_include_DATA = \ - $(srcdir)/include/rados/librados.h \ - $(srcdir)/include/rados/rados_types.h \ - $(srcdir)/include/rados/rados_types.hpp \ - $(srcdir)/include/rados/librados.hpp \ - $(srcdir)/include/buffer.h \ - $(srcdir)/include/page.h \ - $(srcdir)/include/crc32c.h - -#crush_includedir = $(includedir)/crush -#crush_include_DATA = \ -# $(srcdir)/crush/hash.h \ -# $(srcdir)/crush/crush.h \ -# $(srcdir)/crush/mapper.h \ -# $(srcdir)/crush/types.h +ceph_sbin_SCRIPTS = \ + ceph-disk \ + ceph-disk-prepare \ + ceph-disk-activate \ + ceph-disk-udev \ + ceph-create-keys + +bin_SCRIPTS += \ + ceph \ + ceph-run \ + ceph-rest-api \ + ceph-clsinfo \ + ceph-debugpack \ + ceph-rbdnamer \ + ceph-post-file + +BUILT_SOURCES += init-ceph +sbin_SCRIPTS += mkcephfs + +shell_scripts += init-ceph mkcephfs + + + + + +# tests to actually run on "make check"; if you need extra, non-test, +# executables built, you need to replace this with manual assignments +# target by target + +TESTS = $(check_PROGRAMS) unittest_bufferlist.sh + +check-local: + $(srcdir)/test/encoding/check-generated.sh + $(srcdir)/test/encoding/readable.sh ../ceph-object-corpus + + +# base targets + +core-daemons: ceph-mon ceph-osd ceph-mds radosgw +admin-tools: monmaptool osdmaptool crushtool ceph-authtool +base: core-daemons admin-tools \ + cephfs ceph-syn ceph-conf \ + rados librados-config \ + init-ceph mkcephfs ceph_mon_store_converter ceph-post-file + + +# version stuff FORCE: .git_version: FORCE @@ -1480,6 +292,15 @@ ceph_ver.c: ./ceph_ver.h common/version.cc: ./ceph_ver.h test/encoding/ceph_dencoder.cc: ./ceph_ver.h +sample.fetch_config: fetch_config + cp -f $(srcdir)/fetch_config ./sample.fetch_config + +dist-hook: + $(srcdir)/check_version $(srcdir)/.git_version + +CLEANFILES += ceph_ver.h sample.fetch_config + + # assemble Python script with global version variables # NB: depends on format of ceph_ver.h @@ -1496,289 +317,12 @@ ceph: ceph.in ./ceph_ver.h Makefile mv $@.tmp $@ # cleaning + clean-local: -rm *.so *.gcno *.gcda -# libs - -CCAS = ${srcdir}/yasm-wrapper -AM_CCASFLAGS = -f elf64 - -# crc -libcrc_la_SOURCES = \ - common/sctp_crc32.c \ - common/crc32c.cc \ - common/crc32c_intel_baseline.c \ - common/crc32c_intel_fast.c - -if WITH_GOOD_YASM_ELF64 -libcrc_la_SOURCES += common/crc32c_intel_fast_asm.S -libcrc_la_LIBTOOLFLAGS = --tag=CC -endif - -noinst_LTLIBRARIES += libcrc.la - -# common -libcommon_la_SOURCES = $(libcommon_files) -libcommon_la_CFLAGS= ${CRYPTO_CFLAGS} ${AM_CFLAGS} -libcommon_la_CXXFLAGS= ${AM_CXXFLAGS} -libcommon_la_LDFLAGS = -lrt -libcommon_la_LIBADD = libcrc.la -noinst_LTLIBRARIES += libcommon.la - -crush_files = \ - crush/builder.c \ - crush/mapper.c \ - crush/crush.c \ - crush/hash.c \ - crush/CrushWrapper.cc \ - crush/CrushCompiler.cc \ - crush/CrushTester.cc - -# this list ommits the ceph_ver.c file -libcommon_files = \ - ./ceph_ver.c \ - arch/probe.cc \ - arch/intel.c \ - arch/neon.c \ - auth/AuthAuthorizeHandler.cc \ - auth/AuthClientHandler.cc \ - auth/AuthSessionHandler.cc \ - auth/AuthMethodList.cc \ - auth/cephx/CephxAuthorizeHandler.cc \ - auth/cephx/CephxClientHandler.cc \ - auth/cephx/CephxProtocol.cc \ - auth/cephx/CephxSessionHandler.cc \ - auth/none/AuthNoneAuthorizeHandler.cc \ - auth/unknown/AuthUnknownAuthorizeHandler.cc \ - auth/Crypto.cc \ - auth/KeyRing.cc \ - auth/RotatingKeyRing.cc \ - common/DecayCounter.cc \ - common/LogClient.cc \ - common/LogEntry.cc \ - common/PrebufferedStreambuf.cc \ - common/BackTrace.cc \ - common/perf_counters.cc \ - common/Mutex.cc \ - common/OutputDataSocket.cc \ - common/admin_socket.cc \ - common/admin_socket_client.cc \ - common/cmdparse.cc \ - common/escape.c \ - common/Clock.cc \ - common/Throttle.cc \ - common/Timer.cc \ - common/Finisher.cc \ - common/environment.cc\ - common/assert.cc \ - common/run_cmd.cc \ - common/WorkQueue.cc \ - common/ConfUtils.cc \ - common/MemoryModel.cc \ - common/armor.c \ - common/fd.cc \ - common/xattr.c \ - common/safe_io.c \ - common/snap_types.cc \ - common/str_list.cc \ - common/errno.cc \ - json_spirit/json_spirit_reader.cpp \ - json_spirit/json_spirit_writer.cpp \ - json_spirit/json_spirit_value.cpp \ - log/Log.cc \ - log/SubsystemMap.cc \ - mon/MonCap.cc \ - mon/MonClient.cc \ - mon/MonMap.cc \ - msg/Accepter.cc \ - msg/DispatchQueue.cc \ - msg/Message.cc \ - common/RefCountedObj.cc \ - msg/Messenger.cc \ - msg/Pipe.cc \ - msg/SimpleMessenger.cc \ - msg/msg_types.cc \ - common/hobject.cc \ - osd/OSDMap.cc \ - osd/osd_types.cc \ - mds/MDSMap.cc \ - mds/inode_backtrace.cc \ - mds/mdstypes.cc \ - common/blkdev.cc \ - common/common_init.cc \ - common/pipe.c \ - common/ceph_argparse.cc \ - common/ceph_context.cc \ - common/buffer.cc \ - common/code_environment.cc \ - common/dout.cc \ - common/signal.cc \ - common/simple_spin.cc \ - common/Thread.cc \ - common/Formatter.cc \ - common/HeartbeatMap.cc \ - common/ceph_fs.cc \ - common/ceph_hash.cc \ - common/ceph_strings.cc \ - common/ceph_frag.cc \ - common/config.cc \ - common/utf8.c \ - common/mime.c \ - common/strtol.cc \ - common/page.cc \ - common/lockdep.cc \ - common/version.cc \ - common/hex.cc \ - common/entity_name.cc \ - common/ceph_crypto.cc \ - common/ceph_crypto_cms.cc \ - common/ceph_json.cc \ - common/ipaddr.cc \ - common/pick_address.cc \ - common/addr_parsing.c \ - $(crush_files) - -if WITH_PROFILER -libcommon_files += perfglue/cpu_profiler.cc -else -libcommon_files += perfglue/disabled_stubs.cc -endif - -# global -libglobal_la_SOURCES = \ - global/global_context.cc \ - global/global_init.cc \ - global/pidfile.cc \ - global/signal_handler.cc -libglobal_la_CFLAGS= ${CRYPTO_CFLAGS} ${AM_CFLAGS} -libglobal_la_CXXFLAGS= ${AM_CXXFLAGS} -libglobal_la_LIBADD= libcommon.la -noinst_LTLIBRARIES += libglobal.la - - -libmon_a_SOURCES = \ - auth/cephx/CephxKeyServer.cc \ - auth/cephx/CephxServiceHandler.cc \ - auth/cephx/CephxSessionHandler.cc \ - auth/AuthServiceHandler.cc \ - auth/AuthSessionHandler.cc \ - mon/Monitor.cc \ - mon/Paxos.cc \ - mon/PaxosService.cc \ - mon/OSDMonitor.cc \ - mon/MDSMonitor.cc \ - mon/MonmapMonitor.cc \ - mon/PGMonitor.cc \ - mon/PGMap.cc \ - mon/LogMonitor.cc \ - mon/AuthMonitor.cc \ - mon/Elector.cc \ - mon/MonitorStore.cc \ - os/LevelDBStore.cc \ - mon/HealthMonitor.cc \ - mon/DataHealthService.cc \ - mon/ConfigKeyService.cc \ - common/util.cc \ - common/TextTable.cc -libmon_a_CXXFLAGS= ${AM_CXXFLAGS} -noinst_LIBRARIES += libmon.a - -libmds_a_SOURCES = \ - mds/Anchor.cc \ - mds/Capability.cc \ - mds/Dumper.cc \ - mds/Resetter.cc \ - mds/MDS.cc \ - mds/flock.cc \ - mds/locks.c \ - mds/journal.cc \ - mds/Server.cc \ - mds/Mutation.cc \ - mds/MDCache.cc \ - mds/Locker.cc \ - mds/Migrator.cc \ - mds/MDBalancer.cc \ - mds/CDentry.cc \ - mds/CDir.cc \ - mds/CInode.cc \ - mds/LogEvent.cc \ - mds/MDSTable.cc \ - mds/InoTable.cc \ - mds/MDSTableClient.cc \ - mds/MDSTableServer.cc \ - mds/AnchorServer.cc \ - mds/AnchorClient.cc \ - mds/SnapRealm.cc \ - mds/SnapServer.cc \ - mds/snap.cc \ - mds/SessionMap.cc \ - mds/MDLog.cc \ - osdc/Journaler.cc -noinst_LIBRARIES += libmds.a - -libos_a_SOURCES = \ - os/FileJournal.cc \ - os/FileStore.cc \ - os/chain_xattr.cc \ - os/ObjectStore.cc \ - os/JournalingObjectStore.cc \ - os/LFNIndex.cc \ - os/HashIndex.cc \ - os/IndexManager.cc \ - os/FlatIndex.cc \ - os/DBObjectMap.cc \ - os/LevelDBStore.cc \ - os/WBThrottle.cc \ - os/BtrfsFileStoreBackend.cc \ - os/GenericFileStoreBackend.cc \ - os/ZFSFileStoreBackend.cc -libos_a_CXXFLAGS= ${AM_CXXFLAGS} -noinst_LIBRARIES += libos.a - -if WITH_LIBZFS -libos_zfs_a_SOURCES = os/ZFS.cc -libos_zfs_a_CXXFLAGS= ${AM_CXXFLAGS} ${LIBZFS_CFLAGS} -noinst_LIBRARIES += libos_zfs.a -endif - -libosd_a_SOURCES = \ - osd/PG.cc \ - osd/PGLog.cc \ - osd/ReplicatedPG.cc \ - osd/Ager.cc \ - osd/OSD.cc \ - osd/OSDCap.cc \ - osd/Watch.cc \ - osd/ClassHandler.cc \ - osd/OpRequest.cc \ - osd/SnapMapper.cc \ - objclass/class_api.cc -libosd_a_CXXFLAGS = ${AM_CXXFLAGS} -noinst_LIBRARIES += libosd.a - -libosdc_la_SOURCES = \ - osdc/Objecter.cc \ - osdc/ObjectCacher.cc \ - osdc/Filer.cc \ - osdc/Striper.cc -libosdc_la_CXXFLAGS= ${AM_CXXFLAGS} -libosdc_la_LIBADD = libcommon.la -noinst_LTLIBRARIES += libosdc.la - -libclient_la_SOURCES = \ - client/Client.cc \ - client/Inode.cc \ - client/Dentry.cc \ - client/MetaRequest.cc \ - client/ClientSnapRealm.cc \ - client/MetaSession.cc \ - client/Trace.cc -libclient_la_LIBADD = libosdc.la $(LIBEDIT_LIBS) -noinst_LTLIBRARIES += libclient.la -dist-hook: - $(srcdir)/check_version $(srcdir)/.git_version +# pybind python_PYTHON = pybind/rados.py \ pybind/rbd.py \ @@ -1786,598 +330,29 @@ python_PYTHON = pybind/rados.py \ pybind/ceph_argparse.py \ pybind/ceph_rest_api.py -# headers... and everything else we want to include in a 'make dist' -# that autotools doesn't magically identify. -noinst_HEADERS = \ - tools/rados/rados_sync.h \ - arch/probe.h \ - arch/intel.h \ - arch/neon.h \ - auth/cephx/CephxAuthorizeHandler.h\ - auth/cephx/CephxKeyServer.h\ - auth/cephx/CephxProtocol.h\ - auth/cephx/CephxClientHandler.h\ - auth/cephx/CephxServiceHandler.h\ - auth/cephx/CephxSessionHandler.h\ - auth/none/AuthNoneAuthorizeHandler.h\ - auth/none/AuthNoneClientHandler.h\ - auth/none/AuthNoneServiceHandler.h\ - auth/none/AuthNoneSessionHandler.h\ - auth/none/AuthNoneProtocol.h\ - auth/unknown/AuthUnknownAuthorizeHandler.h\ - auth/unknown/AuthUnknownClientHandler.h\ - auth/unknown/AuthUnknownServiceHandler.h\ - auth/unknown/AuthUnknownSessionHandler.h\ - auth/unknown/AuthUnknownProtocol.h\ - auth/Auth.h\ - auth/AuthMethodList.h\ - auth/AuthClientHandler.h\ - auth/AuthServiceHandler.h\ - auth/AuthSessionHandler.h\ - auth/AuthAuthorizeHandler.h\ - auth/KeyRing.h\ - auth/RotatingKeyRing.h\ - auth/Crypto.h\ - bash_completion/ceph\ - bash_completion/rados\ - bash_completion/rbd\ - bash_completion/radosgw-admin\ - client/Client.h\ - client/Dentry.h\ - client/Dir.h\ - client/Fh.h\ - client/Inode.h\ - client/MetaRequest.h\ - client/MetaSession.h\ - client/ClientSnapRealm.h\ - client/SyntheticClient.h\ - client/Trace.h\ - client/fuse_ll.h\ - client/ioctl.h\ - client/hadoop/CephFSInterface.h\ - client/ObjecterWriteback.h\ + +# everything else we want to include in a 'make dist' + +noinst_HEADERS += \ cls_acl.cc\ cls_crypto.cc\ - cls/lock/cls_lock_types.h\ - cls/lock/cls_lock_ops.h\ - cls/lock/cls_lock_client.h\ - cls/rbd/cls_rbd.h\ - cls/rbd/cls_rbd_client.h\ - cls/refcount/cls_refcount_ops.h\ - cls/refcount/cls_refcount_client.h\ - cls/version/cls_version_types.h\ - cls/version/cls_version_ops.h\ - cls/version/cls_version_client.h\ - cls/log/cls_log_types.h\ - cls/log/cls_log_ops.h\ - cls/log/cls_log_client.h\ - cls/statelog/cls_statelog_types.h\ - cls/statelog/cls_statelog_ops.h\ - cls/statelog/cls_statelog_client.h\ - cls/replica_log/cls_replica_log_types.h\ - cls/replica_log/cls_replica_log_ops.h\ - cls/replica_log/cls_replica_log_client.h\ - cls/rgw/cls_rgw_client.h\ - cls/rgw/cls_rgw_ops.h\ - cls/rgw/cls_rgw_types.h\ - common/BackTrace.h\ - common/RefCountedObj.h\ - common/HeartbeatMap.h\ - common/LogClient.h\ - common/LogEntry.h\ - common/Preforker.h\ - common/WorkQueue.h\ - common/PrioritizedQueue.h\ - common/ceph_argparse.h\ - common/ceph_context.h\ - common/xattr.h\ - common/blkdev.h\ - common/compiler_extensions.h\ - common/debug.h\ - common/dout.h\ - common/escape.h\ - common/fd.h\ - common/version.h\ - common/hex.h\ - common/entity_name.h\ - common/errno.h\ - common/environment.h\ - common/likely.h\ - common/lockdep.h\ - common/obj_bencher.h\ - common/snap_types.h\ - common/Clock.h\ - common/Cond.h\ - common/ConfUtils.h\ - common/DecayCounter.h\ - common/Finisher.h\ - common/Formatter.h\ - common/perf_counters.h\ - common/OutputDataSocket.h \ - common/admin_socket.h \ - common/admin_socket_client.h \ - common/shared_cache.hpp \ - common/tracked_int_ptr.hpp \ - common/simple_cache.hpp \ - common/sharedptr_registry.hpp \ - common/map_cacher.hpp \ - common/MemoryModel.h\ - common/Mutex.h\ - common/PrebufferedStreambuf.h\ - common/RWLock.h\ - common/Semaphore.h\ - common/SimpleRNG.h\ - common/TextTable.h\ - common/Thread.h\ - common/Throttle.h\ - common/Timer.h\ - common/TrackedOp.h\ - common/arch.h\ - common/armor.h\ - global/global_init.h \ - global/global_context.h \ - common/common_init.h\ - common/pipe.h\ - common/code_environment.h \ - common/signal.h\ - global/signal_handler.h\ - common/simple_spin.h\ - common/run_cmd.h\ - common/safe_io.h\ - common/config.h\ - common/config_obs.h\ - common/config_opts.h\ - common/ceph_crypto.h\ - common/ceph_crypto_cms.h\ - common/ceph_json.h\ - common/crc32c_intel_baseline.h\ - common/crc32c_intel_fast.h\ - common/lru_map.h\ - common/utf8.h\ - common/mime.h\ - common/pick_address.h\ - common/sctp_crc32.h\ - common/secret.h\ - common/strtol.h\ - common/static_assert.h\ - common/AsyncReserver.h\ - crush/CrushCompiler.h\ - crush/CrushTester.h\ - crush/CrushWrapper.h\ - crush/CrushWrapper.i\ - crush/builder.h\ - crush/crush.h\ - crush/grammar.h\ - crush/hash.h\ - crush/mapper.h\ - crush/sample.txt\ - crush/types.h\ fetch_config\ - include/bloom_filter.hpp\ - include/Context.h\ - include/CompatSet.h\ - include/Distribution.h\ - include/addr_parsing.h\ - include/assert.h\ - include/atomic.h\ - include/bitmapper.h\ - include/blobhash.h\ - include/buffer.h\ - include/byteorder.h\ - include/cephfs/libcephfs.h\ - include/ceph_features.h\ - include/ceph_frag.h\ - include/ceph_fs.h\ - include/ceph_hash.h\ - include/cmp.h\ - include/color.h\ - include/compat.h\ - include/crc32c.h\ - include/encoding.h\ - include/err.h\ - include/error.h\ - include/filepath.h\ - include/frag.h\ - include/hash.h\ - include/intarith.h\ - include/interval_set.h\ - include/int_types.h\ - include/ipaddr.h\ - include/linux_fiemap.h\ - include/lru.h\ - include/msgr.h\ - include/object.h\ - include/page.h\ - include/rangeset.h\ - include/rados.h\ - include/rbd_types.h\ - include/statlite.h\ - include/str_list.h\ - include/stringify.h\ - include/triple.h\ - include/types.h\ - include/utime.h\ - include/dlist.h\ - include/elist.h\ - include/uuid.h\ - include/xlist.h\ - include/rados/librados.h\ - include/rados/rados_types.h\ - include/rados/rados_types.hpp\ - include/rados/librados.hpp\ - include/rados/librgw.h\ - include/rados/page.h\ - include/rados/crc32c.h\ - include/rados/buffer.h\ - include/rbd/features.h\ - include/rbd/librbd.h\ - include/rbd/librbd.hpp\ - include/util.h\ - librados/snap_set_diff.h\ - librados/AioCompletionImpl.h\ - librados/IoCtxImpl.h\ - librados/PoolAsyncCompletionImpl.h\ - librados/RadosClient.h\ - librbd/AioCompletion.h\ - librbd/AioRequest.h\ - librbd/ImageCtx.h\ - librbd/internal.h\ - librbd/LibrbdWriteback.h\ - librbd/parent_types.h\ - librbd/SnapInfo.h\ - librbd/WatchCtx.h\ logrotate.conf\ - json_spirit/json_spirit.h\ - json_spirit/json_spirit_error_position.h\ - json_spirit/json_spirit_reader.h\ - json_spirit/json_spirit_reader_template.h\ - json_spirit/json_spirit_stream_reader.h\ - json_spirit/json_spirit_utils.h\ - json_spirit/json_spirit_value.h\ - json_spirit/json_spirit_writer.h\ - json_spirit/json_spirit_writer_options.h\ - json_spirit/json_spirit_writer_template.h\ - key_value_store/key_value_structure.h\ - key_value_store/kv_flat_btree_async.h\ - key_value_store/kvs_arg_types.h\ - log/Entry.h\ - log/EntryQueue.h\ - log/Log.h\ - log/SubsystemMap.h\ - mds/inode_backtrace.h\ - mds/flock.h\ - mds/locks.c\ - mds/locks.h\ - mds/Anchor.h\ - mds/AnchorClient.h\ - mds/AnchorServer.h\ - mds/CDentry.h\ - mds/CDir.h\ - mds/CInode.h\ - mds/Capability.h\ - mds/Dumper.h\ - mds/InoTable.h\ - mds/LocalLock.h\ - mds/Locker.h\ - mds/LogEvent.h\ - mds/LogSegment.h\ - mds/MDBalancer.h\ - mds/MDCache.h\ - mds/MDLog.h\ - mds/MDS.h\ - mds/MDSMap.h\ - mds/MDSTable.h\ - mds/MDSTableServer.h\ - mds/MDSTableClient.h\ - mds/Mutation.h\ - mds/Migrator.h\ - mds/Resetter.h\ - mds/ScatterLock.h\ - mds/Server.h\ - mds/SessionMap.h\ - mds/SimpleLock.h\ - mds/SnapClient.h\ - mds/SnapRealm.h\ - mds/SnapServer.h\ - mds/events/ECommitted.h\ - mds/events/EExport.h\ - mds/events/EFragment.h\ - mds/events/EImportFinish.h\ - mds/events/EImportStart.h\ - mds/events/EMetaBlob.h\ - mds/events/EOpen.h\ - mds/events/EResetJournal.h\ - mds/events/ESession.h\ - mds/events/ESessions.h\ - mds/events/ESlaveUpdate.h\ - mds/events/ESubtreeMap.h\ - mds/events/ETableClient.h\ - mds/events/ETableServer.h\ - mds/events/EUpdate.h\ - mds/mds_table_types.h\ - mds/mdstypes.h\ - mds/snap.h\ - messages/MAuth.h\ - messages/MAuthReply.h\ - messages/MCacheExpire.h\ - messages/MClientCaps.h\ - messages/MClientCapRelease.h\ - messages/MClientLease.h\ - messages/MClientReconnect.h\ - messages/MClientReply.h\ - messages/MClientRequest.h\ - messages/MClientRequestForward.h\ - messages/MClientSession.h\ - messages/MClientSnap.h\ - messages/MCommand.h\ - messages/MCommandReply.h\ - messages/MDentryLink.h\ - messages/MDentryUnlink.h\ - messages/MDirUpdate.h\ - messages/MDiscover.h\ - messages/MDiscoverReply.h\ - messages/MExportCaps.h\ - messages/MExportCapsAck.h\ - messages/MExportDir.h\ - messages/MExportDirAck.h\ - messages/MExportDirCancel.h\ - messages/MExportDirDiscover.h\ - messages/MExportDirDiscoverAck.h\ - messages/MExportDirFinish.h\ - messages/MExportDirNotify.h\ - messages/MExportDirNotifyAck.h\ - messages/MExportDirPrep.h\ - messages/MExportDirPrepAck.h\ - messages/MGenericMessage.h\ - messages/MGetPoolStats.h\ - messages/MGetPoolStatsReply.h\ - messages/MHeartbeat.h\ - messages/MInodeFileCaps.h\ - messages/MLock.h\ - messages/MLog.h\ - messages/MLogAck.h\ - messages/MMDSBeacon.h\ - messages/MMDSCacheRejoin.h\ - messages/MMDSLoadTargets.h\ - messages/MMDSFindIno.h\ - messages/MMDSFindInoReply.h\ - messages/MMDSFragmentNotify.h\ - messages/MMDSMap.h\ - messages/MMDSOpenIno.h \ - messages/MMDSOpenInoReply.h \ - messages/MMDSResolve.h\ - messages/MMDSResolveAck.h\ - messages/MMDSSlaveRequest.h\ - messages/MMDSTableRequest.h\ - messages/MMonCommand.h\ - messages/MMonCommandAck.h\ - messages/MMonElection.h\ - messages/MMonGetMap.h\ - messages/MMonGetVersion.h\ - messages/MMonGetVersionReply.h\ - messages/MMonGlobalID.h\ - messages/MMonHealth.h\ - messages/MMonJoin.h\ - messages/MMonMap.h\ - messages/MMonPaxos.h\ - messages/MMonProbe.h\ - messages/MMonScrub.h \ - messages/MMonSubscribe.h\ - messages/MMonSubscribeAck.h\ - messages/MMonSync.h \ - messages/MOSDAlive.h\ - messages/MOSDBoot.h\ - messages/MOSDFailure.h\ - messages/MOSDMarkMeDown.h\ - messages/MOSDMap.h\ - messages/MOSDOp.h\ - messages/MOSDOpReply.h\ - messages/MOSDPGBackfill.h\ - messages/MOSDPGCreate.h\ - messages/MOSDPGPush.h\ - messages/MOSDPGPull.h\ - messages/MOSDPGPushReply.h\ - messages/MOSDPGInfo.h\ - messages/MOSDPGLog.h\ - messages/MOSDPGMissing.h\ - messages/MOSDPGNotify.h\ - messages/MOSDPGQuery.h\ - messages/MOSDPGRemove.h\ - messages/MOSDPGScan.h\ - messages/MBackfillReserve.h\ - messages/MRecoveryReserve.h\ - messages/MMonQuorumService.h\ - messages/MOSDPGTemp.h\ - messages/MOSDPGTrim.h\ - messages/MOSDPing.h\ - messages/MOSDRepScrub.h\ - messages/MOSDScrub.h\ - messages/MOSDSubOp.h\ - messages/MOSDSubOpReply.h\ - messages/MPGStats.h\ - messages/MPGStatsAck.h\ - messages/MPing.h\ - messages/MPoolOp.h\ - messages/MPoolOpReply.h\ - messages/MRemoveSnaps.h\ - messages/MRoute.h\ - messages/MForward.h\ - messages/MStatfs.h\ - messages/MStatfsReply.h\ - messages/MTimeCheck.h\ - messages/MWatchNotify.h\ - messages/PaxosServiceMessage.h\ - mon/AuthMonitor.h\ - mon/DataHealthService.h\ - mon/Elector.h\ - mon/LogMonitor.h\ - mon/ConfigKeyService.h\ - mon/HealthMonitor.h\ - mon/HealthService.h\ - mon/MDSMonitor.h\ - mon/MonmapMonitor.h\ - mon/MonCap.h\ - mon/MonClient.h\ - mon/MonCommands.h\ - mon/MonMap.h\ - mon/Monitor.h\ - mon/MonitorStore.h\ - mon/MonitorDBStore.h\ - mon/OSDMonitor.h\ - mon/PGMap.h\ - mon/PGMonitor.h\ - mon/Paxos.h\ - mon/PaxosService.h\ - mon/QuorumService.h\ - mon/Session.h\ - mon/mon_types.h\ - mount/canonicalize.c\ - mount/mtab.c\ - msg/Accepter.h\ - msg/DispatchQueue.h\ - msg/Dispatcher.h\ - msg/Message.h\ - msg/Messenger.h\ - msg/Pipe.h\ - msg/SimpleMessenger.h\ - msg/msg_types.h\ - objclass/objclass.h\ - os/btrfs_ioctl.h\ - os/ZFS.h\ - os/chain_xattr.h\ - common/hobject.h \ - os/CollectionIndex.h\ - os/FileJournal.h\ - os/FileStore.h\ - os/BtrfsFileStoreBackend.h\ - os/GenericFileStoreBackend.h\ - os/ZFSFileStoreBackend.h\ - os/FlatIndex.h\ - os/HashIndex.h\ - os/FDCache.h\ - os/WBThrottle.h\ - os/IndexManager.h\ - os/Journal.h\ - os/JournalingObjectStore.h\ - os/LFNIndex.h\ - os/ObjectStore.h\ - os/SequencerPosition.h\ - osd/Ager.h\ - osd/ClassHandler.h\ - osd/OSD.h\ - osd/OSDCap.h\ - osd/OSDMap.h\ - osd/ObjectVersioner.h\ - osd/OpRequest.h\ - osd/SnapMapper.h\ - osd/PG.h\ - osd/PGLog.h\ - osd/ReplicatedPG.h\ - osd/Watch.h\ - osd/osd_types.h\ - osdc/Blinker.h\ - osdc/Filer.h\ - osdc/Journaler.h\ - osdc/ObjectCacher.h\ - osdc/Objecter.h\ - osdc/Striper.h\ - osdc/WritebackHandler.h\ - perfglue/cpu_profiler.h\ - perfglue/heap_profiler.h\ - rgw/logrotate.conf\ - rgw/rgw_acl.h\ - rgw/rgw_acl_s3.h\ - rgw/rgw_acl_swift.h\ - rgw/rgw_client_io.h\ - rgw/rgw_fcgi.h\ - rgw/rgw_xml.h\ - rgw/rgw_cache.h\ - rgw/rgw_common.h\ - rgw/rgw_cors.h\ - rgw/rgw_cors_s3.h\ - rgw/rgw_cors_swift.h\ - rgw/rgw_string.h\ - rgw/rgw_formats.h\ - rgw/rgw_http_errors.h\ - rgw/rgw_log.h\ - rgw/rgw_multi.h\ - rgw/rgw_policy_s3.h\ - rgw/rgw_gc.h\ - rgw/rgw_metadata.h\ - rgw/rgw_multi_del.h\ - rgw/rgw_op.h\ - rgw/rgw_http_client.h\ - rgw/rgw_swift.h\ - rgw/rgw_swift_auth.h\ - rgw/rgw_rados.h\ - rgw/rgw_replica_log.h \ - rgw/rgw_resolve.h\ - rgw/rgw_rest.h\ - rgw/rgw_rest_swift.h\ - rgw/rgw_rest_s3.h\ - rgw/rgw_auth_s3.h\ - rgw/rgw_rest_admin.h\ - rgw/rgw_rest_usage.h\ - rgw/rgw_rest_user.h\ - rgw/rgw_rest_bucket.h\ - rgw/rgw_rest_client.h\ - rgw/rgw_rest_conn.h\ - rgw/rgw_tools.h\ - rgw/rgw_rest_metadata.h\ - rgw/rgw_rest_log.h\ - rgw/rgw_rest_opstate.h\ - rgw/rgw_rest_replica_log.h\ - rgw/rgw_rest_config.h\ - rgw/rgw_usage.h\ - rgw/rgw_user.h\ - rgw/rgw_bucket.h\ - rgw/rgw_keystone.h\ - sample.ceph.conf\ - tools/common.h\ - test/osd/RadosModel.h\ - test/osd/Object.h\ - test/osd/TestOpStat.h\ - global/pidfile.h\ - common/sync_filesystem.h \ - test/bench/distribution.h \ - test/bench/rados_backend.h \ - test/bench/rbd_backend.h \ - test/bench/bencher.h \ - test/bench/backend.h \ - test/bench/dumb_backend.h \ - test/bench/stat_collector.h \ - test/bench/detailed_stat_collector.h \ - test/bench/testfilestore_backend.h \ - test/common/ObjectContents.h \ - test/encoding/types.h \ - test/filestore/DeterministicOpSequence.h \ - test/filestore/FileStoreTracker.h \ - test/filestore/FileStoreDiff.h \ - test/filestore/TestFileStoreState.h \ - test/filestore/workload_generator.h \ - test/kv_store_bench.h \ - test/librados/test.h \ - test/ObjectMap/KeyValueDBMemory.h \ - test/omap_bench.h \ - test/osd/Object.h \ - test/osd/RadosModel.h \ - test/osd/TestOpStat.h \ - test/osdc/FakeWriteback.h \ - test/system/cross_process_sem.h \ - test/system/st_rados_create_pool.h \ - test/system/st_rados_list_objects.h \ - test/system/st_rados_delete_objs.h \ - test/system/st_rados_delete_pool.h \ - test/system/st_rados_notify.h \ - test/system/st_rados_watch.h \ - test/system/systest_runnable.h \ - test/system/systest_settings.h \ - test/unit.h \ - os/ObjectMap.h \ - os/DBObjectMap.h \ - os/KeyValueDB.h \ - os/LevelDBStore.h \ - common/cmdparse.h + sample.ceph.conf\ + bash_completion/ceph \ + bash_completion/rados \ + bash_completion/rbd \ + bash_completion/radosgw-admin \ + mount/canonicalize.c \ + mount/mtab.c \ + objclass/objclass.h + + +# coverage + +shell_scripts += ceph-coverage +bin_SCRIPTS += ceph-coverage + if ENABLE_COVERAGE COV_DIR = $(DESTDIR)$(libdir)/ceph/coverage @@ -2415,13 +390,6 @@ uninstall-local: uninstall-coverage -rmdir -p $(DESTDIR)$(localstatedir)/log/ceph -rmdir -p $(DESTDIR)$(localstatedir)/lib/ceph/tmp -# if we are doing a debug build, tell make to actually build the debug -# targets -if WITH_DEBUG -bin_PROGRAMS += $(bin_DEBUGPROGRAMS) -endif - - # # coverity rules expect: # - cov-build to be in the path diff --git a/src/arch/Makefile.am b/src/arch/Makefile.am new file mode 100644 index 00000000000..27342078150 --- /dev/null +++ b/src/arch/Makefile.am @@ -0,0 +1,11 @@ +libarch_la_SOURCES = \ + arch/intel.c \ + arch/neon.c \ + arch/probe.cc + +noinst_LTLIBRARIES += libarch.la + +noinst_HEADERS += \ + arch/intel.h \ + arch/neon.h \ + arch/probe.h diff --git a/src/auth/Makefile.am b/src/auth/Makefile.am new file mode 100644 index 00000000000..f7f3b386df5 --- /dev/null +++ b/src/auth/Makefile.am @@ -0,0 +1,46 @@ +libauth_la_SOURCES = \ + auth/AuthAuthorizeHandler.cc \ + auth/AuthClientHandler.cc \ + auth/AuthSessionHandler.cc \ + auth/AuthServiceHandler.cc \ + auth/AuthMethodList.cc \ + auth/cephx/CephxAuthorizeHandler.cc \ + auth/cephx/CephxClientHandler.cc \ + auth/cephx/CephxProtocol.cc \ + auth/cephx/CephxServiceHandler.cc \ + auth/cephx/CephxSessionHandler.cc \ + auth/cephx/CephxKeyServer.cc \ + auth/none/AuthNoneAuthorizeHandler.cc \ + auth/unknown/AuthUnknownAuthorizeHandler.cc \ + auth/Crypto.cc \ + auth/KeyRing.cc \ + auth/RotatingKeyRing.cc +noinst_LTLIBRARIES += libauth.la + +noinst_HEADERS += \ + auth/cephx/CephxAuthorizeHandler.h \ + auth/cephx/CephxKeyServer.h \ + auth/cephx/CephxProtocol.h \ + auth/cephx/CephxClientHandler.h \ + auth/cephx/CephxServiceHandler.h \ + auth/cephx/CephxSessionHandler.h \ + auth/none/AuthNoneAuthorizeHandler.h \ + auth/none/AuthNoneClientHandler.h \ + auth/none/AuthNoneServiceHandler.h \ + auth/none/AuthNoneSessionHandler.h \ + auth/none/AuthNoneProtocol.h \ + auth/unknown/AuthUnknownAuthorizeHandler.h \ + auth/unknown/AuthUnknownClientHandler.h \ + auth/unknown/AuthUnknownServiceHandler.h \ + auth/unknown/AuthUnknownSessionHandler.h \ + auth/unknown/AuthUnknownProtocol.h \ + auth/Auth.h \ + auth/AuthMethodList.h \ + auth/AuthClientHandler.h \ + auth/AuthServiceHandler.h \ + auth/AuthSessionHandler.h \ + auth/AuthAuthorizeHandler.h \ + auth/KeyRing.h \ + auth/RotatingKeyRing.h \ + auth/Crypto.h + diff --git a/src/client/Makefile.am b/src/client/Makefile.am new file mode 100644 index 00000000000..53107eba517 --- /dev/null +++ b/src/client/Makefile.am @@ -0,0 +1,35 @@ +libclient_la_SOURCES = \ + client/Client.cc \ + client/Inode.cc \ + client/Dentry.cc \ + client/MetaRequest.cc \ + client/ClientSnapRealm.cc \ + client/MetaSession.cc \ + client/Trace.cc +libclient_la_LIBADD = $(LIBOSDC) $(LIBEDIT_LIBS) +noinst_LTLIBRARIES += libclient.la + +noinst_HEADERS += \ + client/Client.h \ + client/Dentry.h \ + client/Dir.h \ + client/Fh.h \ + client/Inode.h \ + client/MetaRequest.h \ + client/MetaSession.h \ + client/ClientSnapRealm.h \ + client/SyntheticClient.h \ + client/Trace.h \ + client/ioctl.h \ + client/ObjecterWriteback.h + +if WITH_FUSE +libclient_fuse_la_SOURCES = client/fuse_ll.cc +libclient_fuse_la_LIBADD = libclient.la -lfuse +noinst_LTLIBRARIES += libclient_fuse.la +noinst_HEADERS += client/fuse_ll.h +endif + +ceph_test_ioctls_SOURCES = client/test_ioctls.c +bin_DEBUGPROGRAMS += ceph_test_ioctls + diff --git a/src/cls/Makefile.am b/src/cls/Makefile.am new file mode 100644 index 00000000000..0c04c64faa7 --- /dev/null +++ b/src/cls/Makefile.am @@ -0,0 +1,118 @@ +## Rados object classes + +libcls_hello_la_SOURCES = cls/hello/cls_hello.cc +libcls_hello_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_hello_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_hello.la + +libcls_rbd_la_SOURCES = cls/rbd/cls_rbd.cc +libcls_rbd_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_rbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_rbd.la + +libcls_lock_la_SOURCES = cls/lock/cls_lock.cc +libcls_lock_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_lock_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_lock.la + +libcls_refcount_la_SOURCES = \ + cls/refcount/cls_refcount.cc \ + cls/refcount/cls_refcount_ops.cc \ + common/ceph_json.cc +libcls_refcount_la_LIBADD = libjson_spirit.la $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_refcount_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_refcount.la + +libcls_version_la_SOURCES = cls/version/cls_version.cc +libcls_version_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_version_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_version.la + +libcls_log_la_SOURCES = cls/log/cls_log.cc +libcls_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_log.la + +libcls_statelog_la_SOURCES = cls/statelog/cls_statelog.cc +libcls_statelog_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_statelog_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_statelog.la + +libcls_replica_log_la_SOURCES = cls/replica_log/cls_replica_log.cc +libcls_replica_log_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_replica_log_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_replica_log.la + +libcls_rgw_la_SOURCES = \ + cls/rgw/cls_rgw.cc \ + cls/rgw/cls_rgw_ops.cc \ + cls/rgw/cls_rgw_types.cc \ + common/ceph_json.cc +libcls_rgw_la_LIBADD = libjson_spirit.la $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_rgw_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_rgw.la + +## Rados object client classes + +libcls_lock_client_la_SOURCES = \ + cls/lock/cls_lock_client.cc \ + cls/lock/cls_lock_types.cc \ + cls/lock/cls_lock_ops.cc +noinst_LTLIBRARIES += libcls_lock_client.la + +libcls_refcount_client_la_SOURCES = \ + cls/refcount/cls_refcount_client.cc \ + cls/refcount/cls_refcount_ops.cc +noinst_LTLIBRARIES += libcls_refcount_client.la + +libcls_version_client_a_SOURCES = \ + cls/version/cls_version_client.cc \ + cls/version/cls_version_types.cc +noinst_LIBRARIES += libcls_version_client.a + +libcls_log_client_a_SOURCES = cls/log/cls_log_client.cc +noinst_LIBRARIES += libcls_log_client.a + +libcls_statelog_client_a_SOURCES = cls/statelog/cls_statelog_client.cc +noinst_LIBRARIES += libcls_statelog_client.a + +libcls_replica_log_client_a_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 + +libcls_rgw_client_la_SOURCES = \ + cls/rgw/cls_rgw_client.cc \ + cls/rgw/cls_rgw_types.cc \ + cls/rgw/cls_rgw_ops.cc +noinst_LTLIBRARIES += libcls_rgw_client.la + +libcls_rbd_client_la_SOURCES = cls/rbd/cls_rbd_client.cc +noinst_LTLIBRARIES += libcls_rbd_client.la + + +noinst_HEADERS += \ + cls/lock/cls_lock_types.h \ + cls/lock/cls_lock_ops.h \ + cls/lock/cls_lock_client.h \ + cls/rbd/cls_rbd.h \ + cls/rbd/cls_rbd_client.h \ + cls/refcount/cls_refcount_ops.h \ + cls/refcount/cls_refcount_client.h \ + cls/version/cls_version_types.h \ + cls/version/cls_version_ops.h \ + cls/version/cls_version_client.h \ + cls/log/cls_log_types.h \ + cls/log/cls_log_ops.h \ + cls/log/cls_log_client.h \ + cls/statelog/cls_statelog_types.h \ + cls/statelog/cls_statelog_ops.h \ + cls/statelog/cls_statelog_client.h \ + cls/replica_log/cls_replica_log_types.h \ + cls/replica_log/cls_replica_log_ops.h \ + cls/replica_log/cls_replica_log_client.h \ + cls/rgw/cls_rgw_client.h \ + cls/rgw/cls_rgw_ops.h \ + cls/rgw/cls_rgw_types.h + diff --git a/src/common/Makefile.am b/src/common/Makefile.am new file mode 100644 index 00000000000..4c027909b4d --- /dev/null +++ b/src/common/Makefile.am @@ -0,0 +1,195 @@ +libcommon_la_SOURCES = \ + ceph_ver.c \ + common/DecayCounter.cc \ + common/LogClient.cc \ + common/LogEntry.cc \ + common/PrebufferedStreambuf.cc \ + common/BackTrace.cc \ + common/perf_counters.cc \ + common/Mutex.cc \ + common/OutputDataSocket.cc \ + common/admin_socket.cc \ + common/admin_socket_client.cc \ + common/cmdparse.cc \ + common/escape.c \ + common/Clock.cc \ + common/Throttle.cc \ + common/Timer.cc \ + common/Finisher.cc \ + common/environment.cc\ + common/assert.cc \ + common/run_cmd.cc \ + common/WorkQueue.cc \ + common/ConfUtils.cc \ + common/MemoryModel.cc \ + common/armor.c \ + common/fd.cc \ + common/xattr.c \ + common/safe_io.c \ + common/snap_types.cc \ + common/str_list.cc \ + common/errno.cc \ + common/RefCountedObj.cc \ + common/blkdev.cc \ + common/common_init.cc \ + common/pipe.c \ + common/ceph_argparse.cc \ + common/ceph_context.cc \ + common/buffer.cc \ + common/code_environment.cc \ + common/dout.cc \ + common/signal.cc \ + common/simple_spin.cc \ + common/Thread.cc \ + common/Formatter.cc \ + common/HeartbeatMap.cc \ + common/config.cc \ + common/utf8.c \ + common/mime.c \ + common/strtol.cc \ + common/page.cc \ + common/lockdep.cc \ + common/version.cc \ + common/hex.cc \ + common/entity_name.cc \ + common/ceph_crypto.cc \ + common/ceph_crypto_cms.cc \ + common/ceph_json.cc \ + common/ipaddr.cc \ + common/pick_address.cc \ + common/util.cc \ + common/TextTable.cc \ + common/secret.c \ + common/ceph_fs.cc \ + common/ceph_hash.cc \ + common/ceph_strings.cc \ + common/ceph_frag.cc \ + common/addr_parsing.c \ + common/hobject.cc + +# these should go out of libcommon +libcommon_la_SOURCES += \ + mon/MonCap.cc \ + mon/MonClient.cc \ + mon/MonMap.cc \ + osd/OSDMap.cc \ + osd/osd_types.cc \ + mds/MDSMap.cc \ + mds/inode_backtrace.cc \ + mds/mdstypes.cc + +# inject crc in common +libcommon_crc_la_SOURCES = \ + common/sctp_crc32.c \ + common/crc32c.cc \ + common/crc32c_intel_baseline.c \ + common/crc32c_intel_fast.c + +if WITH_GOOD_YASM_ELF64 +libcommon_crc_la_SOURCES += common/crc32c_intel_fast_asm.S +libcommon_crc_la_LIBTOOLFLAGS = --tag=CC +endif +LIBCOMMON_DEPS += libcommon_crc.la +noinst_LTLIBRARIES += libcommon_crc.la + +noinst_HEADERS += \ + common/sctp_crc32.h \ + common/crc32c_intel_baseline.h \ + common/crc32c_intel_fast.h + + +# important; libmsg before libauth! +LIBCOMMON_DEPS += \ + $(LIBMSG) $(LIBAUTH) \ + $(LIBCRUSH) $(LIBJSON_SPIRIT) $(LIBLOG) $(LIBARCH) \ + -lkeyutils + +if LINUX +LIBCOMMON_DEPS += -lrt +endif # LINUX + +libcommon_la_LIBADD = $(LIBCOMMON_DEPS) + +noinst_HEADERS += \ + common/BackTrace.h \ + common/RefCountedObj.h \ + common/HeartbeatMap.h \ + common/LogClient.h \ + common/LogEntry.h \ + common/Preforker.h \ + common/WorkQueue.h \ + common/PrioritizedQueue.h \ + common/ceph_argparse.h \ + common/ceph_context.h \ + common/xattr.h \ + common/blkdev.h \ + common/compiler_extensions.h \ + common/debug.h \ + common/dout.h \ + common/escape.h \ + common/fd.h \ + common/version.h \ + common/hex.h \ + common/entity_name.h \ + common/errno.h \ + common/environment.h \ + common/likely.h \ + common/lockdep.h \ + common/obj_bencher.h \ + common/snap_types.h \ + common/Clock.h \ + common/Cond.h \ + common/ConfUtils.h \ + common/DecayCounter.h \ + common/Finisher.h \ + common/Formatter.h \ + common/perf_counters.h \ + common/OutputDataSocket.h \ + common/admin_socket.h \ + common/admin_socket_client.h \ + common/shared_cache.hpp \ + common/tracked_int_ptr.hpp \ + common/simple_cache.hpp \ + common/sharedptr_registry.hpp \ + common/map_cacher.hpp \ + common/MemoryModel.h \ + common/Mutex.h \ + common/PrebufferedStreambuf.h \ + common/RWLock.h \ + common/Semaphore.h \ + common/SimpleRNG.h \ + common/TextTable.h \ + common/Thread.h \ + common/Throttle.h \ + common/Timer.h \ + common/TrackedOp.h \ + common/arch.h \ + common/armor.h \ + common/common_init.h \ + common/pipe.h \ + common/code_environment.h \ + common/signal.h \ + common/simple_spin.h \ + common/run_cmd.h \ + common/safe_io.h \ + common/config.h \ + common/config_obs.h \ + common/config_opts.h \ + common/ceph_crypto.h \ + common/ceph_crypto_cms.h \ + common/ceph_json.h \ + common/lru_map.h \ + common/utf8.h \ + common/mime.h \ + common/pick_address.h \ + common/secret.h \ + common/strtol.h \ + common/static_assert.h \ + common/AsyncReserver.h \ + common/sync_filesystem.h \ + common/cmdparse.h \ + common/hobject.h + +noinst_LTLIBRARIES += libcommon.la + + diff --git a/src/crush/Makefile.am b/src/crush/Makefile.am new file mode 100644 index 00000000000..3d2f45b80e6 --- /dev/null +++ b/src/crush/Makefile.am @@ -0,0 +1,30 @@ +libcrush_la_SOURCES = \ + crush/builder.c \ + crush/mapper.c \ + crush/crush.c \ + crush/hash.c \ + crush/CrushWrapper.cc \ + crush/CrushCompiler.cc \ + crush/CrushTester.cc +noinst_LTLIBRARIES += libcrush.la + +noinst_HEADERS += \ + crush/CrushCompiler.h \ + crush/CrushTester.h \ + crush/CrushWrapper.h \ + crush/CrushWrapper.i \ + crush/builder.h \ + crush/crush.h \ + crush/grammar.h \ + crush/hash.h \ + crush/mapper.h \ + crush/sample.txt \ + crush/types.h + +#crush_includedir = $(includedir)/crush +#crush_include_DATA = \ +# $(srcdir)/crush/hash.h \ +# $(srcdir)/crush/crush.h \ +# $(srcdir)/crush/mapper.h \ +# $(srcdir)/crush/types.h + diff --git a/src/global/Makefile.am b/src/global/Makefile.am new file mode 100644 index 00000000000..79a7ffff689 --- /dev/null +++ b/src/global/Makefile.am @@ -0,0 +1,14 @@ +libglobal_la_SOURCES = \ + global/global_context.cc \ + global/global_init.cc \ + global/pidfile.cc \ + global/signal_handler.cc +libglobal_la_LIBADD = $(LIBCOMMON) +noinst_LTLIBRARIES += libglobal.la + +noinst_HEADERS += \ + global/pidfile.h \ + global/global_init.h \ + global/global_context.h \ + global/signal_handler.h + diff --git a/src/include/Makefile.am b/src/include/Makefile.am new file mode 100644 index 00000000000..d702ebd2795 --- /dev/null +++ b/src/include/Makefile.am @@ -0,0 +1,80 @@ +libcephfs_includedir = $(includedir)/cephfs +libcephfs_include_DATA = $(srcdir)/include/cephfs/libcephfs.h + +librbd_includedir = $(includedir)/rbd +librbd_include_DATA = \ + $(srcdir)/include/rbd/features.h \ + $(srcdir)/include/rbd/librbd.h \ + $(srcdir)/include/rbd/librbd.hpp + +rados_includedir = $(includedir)/rados +rados_include_DATA = \ + $(srcdir)/include/rados/librados.h \ + $(srcdir)/include/rados/rados_types.h \ + $(srcdir)/include/rados/rados_types.hpp \ + $(srcdir)/include/rados/librados.hpp \ + $(srcdir)/include/buffer.h \ + $(srcdir)/include/page.h \ + $(srcdir)/include/crc32c.h + +noinst_HEADERS += \ + include/bloom_filter.hpp \ + include/Context.h \ + include/CompatSet.h \ + include/Distribution.h \ + include/addr_parsing.h \ + include/assert.h \ + include/atomic.h \ + include/bitmapper.h \ + include/blobhash.h \ + include/buffer.h \ + include/byteorder.h \ + include/cephfs/libcephfs.h \ + include/ceph_features.h \ + include/ceph_frag.h \ + include/ceph_fs.h \ + include/ceph_hash.h \ + include/cmp.h \ + include/color.h \ + include/compat.h \ + include/crc32c.h \ + include/encoding.h \ + include/err.h \ + include/error.h \ + include/filepath.h \ + include/frag.h \ + include/hash.h \ + include/intarith.h \ + include/interval_set.h \ + include/int_types.h \ + include/ipaddr.h \ + include/linux_fiemap.h \ + include/lru.h \ + include/msgr.h \ + include/object.h \ + include/page.h \ + include/rangeset.h \ + include/rados.h \ + include/rbd_types.h \ + include/statlite.h \ + include/str_list.h \ + include/stringify.h \ + include/triple.h \ + include/types.h \ + include/utime.h \ + include/dlist.h \ + include/elist.h \ + include/uuid.h \ + include/xlist.h \ + include/rados/librados.h \ + include/rados/rados_types.h \ + include/rados/rados_types.hpp \ + include/rados/librados.hpp \ + include/rados/librgw.h \ + include/rados/page.h \ + include/rados/crc32c.h \ + include/rados/buffer.h \ + include/rbd/features.h \ + include/rbd/librbd.h \ + include/rbd/librbd.hpp\ + include/util.h diff --git a/src/json_spirit/Makefile.am b/src/json_spirit/Makefile.am new file mode 100644 index 00000000000..43025be0e71 --- /dev/null +++ b/src/json_spirit/Makefile.am @@ -0,0 +1,18 @@ +libjson_spirit_la_SOURCES = \ + json_spirit/json_spirit_reader.cpp \ + json_spirit/json_spirit_writer.cpp \ + json_spirit/json_spirit_value.cpp +noinst_LTLIBRARIES += libjson_spirit.la + +noinst_HEADERS += \ + json_spirit/json_spirit.h \ + json_spirit/json_spirit_error_position.h \ + json_spirit/json_spirit_reader.h \ + json_spirit/json_spirit_reader_template.h \ + json_spirit/json_spirit_stream_reader.h \ + json_spirit/json_spirit_utils.h \ + json_spirit/json_spirit_value.h \ + json_spirit/json_spirit_writer.h \ + json_spirit/json_spirit_writer_options.h \ + json_spirit/json_spirit_writer_template.h + diff --git a/src/key_value_store/Makefile.am b/src/key_value_store/Makefile.am new file mode 100644 index 00000000000..e5bae00155f --- /dev/null +++ b/src/key_value_store/Makefile.am @@ -0,0 +1,10 @@ +libcls_kvs_la_SOURCES = key_value_store/cls_kvs.cc +libcls_kvs_la_LIBADD = $(PTHREAD_LIBS) $(EXTRALIBS) +libcls_kvs_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '.*__cls_.*' +radoslib_LTLIBRARIES += libcls_kvs.la + +noinst_HEADERS += \ + key_value_store/key_value_structure.h \ + key_value_store/kv_flat_btree_async.h \ + key_value_store/kvs_arg_types.h + diff --git a/src/librados/Makefile.am b/src/librados/Makefile.am new file mode 100644 index 00000000000..570aa91af93 --- /dev/null +++ b/src/librados/Makefile.am @@ -0,0 +1,20 @@ +librados_la_SOURCES = \ + librados/librados.cc \ + librados/RadosClient.cc \ + librados/IoCtxImpl.cc \ + librados/snap_set_diff.cc + +# We need this to avoid basename conflicts with the librados build tests in test/Makefile.am +librados_la_CFLAGS = ${AM_CFLAGS} + +LIBRADOS_DEPS += libcls_lock_client.la $(LIBOSDC) $(LIBCOMMON) +librados_la_LIBADD = $(LIBRADOS_DEPS) $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) +librados_la_LDFLAGS = ${AM_LDFLAGS} -version-info 2:0:0 -export-symbols-regex '^rados_.*' +lib_LTLIBRARIES += librados.la + +noinst_HEADERS += \ + librados/snap_set_diff.h \ + librados/AioCompletionImpl.h \ + librados/IoCtxImpl.h \ + librados/PoolAsyncCompletionImpl.h \ + librados/RadosClient.h diff --git a/src/librbd/Makefile.am b/src/librbd/Makefile.am new file mode 100644 index 00000000000..d4e2455c8c1 --- /dev/null +++ b/src/librbd/Makefile.am @@ -0,0 +1,24 @@ +librbd_la_SOURCES = \ + librbd/librbd.cc \ + librbd/AioCompletion.cc \ + librbd/AioRequest.cc \ + librbd/ImageCtx.cc \ + librbd/internal.cc \ + librbd/LibrbdWriteback.cc \ + librbd/WatchCtx.cc +librbd_la_LIBADD = \ + $(LIBRADOS) $(LIBOSDC) \ + libcls_rbd_client.la libcls_lock_client.la \ + $(PTHREAD_LIBS) $(EXTRALIBS) +librbd_la_LDFLAGS = ${AM_LDFLAGS} -version-info 1:0:0 -export-symbols-regex '^rbd_.*' +lib_LTLIBRARIES += librbd.la + +noinst_HEADERS += \ + librbd/AioCompletion.h \ + librbd/AioRequest.h \ + librbd/ImageCtx.h \ + librbd/internal.h \ + librbd/LibrbdWriteback.h \ + librbd/parent_types.h \ + librbd/SnapInfo.h \ + librbd/WatchCtx.h diff --git a/src/log/Makefile.am b/src/log/Makefile.am new file mode 100644 index 00000000000..b66e6cf84ce --- /dev/null +++ b/src/log/Makefile.am @@ -0,0 +1,11 @@ +liblog_la_SOURCES = \ + log/Log.cc \ + log/SubsystemMap.cc +noinst_LTLIBRARIES += liblog.la + +noinst_HEADERS += \ + log/Entry.h \ + log/EntryQueue.h \ + log/Log.h \ + log/SubsystemMap.h + diff --git a/src/mds/Makefile.am b/src/mds/Makefile.am new file mode 100644 index 00000000000..05d0e1a2429 --- /dev/null +++ b/src/mds/Makefile.am @@ -0,0 +1,92 @@ +libmds_la_SOURCES = \ + mds/Anchor.cc \ + mds/Capability.cc \ + mds/Dumper.cc \ + mds/Resetter.cc \ + mds/MDS.cc \ + mds/flock.cc \ + mds/locks.c \ + mds/journal.cc \ + mds/Server.cc \ + mds/Mutation.cc \ + mds/MDCache.cc \ + mds/Locker.cc \ + mds/Migrator.cc \ + mds/MDBalancer.cc \ + mds/CDentry.cc \ + mds/CDir.cc \ + mds/CInode.cc \ + mds/LogEvent.cc \ + mds/MDSTable.cc \ + mds/InoTable.cc \ + mds/MDSTableClient.cc \ + mds/MDSTableServer.cc \ + mds/AnchorServer.cc \ + mds/AnchorClient.cc \ + mds/SnapRealm.cc \ + mds/SnapServer.cc \ + mds/snap.cc \ + mds/SessionMap.cc \ + mds/MDLog.cc +libmds_la_LIBADD = $(LIBOSDC) +noinst_LTLIBRARIES += libmds.la + +noinst_HEADERS += \ + mds/inode_backtrace.h \ + mds/flock.h \ + mds/locks.c \ + mds/locks.h \ + mds/Anchor.h \ + mds/AnchorClient.h \ + mds/AnchorServer.h \ + mds/CDentry.h \ + mds/CDir.h \ + mds/CInode.h \ + mds/Capability.h \ + mds/Dumper.h \ + mds/InoTable.h \ + mds/LocalLock.h \ + mds/Locker.h \ + mds/LogEvent.h \ + mds/LogSegment.h \ + mds/MDBalancer.h \ + mds/MDCache.h \ + mds/MDLog.h \ + mds/MDS.h \ + mds/MDSMap.h \ + mds/MDSTable.h \ + mds/MDSTableServer.h \ + mds/MDSTableClient.h \ + mds/Mutation.h \ + mds/Migrator.h \ + mds/Resetter.h \ + mds/ScatterLock.h \ + mds/Server.h \ + mds/SessionMap.h \ + mds/SimpleLock.h \ + mds/SnapClient.h \ + mds/SnapRealm.h \ + mds/SnapServer.h \ + mds/inode_backtrace.h \ + mds/mds_table_types.h \ + mds/mdstypes.h \ + mds/snap.h + +noinst_HEADERS += \ + mds/events/ECommitted.h \ + mds/events/EExport.h \ + mds/events/EFragment.h \ + mds/events/EImportFinish.h \ + mds/events/EImportStart.h \ + mds/events/EMetaBlob.h \ + mds/events/EOpen.h \ + mds/events/EResetJournal.h \ + mds/events/ESession.h \ + mds/events/ESessions.h \ + mds/events/ESlaveUpdate.h \ + mds/events/ESubtreeMap.h \ + mds/events/ETableClient.h \ + mds/events/ETableServer.h \ + mds/events/EUpdate.h + + diff --git a/src/messages/Makefile.am b/src/messages/Makefile.am new file mode 100644 index 00000000000..c503d3fca9b --- /dev/null +++ b/src/messages/Makefile.am @@ -0,0 +1,113 @@ + +noinst_HEADERS += \ + messages/MAuth.h \ + messages/MAuthReply.h \ + messages/MCacheExpire.h \ + messages/MClientCaps.h \ + messages/MClientCapRelease.h \ + messages/MClientLease.h \ + messages/MClientReconnect.h \ + messages/MClientReply.h \ + messages/MClientRequest.h \ + messages/MClientRequestForward.h \ + messages/MClientSession.h \ + messages/MClientSnap.h \ + messages/MCommand.h \ + messages/MCommandReply.h \ + messages/MDentryLink.h \ + messages/MDentryUnlink.h \ + messages/MDirUpdate.h \ + messages/MDiscover.h \ + messages/MDiscoverReply.h \ + messages/MExportCaps.h \ + messages/MExportCapsAck.h \ + messages/MExportDir.h \ + messages/MExportDirAck.h \ + messages/MExportDirCancel.h \ + messages/MExportDirDiscover.h \ + messages/MExportDirDiscoverAck.h \ + messages/MExportDirFinish.h \ + messages/MExportDirNotify.h \ + messages/MExportDirNotifyAck.h \ + messages/MExportDirPrep.h \ + messages/MExportDirPrepAck.h \ + messages/MGenericMessage.h \ + messages/MGetPoolStats.h \ + messages/MGetPoolStatsReply.h \ + messages/MHeartbeat.h \ + messages/MInodeFileCaps.h \ + messages/MLock.h \ + messages/MLog.h \ + messages/MLogAck.h \ + messages/MMDSBeacon.h \ + messages/MMDSCacheRejoin.h \ + messages/MMDSLoadTargets.h \ + messages/MMDSFindIno.h \ + messages/MMDSFindInoReply.h \ + messages/MMDSFragmentNotify.h \ + messages/MMDSMap.h \ + messages/MMDSOpenIno.h \ + messages/MMDSOpenInoReply.h \ + messages/MMDSResolve.h \ + messages/MMDSResolveAck.h \ + messages/MMDSSlaveRequest.h \ + messages/MMDSTableRequest.h \ + messages/MMonCommand.h \ + messages/MMonCommandAck.h \ + messages/MMonElection.h \ + messages/MMonGetMap.h \ + messages/MMonGetVersion.h \ + messages/MMonGetVersionReply.h \ + messages/MMonGlobalID.h \ + messages/MMonHealth.h \ + messages/MMonJoin.h \ + messages/MMonMap.h \ + messages/MMonPaxos.h \ + messages/MMonProbe.h \ + messages/MMonScrub.h \ + messages/MMonSubscribe.h \ + messages/MMonSubscribeAck.h \ + messages/MMonSync.h \ + messages/MOSDAlive.h \ + messages/MOSDBoot.h \ + messages/MOSDFailure.h \ + messages/MOSDMarkMeDown.h \ + messages/MOSDMap.h \ + messages/MOSDOp.h \ + messages/MOSDOpReply.h \ + messages/MOSDPGBackfill.h \ + messages/MOSDPGCreate.h \ + messages/MOSDPGPush.h \ + messages/MOSDPGPull.h \ + messages/MOSDPGPushReply.h \ + messages/MOSDPGInfo.h \ + messages/MOSDPGLog.h \ + messages/MOSDPGMissing.h \ + messages/MOSDPGNotify.h \ + messages/MOSDPGQuery.h \ + messages/MOSDPGRemove.h \ + messages/MOSDPGScan.h \ + messages/MBackfillReserve.h \ + messages/MRecoveryReserve.h \ + messages/MMonQuorumService.h \ + messages/MOSDPGTemp.h \ + messages/MOSDPGTrim.h \ + messages/MOSDPing.h \ + messages/MOSDRepScrub.h \ + messages/MOSDScrub.h \ + messages/MOSDSubOp.h \ + messages/MOSDSubOpReply.h \ + messages/MPGStats.h \ + messages/MPGStatsAck.h \ + messages/MPing.h \ + messages/MPoolOp.h \ + messages/MPoolOpReply.h \ + messages/MRemoveSnaps.h \ + messages/MRoute.h \ + messages/MForward.h \ + messages/MStatfs.h \ + messages/MStatfsReply.h \ + messages/MTimeCheck.h \ + messages/MWatchNotify.h \ + messages/PaxosServiceMessage.h + diff --git a/src/mon/Makefile.am b/src/mon/Makefile.am new file mode 100644 index 00000000000..d9094a81b0e --- /dev/null +++ b/src/mon/Makefile.am @@ -0,0 +1,45 @@ +libmon_la_SOURCES = \ + mon/Monitor.cc \ + mon/Paxos.cc \ + mon/PaxosService.cc \ + mon/OSDMonitor.cc \ + mon/MDSMonitor.cc \ + mon/MonmapMonitor.cc \ + mon/PGMonitor.cc \ + mon/PGMap.cc \ + mon/LogMonitor.cc \ + mon/AuthMonitor.cc \ + mon/Elector.cc \ + mon/MonitorStore.cc \ + mon/HealthMonitor.cc \ + mon/DataHealthService.cc \ + mon/ConfigKeyService.cc +libmon_la_LIBADD = $(LIBAUTH) $(LIBCOMMON) $(LIBOS) +noinst_LTLIBRARIES += libmon.la + +noinst_HEADERS += \ + mon/AuthMonitor.h \ + mon/DataHealthService.h \ + mon/Elector.h \ + mon/LogMonitor.h \ + mon/ConfigKeyService.h \ + mon/HealthMonitor.h \ + mon/HealthService.h \ + mon/MDSMonitor.h \ + mon/MonmapMonitor.h \ + mon/MonCap.h \ + mon/MonClient.h \ + mon/MonCommands.h \ + mon/MonMap.h \ + mon/Monitor.h \ + mon/MonitorStore.h \ + mon/MonitorDBStore.h \ + mon/OSDMonitor.h \ + mon/PGMap.h \ + mon/PGMonitor.h \ + mon/Paxos.h \ + mon/PaxosService.h \ + mon/QuorumService.h \ + mon/Session.h \ + mon/mon_types.h + diff --git a/src/msg/Makefile.am b/src/msg/Makefile.am new file mode 100644 index 00000000000..a849a1ca26a --- /dev/null +++ b/src/msg/Makefile.am @@ -0,0 +1,20 @@ +libmsg_la_SOURCES = \ + msg/Accepter.cc \ + msg/DispatchQueue.cc \ + msg/Message.cc \ + msg/Messenger.cc \ + msg/Pipe.cc \ + msg/SimpleMessenger.cc \ + msg/msg_types.cc + +noinst_HEADERS += \ + msg/Accepter.h \ + msg/DispatchQueue.h \ + msg/Dispatcher.h \ + msg/Message.h \ + msg/Messenger.h \ + msg/Pipe.h \ + msg/SimpleMessenger.h \ + msg/msg_types.h + +noinst_LTLIBRARIES += libmsg.la diff --git a/src/os/Makefile.am b/src/os/Makefile.am new file mode 100644 index 00000000000..b7fef8dd209 --- /dev/null +++ b/src/os/Makefile.am @@ -0,0 +1,49 @@ +libos_la_SOURCES = \ + os/FileJournal.cc \ + os/FileStore.cc \ + os/chain_xattr.cc \ + os/ObjectStore.cc \ + os/JournalingObjectStore.cc \ + os/LFNIndex.cc \ + os/HashIndex.cc \ + os/IndexManager.cc \ + os/FlatIndex.cc \ + os/DBObjectMap.cc \ + os/LevelDBStore.cc \ + os/WBThrottle.cc \ + os/BtrfsFileStoreBackend.cc \ + os/GenericFileStoreBackend.cc \ + os/ZFSFileStoreBackend.cc +noinst_LTLIBRARIES += libos.la + +noinst_HEADERS += \ + os/btrfs_ioctl.h \ + os/chain_xattr.h \ + os/CollectionIndex.h \ + os/FileJournal.h \ + os/FileStore.h \ + os/BtrfsFileStoreBackend.h \ + os/GenericFileStoreBackend.h \ + os/ZFSFileStoreBackend.h \ + os/FlatIndex.h \ + os/HashIndex.h \ + os/FDCache.h \ + os/WBThrottle.h \ + os/IndexManager.h \ + os/Journal.h \ + os/JournalingObjectStore.h \ + os/LFNIndex.h \ + os/ObjectStore.h \ + os/SequencerPosition.h \ + os/ObjectMap.h \ + os/DBObjectMap.h \ + os/KeyValueDB.h \ + os/LevelDBStore.h + +if WITH_LIBZFS +libos_zfs_a_SOURCES = os/ZFS.cc +libos_zfs_a_CXXFLAGS = ${AM_CXXFLAGS} ${LIBZFS_CFLAGS} +noinst_LIBRARIES += libos_zfs.a +noinst_HEADERS += os/ZFS.h +endif + diff --git a/src/osd/Makefile.am b/src/osd/Makefile.am new file mode 100644 index 00000000000..ca82d7632a8 --- /dev/null +++ b/src/osd/Makefile.am @@ -0,0 +1,31 @@ +libosd_la_SOURCES = \ + osd/PG.cc \ + osd/PGLog.cc \ + osd/ReplicatedPG.cc \ + osd/Ager.cc \ + osd/OSD.cc \ + osd/OSDCap.cc \ + osd/Watch.cc \ + osd/ClassHandler.cc \ + osd/OpRequest.cc \ + osd/SnapMapper.cc \ + osd/osd_types.cc \ + objclass/class_api.cc +libosd_la_LIBADD = $(LIBOSDC) $(LIBOS) +noinst_LTLIBRARIES += libosd.la + +noinst_HEADERS += \ + osd/Ager.h \ + osd/ClassHandler.h \ + osd/OSD.h \ + osd/OSDCap.h \ + osd/OSDMap.h \ + osd/ObjectVersioner.h \ + osd/OpRequest.h \ + osd/SnapMapper.h \ + osd/PG.h \ + osd/PGLog.h \ + osd/ReplicatedPG.h \ + osd/Watch.h \ + osd/osd_types.h + diff --git a/src/osdc/Makefile.am b/src/osdc/Makefile.am new file mode 100644 index 00000000000..3a8a2165aaa --- /dev/null +++ b/src/osdc/Makefile.am @@ -0,0 +1,17 @@ +libosdc_la_SOURCES = \ + osdc/Objecter.cc \ + osdc/ObjectCacher.cc \ + osdc/Filer.cc \ + osdc/Striper.cc \ + osdc/Journaler.cc +noinst_LTLIBRARIES += libosdc.la + +noinst_HEADERS += \ + osdc/Blinker.h \ + osdc/Filer.h \ + osdc/Journaler.h \ + osdc/ObjectCacher.h \ + osdc/Objecter.h \ + osdc/Striper.h \ + osdc/WritebackHandler.h + diff --git a/src/perfglue/Makefile.am b/src/perfglue/Makefile.am new file mode 100644 index 00000000000..c34e7f16760 --- /dev/null +++ b/src/perfglue/Makefile.am @@ -0,0 +1,23 @@ +libperfglue_la_SOURCES = + +if WITH_TCMALLOC +libperfglue_la_SOURCES += perfglue/heap_profiler.cc +AM_CFLAGS += -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free +AM_CXXFLAGS += -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free +else +libperfglue_la_SOURCES += perfglue/disabled_heap_profiler.cc +endif # WITH_TCMALLOC + +if WITH_PROFILER +libperfglue_la_SOURCES += perfglue/cpu_profiler.cc +else +libperfglue_la_SOURCES += perfglue/disabled_stubs.cc +endif # WITH_PROFILER + +libperfglue_la_LIBADD = -ltcmalloc +noinst_LTLIBRARIES += libperfglue.la + +noinst_HEADERS += \ + perfglue/cpu_profiler.h \ + perfglue/heap_profiler.h + diff --git a/src/rgw/Makefile.am b/src/rgw/Makefile.am new file mode 100644 index 00000000000..b812d908569 --- /dev/null +++ b/src/rgw/Makefile.am @@ -0,0 +1,155 @@ +if WITH_RADOSGW +librgw_la_SOURCES = \ + rgw/librgw.cc \ + 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_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_common.cc \ + rgw/rgw_cache.cc \ + rgw/rgw_formats.cc \ + rgw/rgw_log.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 +librgw_la_CXXFLAGS = -Woverloaded-virtual ${AM_CXXFLAGS} +noinst_LTLIBRARIES += librgw.la + +LIBRGW_DEPS += \ + $(LIBRADOS) \ + libcls_rgw_client.la \ + libcls_log_client.a \ + libcls_statelog_client.a \ + libcls_replica_log_client.a \ + libcls_lock_client.la \ + libcls_refcount_client.la \ + libcls_version_client.a \ + -lcurl \ + -lexpat \ + -lm \ + -lfcgi + +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_main.cc +radosgw_LDADD = $(LIBRGW) $(LIBRGW_DEPS) -lresolv $(CEPH_GLOBAL) +bin_PROGRAMS += radosgw + +radosgw_admin_SOURCES = rgw/rgw_admin.cc +radosgw_admin_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL) +bin_PROGRAMS += radosgw-admin + +ceph_rgw_multiparser_SOURCES = rgw/rgw_multiparser.cc +ceph_rgw_multiparser_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_rgw_multiparser + +ceph_rgw_jsonparser_SOURCES = \ + rgw/rgw_jsonparser.cc \ + rgw/rgw_common.cc \ + rgw/rgw_env.cc \ + rgw/rgw_json_enc.cc +ceph_rgw_jsonparser_LDADD = $(LIBRGW) $(LIBRGW_DEPS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_rgw_jsonparser + +# inject rgw stuff in the decoder testcase +DENCODER_SOURCES += \ + rgw/rgw_dencoder.cc \ + rgw/rgw_acl.cc \ + rgw/rgw_common.cc \ + rgw/rgw_env.cc \ + rgw/rgw_json_enc.cc +DENCODER_DEPS += \ + libcls_lock_client.la \ + libcls_rgw_client.la \ + libcls_replica_log_client.a \ + libcls_refcount_client.la + + +endif # WITH_RADOSGW + + +noinst_HEADERS += \ + rgw/logrotate.conf \ + rgw/rgw_acl.h \ + rgw/rgw_acl_s3.h \ + rgw/rgw_acl_swift.h \ + rgw/rgw_client_io.h \ + rgw/rgw_fcgi.h \ + rgw/rgw_xml.h \ + rgw/rgw_cache.h \ + rgw/rgw_common.h \ + rgw/rgw_cors.h \ + rgw/rgw_cors_s3.h \ + rgw/rgw_cors_swift.h \ + rgw/rgw_string.h \ + rgw/rgw_formats.h \ + rgw/rgw_http_errors.h \ + rgw/rgw_log.h \ + rgw/rgw_multi.h \ + rgw/rgw_policy_s3.h \ + rgw/rgw_gc.h \ + rgw/rgw_metadata.h \ + rgw/rgw_multi_del.h \ + rgw/rgw_op.h \ + rgw/rgw_http_client.h \ + rgw/rgw_swift.h \ + rgw/rgw_swift_auth.h \ + rgw/rgw_rados.h \ + rgw/rgw_replica_log.h \ + rgw/rgw_resolve.h \ + rgw/rgw_rest.h \ + rgw/rgw_rest_swift.h \ + rgw/rgw_rest_s3.h \ + rgw/rgw_auth_s3.h \ + rgw/rgw_rest_admin.h \ + rgw/rgw_rest_usage.h \ + rgw/rgw_rest_user.h \ + rgw/rgw_rest_bucket.h \ + rgw/rgw_rest_client.h \ + rgw/rgw_rest_conn.h \ + rgw/rgw_tools.h \ + rgw/rgw_rest_metadata.h \ + rgw/rgw_rest_log.h \ + rgw/rgw_rest_opstate.h \ + rgw/rgw_rest_replica_log.h \ + rgw/rgw_rest_config.h \ + rgw/rgw_usage.h \ + rgw/rgw_user.h \ + rgw/rgw_bucket.h \ + rgw/rgw_keystone.h + diff --git a/src/test/Makefile.am b/src/test/Makefile.am new file mode 100644 index 00000000000..abb14fbabd4 --- /dev/null +++ b/src/test/Makefile.am @@ -0,0 +1,816 @@ +## Unknown/other tests + +ceph_test_timers_SOURCES = test/TestTimers.cc +ceph_test_timers_LDADD = $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_timers + +ceph_test_signal_handlers_SOURCES = test/TestSignalHandlers.cc +ceph_test_signal_handlers_LDADD = $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_signal_handlers + +ceph_test_rados_SOURCES = \ + test/osd/TestRados.cc \ + test/osd/TestOpStat.cc \ + test/osd/Object.cc \ + test/osd/RadosModel.cc +ceph_test_rados_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_rados + +ceph_test_mutate_SOURCES = test/test_mutate.cc +ceph_test_mutate_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_mutate + +ceph_test_rewrite_latency_SOURCES = test/test_rewrite_latency.cc +ceph_test_rewrite_latency_LDADD = $(LIBCOMMON) $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) +bin_DEBUGPROGRAMS += ceph_test_rewrite_latency + +ceph_test_msgr_SOURCES = test/testmsgr.cc +ceph_test_msgr_LDADD = $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_msgr + +ceph_streamtest_SOURCES = test/streamtest.cc +ceph_streamtest_LDADD = $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_streamtest + +ceph_test_trans_SOURCES = test/test_trans.cc +ceph_test_trans_LDADD = $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_trans + +ceph_test_crypto_SOURCES = test/testcrypto.cc +ceph_test_crypto_LDADD = $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_crypto + +ceph_test_keys_SOURCES = test/testkeys.cc +ceph_test_keys_LDADD = $(LIBMON) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_keys + + +## Dencoder test + +ceph_dencoder_SOURCES = \ + test/encoding/ceph_dencoder.cc \ + $(DENCODER_SOURCES) +ceph_dencoder_LDADD = \ + $(LIBOSD) $(LIBMDS) $(LIBMON) \ + $(DENCODER_DEPS) $(CEPH_GLOBAL) + +# These should always use explicit _CFLAGS/_CXXFLAGS so avoid basename conflicts +ceph_dencoder_CFLAGS = ${AM_CFLAGS} +ceph_dencoder_CXXFLAGS = ${AM_CXXFLAGS} + +if COMPILER_HAS_VTA +ceph_dencoder_CFLAGS += -fno-var-tracking-assignments +ceph_dencoder_CXXFLAGS += -fno-var-tracking-assignments +endif + +bin_PROGRAMS += ceph-dencoder + + +## Build tests +# These should all use explicit _CXXFLAGS so avoid basename conflicts + +if WITH_BUILD_TESTS +test_build_libcommon_SOURCES = \ + test/buildtest_skeleton.cc \ + $(libcommon_la_SOURCES) +test_build_libcommon_LDADD = \ + $(LIBCOMMON_DEPS) \ + $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) +test_build_libcommon_LDFLAGS = -static-libtool-libs +test_build_libcommon_CFLAGS = $(AM_CFLAGS) +test_build_libcommon_CXXFLAGS = $(AM_CXXFLAGS) +bin_DEBUGPROGRAMS += test_build_libcommon + +test_build_librados_SOURCES = \ + test/buildtest_skeleton.cc \ + $(librados_la_SOURCES) +test_build_librados_LDADD = \ + $(LIBRADOS_DEPS) \ + $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) +test_build_librados_LDFLAGS = -static-libtool-libs +test_build_librados_CFLAGS = $(AM_CFLAGS) +test_build_librados_CXXFLAGS = $(AM_CXXFLAGS) +bin_DEBUGPROGRAMS += test_build_librados + +test_build_librgw_SOURCES = \ + test/buildtest_skeleton.cc \ + $(librgw_la_SOURCES) +test_build_librgw_LDADD = \ + $(LIBRGW_DEPS) \ + $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) \ + $(CEPH_GLOBAL) +test_build_librgw_LDFLAGS = -static-libtool-libs +test_build_librgw_CFLAGS = $(AM_CFLAGS) +test_build_librgw_CXXFLAGS = $(AM_CXXFLAGS) +bin_DEBUGPROGRAMS += test_build_librgw + +# I dont get this one... testing the osdc build but link in libcephfs? +test_build_libcephfs_SOURCES = \ + test/buildtest_skeleton.cc \ + $(libosdc_la_SOURCES) +test_build_libcephfs_LDADD = \ + $(LIBCEPHFS) -lexpat \ + $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) +test_build_libcephfs_LDFLAGS = -static-libtool-libs +test_build_libcephfs_CFLAGS = $(AM_CFLAGS) +test_build_libcephfs_CXXFLAGS = $(AM_CXXFLAGS) +bin_DEBUGPROGRAMS += test_build_libcephfs + +if WITH_HADOOPCLIENT +test_build_libhadoopcephfs_SOURCES = \ + test/buildtest_skeleton.cc \ + $(libhadoopcephfs_la_SOURCES) +test_build_libhadoopcephfs_LDADD = \ + $(LIBCEPHFS) -lexpat \ + $(PTHREAD_LIBS) $(CRYPTO_LIBS) $(EXTRALIBS) +test_build_libhadoopcephfs_LDFLAGS = -static-libtool-libs +test_build_libhadoopcephfs_CFLAGS = $(AM_CFLAGS) +test_build_libhadoopcephfs_CXXFLAGS = $(AM_CXXFLAGS) +bin_DEBUGPROGRAMS += test_build_libhadoopcephfs +endif # WITH_HADOOPCLIENT + +endif # WITH_BUILD_TESTS + + +## Benchmarks + +ceph_smalliobench_SOURCES = \ + test/bench/small_io_bench.cc \ + test/bench/rados_backend.cc \ + test/bench/detailed_stat_collector.cc \ + test/bench/bencher.cc +ceph_smalliobench_LDADD = $(LIBRADOS) -lboost_program_options $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_smalliobench + +ceph_smalliobenchfs_SOURCES = \ + test/bench/small_io_bench_fs.cc \ + test/bench/testfilestore_backend.cc \ + test/bench/detailed_stat_collector.cc \ + test/bench/bencher.cc +ceph_smalliobenchfs_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_smalliobenchfs + +ceph_smalliobenchdumb_SOURCES = \ + test/bench/small_io_bench_dumb.cc \ + test/bench/dumb_backend.cc \ + test/bench/detailed_stat_collector.cc \ + test/bench/bencher.cc +ceph_smalliobenchdumb_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_smalliobenchdumb + +ceph_smalliobenchrbd_SOURCES = \ + test/bench/small_io_bench_rbd.cc \ + test/bench/rbd_backend.cc \ + test/bench/detailed_stat_collector.cc \ + test/bench/bencher.cc +ceph_smalliobenchrbd_LDADD = $(LIBRBD) $(LIBRADOS) -lboost_program_options $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_smalliobenchrbd + +ceph_tpbench_SOURCES = \ + test/bench/tp_bench.cc \ + test/bench/detailed_stat_collector.cc +ceph_tpbench_LDADD = $(LIBRADOS) -lboost_program_options $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_tpbench + +ceph_omapbench_SOURCES = test/omap_bench.cc +ceph_omapbench_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_omapbench + +ceph_kvstorebench_SOURCES = \ + test/kv_store_bench.cc \ + key_value_store/kv_flat_btree_async.cc +ceph_kvstorebench_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_kvstorebench + +ceph_multi_stress_watch_SOURCES = \ + test/multi_stress_watch.cc \ + test/librados/test.cc +ceph_multi_stress_watch_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_multi_stress_watch + + + + + + +## System tests + +libsystest_la_SOURCES = \ + test/system/cross_process_sem.cc \ + test/system/systest_runnable.cc \ + test/system/systest_settings.cc +libsystest_la_LIBADD = $(CEPH_GLOBAL) +noinst_LTLIBRARIES += libsystest.la + +ceph_test_rados_list_parallel_SOURCES = \ + test/system/rados_list_parallel.cc \ + test/system/st_rados_create_pool.cc \ + test/system/st_rados_list_objects.cc +ceph_test_rados_list_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS) +bin_DEBUGPROGRAMS += ceph_test_rados_list_parallel + +ceph_test_rados_open_pools_parallel_SOURCES = \ + test/system/rados_open_pools_parallel.cc \ + test/system/st_rados_create_pool.cc +ceph_test_rados_open_pools_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS) +bin_DEBUGPROGRAMS += ceph_test_rados_open_pools_parallel + +ceph_test_rados_delete_pools_parallel_SOURCES = \ + test/system/rados_delete_pools_parallel.cc \ + test/system/st_rados_create_pool.cc \ + test/system/st_rados_delete_pool.cc \ + test/system/st_rados_list_objects.cc +ceph_test_rados_delete_pools_parallel_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS) +bin_DEBUGPROGRAMS += ceph_test_rados_delete_pools_parallel + +ceph_test_rados_watch_notify_SOURCES = \ + test/system/rados_watch_notify.cc \ + test/system/st_rados_create_pool.cc \ + test/system/st_rados_delete_pool.cc \ + test/system/st_rados_delete_objs.cc \ + test/system/st_rados_watch.cc \ + test/system/st_rados_notify.cc +ceph_test_rados_watch_notify_LDADD = $(LIBRADOS) libsystest.la $(PTHREAD_LIBS) +bin_DEBUGPROGRAMS += ceph_test_rados_watch_notify + +ceph_bench_log_SOURCES = test/bench_log.cc +ceph_bench_log_LDADD = $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_bench_log + + + +## Unit tests + +# target to build but not run the unit tests +unittests:: $(check_PROGRAMS) + +UNITTEST_CXXFLAGS = \ + $(AM_CXXFLAGS) \ + -I$(top_srcdir)/src/gtest/include \ + -I$(top_builddir)/src/gtest/include +UNITTEST_LDADD = \ + $(top_builddir)/src/gtest/lib/libgtest.a \ + $(top_builddir)/src/gtest/lib/libgtest_main.a \ + $(PTHREAD_LIBS) + +unittest_encoding_SOURCES = test/encoding.cc +unittest_encoding_LDADD = $(LIBCEPHFS) $(LIBRADOS) -lm $(UNITTEST_LDADD) +unittest_encoding_CXXFLAGS = $(UNITTEST_CXXFLAGS) -fno-strict-aliasing +check_PROGRAMS += unittest_encoding + +unittest_addrs_SOURCES = test/test_addrs.cc +unittest_addrs_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_addrs_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_addrs + +unittest_sharedptr_registry_SOURCES = test/common/test_sharedptr_registry.cc +unittest_sharedptr_registry_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_sharedptr_registry_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_sharedptr_registry + +unittest_util_SOURCES = test/common/test_util.cc +unittest_util_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_util_LDADD = $(LIBCOMMON) -lm $(UNITTEST_LDADD) $(CRYPTO_LIBS) $(EXTRALIBS) +check_PROGRAMS += unittest_util + +unittest_workqueue_SOURCES = test/test_workqueue.cc +unittest_workqueue_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_workqueue_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_workqueue + +unittest_striper_SOURCES = test/test_striper.cc +unittest_striper_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_striper_LDADD = $(LIBOSDC) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_striper + +unittest_prebufferedstreambuf_SOURCES = test/test_prebufferedstreambuf.cc +unittest_prebufferedstreambuf_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_prebufferedstreambuf_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) $(EXTRALIBS) +check_PROGRAMS += unittest_prebufferedstreambuf + +unittest_str_list_SOURCES = test/test_str_list.cc +unittest_str_list_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_str_list_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_str_list + +unittest_log_SOURCES = log/test.cc +unittest_log_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) +unittest_log_CXXFLAGS = $(UNITTEST_CXXFLAGS) -O2 +check_PROGRAMS += unittest_log + +unittest_throttle_SOURCES = test/common/Throttle.cc +unittest_throttle_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_throttle_CXXFLAGS = $(UNITTEST_CXXFLAGS) -O2 +check_PROGRAMS += unittest_throttle + +unittest_base64_SOURCES = test/base64.cc +unittest_base64_LDADD = $(LIBCEPHFS) -lm $(UNITTEST_LDADD) +unittest_base64_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_base64 + +unittest_ceph_argparse_SOURCES = test/ceph_argparse.cc +unittest_ceph_argparse_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_ceph_argparse_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_ceph_argparse + +unittest_osd_types_SOURCES = test/test_osd_types.cc +unittest_osd_types_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_osd_types_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_osd_types + +unittest_pglog_SOURCES = test/osd/TestPGLog.cc +unittest_pglog_CXXFLAGS = $(UNITTEST_CXXFLAGS) +unittest_pglog_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +check_PROGRAMS += unittest_pglog + +if LINUX +unittest_pglog_LDADD += -ldl +endif # LINUX + +unittest_gather_SOURCES = test/gather.cc +unittest_gather_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_gather_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_gather + +unittest_run_cmd_SOURCES = test/run_cmd.cc +unittest_run_cmd_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD) +unittest_run_cmd_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_run_cmd + +unittest_signals_SOURCES = test/signals.cc +unittest_signals_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_signals_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_signals + +unittest_simple_spin_SOURCES = test/simple_spin.cc +unittest_simple_spin_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD) +unittest_simple_spin_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_simple_spin + +unittest_librados_SOURCES = test/librados/librados.cc +unittest_librados_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +unittest_librados_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_librados + +unittest_bufferlist_SOURCES = test/bufferlist.cc +unittest_bufferlist_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_bufferlist_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_bufferlist + +unittest_crypto_SOURCES = test/crypto.cc +unittest_crypto_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_crypto_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_crypto + +unittest_perf_counters_SOURCES = test/perf_counters.cc +unittest_perf_counters_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_perf_counters_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_perf_counters + +unittest_admin_socket_SOURCES = test/admin_socket.cc +unittest_admin_socket_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_admin_socket_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_admin_socket + +unittest_ceph_crypto_SOURCES = test/ceph_crypto.cc +unittest_ceph_crypto_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_ceph_crypto_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_ceph_crypto + +unittest_utf8_SOURCES = test/utf8.cc +unittest_utf8_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_utf8_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_utf8 + +unittest_mime_SOURCES = test/mime.cc +unittest_mime_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_mime_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_mime + +unittest_escape_SOURCES = test/escape.cc +unittest_escape_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_escape_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_escape + +unittest_chain_xattr_SOURCES = test/filestore/chain_xattr.cc +unittest_chain_xattr_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_chain_xattr_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_chain_xattr + +unittest_flatindex_SOURCES = test/os/TestFlatIndex.cc +unittest_flatindex_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_flatindex_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_flatindex + +unittest_strtol_SOURCES = test/strtol.cc +unittest_strtol_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_strtol_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_strtol + +unittest_confutils_SOURCES = test/confutils.cc +unittest_confutils_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_confutils_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_confutils + +unittest_heartbeatmap_SOURCES = test/heartbeat_map.cc +unittest_heartbeatmap_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_heartbeatmap_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_heartbeatmap + +# why does this include rgw/rgw_formats.cc...? +unittest_formatter_SOURCES = \ + test/formatter.cc \ + rgw/rgw_formats.cc +unittest_formatter_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_formatter_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_formatter + +unittest_libcephfs_config_SOURCES = test/libcephfs_config.cc +unittest_libcephfs_config_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD) +unittest_libcephfs_config_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_libcephfs_config + +unittest_lfnindex_SOURCES = test/os/TestLFNIndex.cc +unittest_lfnindex_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_lfnindex_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_lfnindex + +unittest_librados_config_SOURCES = test/librados/librados_config.cc +unittest_librados_config_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +unittest_librados_config_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_librados_config + +#unittest_librgw_link_SOURCES = test/librgw_link.cc +#unittest_librgw_link_LDFLAGS = $(PTHREAD_CFLAGS) ${AM_LDFLAGS} +#unittest_librgw_link_LDADD = $(LIBRGW) ${UNITTEST_LDADD} +#unittest_librgw_link_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} +#check_PROGRAMS += unittest_librgw_link + +unittest_daemon_config_SOURCES = test/daemon_config.cc +unittest_daemon_config_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_daemon_config_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_daemon_config + +unittest_osd_osdcap_SOURCES = test/osd/osdcap.cc +unittest_osd_osdcap_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_osd_osdcap_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_osd_osdcap + +unittest_mon_moncap_SOURCES = test/mon/moncap.cc +unittest_mon_moncap_LDADD = $(LIBMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_mon_moncap_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_mon_moncap + +#if WITH_RADOSGW +#unittest_librgw_SOURCES = test/librgw.cc +#unittest_librgw_LDFLAGS = -lrt $(PTHREAD_CFLAGS) -lcurl ${AM_LDFLAGS} +#unittest_librgw_LDADD = librgw.la $(LIBRADOS) ${UNITTEST_LDADD} -lexpat $(CEPH_GLOBAL) +#unittest_librgw_CXXFLAGS = ${CRYPTO_CFLAGS} ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS} +#check_PROGRAMS += unittest_librgw +#endif # WITH_RADOSGW + +unittest_ipaddr_SOURCES = test/test_ipaddr.cc +unittest_ipaddr_LDADD = $(UNITTEST_LDADD) $(CEPH_GLOBAL) +unittest_ipaddr_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_ipaddr + +unittest_texttable_SOURCES = test/test_texttable.cc +unittest_texttable_LDADD = $(LIBCOMMON) $(UNITTEST_LDADD) +unittest_texttable_CXXFLAGS = $(UNITTEST_CXXFLAGS) +check_PROGRAMS += unittest_texttable + +if WITH_RADOSGW +ceph_test_cors_SOURCES = test/test_cors.cc +ceph_test_cors_LDADD = \ + $(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \ + $(UNITTEST_LDADD) \ + -lcurl -luuid -lexpat +ceph_test_cors_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cors + +ceph_test_cls_rgw_meta_SOURCES = test/test_rgw_admin_meta.cc +ceph_test_cls_rgw_meta_LDADD = \ + $(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \ + $(UNITTEST_LDADD) $(CRYPTO_LIBS) \ + -lcurl -luuid -lexpat \ + libcls_version_client.a libcls_log_client.a \ + libcls_statelog_client.a libcls_refcount_client.la \ + libcls_rgw_client.la libcls_lock_client.la +ceph_test_cls_rgw_meta_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_rgw_meta + +ceph_test_cls_rgw_log_SOURCES = test/test_rgw_admin_log.cc +ceph_test_cls_rgw_log_LDADD = \ + $(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \ + $(UNITTEST_LDADD) $(CRYPTO_LIBS) \ + -lcurl -luuid -lexpat \ + libcls_version_client.a libcls_log_client.a \ + libcls_statelog_client.a libcls_refcount_client.la \ + libcls_rgw_client.la libcls_lock_client.la +ceph_test_cls_rgw_log_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_rgw_log + +ceph_test_cls_rgw_opstate_SOURCES = test/test_rgw_admin_opstate.cc +ceph_test_cls_rgw_opstate_LDADD = \ + $(LIBRADOS) $(LIBRGW) $(CEPH_GLOBAL) \ + $(UNITTEST_LDADD) $(CRYPTO_LIBS) \ + -lcurl -luuid -lexpat \ + libcls_version_client.a libcls_log_client.a \ + libcls_statelog_client.a libcls_refcount_client.la \ + libcls_rgw_client.la libcls_lock_client.la +ceph_test_cls_rgw_opstate_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_rgw_opstate +endif # WITH_RADOSGW + +ceph_test_librbd_SOURCES = \ + test/librbd/test_librbd.cc \ + test/librados/test.cc +ceph_test_librbd_LDADD = $(LIBRBD) $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_librbd_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_librbd + +ceph_test_librbd_fsx_SOURCES = test/librbd/fsx.c +ceph_test_librbd_fsx_LDADD = $(LIBRBD) $(LIBRADOS) -lm +ceph_test_librbd_fsx_CFLAGS = ${AM_CFLAGS} -Wno-format +bin_DEBUGPROGRAMS += ceph_test_librbd_fsx + +ceph_test_cls_rbd_SOURCES = \ + test/cls_rbd/test_cls_rbd.cc \ + test/librados/test.cc +ceph_test_cls_rbd_LDADD = $(LIBRADOS) libcls_rbd_client.la libcls_lock_client.la $(UNITTEST_LDADD) +ceph_test_cls_rbd_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_rbd + +ceph_test_cls_refcount_SOURCES = \ + test/cls_refcount/test_cls_refcount.cc \ + test/librados/test.cc +ceph_test_cls_refcount_LDADD = $(LIBRADOS) libcls_refcount_client.la $(UNITTEST_LDADD) +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 \ + test/librados/test.cc +ceph_test_cls_version_LDADD = $(LIBRADOS) libcls_version_client.a $(UNITTEST_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 \ + test/librados/test.cc +ceph_test_cls_log_LDADD = $(LIBRADOS) libcls_log_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL) +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 \ + test/librados/test.cc +ceph_test_cls_statelog_LDADD = $(LIBRADOS) libcls_statelog_client.a $(UNITTEST_LDADD) $(CEPH_GLOBAL) +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 \ + test/librados/test.cc +ceph_test_cls_replica_log_LDADD = \ + $(LIBRADOS) libcls_replica_log_client.a \ + $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_cls_replica_log_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_replica_log + +ceph_test_cls_lock_SOURCES = \ + test/cls_lock/test_cls_lock.cc \ + test/librados/test.cc +ceph_test_cls_lock_LDADD = $(LIBRADOS) libcls_lock_client.la $(UNITTEST_LDADD) +ceph_test_cls_lock_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_lock + +ceph_test_cls_hello_SOURCES = \ + test/cls_hello/test_cls_hello.cc \ + test/librados/test.cc +ceph_test_cls_hello_LDADD = \ + $(LIBRADOS) $(CRYPTO_LIBS) \ + $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_cls_hello_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_hello + +if WITH_RADOSGW +ceph_test_cls_rgw_SOURCES = \ + test/cls_rgw/test_cls_rgw.cc \ + test/librados/test.cc +ceph_test_cls_rgw_LDADD = $(LIBRADOS) libcls_rgw_client.la $(UNITTEST_LDADD) +ceph_test_cls_rgw_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_cls_rgw +endif # WITH_RADOSGW + +ceph_test_mon_workloadgen_SOURCES = test/mon/test_mon_workloadgen.cc +ceph_test_mon_workloadgen_LDADD = $(LIBOS) $(LIBOSDC) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_mon_workloadgen + +ceph_test_rados_api_cmd_SOURCES = \ + test/librados/cmd.cc \ + test/librados/test.cc +ceph_test_rados_api_cmd_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_cmd_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_cmd + +ceph_test_rados_api_io_SOURCES = \ + test/librados/io.cc \ + test/librados/test.cc +ceph_test_rados_api_io_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_io_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_io + +ceph_test_rados_api_aio_SOURCES = \ + test/librados/aio.cc \ + test/librados/test.cc +ceph_test_rados_api_aio_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_aio_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_aio + +ceph_test_rados_api_list_SOURCES = \ + test/librados/list.cc \ + test/librados/test.cc +ceph_test_rados_api_list_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_list_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_list + +ceph_test_rados_api_pool_SOURCES = \ + test/librados/pool.cc \ + test/librados/test.cc +ceph_test_rados_api_pool_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_pool_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_pool + +ceph_test_rados_api_stat_SOURCES = \ + test/librados/stat.cc \ + test/librados/test.cc +ceph_test_rados_api_stat_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_stat_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_stat + +ceph_test_rados_api_watch_notify_SOURCES = \ + test/librados/watch_notify.cc \ + test/librados/test.cc +ceph_test_rados_api_watch_notify_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_watch_notify_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_watch_notify + +ceph_test_rados_api_snapshots_SOURCES = \ + test/librados/snapshots.cc \ + test/librados/test.cc +ceph_test_rados_api_snapshots_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_snapshots_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_snapshots + +ceph_test_rados_api_cls_SOURCES = \ + test/librados/cls.cc \ + test/librados/test.cc +ceph_test_rados_api_cls_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_cls_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_cls + +ceph_test_rados_api_misc_SOURCES = \ + test/librados/misc.cc \ + test/librados/test.cc +ceph_test_rados_api_misc_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_rados_api_misc_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_misc + +ceph_test_rados_api_lock_SOURCES = \ + test/librados/lock.cc \ + test/librados/test.cc +ceph_test_rados_api_lock_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_rados_api_lock_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_rados_api_lock + +ceph_test_libcephfs_SOURCES = \ + test/libcephfs/test.cc \ + test/libcephfs/readdir_r_cb.cc \ + test/libcephfs/caps.cc \ + test/libcephfs/multiclient.cc +ceph_test_libcephfs_LDADD = $(LIBCEPHFS) $(UNITTEST_LDADD) +ceph_test_libcephfs_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_libcephfs + +ceph_test_filestore_SOURCES = test/filestore/store_test.cc +ceph_test_filestore_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_filestore_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_filestore + +ceph_test_filestore_workloadgen_SOURCES = \ + test/filestore/workload_generator.cc \ + test/filestore/TestFileStoreState.cc +ceph_test_filestore_workloadgen_LDADD = $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_filestore_workloadgen + +ceph_test_filestore_idempotent_SOURCES = \ + test/filestore/test_idempotent.cc \ + test/filestore/FileStoreTracker.cc \ + test/common/ObjectContents.cc +ceph_test_filestore_idempotent_LDADD = $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent + +ceph_test_filestore_idempotent_sequence_SOURCES = \ + test/filestore/test_idempotent_sequence.cc \ + test/filestore/DeterministicOpSequence.cc \ + test/filestore/TestFileStoreState.cc \ + test/filestore/FileStoreDiff.cc +ceph_test_filestore_idempotent_sequence_LDADD = $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_filestore_idempotent_sequence + +ceph_xattr_bench_SOURCES = test/xattr_bench.cc +ceph_xattr_bench_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_xattr_bench_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_xattr_bench + +ceph_test_filejournal_SOURCES = test/test_filejournal.cc +ceph_test_filejournal_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_filejournal_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_filejournal + +ceph_test_stress_watch_SOURCES = \ + test/test_stress_watch.cc \ + test/librados/test.cc +ceph_test_stress_watch_LDADD = $(LIBRADOS) $(UNITTEST_LDADD) +ceph_test_stress_watch_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_stress_watch + +ceph_test_objectcacher_stress_SOURCES = \ + test/osdc/object_cacher_stress.cc \ + test/osdc/FakeWriteback.cc +ceph_test_objectcacher_stress_LDADD = $(LIBOSDC) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_test_objectcacher_stress + +ceph_test_snap_mapper_SOURCES = test/test_snap_mapper.cc +ceph_test_snap_mapper_LDADD = $(LIBOSD) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_snap_mapper_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_snap_mapper + +ceph_test_object_map_SOURCES = \ + test/ObjectMap/test_object_map.cc \ + test/ObjectMap/KeyValueDBMemory.cc +ceph_test_object_map_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_object_map_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_object_map + +ceph_test_keyvaluedb_atomicity_SOURCES = test/ObjectMap/test_keyvaluedb_atomicity.cc +ceph_test_keyvaluedb_atomicity_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_keyvaluedb_atomicity_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_atomicity + +ceph_test_keyvaluedb_iterators_SOURCES = \ + test/ObjectMap/test_keyvaluedb_iterators.cc \ + test/ObjectMap/KeyValueDBMemory.cc +ceph_test_keyvaluedb_iterators_LDADD = $(LIBOS) $(UNITTEST_LDADD) $(CEPH_GLOBAL) +ceph_test_keyvaluedb_iterators_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_keyvaluedb_iterators + +ceph_test_store_tool_SOURCES = test/ObjectMap/test_store_tool/test_store_tool.cc +ceph_test_store_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) +ceph_test_store_tool_CXXFLAGS = $(UNITTEST_CXXFLAGS) +bin_DEBUGPROGRAMS += ceph_test_store_tool + +ceph_test_cfuse_cache_invalidate_SOURCES = test/test_cfuse_cache_invalidate.cc +bin_DEBUGPROGRAMS += ceph_test_cfuse_cache_invalidate + + +noinst_HEADERS += \ + test/osd/RadosModel.h \ + test/osd/Object.h \ + test/osd/TestOpStat.h \ + test/bench/distribution.h \ + test/bench/rados_backend.h \ + test/bench/rbd_backend.h \ + test/bench/bencher.h \ + test/bench/backend.h \ + test/bench/dumb_backend.h \ + test/bench/stat_collector.h \ + test/bench/detailed_stat_collector.h \ + test/bench/testfilestore_backend.h \ + test/common/ObjectContents.h \ + test/encoding/types.h \ + test/filestore/DeterministicOpSequence.h \ + test/filestore/FileStoreTracker.h \ + test/filestore/FileStoreDiff.h \ + test/filestore/TestFileStoreState.h \ + test/filestore/workload_generator.h \ + test/kv_store_bench.h \ + test/librados/test.h \ + test/ObjectMap/KeyValueDBMemory.h \ + test/omap_bench.h \ + test/osd/Object.h \ + test/osd/RadosModel.h \ + test/osd/TestOpStat.h \ + test/osdc/FakeWriteback.h \ + test/system/cross_process_sem.h \ + test/system/st_rados_create_pool.h \ + test/system/st_rados_list_objects.h \ + test/system/st_rados_delete_objs.h \ + test/system/st_rados_delete_pool.h \ + test/system/st_rados_notify.h \ + test/system/st_rados_watch.h \ + test/system/systest_runnable.h \ + test/system/systest_settings.h \ + test/unit.h + diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am new file mode 100644 index 00000000000..4b8da77951a --- /dev/null +++ b/src/tools/Makefile.am @@ -0,0 +1,87 @@ +ceph_osdomap_tool_SOURCES = tools/ceph-osdomap-tool.cc +ceph_osdomap_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options +bin_DEBUGPROGRAMS += ceph-osdomap-tool + +ceph_monstore_tool_SOURCES = tools/ceph-monstore-tool.cc +ceph_monstore_tool_LDADD = $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options +bin_DEBUGPROGRAMS += ceph-monstore-tool + +ceph_filestore_dump_SOURCES = tools/ceph-filestore-dump.cc +ceph_filestore_dump_LDADD = $(LIBOSD) $(LIBOS) $(CEPH_GLOBAL) -lboost_program_options +if LINUX +ceph_filestore_dump_LDADD += -ldl +endif # LINUX +bin_PROGRAMS += ceph_filestore_dump + +monmaptool_SOURCES = tools/monmaptool.cc +monmaptool_LDADD = $(CEPH_GLOBAL) +bin_PROGRAMS += monmaptool + +crushtool_SOURCES = tools/crushtool.cc +crushtool_LDADD = $(CEPH_GLOBAL) +bin_PROGRAMS += crushtool + +osdmaptool_SOURCES = tools/osdmaptool.cc +osdmaptool_LDADD = $(CEPH_GLOBAL) +bin_PROGRAMS += osdmaptool + +ceph_scratchtool_SOURCES = tools/scratchtool.c +ceph_scratchtool_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_scratchtool + +ceph_scratchtoolpp_SOURCES = tools/scratchtoolpp.cc +ceph_scratchtoolpp_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_scratchtoolpp + +ceph_psim_SOURCES = tools/psim.cc +ceph_psim_LDADD = $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_psim + +ceph_dupstore_SOURCES = tools/dupstore.cc +ceph_dupstore_LDADD = $(LIBOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_dupstore + +ceph_radosacl_SOURCES = tools/radosacl.cc +ceph_radosacl_LDADD = $(LIBRADOS) $(CEPH_GLOBAL) +bin_DEBUGPROGRAMS += ceph_radosacl + +rados_SOURCES = \ + tools/rados/rados.cc \ + tools/rados/rados_import.cc \ + tools/rados/rados_export.cc \ + tools/rados/rados_sync.cc +rados_SOURCES += common/obj_bencher.cc # needs cleanup so it can go in libcommon.la +rados_LDADD = libcls_lock_client.la $(LIBRADOS) $(CEPH_GLOBAL) +bin_PROGRAMS += rados + +if WITH_REST_BENCH +rest_bench_SOURCES = tools/rest_bench.cc +rest_bench_SOURCES += common/obj_bencher.cc # needs cleanup so it can go in libcommon.la +rest_bench_LDADD = $(CEPH_GLOBAL) +bin_PROGRAMS += rest-bench + +if WITH_SYSTEM_LIBS3 +rest_bench_LDADD += -ls3 +else +rest_bench_LDADD += libs3/build/lib/libs3.a -lcurl -lxml2 +rest_bench_CXXFLAGS = ${AM_CXXFLAGS} -I$(top_srcdir)/src/libs3/inc +SUBDIRS += libs3 +endif # WITH_SYSTEM_LIBS3 +endif # WITH_REST_BENCH + +ceph_conf_SOURCES = tools/ceph_conf.cc +ceph_conf_LDADD = $(CEPH_GLOBAL) +bin_PROGRAMS += ceph-conf + +ceph_authtool_SOURCES = tools/ceph_authtool.cc +ceph_authtool_LDADD = $(CEPH_GLOBAL) +bin_PROGRAMS += ceph-authtool + +ceph_mon_store_converter_SOURCES = tools/mon_store_converter.cc +ceph_mon_store_converter_LDADD = $(LIBMON) $(LIBOS) $(CEPH_GLOBAL) +bin_PROGRAMS += ceph_mon_store_converter + +noinst_HEADERS += \ + tools/rados/rados_sync.h \ + tools/common.h + |