mt-libcouchbase 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +22 -0
- data/.gitmodules +3 -0
- data/.rspec +1 -0
- data/.travis.yml +38 -0
- data/Gemfile +4 -0
- data/LICENSE +24 -0
- data/README.md +445 -0
- data/Rakefile +76 -0
- data/ext/README.md +6 -0
- data/ext/Rakefile +19 -0
- data/ext/libcouchbase/.gitignore +132 -0
- data/ext/libcouchbase/CMakeLists.txt +455 -0
- data/ext/libcouchbase/CONTRIBUTING.md +105 -0
- data/ext/libcouchbase/LICENSE +202 -0
- data/ext/libcouchbase/README.markdown +195 -0
- data/ext/libcouchbase/RELEASE_NOTES.markdown +3523 -0
- data/ext/libcouchbase/cmake/Modules/ConfigureDtrace.cmake +52 -0
- data/ext/libcouchbase/cmake/Modules/CopyPDB.cmake +42 -0
- data/ext/libcouchbase/cmake/Modules/DistScript.cmake +17 -0
- data/ext/libcouchbase/cmake/Modules/DownloadLcbDep.cmake +18 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseHdrHistogram.cmake +15 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibev.cmake +73 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibevent.cmake +54 -0
- data/ext/libcouchbase/cmake/Modules/FindCouchbaseLibuv.cmake +57 -0
- data/ext/libcouchbase/cmake/Modules/FindProfiler.cmake +16 -0
- data/ext/libcouchbase/cmake/Modules/GenerateConfigDotH.cmake +49 -0
- data/ext/libcouchbase/cmake/Modules/GetLibcouchbaseFlags.cmake +142 -0
- data/ext/libcouchbase/cmake/Modules/GetPlatformCCInfo.cmake +45 -0
- data/ext/libcouchbase/cmake/Modules/GetVersionInfo.cmake +70 -0
- data/ext/libcouchbase/cmake/config-cmake.h.in +80 -0
- data/ext/libcouchbase/cmake/configure +355 -0
- data/ext/libcouchbase/cmake/defs.mk.in +6 -0
- data/ext/libcouchbase/cmake/dtrace-instr-link.pl +51 -0
- data/ext/libcouchbase/cmake/libcouchbase.stp.in +829 -0
- data/ext/libcouchbase/cmake/source_files.cmake +104 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.c +1022 -0
- data/ext/libcouchbase/contrib/cJSON/cJSON.h +158 -0
- data/ext/libcouchbase/contrib/cbsasl/CMakeLists.txt +25 -0
- data/ext/libcouchbase/contrib/cbsasl/COPYING +202 -0
- data/ext/libcouchbase/contrib/cbsasl/include/cbsasl/cbsasl.h +259 -0
- data/ext/libcouchbase/contrib/cbsasl/src/client.c +419 -0
- data/ext/libcouchbase/contrib/cbsasl/src/common.c +50 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.c +67 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/hmac.h +33 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.c +296 -0
- data/ext/libcouchbase/contrib/cbsasl/src/cram-md5/md5.h +45 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.c +573 -0
- data/ext/libcouchbase/contrib/cbsasl/src/hash.h +15 -0
- data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.c +500 -0
- data/ext/libcouchbase/contrib/cbsasl/src/scram-sha/scram_utils.h +99 -0
- data/ext/libcouchbase/contrib/cbsasl/src/util.h +31 -0
- data/ext/libcouchbase/contrib/cliopts/CMakeLists.txt +2 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.c +938 -0
- data/ext/libcouchbase/contrib/cliopts/cliopts.h +610 -0
- data/ext/libcouchbase/contrib/genhash/genhash.c +371 -0
- data/ext/libcouchbase/contrib/genhash/genhash.h +241 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CHANGES +157 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CMakeLists.txt +252 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/CONTRIBUTORS +37 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/LICENSE +28 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/MINIFY.sh +15 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/README +435 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/cmake/internal_utils.cmake +227 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-death-test.h +294 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-message.h +250 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h +1421 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-param-test.h.pump +487 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-printers.h +855 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-spi.h +232 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-test-part.h +179 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest-typed-test.h +259 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest.h +2291 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_pred_impl.h +358 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/gtest_prod.h +58 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-death-test-internal.h +319 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-filepath.h +206 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-internal.h +1158 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-linked_ptr.h +233 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h +5143 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util-generated.h.pump +301 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-param-util.h +619 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-port.h +1947 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-string.h +167 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h +1012 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-tuple.h.pump +339 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h +3331 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/include/gtest/internal/gtest-type-util.h.pump +297 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-all.cc +48 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-death-test.cc +1344 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-filepath.cc +382 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-internal-inl.h +1218 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-port.cc +805 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-printers.cc +363 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-test-part.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest-typed-test.cc +110 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest.cc +5015 -0
- data/ext/libcouchbase/contrib/gtest-1.7.0/src/gtest_main.cc +38 -0
- data/ext/libcouchbase/contrib/http_parser/LICENSE-MIT +23 -0
- data/ext/libcouchbase/contrib/http_parser/README.md +178 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.c +2060 -0
- data/ext/libcouchbase/contrib/http_parser/http_parser.h +321 -0
- data/ext/libcouchbase/contrib/jsonsl/LICENSE +20 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.c +1452 -0
- data/ext/libcouchbase/contrib/jsonsl/jsonsl.h +971 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/CMakeLists.txt +6 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/LICENSE +55 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp-forwards.h +255 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.cpp +4893 -0
- data/ext/libcouchbase/contrib/lcb-jsoncpp/lcb-jsoncpp.h +1961 -0
- data/ext/libcouchbase/contrib/snappy/CMakeLists.txt +7 -0
- data/ext/libcouchbase/contrib/snappy/COPYING +28 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.cc +90 -0
- data/ext/libcouchbase/contrib/snappy/snappy-c.h +138 -0
- data/ext/libcouchbase/contrib/snappy/snappy-internal.h +150 -0
- data/ext/libcouchbase/contrib/snappy/snappy-lcb-msvc.h +5 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.cc +75 -0
- data/ext/libcouchbase/contrib/snappy/snappy-sinksource.h +137 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.cc +42 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-internal.h +491 -0
- data/ext/libcouchbase/contrib/snappy/snappy-stubs-public.h +100 -0
- data/ext/libcouchbase/contrib/snappy/snappy.cc +1312 -0
- data/ext/libcouchbase/contrib/snappy/snappy.h +184 -0
- data/ext/libcouchbase/contrib/win32-defs/iocpdefs.h +133 -0
- data/ext/libcouchbase/contrib/win32-defs/mingwdefs.h +4396 -0
- data/ext/libcouchbase/contrib/win32-defs/win_stdint.h +258 -0
- data/ext/libcouchbase/doc/Doxyfile +2495 -0
- data/ext/libcouchbase/doc/DoxygenLayout.xml +109 -0
- data/ext/libcouchbase/doc/Makefile +44 -0
- data/ext/libcouchbase/doc/apiattr.h +117 -0
- data/ext/libcouchbase/doc/cbc-n1qlback.markdown +88 -0
- data/ext/libcouchbase/doc/cbc-pillowfight.markdown +296 -0
- data/ext/libcouchbase/doc/cbc-subdoc.markdown +299 -0
- data/ext/libcouchbase/doc/cbc.markdown +763 -0
- data/ext/libcouchbase/doc/cbcrc.markdown +52 -0
- data/ext/libcouchbase/doc/common-additional-options.markdown +82 -0
- data/ext/libcouchbase/doc/common-options.markdown +71 -0
- data/ext/libcouchbase/doc/environment.h +93 -0
- data/ext/libcouchbase/doc/example/threads.c +77 -0
- data/ext/libcouchbase/doc/footer.html +22 -0
- data/ext/libcouchbase/doc/genman.sh +25 -0
- data/ext/libcouchbase/doc/header.html +52 -0
- data/ext/libcouchbase/doc/intro.h +130 -0
- data/ext/libcouchbase/doc/mainpage.h +136 -0
- data/ext/libcouchbase/doc/man/cbc-admin.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-bucket-create.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-bucket-delete.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-cat.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-connstr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-cp.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-create.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-decr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-flush.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-hash.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-incr.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-lock.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-mcflush.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-mcversion.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-n1ql.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-n1qlback.1 +198 -0
- data/ext/libcouchbase/doc/man/cbc-observe.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-pillowfight.1 +499 -0
- data/ext/libcouchbase/doc/man/cbc-ping.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-rm.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-role-list.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-stats.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-subdoc.1 +494 -0
- data/ext/libcouchbase/doc/man/cbc-unlock.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-delete.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-list.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-user-upsert.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-verbosity.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-version.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-view.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc-watch.1 +1 -0
- data/ext/libcouchbase/doc/man/cbc.1 +1035 -0
- data/ext/libcouchbase/doc/man/cbcrc.4 +71 -0
- data/ext/libcouchbase/doc/style.css +1162 -0
- data/ext/libcouchbase/example/CMakeLists.txt +52 -0
- data/ext/libcouchbase/example/README.markdown +47 -0
- data/ext/libcouchbase/example/analytics/.gitignore +1 -0
- data/ext/libcouchbase/example/analytics/analytics.c +158 -0
- data/ext/libcouchbase/example/analytics/build-queries.rb +34 -0
- data/ext/libcouchbase/example/analytics/cJSON.c +1 -0
- data/ext/libcouchbase/example/analytics/cJSON.h +1 -0
- data/ext/libcouchbase/example/analytics/queries/00-show-dataverse.json +5 -0
- data/ext/libcouchbase/example/analytics/queries/01-setup-dataset-breweries.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/02-setup-dataset-beers.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/03-initiate-shadow.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/04-list-datasets.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/05-count-breweries.json +5 -0
- data/ext/libcouchbase/example/analytics/queries/06-first-brewery.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/07-key-based-lookup.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/08-exact-match-lookup.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/09-exact-match-lookup-different-shape.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/10-other-query-filters.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/11-equijoin.json +9 -0
- data/ext/libcouchbase/example/analytics/queries/12-equijoin-select-star.json +10 -0
- data/ext/libcouchbase/example/analytics/queries/13-ansi-join.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/14-join-select-values.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/15-nested-outer-join.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/16-theta-join.json +8 -0
- data/ext/libcouchbase/example/analytics/queries/17-existential-quantification.json +9 -0
- data/ext/libcouchbase/example/analytics/queries/18-universal-quantification.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/19-simple-aggregation.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/20-simple-aggregation-unwrapped-value.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/21-simple-aggregation-explicit.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/22-grouping-and-aggregation.json +6 -0
- data/ext/libcouchbase/example/analytics/queries/23-grouping-and-aggregation-with-hint.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/24-grouping-and-limits.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/25-named-parameters.json +7 -0
- data/ext/libcouchbase/example/analytics/queries/26-positional-parameters.json +7 -0
- data/ext/libcouchbase/example/analytics/queries.h +113 -0
- data/ext/libcouchbase/example/crypto/.gitignore +2 -0
- data/ext/libcouchbase/example/crypto/Makefile +13 -0
- data/ext/libcouchbase/example/crypto/common_provider.c +26 -0
- data/ext/libcouchbase/example/crypto/common_provider.h +33 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_decrypt.c +144 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_encrypt.c +146 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.c +271 -0
- data/ext/libcouchbase/example/crypto/openssl_symmetric_provider.h +29 -0
- data/ext/libcouchbase/example/db/db.c +171 -0
- data/ext/libcouchbase/example/db/vb.c +227 -0
- data/ext/libcouchbase/example/fts/.gitignore +1 -0
- data/ext/libcouchbase/example/fts/build-queries.rb +33 -0
- data/ext/libcouchbase/example/fts/fts.c +142 -0
- data/ext/libcouchbase/example/fts/queries/00-simple-text-query.json +12 -0
- data/ext/libcouchbase/example/fts/queries/01-simple-text-query-on-non-default-index.json +9 -0
- data/ext/libcouchbase/example/fts/queries/02-simple-text-query-on-stored-field.json +13 -0
- data/ext/libcouchbase/example/fts/queries/03-match-query-with-facet.json +19 -0
- data/ext/libcouchbase/example/fts/queries/04-docid-query.json +11 -0
- data/ext/libcouchbase/example/fts/queries/05-unanalyzed-term-query-with-fuzziness-level-of-0.json +13 -0
- data/ext/libcouchbase/example/fts/queries/06-unanalyzed-term-query-with-fuzziness-level-of-2.json +14 -0
- data/ext/libcouchbase/example/fts/queries/07-match-phrase-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries/08-phrase-query.json +16 -0
- data/ext/libcouchbase/example/fts/queries/09-query-string-query.json +9 -0
- data/ext/libcouchbase/example/fts/queries/10-conjunction-query.json +21 -0
- data/ext/libcouchbase/example/fts/queries/11-wild-card-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries/12-numeric-range-query.json +11 -0
- data/ext/libcouchbase/example/fts/queries/13-regexp-query.json +13 -0
- data/ext/libcouchbase/example/fts/queries.h +61 -0
- data/ext/libcouchbase/example/instancepool/main.cc +112 -0
- data/ext/libcouchbase/example/instancepool/pool.cc +102 -0
- data/ext/libcouchbase/example/instancepool/pool.h +69 -0
- data/ext/libcouchbase/example/libeventdirect/main.c +222 -0
- data/ext/libcouchbase/example/mcc/mcc.cc +246 -0
- data/ext/libcouchbase/example/minimal/.gitignore +1 -0
- data/ext/libcouchbase/example/minimal/minimal.c +132 -0
- data/ext/libcouchbase/example/minimal/query.c +185 -0
- data/ext/libcouchbase/example/observe/durability.c +102 -0
- data/ext/libcouchbase/example/observe/observe.c +159 -0
- data/ext/libcouchbase/example/subdoc/subdoc-multi.cc +143 -0
- data/ext/libcouchbase/example/subdoc/subdoc-simple.cc +201 -0
- data/ext/libcouchbase/example/subdoc/subdoc-xattrs.c +286 -0
- data/ext/libcouchbase/example/tick/tick.c +119 -0
- data/ext/libcouchbase/example/tracing/.gitignore +2 -0
- data/ext/libcouchbase/example/tracing/Makefile +8 -0
- data/ext/libcouchbase/example/tracing/cJSON.c +1 -0
- data/ext/libcouchbase/example/tracing/cJSON.h +1 -0
- data/ext/libcouchbase/example/tracing/tracing.c +439 -0
- data/ext/libcouchbase/example/tracing/views.c +444 -0
- data/ext/libcouchbase/example/users/README +48 -0
- data/ext/libcouchbase/example/users/users.c +147 -0
- data/ext/libcouchbase/example/views/views-example.cc +83 -0
- data/ext/libcouchbase/include/libcouchbase/_cxxwrap.h +150 -0
- data/ext/libcouchbase/include/libcouchbase/api-legacy.h +1689 -0
- data/ext/libcouchbase/include/libcouchbase/api3.h +2 -0
- data/ext/libcouchbase/include/libcouchbase/assert.h +44 -0
- data/ext/libcouchbase/include/libcouchbase/auth.h +297 -0
- data/ext/libcouchbase/include/libcouchbase/cbft.h +151 -0
- data/ext/libcouchbase/include/libcouchbase/cntl-private.h +319 -0
- data/ext/libcouchbase/include/libcouchbase/cntl.h +1418 -0
- data/ext/libcouchbase/include/libcouchbase/configuration.h.in +29 -0
- data/ext/libcouchbase/include/libcouchbase/couchbase.h +4089 -0
- data/ext/libcouchbase/include/libcouchbase/crypto.h +306 -0
- data/ext/libcouchbase/include/libcouchbase/deprecated.h +312 -0
- data/ext/libcouchbase/include/libcouchbase/error.h +680 -0
- data/ext/libcouchbase/include/libcouchbase/http.h +1 -0
- data/ext/libcouchbase/include/libcouchbase/iops.h +1053 -0
- data/ext/libcouchbase/include/libcouchbase/ixmgmt.h +263 -0
- data/ext/libcouchbase/include/libcouchbase/kvbuf.h +137 -0
- data/ext/libcouchbase/include/libcouchbase/metrics.h +79 -0
- data/ext/libcouchbase/include/libcouchbase/n1ql.h +539 -0
- data/ext/libcouchbase/include/libcouchbase/pktfwd.h +270 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/bsdio-inl.c +370 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr-inl.c +76 -0
- data/ext/libcouchbase/include/libcouchbase/plugins/io/wsaerr.h +199 -0
- data/ext/libcouchbase/include/libcouchbase/subdoc.h +347 -0
- data/ext/libcouchbase/include/libcouchbase/sysdefs.h +98 -0
- data/ext/libcouchbase/include/libcouchbase/tracing.h +437 -0
- data/ext/libcouchbase/include/libcouchbase/vbucket.h +680 -0
- data/ext/libcouchbase/include/libcouchbase/views.h +357 -0
- data/ext/libcouchbase/include/libcouchbase/visibility.h +66 -0
- data/ext/libcouchbase/include/memcached/COPYING +30 -0
- data/ext/libcouchbase/include/memcached/README +10 -0
- data/ext/libcouchbase/include/memcached/protocol_binary.h +885 -0
- data/ext/libcouchbase/packaging/README +7 -0
- data/ext/libcouchbase/packaging/abicheck/.gitignore +4 -0
- data/ext/libcouchbase/packaging/abicheck/Makefile +17 -0
- data/ext/libcouchbase/packaging/abicheck/README.md +27 -0
- data/ext/libcouchbase/packaging/abicheck/template.xml +3 -0
- data/ext/libcouchbase/packaging/deb/compat +1 -0
- data/ext/libcouchbase/packaging/deb/control +72 -0
- data/ext/libcouchbase/packaging/deb/copyright +10 -0
- data/ext/libcouchbase/packaging/deb/libcouchbase-dev.docs +3 -0
- data/ext/libcouchbase/packaging/deb/package.mk +31 -0
- data/ext/libcouchbase/packaging/deb/rules +46 -0
- data/ext/libcouchbase/packaging/deb/source/format +1 -0
- data/ext/libcouchbase/packaging/distinfo/README +1 -0
- data/ext/libcouchbase/packaging/distinfo/distinfo.cmake.in +4 -0
- data/ext/libcouchbase/packaging/dllversion.rc.in +39 -0
- data/ext/libcouchbase/packaging/libcouchbase.pc.in +10 -0
- data/ext/libcouchbase/packaging/nuget/libcouchbase.autopkg +76 -0
- data/ext/libcouchbase/packaging/parse-git-describe.pl +166 -0
- data/ext/libcouchbase/packaging/rpm/libcouchbase.spec.in +101 -0
- data/ext/libcouchbase/packaging/rpm/package.mk +40 -0
- data/ext/libcouchbase/plugins/io/iocp/CMakeLists.txt +9 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.c +467 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_iops.h +217 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_loop.c +295 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_timer.c +79 -0
- data/ext/libcouchbase/plugins/io/iocp/iocp_util.c +229 -0
- data/ext/libcouchbase/plugins/io/libev/CMakeLists.txt +31 -0
- data/ext/libcouchbase/plugins/io/libev/libev_io_opts.h +66 -0
- data/ext/libcouchbase/plugins/io/libev/plugin-libev.c +289 -0
- data/ext/libcouchbase/plugins/io/libevent/CMakeLists.txt +31 -0
- data/ext/libcouchbase/plugins/io/libevent/libevent_io_opts.h +67 -0
- data/ext/libcouchbase/plugins/io/libevent/plugin-libevent.c +292 -0
- data/ext/libcouchbase/plugins/io/libuv/CMakeLists.txt +44 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_compat.h +218 -0
- data/ext/libcouchbase/plugins/io/libuv/libuv_io_opts.h +118 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-internal.h +155 -0
- data/ext/libcouchbase/plugins/io/libuv/plugin-libuv.c +709 -0
- data/ext/libcouchbase/plugins/io/select/CMakeLists.txt +13 -0
- data/ext/libcouchbase/plugins/io/select/plugin-select.c +451 -0
- data/ext/libcouchbase/plugins/io/select/select_io_opts.h +39 -0
- data/ext/libcouchbase/src/README.md +101 -0
- data/ext/libcouchbase/src/aspend.h +105 -0
- data/ext/libcouchbase/src/auth-priv.h +85 -0
- data/ext/libcouchbase/src/auth.cc +146 -0
- data/ext/libcouchbase/src/bootstrap.cc +263 -0
- data/ext/libcouchbase/src/bootstrap.h +149 -0
- data/ext/libcouchbase/src/bucketconfig/bc_cccp.cc +450 -0
- data/ext/libcouchbase/src/bucketconfig/bc_file.cc +281 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.cc +527 -0
- data/ext/libcouchbase/src/bucketconfig/bc_http.h +107 -0
- data/ext/libcouchbase/src/bucketconfig/bc_static.cc +150 -0
- data/ext/libcouchbase/src/bucketconfig/clconfig.h +700 -0
- data/ext/libcouchbase/src/bucketconfig/confmon.cc +403 -0
- data/ext/libcouchbase/src/callbacks.c +380 -0
- data/ext/libcouchbase/src/cbft.cc +253 -0
- data/ext/libcouchbase/src/cntl.cc +1057 -0
- data/ext/libcouchbase/src/config_static.h +176 -0
- data/ext/libcouchbase/src/connspec.cc +555 -0
- data/ext/libcouchbase/src/connspec.h +155 -0
- data/ext/libcouchbase/src/crypto.cc +399 -0
- data/ext/libcouchbase/src/ctx-log-inl.h +44 -0
- data/ext/libcouchbase/src/dns-srv.cc +146 -0
- data/ext/libcouchbase/src/dump.cc +103 -0
- data/ext/libcouchbase/src/errmap.cc +173 -0
- data/ext/libcouchbase/src/errmap.h +271 -0
- data/ext/libcouchbase/src/getconfig.cc +72 -0
- data/ext/libcouchbase/src/gethrtime.c +109 -0
- data/ext/libcouchbase/src/handler.cc +1101 -0
- data/ext/libcouchbase/src/hashtable.c +75 -0
- data/ext/libcouchbase/src/hdr_timings.c +92 -0
- data/ext/libcouchbase/src/hostlist.cc +293 -0
- data/ext/libcouchbase/src/hostlist.h +160 -0
- data/ext/libcouchbase/src/http/http-priv.h +326 -0
- data/ext/libcouchbase/src/http/http.cc +672 -0
- data/ext/libcouchbase/src/http/http.h +1 -0
- data/ext/libcouchbase/src/http/http_io.cc +316 -0
- data/ext/libcouchbase/src/instance.cc +917 -0
- data/ext/libcouchbase/src/internal.h +285 -0
- data/ext/libcouchbase/src/iofactory.c +575 -0
- data/ext/libcouchbase/src/jsparse/parser.cc +445 -0
- data/ext/libcouchbase/src/jsparse/parser.h +159 -0
- data/ext/libcouchbase/src/lcbht/lcbht.cc +177 -0
- data/ext/libcouchbase/src/lcbht/lcbht.h +210 -0
- data/ext/libcouchbase/src/lcbio/connect.cc +603 -0
- data/ext/libcouchbase/src/lcbio/connect.h +400 -0
- data/ext/libcouchbase/src/lcbio/ctx.c +658 -0
- data/ext/libcouchbase/src/lcbio/ctx.h +405 -0
- data/ext/libcouchbase/src/lcbio/iotable.c +290 -0
- data/ext/libcouchbase/src/lcbio/iotable.h +169 -0
- data/ext/libcouchbase/src/lcbio/ioutils.cc +356 -0
- data/ext/libcouchbase/src/lcbio/ioutils.h +144 -0
- data/ext/libcouchbase/src/lcbio/lcbio.h +51 -0
- data/ext/libcouchbase/src/lcbio/manager.cc +579 -0
- data/ext/libcouchbase/src/lcbio/manager.h +195 -0
- data/ext/libcouchbase/src/lcbio/protoctx.c +84 -0
- data/ext/libcouchbase/src/lcbio/rw-inl.h +137 -0
- data/ext/libcouchbase/src/lcbio/ssl.h +159 -0
- data/ext/libcouchbase/src/lcbio/timer-cxx.h +87 -0
- data/ext/libcouchbase/src/lcbio/timer-ng.h +179 -0
- data/ext/libcouchbase/src/lcbio/timer.c +132 -0
- data/ext/libcouchbase/src/legacy.c +431 -0
- data/ext/libcouchbase/src/list.c +144 -0
- data/ext/libcouchbase/src/list.h +127 -0
- data/ext/libcouchbase/src/logging.c +244 -0
- data/ext/libcouchbase/src/logging.h +88 -0
- data/ext/libcouchbase/src/mc/compress.cc +171 -0
- data/ext/libcouchbase/src/mc/compress.h +56 -0
- data/ext/libcouchbase/src/mc/forward.c +186 -0
- data/ext/libcouchbase/src/mc/forward.h +90 -0
- data/ext/libcouchbase/src/mc/iovcursor-inl.h +279 -0
- data/ext/libcouchbase/src/mc/iovcursor.h +66 -0
- data/ext/libcouchbase/src/mc/mcreq-flush-inl.h +115 -0
- data/ext/libcouchbase/src/mc/mcreq.c +983 -0
- data/ext/libcouchbase/src/mc/mcreq.h +1015 -0
- data/ext/libcouchbase/src/mcserver/mcserver.cc +1055 -0
- data/ext/libcouchbase/src/mcserver/mcserver.h +221 -0
- data/ext/libcouchbase/src/mcserver/negotiate.cc +757 -0
- data/ext/libcouchbase/src/mcserver/negotiate.h +128 -0
- data/ext/libcouchbase/src/mctx-helper.h +62 -0
- data/ext/libcouchbase/src/metrics.cc +132 -0
- data/ext/libcouchbase/src/n1ql/ixmgmt.cc +857 -0
- data/ext/libcouchbase/src/n1ql/n1ql-internal.h +22 -0
- data/ext/libcouchbase/src/n1ql/n1ql.cc +830 -0
- data/ext/libcouchbase/src/n1ql/params.cc +260 -0
- data/ext/libcouchbase/src/netbuf/netbuf-defs.h +89 -0
- data/ext/libcouchbase/src/netbuf/netbuf-mblock.h +235 -0
- data/ext/libcouchbase/src/netbuf/netbuf.c +929 -0
- data/ext/libcouchbase/src/netbuf/netbuf.h +452 -0
- data/ext/libcouchbase/src/newconfig.cc +365 -0
- data/ext/libcouchbase/src/nodeinfo.cc +184 -0
- data/ext/libcouchbase/src/operations/cbflush.cc +63 -0
- data/ext/libcouchbase/src/operations/counter.cc +117 -0
- data/ext/libcouchbase/src/operations/durability-cas.cc +251 -0
- data/ext/libcouchbase/src/operations/durability-seqno.cc +170 -0
- data/ext/libcouchbase/src/operations/durability.cc +668 -0
- data/ext/libcouchbase/src/operations/durability_internal.h +306 -0
- data/ext/libcouchbase/src/operations/get.cc +409 -0
- data/ext/libcouchbase/src/operations/observe-seqno.cc +94 -0
- data/ext/libcouchbase/src/operations/observe.cc +367 -0
- data/ext/libcouchbase/src/operations/ping.cc +496 -0
- data/ext/libcouchbase/src/operations/pktfwd.cc +86 -0
- data/ext/libcouchbase/src/operations/remove.cc +84 -0
- data/ext/libcouchbase/src/operations/stats.cc +459 -0
- data/ext/libcouchbase/src/operations/store.cc +358 -0
- data/ext/libcouchbase/src/operations/subdoc.cc +614 -0
- data/ext/libcouchbase/src/operations/touch.cc +84 -0
- data/ext/libcouchbase/src/packetutils.h +388 -0
- data/ext/libcouchbase/src/probes.d +182 -0
- data/ext/libcouchbase/src/rdb/bigalloc.c +225 -0
- data/ext/libcouchbase/src/rdb/bigalloc.h +73 -0
- data/ext/libcouchbase/src/rdb/chunkalloc.c +174 -0
- data/ext/libcouchbase/src/rdb/libcalloc.c +94 -0
- data/ext/libcouchbase/src/rdb/rope.c +419 -0
- data/ext/libcouchbase/src/rdb/rope.h +488 -0
- data/ext/libcouchbase/src/retrychk.cc +113 -0
- data/ext/libcouchbase/src/retryq.cc +458 -0
- data/ext/libcouchbase/src/retryq.h +170 -0
- data/ext/libcouchbase/src/ringbuffer.c +442 -0
- data/ext/libcouchbase/src/ringbuffer.h +100 -0
- data/ext/libcouchbase/src/rnd.cc +61 -0
- data/ext/libcouchbase/src/rnd.h +39 -0
- data/ext/libcouchbase/src/settings.c +125 -0
- data/ext/libcouchbase/src/settings.h +273 -0
- data/ext/libcouchbase/src/sllist-inl.h +197 -0
- data/ext/libcouchbase/src/sllist.h +76 -0
- data/ext/libcouchbase/src/ssl/CMakeLists.txt +11 -0
- data/ext/libcouchbase/src/ssl/ssl_c.c +442 -0
- data/ext/libcouchbase/src/ssl/ssl_common.c +478 -0
- data/ext/libcouchbase/src/ssl/ssl_e.c +421 -0
- data/ext/libcouchbase/src/ssl/ssl_iot_common.h +182 -0
- data/ext/libcouchbase/src/strcodecs/base64.c +307 -0
- data/ext/libcouchbase/src/strcodecs/strcodecs.h +302 -0
- data/ext/libcouchbase/src/timings.c +207 -0
- data/ext/libcouchbase/src/trace.h +117 -0
- data/ext/libcouchbase/src/tracing/span.cc +421 -0
- data/ext/libcouchbase/src/tracing/threshold_logging_tracer.cc +213 -0
- data/ext/libcouchbase/src/tracing/tracer.cc +53 -0
- data/ext/libcouchbase/src/tracing/tracing-internal.h +198 -0
- data/ext/libcouchbase/src/utilities.c +176 -0
- data/ext/libcouchbase/src/vbucket/CMakeLists.txt +2 -0
- data/ext/libcouchbase/src/vbucket/aliases.h +35 -0
- data/ext/libcouchbase/src/vbucket/crc32.h +83 -0
- data/ext/libcouchbase/src/vbucket/hash.h +30 -0
- data/ext/libcouchbase/src/vbucket/json-inl.h +112 -0
- data/ext/libcouchbase/src/vbucket/ketama.c +66 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/global.h +32 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5.h +35 -0
- data/ext/libcouchbase/src/vbucket/rfc1321/md5c-inl.h +335 -0
- data/ext/libcouchbase/src/vbucket/vbucket.c +1735 -0
- data/ext/libcouchbase/src/views/docreq.cc +213 -0
- data/ext/libcouchbase/src/views/docreq.h +94 -0
- data/ext/libcouchbase/src/views/viewreq.cc +381 -0
- data/ext/libcouchbase/src/views/viewreq.h +87 -0
- data/ext/libcouchbase/src/wait.cc +156 -0
- data/ext/libcouchbase/tests/CMakeLists.txt +149 -0
- data/ext/libcouchbase/tests/basic/t_base64.cc +109 -0
- data/ext/libcouchbase/tests/basic/t_ccbc103.cc +95 -0
- data/ext/libcouchbase/tests/basic/t_connstr.cc +456 -0
- data/ext/libcouchbase/tests/basic/t_creds.cc +96 -0
- data/ext/libcouchbase/tests/basic/t_ctlcodes.cc +92 -0
- data/ext/libcouchbase/tests/basic/t_host.cc +210 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.cc +82 -0
- data/ext/libcouchbase/tests/basic/t_jsparse.h +589 -0
- data/ext/libcouchbase/tests/basic/t_list.cc +155 -0
- data/ext/libcouchbase/tests/basic/t_logger.cc +65 -0
- data/ext/libcouchbase/tests/basic/t_misc.cc +24 -0
- data/ext/libcouchbase/tests/basic/t_n1qlstrings.cc +17 -0
- data/ext/libcouchbase/tests/basic/t_netbuf.cc +446 -0
- data/ext/libcouchbase/tests/basic/t_packet.cc +215 -0
- data/ext/libcouchbase/tests/basic/t_ringbuffer.cc +278 -0
- data/ext/libcouchbase/tests/basic/t_scram.cc +514 -0
- data/ext/libcouchbase/tests/basic/t_slist.cc +429 -0
- data/ext/libcouchbase/tests/basic/t_strerror.cc +64 -0
- data/ext/libcouchbase/tests/basic/t_urlencode.cc +132 -0
- data/ext/libcouchbase/tests/check-all.cc +612 -0
- data/ext/libcouchbase/tests/htparse/t_basic.cc +173 -0
- data/ext/libcouchbase/tests/ioserver/connection.cc +166 -0
- data/ext/libcouchbase/tests/ioserver/future.cc +50 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/ioserver.h +478 -0
- data/ext/libcouchbase/tests/ioserver/socket.cc +88 -0
- data/ext/libcouchbase/tests/ioserver/ssl_connection.cc +145 -0
- data/ext/libcouchbase/tests/ioserver/threads-pthreads.cc +119 -0
- data/ext/libcouchbase/tests/ioserver/threads-win32.cc +117 -0
- data/ext/libcouchbase/tests/ioserver/threads.h +66 -0
- data/ext/libcouchbase/tests/iotests/iotests.h +15 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.cc +632 -0
- data/ext/libcouchbase/tests/iotests/mock-environment.h +480 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.cc +67 -0
- data/ext/libcouchbase/tests/iotests/mock-unit-test.h +61 -0
- data/ext/libcouchbase/tests/iotests/serverparams.h +76 -0
- data/ext/libcouchbase/tests/iotests/t_arithmetic.cc +143 -0
- data/ext/libcouchbase/tests/iotests/t_behavior.cc +220 -0
- data/ext/libcouchbase/tests/iotests/t_configcache.cc +117 -0
- data/ext/libcouchbase/tests/iotests/t_confmon.cc +223 -0
- data/ext/libcouchbase/tests/iotests/t_durability.cc +1108 -0
- data/ext/libcouchbase/tests/iotests/t_eerrs.cc +121 -0
- data/ext/libcouchbase/tests/iotests/t_errmap.cc +181 -0
- data/ext/libcouchbase/tests/iotests/t_forward.cc +118 -0
- data/ext/libcouchbase/tests/iotests/t_get.cc +512 -0
- data/ext/libcouchbase/tests/iotests/t_http.cc +438 -0
- data/ext/libcouchbase/tests/iotests/t_iops.cc +175 -0
- data/ext/libcouchbase/tests/iotests/t_lock.cc +274 -0
- data/ext/libcouchbase/tests/iotests/t_misc.cc +777 -0
- data/ext/libcouchbase/tests/iotests/t_mutate.cc +609 -0
- data/ext/libcouchbase/tests/iotests/t_n1ql.cc +270 -0
- data/ext/libcouchbase/tests/iotests/t_netfail.cc +778 -0
- data/ext/libcouchbase/tests/iotests/t_obseqno.cc +156 -0
- data/ext/libcouchbase/tests/iotests/t_regression.cc +321 -0
- data/ext/libcouchbase/tests/iotests/t_sched.cc +87 -0
- data/ext/libcouchbase/tests/iotests/t_serverops.cc +231 -0
- data/ext/libcouchbase/tests/iotests/t_smoke.cc +528 -0
- data/ext/libcouchbase/tests/iotests/t_snappy.cc +316 -0
- data/ext/libcouchbase/tests/iotests/t_subdoc.cc +857 -0
- data/ext/libcouchbase/tests/iotests/t_syncmode.cc +64 -0
- data/ext/libcouchbase/tests/iotests/t_views.cc +417 -0
- data/ext/libcouchbase/tests/iotests/testutil.cc +251 -0
- data/ext/libcouchbase/tests/iotests/testutil.h +163 -0
- data/ext/libcouchbase/tests/mc/mctest.h +119 -0
- data/ext/libcouchbase/tests/mc/pktmaker.h +101 -0
- data/ext/libcouchbase/tests/mc/t_alloc.cc +269 -0
- data/ext/libcouchbase/tests/mc/t_context.cc +100 -0
- data/ext/libcouchbase/tests/mc/t_flush.cc +185 -0
- data/ext/libcouchbase/tests/mc/t_forward.cc +239 -0
- data/ext/libcouchbase/tests/mc/t_ioflush.cc +102 -0
- data/ext/libcouchbase/tests/mc/t_iovcursor.cc +173 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.c +305 -0
- data/ext/libcouchbase/tests/mocksupport/procutil.h +89 -0
- data/ext/libcouchbase/tests/mocksupport/server.c +391 -0
- data/ext/libcouchbase/tests/mocksupport/server.h +72 -0
- data/ext/libcouchbase/tests/mocksupport/timeout.c +69 -0
- data/ext/libcouchbase/tests/nonio_tests.cc +23 -0
- data/ext/libcouchbase/tests/rdb/rdbtest.h +133 -0
- data/ext/libcouchbase/tests/rdb/t_basic.cc +128 -0
- data/ext/libcouchbase/tests/rdb/t_bigalloc.cc +93 -0
- data/ext/libcouchbase/tests/rdb/t_refs.cc +112 -0
- data/ext/libcouchbase/tests/socktests/socktest.cc +344 -0
- data/ext/libcouchbase/tests/socktests/socktest.h +447 -0
- data/ext/libcouchbase/tests/socktests/t_basic.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ctx.cc +73 -0
- data/ext/libcouchbase/tests/socktests/t_manager.cc +159 -0
- data/ext/libcouchbase/tests/socktests/t_putex.cc +256 -0
- data/ext/libcouchbase/tests/socktests/t_read.cc +187 -0
- data/ext/libcouchbase/tests/socktests/t_reentrant.cc +143 -0
- data/ext/libcouchbase/tests/socktests/t_ssl.cc +80 -0
- data/ext/libcouchbase/tests/socktests/t_write.cc +95 -0
- data/ext/libcouchbase/tests/start_mock.bat +15 -0
- data/ext/libcouchbase/tests/start_mock.sh +42 -0
- data/ext/libcouchbase/tests/unit_tests.cc +43 -0
- data/ext/libcouchbase/tests/vbucket/confdata/bad.json +101 -0
- data/ext/libcouchbase/tests/vbucket/confdata/full_25.json +363 -0
- data/ext/libcouchbase/tests/vbucket/confdata/ketama_expected.json +2562 -0
- data/ext/libcouchbase/tests/vbucket/confdata/map_node_present_nodesext_missing_nodes.json +94 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_25.json +90 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_45.json +1 -0
- data/ext/libcouchbase/tests/vbucket/confdata/memd_ketama_config.json +31 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_25.json +291 -0
- data/ext/libcouchbase/tests/vbucket/confdata/terse_30.json +1 -0
- data/ext/libcouchbase/tests/vbucket/t_config.cc +386 -0
- data/ext/libcouchbase/tools/CMakeLists.txt +80 -0
- data/ext/libcouchbase/tools/cbc-handlers.h +636 -0
- data/ext/libcouchbase/tools/cbc-n1qlback.cc +496 -0
- data/ext/libcouchbase/tools/cbc-pillowfight.cc +1230 -0
- data/ext/libcouchbase/tools/cbc-proxy.cc +534 -0
- data/ext/libcouchbase/tools/cbc-subdoc.cc +825 -0
- data/ext/libcouchbase/tools/cbc.cc +1928 -0
- data/ext/libcouchbase/tools/common/histogram.cc +44 -0
- data/ext/libcouchbase/tools/common/histogram.h +23 -0
- data/ext/libcouchbase/tools/common/options.cc +451 -0
- data/ext/libcouchbase/tools/common/options.h +90 -0
- data/ext/libcouchbase/tools/docgen/docgen.h +495 -0
- data/ext/libcouchbase/tools/docgen/loc.h +211 -0
- data/ext/libcouchbase/tools/docgen/placeholders.h +211 -0
- data/ext/libcouchbase/tools/docgen/seqgen.h +122 -0
- data/ext/libcouchbase/tools/extract-packets.rb +110 -0
- data/ext/libcouchbase/tools/linenoise/linenoise.c +1199 -0
- data/ext/libcouchbase/tools/linenoise/linenoise.h +73 -0
- data/lib/mt-libcouchbase/bucket.rb +825 -0
- data/lib/mt-libcouchbase/callbacks.rb +69 -0
- data/lib/mt-libcouchbase/connection.rb +896 -0
- data/lib/mt-libcouchbase/design_docs.rb +92 -0
- data/lib/mt-libcouchbase/error.rb +68 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdbase.rb +23 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdcounter.rb +36 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdendure.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdfts.rb +24 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdget.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdgetreplica.rb +49 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdhttp.rb +58 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdn1ql.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobseqno.rb +33 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdobserve.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstore.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdstoredur.rb +45 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdsubdoc.rb +61 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdverbosity.rb +29 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/cmdviewquery.rb +61 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/contigbuf.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st.rb +15 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st0.rb +23 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st1.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st2.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/create_st3.rb +26 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/crst_u.rb +20 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_st_v.rb +11 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durability_opts_t.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/durabilityopt_sv0.rb +63 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/enums.rb +1007 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/fragbuf.rb +18 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/ftshandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/histogram.rb +34 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/http_request_t.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/keybuf.rb +20 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/multicmd_ctx.rb +30 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/mutation_token.rb +17 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlhandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/n1qlparams.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respbase.rb +29 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respcounter.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respendure.rb +49 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respfts.rb +40 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respget.rb +44 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/resphttp.rb +48 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respmcversion.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respn1ql.rb +41 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobseqno.rb +52 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respobserve.rb +41 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respserverbase.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstats.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstore.rb +32 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respstoredur.rb +38 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respsubdoc.rb +35 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/respviewquery.rb +67 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdentry.rb +22 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/sdspec.rb +31 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/t.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf.rb +22 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/valbuf_u_buf.rb +14 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase/viewhandle.rb +7 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase.rb +1175 -0
- data/lib/mt-libcouchbase/ext/mt-libcouchbase_libuv.rb +22 -0
- data/lib/mt-libcouchbase/ext/tasks.rb +39 -0
- data/lib/mt-libcouchbase/n1ql.rb +80 -0
- data/lib/mt-libcouchbase/query_full_text.rb +147 -0
- data/lib/mt-libcouchbase/query_n1ql.rb +123 -0
- data/lib/mt-libcouchbase/query_view.rb +135 -0
- data/lib/mt-libcouchbase/results_fiber.rb +281 -0
- data/lib/mt-libcouchbase/results_native.rb +220 -0
- data/lib/mt-libcouchbase/subdoc_request.rb +139 -0
- data/lib/mt-libcouchbase/version.rb +5 -0
- data/lib/mt-libcouchbase.rb +40 -0
- data/mt-libcouchbase.gemspec +68 -0
- data/spec/bucket_spec.rb +290 -0
- data/spec/connection_spec.rb +257 -0
- data/spec/design_docs_spec.rb +31 -0
- data/spec/error_spec.rb +26 -0
- data/spec/fts_spec.rb +135 -0
- data/spec/n1ql_spec.rb +260 -0
- data/spec/results_libuv_spec.rb +244 -0
- data/spec/results_native_spec.rb +259 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/design.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/data-0000.cbb +0 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/failover.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/meta.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/seqno.json +1 -0
- data/spec/seed/2016-10-25T043505Z/2016-10-25T043505Z-full/bucket-default/node-127.0.0.1%3A8091/snapshot_markers.json +1 -0
- data/spec/subdoc_spec.rb +192 -0
- data/spec/view_spec.rb +201 -0
- data/windows_build.md +36 -0
- metadata +873 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Keep the entries sorted to reduce the risk for a merge conflict
|
|
2
|
+
*.[ao]
|
|
3
|
+
*.dirstamp
|
|
4
|
+
*.dll
|
|
5
|
+
*.dobj
|
|
6
|
+
*.exe
|
|
7
|
+
*.exp
|
|
8
|
+
*.gcda
|
|
9
|
+
*.gcno
|
|
10
|
+
*.gcov
|
|
11
|
+
*.l[aon]
|
|
12
|
+
*.lib
|
|
13
|
+
*.obj
|
|
14
|
+
*.orig
|
|
15
|
+
*.pdb
|
|
16
|
+
*.profile
|
|
17
|
+
*.sln
|
|
18
|
+
*.swo
|
|
19
|
+
*.swp
|
|
20
|
+
*.vcxproj
|
|
21
|
+
*.vcxproj.filters
|
|
22
|
+
*.vcxproj.user
|
|
23
|
+
*~
|
|
24
|
+
.DS_Store
|
|
25
|
+
._*
|
|
26
|
+
.deps/
|
|
27
|
+
.libs/
|
|
28
|
+
/INSTALL
|
|
29
|
+
/Makefile
|
|
30
|
+
/Makefile.in
|
|
31
|
+
/aclocal.m4
|
|
32
|
+
/autom4te.cache
|
|
33
|
+
/check-all*
|
|
34
|
+
/config.cache
|
|
35
|
+
/config.log
|
|
36
|
+
/config.status
|
|
37
|
+
/config/compile
|
|
38
|
+
/config/config.guess
|
|
39
|
+
/config/config.sub
|
|
40
|
+
/config/depcomp
|
|
41
|
+
/config/install-sh
|
|
42
|
+
/config/ltmain.sh
|
|
43
|
+
/config/missing
|
|
44
|
+
/config/mkinstalldirs
|
|
45
|
+
/config/plugin.ac
|
|
46
|
+
/config/test-driver
|
|
47
|
+
/configure
|
|
48
|
+
/debug/sizes
|
|
49
|
+
/example/db/db
|
|
50
|
+
/example/db/vb
|
|
51
|
+
/example/debug/debug
|
|
52
|
+
/example/instancepool/instancepool
|
|
53
|
+
/example/libeventdirect/eventloop
|
|
54
|
+
/example/mcc/mcc
|
|
55
|
+
/example/minimal/minimal
|
|
56
|
+
/example/observe/observe
|
|
57
|
+
/example/syncmode/syncmode
|
|
58
|
+
/example/yajl/couchview
|
|
59
|
+
filelist.mk
|
|
60
|
+
/gtest-1.*
|
|
61
|
+
/include/libcouchbase/configuration.h
|
|
62
|
+
/libcouchbase*.changes
|
|
63
|
+
/libcouchbase*.deb
|
|
64
|
+
/libcouchbase*.dsc
|
|
65
|
+
/libcouchbase*.rpm
|
|
66
|
+
/libcouchbase*.tar.gz
|
|
67
|
+
/libtool
|
|
68
|
+
/config/m4/libtool.m4
|
|
69
|
+
/config/m4/ltoptions.m4
|
|
70
|
+
/config/m4/ltsugar.m4
|
|
71
|
+
/config/m4/ltversion.m4
|
|
72
|
+
/config/m4/lt~obsolete.m4
|
|
73
|
+
/config/m4/version.m4
|
|
74
|
+
/src/config.h
|
|
75
|
+
/src/config.h.in
|
|
76
|
+
/src/probes.h
|
|
77
|
+
/src/stamp-h1
|
|
78
|
+
/test-suite.log
|
|
79
|
+
/tests/*-test
|
|
80
|
+
/tests/*.log
|
|
81
|
+
/tests/*.trs
|
|
82
|
+
/tests/CouchbaseMock.jar
|
|
83
|
+
/tests/check-all
|
|
84
|
+
/tests/htparse-tests
|
|
85
|
+
/tests/nonio-tests
|
|
86
|
+
/tests/unit-tests
|
|
87
|
+
/tests/mc-tests
|
|
88
|
+
/tests/sock-tests
|
|
89
|
+
/tests/rdb-tests
|
|
90
|
+
/tools/cbc
|
|
91
|
+
/tools/cbc-pillowfight
|
|
92
|
+
/tools/cbc_debug.ilk
|
|
93
|
+
/vc100.idb
|
|
94
|
+
CMakeCache.txt
|
|
95
|
+
CMakeFiles/
|
|
96
|
+
CTestTestfile.cmake
|
|
97
|
+
Project.opensdf
|
|
98
|
+
Project.sdf
|
|
99
|
+
Project.suo
|
|
100
|
+
VERSION
|
|
101
|
+
build/
|
|
102
|
+
cbc-pillowfight.dir/
|
|
103
|
+
cbc.dir/
|
|
104
|
+
cmake_install.cmake
|
|
105
|
+
core*
|
|
106
|
+
couchbase.dir/
|
|
107
|
+
debug/cbc-pillowfight.ilk
|
|
108
|
+
debug/cbc.ilk
|
|
109
|
+
debug/libcouchbase.idb
|
|
110
|
+
debug/libcouchbase.ilk
|
|
111
|
+
ipch/
|
|
112
|
+
lcbutils.dir/
|
|
113
|
+
libcouchbase.opensdf
|
|
114
|
+
libcouchbase.sdf
|
|
115
|
+
libcouchbase.suo
|
|
116
|
+
unit-tests.dir/
|
|
117
|
+
win32/Debug/
|
|
118
|
+
MANIFEST
|
|
119
|
+
doc/public
|
|
120
|
+
doc/internal
|
|
121
|
+
|
|
122
|
+
# Symlinks
|
|
123
|
+
m4
|
|
124
|
+
configure.ac
|
|
125
|
+
Makefile.am
|
|
126
|
+
packaging/distinfo/distinfo.cmake
|
|
127
|
+
packaging/distinfo/MANIFEST
|
|
128
|
+
*.tlog
|
|
129
|
+
*.nupkg
|
|
130
|
+
*.suo
|
|
131
|
+
tests/LOCAL
|
|
132
|
+
inst
|
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
# -*- mode: cmake; cmake-tab-width: 4; indent-tabs-mode: nil -*-
|
|
2
|
+
#
|
|
3
|
+
# libcouchbase
|
|
4
|
+
# Copyright (C) 2013 Couchbase, Inc
|
|
5
|
+
# All rights reserved.
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
|
|
19
|
+
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9)
|
|
20
|
+
# Currently this file is only used for Windows
|
|
21
|
+
|
|
22
|
+
### BEGIN CONFIGURABLES ###
|
|
23
|
+
# These variables can be modified as needed
|
|
24
|
+
|
|
25
|
+
# Couchbase mock path to download
|
|
26
|
+
SET(COUCHBASE_MOCK_VERSION 1.5.19)
|
|
27
|
+
SET(COUCHBASE_MOCK_URL "https://github.com/couchbase/CouchbaseMock/releases/download/${COUCHBASE_MOCK_VERSION}/CouchbaseMock-${COUCHBASE_MOCK_VERSION}.jar")
|
|
28
|
+
project(libcouchbase)
|
|
29
|
+
|
|
30
|
+
OPTION(LCB_NO_TESTS "Disable building of tests" OFF)
|
|
31
|
+
OPTION(LCB_NO_TOOLS "Disable building of additional tools" OFF)
|
|
32
|
+
OPTION(LCB_NO_PLUGINS "Disable the building of IO plugins for external libs" OFF)
|
|
33
|
+
OPTION(LCB_BUILD_LIBEVENT "Build the libevent plugin" ON)
|
|
34
|
+
OPTION(LCB_BUILD_LIBEV "Build the libev plugin (if available)" ON)
|
|
35
|
+
OPTION(LCB_BUILD_LIBUV "Build the libuv plugin (if available)" ON)
|
|
36
|
+
OPTION(LCB_MAINTAINER_MODE "Enables maintainer mode" OFF)
|
|
37
|
+
OPTION(LCB_NO_SSL "Do not compile SSL support" OFF)
|
|
38
|
+
OPTION(LCB_USE_ASAN "Use AddressSanitizer support (Requires Clang)" OFF)
|
|
39
|
+
OPTION(LCB_USE_COVERAGE "Build with code coverage support" OFF)
|
|
40
|
+
OPTION(LCB_USE_ARCHLIBDIR "Use architecture-prefixed library installation directory, if possible" OFF)
|
|
41
|
+
OPTION(LCB_BUILD_EXAMPLES "Build example applications" OFF)
|
|
42
|
+
OPTION(LCB_NO_MOCK "Don't run tests which depend on the mock" OFF)
|
|
43
|
+
OPTION(LCB_BUILD_DTRACE "Build DTrace instrumentation, if available on platform" ON)
|
|
44
|
+
OPTION(LCB_EMBED_PLUGIN_LIBEVENT "Embed the libevent plugin" OFF)
|
|
45
|
+
OPTION(LCB_STATIC_LIBEVENT "Link static libevent (only applicable if EMBED_PLUGIN_LIBEVENT is ON" OFF)
|
|
46
|
+
OPTION(LCB_USE_HDR_HISTOGRAM "Use HdrHistogram for statistics recording" OFF)
|
|
47
|
+
OPTION(LCB_TRACING "Enable builtin tracing" ON)
|
|
48
|
+
OPTION(LCB_INSTALL_HEADERS "Install header files" ON)
|
|
49
|
+
OPTION(LCB_INSTALL_PKGCONFIG "Install pkgconfig/libcouchbase.pc" ON)
|
|
50
|
+
OPTION(LCB_DUMP_PACKETS "Enable dumping network packets on TRACE log level" OFF)
|
|
51
|
+
OPTION(LCB_USE_PROFILER "Build with profiler support (from gperftools)" OFF)
|
|
52
|
+
OPTION(LCB_SKIP_GIT_VERSION "Skip version detection using git" OFF)
|
|
53
|
+
|
|
54
|
+
STRING(TIMESTAMP LCB_BUILD_TIMESTAMP "%Y-%m-%d %H:%M:%S" UTC)
|
|
55
|
+
|
|
56
|
+
### END CONFIGURABLES ###
|
|
57
|
+
IF(MSVC)
|
|
58
|
+
SET(CMAKE_DEBUG_POSTFIX "_d")
|
|
59
|
+
ELSE()
|
|
60
|
+
IF(APPLE)
|
|
61
|
+
SET(CMAKE_MACOSX_RPATH ON)
|
|
62
|
+
ENDIF()
|
|
63
|
+
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
64
|
+
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
65
|
+
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
|
|
66
|
+
IF("${isSystemDir}" STREQUAL "-1")
|
|
67
|
+
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
|
68
|
+
ENDIF("${isSystemDir}" STREQUAL "-1")
|
|
69
|
+
ENDIF()
|
|
70
|
+
|
|
71
|
+
# If building from a configured autotools tree, bail.
|
|
72
|
+
IF(EXISTS ${PROJECT_SOURCE_DIR}/src/config.h)
|
|
73
|
+
MESSAGE(FATAL_ERROR "config.h found in src/. This will break the CMake build. Remove it manually then rerun")
|
|
74
|
+
ENDIF()
|
|
75
|
+
|
|
76
|
+
SET(LCB_GENSRCDIR ${PROJECT_BINARY_DIR}/generated)
|
|
77
|
+
INCLUDE_DIRECTORIES(${LCB_GENSRCDIR})
|
|
78
|
+
SET(LCB_GENINFODIR ${PROJECT_SOURCE_DIR}/packaging/distinfo)
|
|
79
|
+
|
|
80
|
+
INCLUDE(cmake/Modules/GetLibcouchbaseFlags.cmake)
|
|
81
|
+
INCLUDE(cmake/Modules/FindCouchbaseLibevent.cmake)
|
|
82
|
+
INCLUDE(cmake/Modules/FindCouchbaseLibev.cmake)
|
|
83
|
+
INCLUDE(cmake/Modules/FindCouchbaseLibuv.cmake)
|
|
84
|
+
INCLUDE(cmake/Modules/GetPlatformCCInfo.cmake)
|
|
85
|
+
INCLUDE(cmake/Modules/GetVersionInfo.cmake)
|
|
86
|
+
IF (MSVC)
|
|
87
|
+
INCLUDE(cmake/Modules/CopyPDB.cmake)
|
|
88
|
+
ENDIF ()
|
|
89
|
+
INCLUDE(cmake/Modules/DownloadLcbDep.cmake)
|
|
90
|
+
INCLUDE(CheckIncludeFiles)
|
|
91
|
+
INCLUDE(cmake/source_files.cmake)
|
|
92
|
+
|
|
93
|
+
IF(LCB_USE_PROFILER)
|
|
94
|
+
INCLUDE(cmake/Modules/FindProfiler.cmake)
|
|
95
|
+
ENDIF()
|
|
96
|
+
IF(LCB_USE_HDR_HISTOGRAM)
|
|
97
|
+
INCLUDE(cmake/Modules/FindCouchbaseHdrHistogram.cmake)
|
|
98
|
+
ENDIF()
|
|
99
|
+
IF(HDR_HISTOGRAM_FOUND)
|
|
100
|
+
INCLUDE_DIRECTORIES(${HDR_HISTOGRAM_INCLUDES})
|
|
101
|
+
SET(LCB_HDR_HISTOGRAM_LINK "${HDR_HISTOGRAM_LIBRARIES}")
|
|
102
|
+
LIST(APPEND LCB_CORE_SRC "src/hdr_timings.c")
|
|
103
|
+
ELSE()
|
|
104
|
+
SET(LCB_HDR_HISTOGRAM_LINK "")
|
|
105
|
+
LIST(APPEND LCB_CORE_SRC "src/timings.c")
|
|
106
|
+
ENDIF()
|
|
107
|
+
|
|
108
|
+
IF(LIB_INSTALL_DIR)
|
|
109
|
+
SET(CMAKE_INSTALL_LIBDIR "${LIB_INSTALL_DIR}")
|
|
110
|
+
ENDIF()
|
|
111
|
+
IF(NOT LCB_USE_ARCHLIBDIR AND NOT CMAKE_INSTALL_LIBDIR)
|
|
112
|
+
SET(CMAKE_INSTALL_LIBDIR "lib")
|
|
113
|
+
ENDIF()
|
|
114
|
+
INCLUDE(GNUInstallDirs)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
SET(CPACK_PACKAGE_VERSION_MAJOR "${LCB_VERSION_MAJOR}")
|
|
118
|
+
SET(CPACK_PACKAGE_VERSION_MINOR "${LCB_VERSION_MINOR}")
|
|
119
|
+
SET(CPACK_PACKAGE_VERSION_PATCH "${LCB_VERSION_PATCH}")
|
|
120
|
+
IF(NOT CMAKE_BUILD_TYPE)
|
|
121
|
+
SET(CPACK_INSTALL_SCRIPT
|
|
122
|
+
"${PROJECT_SOURCE_DIR}/cmake/Modules/DistScript.cmake")
|
|
123
|
+
ENDIF()
|
|
124
|
+
SET(lcb_package_name "libcouchbase-${LCB_VERSION}_${LCB_CC_STRING}_${LCB_ARCH_STRING}")
|
|
125
|
+
SET(CPACK_PACKAGE_FILE_NAME ${lcb_package_name})
|
|
126
|
+
|
|
127
|
+
IF(WIN32)
|
|
128
|
+
SET(CPACK_GENERATOR "ZIP")
|
|
129
|
+
ELSE()
|
|
130
|
+
SET(CPACK_GENERATOR "TGZ")
|
|
131
|
+
ENDIF()
|
|
132
|
+
|
|
133
|
+
INCLUDE(CPack)
|
|
134
|
+
|
|
135
|
+
CONFIGURE_FILE(
|
|
136
|
+
${PROJECT_SOURCE_DIR}/include/libcouchbase/configuration.h.in
|
|
137
|
+
${LCB_GENSRCDIR}/libcouchbase/configuration.h
|
|
138
|
+
@ONLY)
|
|
139
|
+
|
|
140
|
+
CONFIGURE_FILE(
|
|
141
|
+
${PROJECT_SOURCE_DIR}/cmake/defs.mk.in
|
|
142
|
+
${PROJECT_BINARY_DIR}/defs.mk)
|
|
143
|
+
|
|
144
|
+
CONFIGURE_FILE(
|
|
145
|
+
${PROJECT_SOURCE_DIR}/packaging/dllversion.rc.in
|
|
146
|
+
${PROJECT_BINARY_DIR}/dllversion.rc)
|
|
147
|
+
|
|
148
|
+
SET(NT_REQUIRED_VERSION 0x0600)
|
|
149
|
+
|
|
150
|
+
ADD_DEFINITIONS(-DLIBCOUCHBASE_INTERNAL=1)
|
|
151
|
+
|
|
152
|
+
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
|
153
|
+
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
|
154
|
+
IF(WIN32)
|
|
155
|
+
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
|
156
|
+
ELSE()
|
|
157
|
+
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
|
158
|
+
ENDIF()
|
|
159
|
+
|
|
160
|
+
SET(SOURCE_ROOT ${PROJECT_SOURCE_DIR})
|
|
161
|
+
|
|
162
|
+
IF(WIN32)
|
|
163
|
+
ADD_DEFINITIONS(-DWINVER=${NT_REQUIRED_VERSION})
|
|
164
|
+
ADD_DEFINITIONS(-D_WIN32_WINNT=${NT_REQUIRED_VERSION})
|
|
165
|
+
SET(lcb_plat_includes "${SOURCE_ROOT}/contrib/win32-defs")
|
|
166
|
+
SET(lcb_plat_libs ws2_32.lib dnsapi.lib)
|
|
167
|
+
SET(lcb_plat_objs $<TARGET_OBJECTS:couchbase_iocp>)
|
|
168
|
+
ELSE()
|
|
169
|
+
SET(lcb_plat_libs m)
|
|
170
|
+
IF(NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
|
171
|
+
SET(lcb_plat_libs ${lcb_plat_libs} dl resolv)
|
|
172
|
+
ELSE()
|
|
173
|
+
# BSD _and_ DTrace
|
|
174
|
+
IF(LCB_BUILD_DTRACE)
|
|
175
|
+
SET(lcb_plat_libs ${lcb_plat_libs} elf)
|
|
176
|
+
ENDIF()
|
|
177
|
+
ENDIF()
|
|
178
|
+
IF(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
|
|
179
|
+
SET(lcb_plat_libs ${lcb_plat_libs} nsl socket)
|
|
180
|
+
ENDIF()
|
|
181
|
+
IF(LCB_EMBED_PLUGIN_LIBEVENT)
|
|
182
|
+
SET(lcb_plat_objs ${lcb_plat_objs} $<TARGET_OBJECTS:couchbase_libevent>)
|
|
183
|
+
SET(lcb_plat_libs ${lcb_plat_libs} ${LIBEVENT_LIBRARIES})
|
|
184
|
+
ADD_DEFINITIONS(-DLCB_EMBED_PLUGIN_LIBEVENT)
|
|
185
|
+
ENDIF()
|
|
186
|
+
ENDIF()
|
|
187
|
+
|
|
188
|
+
INCLUDE_DIRECTORIES(BEFORE ${SOURCE_ROOT}/include
|
|
189
|
+
${SOURCE_ROOT}/contrib
|
|
190
|
+
${SOURCE_ROOT}/contrib/cbsasl/include
|
|
191
|
+
${SOURCE_ROOT}/src
|
|
192
|
+
${lcb_plat_includes}
|
|
193
|
+
${SOURCE_ROOT})
|
|
194
|
+
|
|
195
|
+
# These files are bundled in a static library.
|
|
196
|
+
# They export no symbols of their own and may
|
|
197
|
+
# be considered as 'static'
|
|
198
|
+
|
|
199
|
+
ADD_LIBRARY(couchbase_utils OBJECT ${LCB_UTILS_SRC})
|
|
200
|
+
|
|
201
|
+
MACRO(LCB_UTIL tgt)
|
|
202
|
+
SET_TARGET_PROPERTIES(${tgt}
|
|
203
|
+
PROPERTIES
|
|
204
|
+
COMPILE_FLAGS "${LCB_CORE_CFLAGS}"
|
|
205
|
+
POSITION_INDEPENDENT_CODE TRUE)
|
|
206
|
+
ENDMACRO()
|
|
207
|
+
|
|
208
|
+
MACRO(LCB_CXXUTIL tgt)
|
|
209
|
+
SET_TARGET_PROPERTIES(${tgt}
|
|
210
|
+
PROPERTIES
|
|
211
|
+
COMPILE_FLAGS "${LCB_CORE_CXXFLAGS}"
|
|
212
|
+
POSITION_INDEPENDENT_CODE TRUE)
|
|
213
|
+
ENDMACRO()
|
|
214
|
+
|
|
215
|
+
ADD_LIBRARY(netbuf OBJECT ${LCB_NETBUF_SRC})
|
|
216
|
+
ADD_LIBRARY(netbuf-malloc OBJECT ${LCB_NETBUF_SRC})
|
|
217
|
+
ADD_LIBRARY(mcreq OBJECT ${LCB_MC_SRC})
|
|
218
|
+
ADD_LIBRARY(mcreq-cxx OBJECT ${LCB_MC_CXXSRC})
|
|
219
|
+
ADD_LIBRARY(rdb OBJECT ${LCB_RDB_SRC})
|
|
220
|
+
ADD_LIBRARY(lcbio OBJECT ${LCB_IO_SRC})
|
|
221
|
+
ADD_LIBRARY(lcbio-cxx OBJECT ${LCB_IO_CXXSRC})
|
|
222
|
+
ADD_LIBRARY(lcbht OBJECT ${LCB_HT_SRC})
|
|
223
|
+
ADD_LIBRARY(lcbcore OBJECT ${LCB_CORE_SRC})
|
|
224
|
+
ADD_LIBRARY(lcbcore-cxx OBJECT ${LCB_CORE_CXXSRC})
|
|
225
|
+
|
|
226
|
+
SET_TARGET_PROPERTIES(netbuf-malloc PROPERTIES COMPILE_DEFINITIONS NETBUF_LIBC_PROXY=1)
|
|
227
|
+
LCB_UTIL(netbuf-malloc)
|
|
228
|
+
LCB_UTIL(netbuf)
|
|
229
|
+
LCB_UTIL(rdb)
|
|
230
|
+
LCB_UTIL(lcbio)
|
|
231
|
+
LCB_CXXUTIL(lcbio-cxx)
|
|
232
|
+
LCB_UTIL(couchbase_utils)
|
|
233
|
+
LCB_UTIL(mcreq)
|
|
234
|
+
LCB_CXXUTIL(mcreq-cxx)
|
|
235
|
+
LCB_UTIL(lcbht)
|
|
236
|
+
LCB_UTIL(lcbcore)
|
|
237
|
+
LCB_CXXUTIL(lcbcore-cxx)
|
|
238
|
+
|
|
239
|
+
IF(LCB_NO_SSL)
|
|
240
|
+
MESSAGE(STATUS "SSL support will be disabled")
|
|
241
|
+
ADD_DEFINITIONS(-DLCB_NO_SSL=1)
|
|
242
|
+
ELSE()
|
|
243
|
+
IF(NOT OPENSSL_FOUND)
|
|
244
|
+
# When building under Couchbase Server we've already detected
|
|
245
|
+
# and set the appropriate OpenSSL variables
|
|
246
|
+
IF(APPLE)
|
|
247
|
+
IF(NOT OpenSSL_DIR)
|
|
248
|
+
EXECUTE_PROCESS(COMMAND brew --prefix openssl
|
|
249
|
+
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
|
|
250
|
+
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
251
|
+
MESSAGE(STATUS "Found OpenSSL Prefix: ${OPENSSL_ROOT_DIR}")
|
|
252
|
+
ENDIF()
|
|
253
|
+
ENDIF()
|
|
254
|
+
FIND_PACKAGE(OpenSSL)
|
|
255
|
+
ENDIF(NOT OPENSSL_FOUND)
|
|
256
|
+
|
|
257
|
+
IF(OPENSSL_FOUND)
|
|
258
|
+
MESSAGE(STATUS "SSL Found")
|
|
259
|
+
ELSE()
|
|
260
|
+
MESSAGE(STATUS "SSL Not Found. SSL support will be disabled")
|
|
261
|
+
ADD_DEFINITIONS(-DLCB_NO_SSL=1)
|
|
262
|
+
ENDIF()
|
|
263
|
+
ENDIF()
|
|
264
|
+
|
|
265
|
+
ADD_SUBDIRECTORY(src/vbucket)
|
|
266
|
+
ADD_SUBDIRECTORY(contrib/cbsasl)
|
|
267
|
+
ADD_SUBDIRECTORY(contrib/cliopts)
|
|
268
|
+
ADD_SUBDIRECTORY(src/ssl)
|
|
269
|
+
ADD_SUBDIRECTORY(contrib/lcb-jsoncpp)
|
|
270
|
+
ADD_SUBDIRECTORY(contrib/snappy)
|
|
271
|
+
IF(LCB_BUILD_EXAMPLES)
|
|
272
|
+
ADD_SUBDIRECTORY(example)
|
|
273
|
+
ENDIF()
|
|
274
|
+
|
|
275
|
+
IF(LCB_BUILD_STATIC)
|
|
276
|
+
SET(_lcb_linkspec STATIC)
|
|
277
|
+
ELSE()
|
|
278
|
+
SET(_lcb_linkspec SHARED)
|
|
279
|
+
ENDIF()
|
|
280
|
+
|
|
281
|
+
# CMake configuration
|
|
282
|
+
IF(NOT WIN32 AND LCB_BUILD_DTRACE)
|
|
283
|
+
INCLUDE(cmake/Modules/ConfigureDtrace.cmake)
|
|
284
|
+
ENDIF()
|
|
285
|
+
|
|
286
|
+
FILE(GLOB LCB_JSPARSE_SRC src/jsparse/*.cc)
|
|
287
|
+
ADD_LIBRARY(lcb_jsparse OBJECT ${LCB_JSPARSE_SRC})
|
|
288
|
+
LCB_CXXUTIL(lcb_jsparse)
|
|
289
|
+
|
|
290
|
+
INCLUDE_DIRECTORIES(contrib/snappy)
|
|
291
|
+
|
|
292
|
+
SET(LCB_CORE_OBJS
|
|
293
|
+
$<TARGET_OBJECTS:couchbase_select>
|
|
294
|
+
$<TARGET_OBJECTS:couchbase_utils>
|
|
295
|
+
$<TARGET_OBJECTS:vbucket-lcb>
|
|
296
|
+
$<TARGET_OBJECTS:mcreq>
|
|
297
|
+
$<TARGET_OBJECTS:mcreq-cxx>
|
|
298
|
+
$<TARGET_OBJECTS:netbuf>
|
|
299
|
+
$<TARGET_OBJECTS:cbsasl-lcb>
|
|
300
|
+
$<TARGET_OBJECTS:lcbio>
|
|
301
|
+
$<TARGET_OBJECTS:lcbio-cxx>
|
|
302
|
+
$<TARGET_OBJECTS:rdb>
|
|
303
|
+
$<TARGET_OBJECTS:lcbht>
|
|
304
|
+
$<TARGET_OBJECTS:lcbcore>
|
|
305
|
+
$<TARGET_OBJECTS:lcbcore-cxx>
|
|
306
|
+
$<TARGET_OBJECTS:lcb_jsparse>
|
|
307
|
+
$<TARGET_OBJECTS:lcb_jsoncpp>
|
|
308
|
+
$<TARGET_OBJECTS:lcb_snappy>
|
|
309
|
+
${LCB_DTRACE_OBJECT}
|
|
310
|
+
${lcb_plat_objs}
|
|
311
|
+
${lcb_ssl_objs})
|
|
312
|
+
|
|
313
|
+
ADD_LIBRARY(couchbaseS STATIC ${LCB_CORE_OBJS})
|
|
314
|
+
ADD_LIBRARY(couchbase ${_lcb_linkspec} ${LCB_CORE_OBJS} ${PROJECT_BINARY_DIR}/dllversion.rc)
|
|
315
|
+
|
|
316
|
+
# For DTrace implementations which need to gain access to all the *.o files first
|
|
317
|
+
# we need to hook the linker command to a custom perl script which will intercept
|
|
318
|
+
# the object files passed to the linker, run dtrace on them, and inject the generated
|
|
319
|
+
# object into the linker commandline. This is a bit fragile but we don't officially
|
|
320
|
+
# support any of these platforms anyway
|
|
321
|
+
IF(LCB_DTRACE_INSTRO)
|
|
322
|
+
SET(_lcb_linkhook "${PROJECT_SOURCE_DIR}/cmake/dtrace-instr-link.pl ${LCB_DTRACE_SRC}")
|
|
323
|
+
SET_TARGET_PROPERTIES(couchbase PROPERTIES RULE_LAUNCH_LINK ${_lcb_linkhook})
|
|
324
|
+
SET_TARGET_PROPERTIES(couchbaseS PROPERTIES RULE_LAUNCH_LINK ${_lcb_linkhook})
|
|
325
|
+
ENDIF()
|
|
326
|
+
|
|
327
|
+
# This is done to be ABI-compatible with Autotools. On OSX, autotools generates
|
|
328
|
+
# a library with a Compatibility and Current versions of 3.x despite our library
|
|
329
|
+
# actually being versioned at 2.x. To make things worse, autotools also actually
|
|
330
|
+
# provided a _symlink_ of libcouchbase.2.dylib. CMake cannot do this manually
|
|
331
|
+
# and thus we disable the SOVERSION appending when on OS X, and revert to
|
|
332
|
+
# inserting the version information by hand.
|
|
333
|
+
IF(NOT APPLE)
|
|
334
|
+
SET_TARGET_PROPERTIES(couchbase PROPERTIES
|
|
335
|
+
SOVERSION "${LCB_SONAME_MAJOR}" VERSION "${LCB_SONAME_FULL}")
|
|
336
|
+
ELSE()
|
|
337
|
+
SET_TARGET_PROPERTIES(couchbase PROPERTIES
|
|
338
|
+
LINK_FLAGS "-compatibility_version ${LCB_SONAME_MAJOR} -current_version ${LCB_SONAME_FULL}"
|
|
339
|
+
OUTPUT_NAME couchbase.2)
|
|
340
|
+
IF(NOT LCB_BUILD_STATIC)
|
|
341
|
+
ADD_CUSTOM_COMMAND(TARGET couchbase POST_BUILD
|
|
342
|
+
COMMAND rm -f libcouchbase.dylib
|
|
343
|
+
COMMAND ln libcouchbase.2.dylib libcouchbase.dylib
|
|
344
|
+
WORKING_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
345
|
+
INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libcouchbase.dylib
|
|
346
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
347
|
+
ENDIF()
|
|
348
|
+
ENDIF()
|
|
349
|
+
|
|
350
|
+
SET_TARGET_PROPERTIES(couchbase PROPERTIES PREFIX "lib")
|
|
351
|
+
SET_TARGET_PROPERTIES(couchbase PROPERTIES IMPORT_PREFIX "lib")
|
|
352
|
+
SET(LCB_LINK_DEPS ${lcb_plat_libs} ${lcb_ssl_libs} ${LCB_HDR_HISTOGRAM_LINK})
|
|
353
|
+
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
354
|
+
SET(LCB_LINK_DEPS ${LCB_LINK_DEPS} rt)
|
|
355
|
+
ENDIF()
|
|
356
|
+
IF(LIBPROFILER)
|
|
357
|
+
SET(LCB_LINK_DEPS ${LCB_LINK_DEPS} ${LIBPROFILER})
|
|
358
|
+
ENDIF()
|
|
359
|
+
|
|
360
|
+
TARGET_LINK_LIBRARIES(couchbase ${LCB_LINK_DEPS})
|
|
361
|
+
TARGET_LINK_LIBRARIES(couchbaseS ${LCB_LINK_DEPS})
|
|
362
|
+
|
|
363
|
+
ENABLE_TESTING()
|
|
364
|
+
IF(NOT LCB_NO_TESTS)
|
|
365
|
+
ADD_SUBDIRECTORY(tests tests)
|
|
366
|
+
ELSE()
|
|
367
|
+
ADD_TEST(NAME dummytest COMMAND echo "No Tests!")
|
|
368
|
+
ENDIF(NOT LCB_NO_TESTS)
|
|
369
|
+
|
|
370
|
+
IF(NOT LCB_NO_TOOLS)
|
|
371
|
+
ADD_SUBDIRECTORY(tools tools)
|
|
372
|
+
ENDIF(NOT LCB_NO_TOOLS)
|
|
373
|
+
|
|
374
|
+
# Always add this file, as we need the headers for this!
|
|
375
|
+
ADD_SUBDIRECTORY(plugins/io/libuv)
|
|
376
|
+
IF(NOT LCB_NO_PLUGINS AND LCB_BUILD_LIBUV)
|
|
377
|
+
ENDIF()
|
|
378
|
+
|
|
379
|
+
IF(NOT LCB_NO_PLUGINS AND NOT WIN32)
|
|
380
|
+
IF(LCB_BUILD_LIBEVENT)
|
|
381
|
+
ADD_SUBDIRECTORY(plugins/io/libevent)
|
|
382
|
+
ENDIF()
|
|
383
|
+
IF(LCB_BUILD_LIBEV)
|
|
384
|
+
ADD_SUBDIRECTORY(plugins/io/libev)
|
|
385
|
+
ENDIF()
|
|
386
|
+
IF(NOT (HAVE_LIBEV OR HAVE_LIBEVENT))
|
|
387
|
+
MESSAGE(FATAL_ERROR
|
|
388
|
+
"libev or libevent development files missing.
|
|
389
|
+
You can disable these dependencies by passing
|
|
390
|
+
-DLCB_NO_PLUGINS=1 to Cmake, or
|
|
391
|
+
--disable-plugins to the configure script")
|
|
392
|
+
ENDIF()
|
|
393
|
+
ENDIF()
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
IF(LCB_MAINTAINER_MODE)
|
|
397
|
+
IF(NOT (HAVE_LIBEV AND HAVE_LIBEVENT AND HAVE_LIBUV))
|
|
398
|
+
MESSAGE(FATAL_ERROR "Maintainer mode requires all plugins to be present")
|
|
399
|
+
ENDIF()
|
|
400
|
+
ENDIF()
|
|
401
|
+
|
|
402
|
+
ADD_SUBDIRECTORY(plugins/io/select)
|
|
403
|
+
ADD_SUBDIRECTORY(plugins/io/iocp)
|
|
404
|
+
INSTALL(TARGETS couchbase
|
|
405
|
+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
406
|
+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
407
|
+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
408
|
+
|
|
409
|
+
IF(LCB_INSTALL_HEADERS)
|
|
410
|
+
INSTALL(DIRECTORY include/libcouchbase ${LCB_GENSRCDIR}/libcouchbase
|
|
411
|
+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
412
|
+
FILES_MATCHING PATTERN *.h PATTERN *.c)
|
|
413
|
+
ENDIF()
|
|
414
|
+
|
|
415
|
+
INSTALL(DIRECTORY doc/man/ DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 FILES_MATCHING PATTERN *.1)
|
|
416
|
+
INSTALL(DIRECTORY doc/man/ DESTINATION ${CMAKE_INSTALL_MANDIR}/man4 FILES_MATCHING PATTERN *.4)
|
|
417
|
+
|
|
418
|
+
IF(MSVC)
|
|
419
|
+
INSTALL_PDBS(couchbase)
|
|
420
|
+
ENDIF()
|
|
421
|
+
|
|
422
|
+
SET(_lcb_tarname "libcouchbase-${LCB_VERSION}")
|
|
423
|
+
SET(_lcb_manifest "${LCB_GENINFODIR}/MANIFEST")
|
|
424
|
+
|
|
425
|
+
# pkg-config stuff goes with installation
|
|
426
|
+
IF(NOT WIN32 AND LCB_INSTALL_PKGCONFIG)
|
|
427
|
+
CONFIGURE_FILE(packaging/libcouchbase.pc.in packaging/libcouchbase.pc @ONLY)
|
|
428
|
+
INSTALL(FILES ${PROJECT_BINARY_DIR}/packaging/libcouchbase.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
|
429
|
+
ENDIF()
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
ADD_CUSTOM_TARGET(uninstall
|
|
433
|
+
COMMAND xargs rm -vf < ${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt)
|
|
434
|
+
|
|
435
|
+
ADD_CUSTOM_TARGET(file_manifest
|
|
436
|
+
COMMAND sh -c 'test -e ${_lcb_manifest} || git ls-files > ${_lcb_manifest}'
|
|
437
|
+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
ADD_CUSTOM_TARGET(dist
|
|
441
|
+
COMMAND rm -rf "${_lcb_tarname}"
|
|
442
|
+
COMMAND mkdir "${_lcb_tarname}"
|
|
443
|
+
COMMAND tar -cf - -C ${PROJECT_SOURCE_DIR} -T ${_lcb_manifest} | tar xf - -C "${_lcb_tarname}"
|
|
444
|
+
COMMAND cp -a "${LCB_GENINFODIR}" "${_lcb_tarname}/packaging"
|
|
445
|
+
COMMAND tar -czf "${_lcb_tarname}.tar.gz" "${_lcb_tarname}"
|
|
446
|
+
COMMAND rm -rf "${_lcb_tarname}"
|
|
447
|
+
DEPENDS file_manifest)
|
|
448
|
+
|
|
449
|
+
# Generate our configuration file _after_ we've collected everything
|
|
450
|
+
INCLUDE(cmake/Modules/GenerateConfigDotH.cmake)
|
|
451
|
+
|
|
452
|
+
# Build any local tests/scripts
|
|
453
|
+
IF (EXISTS ${SOURCE_ROOT}/tests/LOCAL)
|
|
454
|
+
ADD_SUBDIRECTORY(${SOURCE_ROOT}/tests/LOCAL)
|
|
455
|
+
ENDIF()
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
In addition to filing bugs, you may contribute by submitting patches to fix bugs in the library. Contributions may be
|
|
4
|
+
submitting to <http://review.couchbase.com>. We use Gerrit as our code review system - and thus submitting a change
|
|
5
|
+
would require an account there. Note that pull requests will not be ignored but will be responded to much quicker once
|
|
6
|
+
they are converted into Gerrit.
|
|
7
|
+
|
|
8
|
+
For something to be accepted into the codebase, it must be formatted properly and have undergone proper testing. While
|
|
9
|
+
there are no formatting guidelines per se, the code should look similar to the existing code within the library.
|
|
10
|
+
|
|
11
|
+
## Branches and Tags
|
|
12
|
+
|
|
13
|
+
Released versions of the library are marked as annotated tags inside the repository.
|
|
14
|
+
|
|
15
|
+
* The `master` branch represents the mainline branch. The master branch typically consists of content going into the
|
|
16
|
+
next release.
|
|
17
|
+
|
|
18
|
+
## Contributing Patches
|
|
19
|
+
|
|
20
|
+
If you wish to contribute a new feature or a bug fix to the library, try to follow the following guidelines to help
|
|
21
|
+
ensure your change gets merged upstream.
|
|
22
|
+
|
|
23
|
+
### Before you begin
|
|
24
|
+
|
|
25
|
+
For any code change, ensure the new code you write looks similar to the code surrounding it. We have no strict code
|
|
26
|
+
style policies, but do request that your code stand out as little as possible from its surrounding neighborhood (unless
|
|
27
|
+
of course your change is stylistic in nature).
|
|
28
|
+
|
|
29
|
+
If your change is going to involve a substantial amount of time or effort, please attempt to discuss it with the project
|
|
30
|
+
developers first who will provide assistance and direction where possible.
|
|
31
|
+
|
|
32
|
+
Additionally, note that the library uses C89 (AKA "ANSI C") with some extensions that are known to work on both GCC and
|
|
33
|
+
Visual Studio for `.c` files, and C++11 for `.cc` files. Please ensure your code conforms to this, unless the new code
|
|
34
|
+
is specific to a given platform.
|
|
35
|
+
|
|
36
|
+
#### For new features
|
|
37
|
+
|
|
38
|
+
Ensure the feature you are adding does not already exist, and think about how this feature may be useful for other
|
|
39
|
+
users. In general less intrusive changes are more likely to be accepted.
|
|
40
|
+
|
|
41
|
+
#### For fixing bugs
|
|
42
|
+
|
|
43
|
+
Ensure the bug you are fixing is actually a bug (and not a usage) error, and that it has not been fixed in a more recent
|
|
44
|
+
version. Please read the release notes as well as the issue tracker to see a list of open and resolved issues.
|
|
45
|
+
|
|
46
|
+
### Code Review
|
|
47
|
+
|
|
48
|
+
#### Signing up on Gerrit
|
|
49
|
+
|
|
50
|
+
Everything that is merged into the library goes through a code review process. The code review process is done via
|
|
51
|
+
[Gerrit](http://review.couchbase.org) (Unfortunately we cannot merge pull requests, though it is fairly simple to
|
|
52
|
+
convert a pull request to gerrit, as seen later. If you know a way to integrate pull requests with Gerrit, please let us
|
|
53
|
+
know).
|
|
54
|
+
|
|
55
|
+
To sign up for a gerrit account, go to http://review.couchbase.org and click on the _Register_ link at the top
|
|
56
|
+
right. Once you've signed in you will need to sign the CLA (Contributor License Agreement) by going you your gerrit
|
|
57
|
+
account page and selecting the _Agreements_ link on the left. When you've done that, be sure to notify us in IRC (at
|
|
58
|
+
_#libcouchbase_) and/or send an email to **matt**AT**couchbase**DOTCOM as you will require manual approval before being
|
|
59
|
+
able to submit a request for change.
|
|
60
|
+
|
|
61
|
+
Once approved, you should add your public SSH key to gerrit.
|
|
62
|
+
|
|
63
|
+
#### Setting up your fork with Gerrit
|
|
64
|
+
|
|
65
|
+
Assuming you have a repository created like so:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
$ git clone git://github.com/couchbase/libcouchbase.git
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
you can simply perform two simple steps to get started with gerrit:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
$ git remote add gerrit ssh://${USERNAME}@review.couchbase.org:29418/libcouchbase
|
|
75
|
+
$ scp -P 29418 ${USERNAME}@review.couchbase.org:hooks/commit-msg .git/hooks
|
|
76
|
+
$ chmod a+x .git/hooks/commit-msg
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The last change is required for annotating each commit message with a special header known as `Change-Id`. This allows
|
|
80
|
+
Gerrit to group together different revisions of the same patch.
|
|
81
|
+
|
|
82
|
+
#### Pushing a changeset
|
|
83
|
+
|
|
84
|
+
Now that you have your change and a gerrit account to push to, you need to upload the change for review. To do so,
|
|
85
|
+
invoke the following incantation:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
$ git push gerrit HEAD:refs/for/master
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Where `gerrit` is the name of the _remote_ added earlier. You may encounter some errors when pushing. The most common
|
|
92
|
+
are:
|
|
93
|
+
|
|
94
|
+
* "You are not authorized to push to this repository". You will get this if your account has not yet been approved.
|
|
95
|
+
* "Missing Change-Id". You need to install the `commit-msg` hook as described above. Note that even once you do this,
|
|
96
|
+
you will need to ensure that any prior commits already have this header - this may be done by doing an interactive
|
|
97
|
+
rebase (e.g. `git rebase -i origin/master` and selecting `reword` for all the commits; which will automatically fill
|
|
98
|
+
in the Change-Id).
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
Once you've pushed your changeset you can add people to review. Currently these are:
|
|
102
|
+
|
|
103
|
+
* Sergey Avseyev
|
|
104
|
+
* Brett Lawson
|
|
105
|
+
* Ellis Breen
|