]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | About |
2 | ----- | |
3 | ||
4 | Ceph Windows support is currently a work in progress. For now, the main focus | |
5 | is the client side, allowing Windows hosts to consume rados, rbd and cephfs | |
6 | resources. | |
7 | ||
8 | Building | |
9 | -------- | |
10 | ||
11 | At the moment, mingw gcc is the only supported compiler for building ceph | |
12 | components for Windows. Support for msvc and clang will be added soon. | |
13 | ||
14 | `win32_build.sh`_ can be used for cross compiling Ceph and its dependencies. | |
15 | It may be called from a Linux environment, including Windows Subsystem for | |
16 | Linux. MSYS2 and CygWin may also work but those weren't tested. | |
17 | ||
18 | .. _win32_build.sh: win32_build.sh | |
19 | ||
20 | The script accepts the following flags: | |
21 | ||
22 | ============ =============================== =============================== | |
23 | Flag Description Default value | |
24 | ============ =============================== =============================== | |
25 | CEPH_DIR The Ceph source code directory. The same as the script. | |
26 | BUILD_DIR The directory where the $CEPH_DIR/build | |
27 | generated artifacts will be | |
28 | placed. | |
29 | DEPS_DIR The directory where the Ceph $CEPH_DIR/build.deps | |
30 | dependencies will be built. | |
31 | NUM_WORKERS The number of workers to use The number of vcpus | |
32 | when building Ceph. available | |
33 | NINJA_BUILD Use Ninja instead of make. | |
34 | CLEAN_BUILD Clean the build directory. | |
35 | SKIP_BUILD Run cmake without actually | |
36 | performing the build. | |
37 | ============ =============================== =============================== | |
38 | ||
39 | Current status | |
40 | -------------- | |
41 | ||
42 | The rados and rbd binaries and libs compile successfully and can be used on | |
43 | Windows, successfully connecting to the cluster and consuming pools. | |
44 | ||
45 | The libraries have to be built statically at the moment. The reason is that | |
46 | there are a few circular library dependencies or unspecified dependencies, | |
47 | which isn't supported when building DLLs. This mostly affects ``cls`` libraries. | |
48 | ||
49 | A significant number of tests from the ``tests`` directory have been port, | |
50 | providing adequate coverage. |