summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Anisimov <alexey.anisimov@mongodb.com>2022-02-04 16:37:46 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-04 06:05:41 +0000
commit2a473fa3929f0f7ff9669cb156c3079a7b5b022b (patch)
tree951a98cbb62cc1a3c616bb93aa858f2c88545e35
parent2a871685d0c4883c254ad5f1dccc91e8879de92b (diff)
downloadmongo-2a473fa3929f0f7ff9669cb156c3079a7b5b022b.tar.gz
Import wiredtiger: f76e9e4452ef39d30a5349a2bb411b6db937de96 from branch mongodb-master
ref: 26d6fbf95e..f76e9e4452 for: 5.3.0 WT-8768 Distinguish between hard and soft CMake dependencies in README
-rw-r--r--src/third_party/wiredtiger/cmake/README.md35
-rw-r--r--src/third_party/wiredtiger/import.data2
2 files changed, 20 insertions, 17 deletions
diff --git a/src/third_party/wiredtiger/cmake/README.md b/src/third_party/wiredtiger/cmake/README.md
index 75fa960da6a..b5ee697228a 100644
--- a/src/third_party/wiredtiger/cmake/README.md
+++ b/src/third_party/wiredtiger/cmake/README.md
@@ -6,14 +6,17 @@ To build with CMake we **require** the following dependencies:
* `cmake` : Official CMake install instructions found here: https://cmake.org/install/
* *WiredTiger supports CMake 3.10+*
-* `ninja` : Official ninja install instructions found here: https://ninja-build.org/
-* `python3-dev` : Consult your package management application for installation instructions. This is needed for building with Python support.
-* `swig`: Consult your package management application for installation instructions. This is needed for building with Python support.
-We also strongly suggest the following dependencies are also installed (for improved build times):
+We also suggest the following dependencies are also installed (for improved build times):
+* `ninja` : Official ninja install instructions found here: https://ninja-build.org/
* `ccache` : Official ccache download instructions found here: https://ccache.dev/download.html
+If wanting to compile the Python API, we also require the following dependencies:
+
+* `python3-dev` : Consult your package management application for installation instructions. This is needed for building with Python support.
+* `swig`: Consult your package management application for installation instructions. This is needed for building with Python support.
+
##### Package Manager Instructions
Alternatively you can use your system's package manager to install the dependencies listed above. Depending on the system, the following commands can be run:
@@ -21,7 +24,9 @@ Alternatively you can use your system's package manager to install the dependenc
###### Install commands for Ubuntu & Debian (tested on Ubuntu 18.04)
```bash
-sudo apt-get install cmake cmake-curses-gui
+sudo apt-get install cmake
+# Optional ...
+sudo apt-get install cmake-curses-gui
sudo apt-get install ccache
sudo apt-get install ninja-build
sudo apt-get install python3-dev swig
@@ -30,9 +35,10 @@ sudo apt-get install python3-dev swig
###### Install commands for Mac (using HomeBrew)
```bash
+brew install cmake
+# Optional ...
brew install ninja
brew install ccache
-brew install cmake
brew install python
brew install swig
```
@@ -41,6 +47,7 @@ brew install swig
```bash
choco install cmake
+# Optional ...
choco install ninja
choco install ccache --version=3.7.9
choco install swig
@@ -49,8 +56,6 @@ choco install python --pre
### Building the WiredTiger Library
-> *The below commands are written for Linux and Darwin hosts. Windows instructions coming soon!*
-
Building the WiredTiger library is relatively straightforward. Navigate to the top level of the WiredTiger repository and run the following commands:
###### Configure your build
@@ -58,8 +63,8 @@ Building the WiredTiger library is relatively straightforward. Navigate to the t
```bash
# Create a new directory to run your build from
$ mkdir build && cd build
-# Run the cmake configure step. Note: '-G Ninja' tells CMake to generate a ninja build
-$ cmake -G Ninja ../.
+# Run the cmake configure step. Note: Can optionally pass '-G Ninja' to generate a ninja build.
+$ cmake ../.
...
-- Configuring done
-- Generating done
@@ -70,16 +75,14 @@ $ cmake -G Ninja ../.
###### Run your build
-In the same directory you configured your build, run the `ninja` command to start the build:
+In the same directory you configured your build, run the `make` command to start the build:
```bash
-$ ninja
+$ make
...
[211/211 (100%) 2.464s] Creating library symlink libwiredtiger.so
```
-*Note: Ninja doesn't need a `-j` option; it knows how many cores are available.*
-
###### Configuration Options
There are a number of additional configuration options you can pass to the CMake configuration step. A summary of some important options you will come to know:
@@ -123,14 +126,14 @@ By default CMake will use your default system compiler (`cc`). If you want to us
```bash
$ cd build
-$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/gcc.cmake -G Ninja ../.
+$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/gcc.cmake ../.
```
*Using the Clang Toolchain*
```bash
$ cd build
-$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake -G Ninja ../.
+$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/clang.cmake ../.
```
### Running WiredTiger C Tests
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 6fc8a8ceaba..10afb18dd18 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-master",
- "commit": "26d6fbf95e3dcbaa6d61069fb3f2c44615ae5c5b"
+ "commit": "f76e9e4452ef39d30a5349a2bb411b6db937de96"
}