summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/build/docker/msvc2017/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/jaegertracing/thrift/build/docker/msvc2017/README.md')
-rw-r--r--src/jaegertracing/thrift/build/docker/msvc2017/README.md50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/build/docker/msvc2017/README.md b/src/jaegertracing/thrift/build/docker/msvc2017/README.md
new file mode 100644
index 000000000..0c882d747
--- /dev/null
+++ b/src/jaegertracing/thrift/build/docker/msvc2017/README.md
@@ -0,0 +1,50 @@
+# Building Thrift using Docker for Windows
+
+The build image is very large (just under 30GB) so plan accordingly.
+Once Microsoft supports build tools in nano, it should get better.
+
+Install Docker for Windows and switch to Windows container mode.
+
+Pull from docker hub:
+
+ PS C:\> docker pull thrift/thrift-build:msvc2017
+
+or build in a docker for windows environment:
+
+ PS C:\Thrift> docker build -t thrift/thrift-build:msvc2017 -f build\docker\msvc2017\Dockerfile build\
+
+The following directories are used inside the container:
+
+ C:\Build the out-of-tree build directory
+ C:\Install the install target directory
+ C:\Thrift the source tree
+
+You can override these as docker volumes if desired.
+
+### Compiler
+
+To build a portable windows thrift compiler (with a statically linked
+runtime) and get it placed into C:\install:
+
+ docker run -v C:\thrift:C:\thrift^
+ -v C:\install:C:\install^
+ --rm -t thrift/thrift-build:msvc2017^
+ C:\thrift\build\docker\msvc2017\build-compiler.bat
+
+The end result is a portable windows thrift compiler located at
+
+ C:\Install\bin\thrift.exe
+
+If you run it through the [Dependency Walker](http://www.dependencywalker.com/)
+you will see it only depends on KERNEL32.DLL which means the runtime is statically
+linked, so the executable is portable and self-contained. This is how the
+windows thrift compiler is built for each Apache Thrift release.
+
+### Libraries
+
+To build, test everything and get the C++ SDK placed into C:\install:
+
+ docker run -v C:\thrift:C:\thrift^
+ -v C:\install:C:\install^
+ -m 4096 --rm -t thrift/thrift-build:msvc2017^
+ C:\thrift\build\docker\msvc2017\build.bat \ No newline at end of file