summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2013-04-30 12:37:06 -0400
committerDan Pasette <dan@10gen.com>2013-06-18 12:40:47 -0400
commit3c4ac58bfdb94f811a624062693a368ae55b013e (patch)
tree2914bc22c3065e85a86ec483039c19300bf926a8
parentdfd3df0648f48017b7b90e3f15f422642b51474f (diff)
downloadmongo-3c4ac58bfdb94f811a624062693a368ae55b013e.tar.gz
Remove post-install dependency on murmurhash3 from client
-rw-r--r--src/SConscript.client2
-rw-r--r--src/mongo/base/SConscript6
-rw-r--r--src/mongo/base/string_data.cpp7
-rw-r--r--src/mongo/base/string_data.h8
4 files changed, 15 insertions, 8 deletions
diff --git a/src/SConscript.client b/src/SConscript.client
index 6bda4927a91..e30c73fcbb4 100644
--- a/src/SConscript.client
+++ b/src/SConscript.client
@@ -92,6 +92,7 @@ clientSourceBasic = [
'mongo/util/trace.cpp',
'mongo/util/util.cpp',
'mongo/util/version.cpp',
+ 'third_party/murmurhash3/MurmurHash3.cpp',
]
clientSourceSasl = ['mongo/client/sasl_client_authenticate_impl.cpp',
@@ -299,6 +300,7 @@ env.Install(
'mongo/base/error_codes.err',
'mongo/db/auth/generate_action_types.py',
'mongo/db/auth/action_types.txt',
+ 'third_party/murmurhash3/MurmurHash3.h',
'#buildscripts/make_archive.py',
clientSourceAll,
clientHeaders,
diff --git a/src/mongo/base/SConscript b/src/mongo/base/SConscript
index a2a001adf4c..725a0f6286f 100644
--- a/src/mongo/base/SConscript
+++ b/src/mongo/base/SConscript
@@ -16,7 +16,11 @@ env.StaticLibrary('base', ['configuration_variable_manager.cpp',
'make_string_vector.cpp',
'parse_number.cpp',
'status.cpp',
- 'string_data.cpp'])
+ 'string_data.cpp',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/third_party/murmurhash3/murmurhash3',
+ ])
env.CppUnitTest('configuration_variable_manager_test',
['configuration_variable_manager_test.cpp'],
diff --git a/src/mongo/base/string_data.cpp b/src/mongo/base/string_data.cpp
index 8a65e30c9fa..31ab21f1144 100644
--- a/src/mongo/base/string_data.cpp
+++ b/src/mongo/base/string_data.cpp
@@ -16,6 +16,7 @@
#include "mongo/base/string_data.h"
#include <ostream>
+#include <third_party/murmurhash3/MurmurHash3.h>
namespace mongo {
@@ -23,4 +24,10 @@ namespace mongo {
return stream.write(value.rawData(), value.size());
}
+ size_t StringData::Hasher::operator() (const StringData& str) const {
+ unsigned out;
+ MurmurHash3_x86_32(str.rawData(), str.size(), 0, &out);
+ return out;
+ }
+
} // namespace mongo
diff --git a/src/mongo/base/string_data.h b/src/mongo/base/string_data.h
index f2285cc5376..3ffbba834e8 100644
--- a/src/mongo/base/string_data.h
+++ b/src/mongo/base/string_data.h
@@ -23,8 +23,6 @@
#include <limits>
#include <string>
-#include <third_party/murmurhash3/MurmurHash3.h>
-
namespace mongo {
using std::string;
@@ -134,11 +132,7 @@ namespace mongo {
* to be consistent across versions.
*/
struct Hasher {
- size_t operator() (const StringData& str) const {
- unsigned out;
- MurmurHash3_x86_32(str.rawData(), str.size(), 0, &out);
- return out;
- }
+ size_t operator() (const StringData& str) const;
};
private: