summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/build/appveyor
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-build.bat35
-rw-r--r--src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-install.bat50
-rw-r--r--src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-test.bat21
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MING-appveyor-build.bat34
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MING-appveyor-install.bat51
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MING-appveyor-test.bat22
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-build.bat59
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-install.bat66
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-test.bat32
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-build.bat48
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-install.bat48
-rw-r--r--src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-test.bat26
-rw-r--r--src/jaegertracing/thrift/build/appveyor/README.md34
-rw-r--r--src/jaegertracing/thrift/build/appveyor/build-libevent.bat37
-rw-r--r--src/jaegertracing/thrift/build/appveyor/build-zlib.bat56
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_banner_apache_thrift.bat24
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_banner_build.bat23
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_banner_install.bat23
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_banner_test.bat23
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_setcompiler.bat63
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_setenv.bat122
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_setgenerator.bat79
-rw-r--r--src/jaegertracing/thrift/build/appveyor/cl_showenv.bat63
-rw-r--r--src/jaegertracing/thrift/build/appveyor/simulate-appveyor.bat35
24 files changed, 1074 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-build.bat b/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-build.bat
new file mode 100644
index 000000000..7f3328714
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-build.bat
@@ -0,0 +1,35 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_build.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+
+SET CMAKEARGS=^
+ -G'%GENERATOR%' ^
+ -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^
+ -DCMAKE_INSTALL_PREFIX=%INSTDIR% ^
+ -DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" ^
+ -DWITH_JAVA=OFF ^
+ -DWITH_PYTHON=OFF
+
+:: -DCMAKE_CXX_EXTENSIONS=ON ^
+:: -DCMAKE_CXX_STANDARD=11 ^
+
+@ECHO ON
+%BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% --target install" || EXIT /B
+@ECHO OFF
diff --git a/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-install.bat b/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-install.bat
new file mode 100644
index 000000000..72712b20e
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-install.bat
@@ -0,0 +1,50 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Appveyor install script for CYGWIN
+:: Installs third party packages we need for a cmake build
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_install.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+CALL cl_showenv.bat || EXIT /B
+
+::
+:: Upgrades cygwin to the latest, if you want...
+::
+:: appveyor DownloadFile "https://cygwin.com/setup-x86_64.exe"
+:: setup-x86_64.exe --quiet-mode --wait --upgrade-also --packages="gcc-g++"
+
+::
+:: Install apt-cyg for package management
+::
+
+%BASH% -lc "wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg && install apt-cyg /bin && rm -f apt-cyg" || EXIT /B
+%BASH% -lc "apt-cyg update" || EXIT /B
+%BASH% -lc "apt-cyg install bison cmake flex gcc-g++ libboost-devel libevent-devel make openssl-devel xz zlib-devel"
+
+::
+:: We need a newer version of cmake, the one cygwin provides is too old
+:: to recognize the version of boost. Luckily there is a pre-release
+:: one available, however cygwin's own setup program has no command line
+:: option to allow access to test packages!
+::
+
+%BASH% -lc "apt-cyg remove cmake"
+%BASH% -lc "cd / && wget http://mirror.clarkson.edu/cygwin/x86_64/release/cmake/cmake-3.13.1-1.tar.xz && tar xJf cmake-3.13.1-1.tar.xz && hash -r && cmake --version"
diff --git a/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-test.bat b/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-test.bat
new file mode 100644
index 000000000..b667f9bb1
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/CYGW-appveyor-test.bat
@@ -0,0 +1,21 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+CD build\appveyor || EXIT /B
+CALL cl_banner_test.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+
+%BASH% -lc "cd %BUILDDIR% && ctest.exe -C %CONFIGURATION% --timeout 300 -VV -E '%DISABLED_TESTS%'" || EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/MING-appveyor-build.bat b/src/jaegertracing/thrift/build/appveyor/MING-appveyor-build.bat
new file mode 100644
index 000000000..eec65f897
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MING-appveyor-build.bat
@@ -0,0 +1,34 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_build.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+
+SET CMAKEARGS=^
+ -G'%GENERATOR%' ^
+ -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^
+ -DCMAKE_INSTALL_PREFIX=%INSTDIR% ^
+ -DCMAKE_MAKE_PROGRAM=/mingw%NORM_PLATFORM%/bin/mingw32-make ^
+ -DCMAKE_C_COMPILER=/mingw%NORM_PLATFORM%/bin/gcc.exe ^
+ -DCMAKE_CXX_COMPILER=/mingw%NORM_PLATFORM%/bin/g++.exe ^
+ -DOPENSSL_ROOT_DIR=/mingw%NORM_PLATFORM% ^
+ -DWITH_PYTHON=OFF
+
+@ECHO ON
+%BASH% -lc "mkdir -p %BUILDDIR% && cd %BUILDDIR% && cmake.exe %SRCDIR% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% --target install" || EXIT /B
+@ECHO OFF
diff --git a/src/jaegertracing/thrift/build/appveyor/MING-appveyor-install.bat b/src/jaegertracing/thrift/build/appveyor/MING-appveyor-install.bat
new file mode 100644
index 000000000..4b5d730fb
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MING-appveyor-install.bat
@@ -0,0 +1,51 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Appveyor install script for MINGW on MSYS2
+:: Installs third party packages we need for a cmake build
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_install.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+CALL cl_showenv.bat || EXIT /B
+
+SET PACKAGES=^
+ --needed -S bison flex make ^
+ mingw-w64-%MINGWPLAT%-boost ^
+ mingw-w64-%MINGWPLAT%-cmake ^
+ mingw-w64-%MINGWPLAT%-libevent ^
+ mingw-w64-%MINGWPLAT%-openssl ^
+ mingw-w64-%MINGWPLAT%-toolchain ^
+ mingw-w64-%MINGWPLAT%-zlib
+
+::mingw-w64-%MINGWPLAT%-qt5 : WAY too large (1GB download!) - tested in cygwin builds anyway
+
+:: the following uninstall and system upgrade was causing issues; appveyor's is relatively new
+:: Remove old packages that no longer exist to avoid an error
+:: %BASH% -lc "pacman --noconfirm --remove libcatgets catgets || true" || EXIT /B
+
+:: Remove incompatible packages 8.2.0-3 and 7.3.0-2 (mingw packaging bugs if you ask me!)
+:: %BASH% -lc "pacman --noconfirm --remove mingw-w64-x86_64-gcc-ada mingw-w64-x86_64-gcc-objc || true" || EXIT /B
+:: %BASH% -lc "pacman --noconfirm --remove mingw-w64-x86_64-gcc-ada mingw-w64-x86_64-gcc-objc || true" || EXIT /B
+
+:: Upgrade things
+:: %BASH% -lc "pacman --noconfirm -Syu %IGNORE%" || EXIT /B
+:: %BASH% -lc "pacman --noconfirm -Su %IGNORE%" || EXIT /B
+::
+%BASH% -lc "pacman --noconfirm %PACKAGES%" || EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/MING-appveyor-test.bat b/src/jaegertracing/thrift/build/appveyor/MING-appveyor-test.bat
new file mode 100644
index 000000000..499c1ff80
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MING-appveyor-test.bat
@@ -0,0 +1,22 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_test.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+
+%BASH% -lc "cd %BUILDDIR% && ctest.exe -C %CONFIGURATION% --timeout 300 -VV -E '%DISABLED_TESTS%'" || EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-build.bat b/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-build.bat
new file mode 100644
index 000000000..3d2bbeed3
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-build.bat
@@ -0,0 +1,59 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_build.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+MKDIR "%BUILDDIR%" || EXIT /B
+CD "%BUILDDIR%" || EXIT /B
+
+:: When libraries cannot be found, things might have been updated
+:: so uncomment this and submit a pull request to see what's there
+:: now...
+:: DIR C:\Libraries
+:: DIR C:\Libraries\boost_1_69_0\lib*
+:: DIR C:\Libraries\boost_1_68_0\lib*
+:: DIR C:\Libraries\boost_1_67_0\lib*
+:: DIR C:\Libraries\boost_1_66_0\lib*
+:: DIR C:\Libraries\boost_1_65_0\lib*
+:: DIR C:\Libraries\boost_1_64_0\lib*
+:: DIR C:\Libraries\boost_1_63_0\lib*
+:: DIR C:\Libraries\boost_1_62_0\lib*
+:: DIR C:\Libraries\boost_1_61_0\lib*
+:: DIR C:\Libraries\boost_1_60_0\lib*
+
+@ECHO ON
+ cmake "%SRCDIR%" ^
+ -G"%GENERATOR%" ^
+ -DBISON_EXECUTABLE=C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_bison.exe ^
+ -DBOOST_ROOT="%BOOST_ROOT%" ^
+ -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ^
+ -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" ^
+ -DCMAKE_BUILD_TYPE="%CONFIGURATION%" ^
+ -DCMAKE_INSTALL_PREFIX="%INSTDIR%" ^
+ -DFLEX_EXECUTABLE=C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_flex.exe ^
+ -DLIBEVENT_ROOT="%WIN3P%\libevent-%LIBEVENT_VERSION%-stable" ^
+ -DOPENSSL_ROOT_DIR="%OPENSSL_ROOT%" ^
+ -DOPENSSL_USE_STATIC_LIBS=OFF ^
+ -DZLIB_LIBRARY="%WIN3P%\zlib-inst\lib\zlib%ZLIB_LIB_SUFFIX%.lib" ^
+ -DZLIB_ROOT="%WIN3P%\zlib-inst" ^
+ -DWITH_PYTHON=%WITH_PYTHON% || EXIT /B
+@ECHO OFF
+
+cmake --build . ^
+ --config "%CONFIGURATION%" ^
+ --target INSTALL || EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-install.bat b/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-install.bat
new file mode 100644
index 000000000..bc4655a76
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-install.bat
@@ -0,0 +1,66 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Appveyor install script for MSVC
+:: Installs (or builds) third party packages we need
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_install.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+CALL cl_showenv.bat || EXIT /B
+MKDIR "%WIN3P%" || EXIT /B
+
+choco feature enable -n allowGlobalConfirmation || EXIT /B
+
+:: Things to install when NOT running in appveyor:
+IF "%APPVEYOR_BUILD_ID%" == "" (
+ cup -y chocolatey || EXIT /B
+ cinst -y curl || EXIT /B
+ cinst -y 7zip || EXIT /B
+ cinst -y python3 || EXIT /B
+ cinst -y openssl.light || EXIT /B
+)
+
+cinst -y jdk8 || EXIT /B
+cinst -y winflexbison3 || EXIT /B
+
+:: zlib - not available through chocolatey
+CD "%APPVEYOR_SCRIPTS%" || EXIT /B
+call build-zlib.bat || EXIT /B
+
+:: libevent - not available through chocolatey
+CD "%APPVEYOR_SCRIPTS%" || EXIT /B
+call build-libevent.bat || EXIT /B
+
+:: python packages (correct path to pip set in cl_setenv.bat)
+pip.exe ^
+ install backports.ssl_match_hostname ^
+ ipaddress ^
+ six ^
+ tornado ^
+ twisted || EXIT /B
+
+cinst -y ghc || EXIT /B
+
+:: Adobe Flex SDK 4.6 for ActionScript
+MKDIR "C:\Adobe\Flex\SDK\4.6" || EXIT /B
+appveyor DownloadFile http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip -FileName C:\Adobe\Flex\SDK\4.6\SDK.zip || EXIT /B
+CD "C:\Adobe\Flex\SDK\4.6" || EXIT /B
+7z x SDK.zip || EXIT /B
+SETX FLEX_HOME "C:\Adobe\Flex\SDK\4.6"
diff --git a/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-test.bat b/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-test.bat
new file mode 100644
index 000000000..35945792a
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MSVC-appveyor-test.bat
@@ -0,0 +1,32 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO ON
+SETLOCAL EnableDelayedExpansion
+CD build\appveyor || EXIT /B
+CALL cl_banner_test.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+CD "%BUILDDIR%" || EXIT /B
+
+DIR C:\libraries
+DIR C:\libraries\boost_1_59_0
+DIR C:\libraries\boost_1_60_0
+DIR C:\libraries\boost_1_62_0
+DIR C:\libraries\boost_1_63_0
+DIR C:\libraries\boost_1_64_0
+
+:: Add directories to the path to find DLLs of third party libraries so tests run properly!
+SET PATH=%BOOST_LIBRARYDIR:/=\%;%OPENSSL_ROOT%\bin;%WIN3P%\zlib-inst\bin;%PATH%
+
+ctest -C %CONFIGURATION% --timeout 300 -VV -E "(%DISABLED_TESTS%)" || EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-build.bat b/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-build.bat
new file mode 100644
index 000000000..44017295e
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-build.bat
@@ -0,0 +1,48 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_build.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+
+SET BASH=C:\msys64\usr\bin\bash
+SET CMAKE=/c/msys64/mingw64/bin/cmake.exe
+
+@ECHO ON
+SET CMAKEARGS=-G\"%GENERATOR%\" ^
+ -DBoost_DEBUG=ON ^
+ -DBoost_NAMESPACE=libboost ^
+ -DBOOST_INCLUDEDIR=%BOOST_INCLUDEDIR% ^
+ -DBOOST_LIBRARYDIR=%BOOST_LIBRARYDIR% ^
+ -DCMAKE_BUILD_TYPE=%CONFIGURATION% ^
+ -DCMAKE_C_COMPILER=gcc.exe ^
+ -DCMAKE_CXX_COMPILER=g++.exe ^
+ -DCMAKE_MAKE_PROGRAM=make.exe ^
+ -DCMAKE_INSTALL_PREFIX=%INSTDIR_MSYS% ^
+ -DLIBEVENT_ROOT=%LIBEVENT_ROOT% ^
+ -DOPENSSL_LIBRARIES=%OPENSSL_LIBRARIES% ^
+ -DOPENSSL_ROOT_DIR=%OPENSSL_ROOT% ^
+ -DOPENSSL_USE_STATIC_LIBS=ON ^
+ -DWITH_BOOST_STATIC=ON ^
+ -DWITH_JAVA=OFF ^
+ -DWITH_LIBEVENT=ON ^
+ -DWITH_PYTHON=%WITH_PYTHON% ^
+ -DWITH_SHARED_LIB=OFF ^
+ -DWITH_STATIC_LIB=ON
+
+%BASH% -lc "mkdir %BUILDDIR_MSYS% && cd %BUILDDIR_MSYS% && %CMAKE% %SRCDIR_MSYS% %CMAKEARGS% && %CMAKE% --build . --config %CONFIGURATION% --target install" || EXIT /B
+@ECHO OFF
diff --git a/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-install.bat b/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-install.bat
new file mode 100644
index 000000000..a818df305
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-install.bat
@@ -0,0 +1,48 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Appveyor install script for MSYS
+:: Installs (or builds) third party packages we need
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_install.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+CALL cl_showenv.bat || EXIT /B
+
+:: We're going to keep boost at a version cmake understands
+SET BOOSTPKG=mingw-w64-x86_64-boost-1.64.0-3-any.pkg.tar.xz
+SET IGNORE=--ignore mingw-w64-x86_64-boost
+
+SET PACKAGES=^
+ --needed -S bison flex make ^
+ mingw-w64-x86_64-cmake ^
+ mingw-w64-x86_64-libevent ^
+ mingw-w64-x86_64-openssl ^
+ mingw-w64-x86_64-toolchain ^
+ mingw-w64-x86_64-zlib
+
+%BASH% -lc "pacman --noconfirm -Syu %IGNORE%" || EXIT /B
+%BASH% -lc "pacman --noconfirm -Su %IGNORE%" || EXIT /B
+%BASH% -lc "pacman --noconfirm %PACKAGES%" || EXIT /B
+
+:: Install a slightly older boost (1.64.0) as cmake 3.10
+:: does not have built-in dependencies for boost 1.66.0 yet
+:: -- this cuts down on build warning output --
+%BASH% -lc "wget http://repo.msys2.org/mingw/x86_64/%BOOSTPKG% && pacman --noconfirm --needed -U %BOOSTPKG% && rm %BOOSTPKG%" || EXIT /B
+
diff --git a/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-test.bat b/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-test.bat
new file mode 100644
index 000000000..0f37ec51f
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/MSYS-appveyor-test.bat
@@ -0,0 +1,26 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+CD build\appveyor || EXIT /B
+CALL cl_banner_test.bat || EXIT /B
+CALL cl_setenv.bat || EXIT /B
+CD "%BUILDDIR%" || EXIT /B
+
+:: randomly fails on mingw; see Jira THRIFT-4106
+SET DISABLED_TESTS=concurrency_test
+
+%BASH% -lc "cd %BUILDDIR_MSYS% && ctest.exe -C %CONFIGURATION% --timeout 300 -VV -E '(%DISABLED_TESTS%)'" || EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/README.md b/src/jaegertracing/thrift/build/appveyor/README.md
new file mode 100644
index 000000000..1a2aa306b
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/README.md
@@ -0,0 +1,34 @@
+<!---
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+# Appveyor Build
+
+Appveyor is capable of building MSVC 2010 through 2015 as well as
+having the latest MSYS2/MinGW 64-bit environment. It has many versions
+of boost and python installed as well. See what appveyor has
+[installed on build workers](https://www.appveyor.com/docs/installed-software/).
+
+We run a matrix build on Appveyor and build the following combinations:
+
+* MinGW x64 (gcc 6.3.0)
+* MSVC 2010 x86, an older boost, an older python
+* MSVC 2015 x86/x64, the latest boost, the latest python
+* MSYS2 x64 (gcc 6.3.0) - this is a work in progress
+
+The Appveyor script takes the first four letters from the PROFILE specified in
+the environment stanza and runs these scripts in order:
+
+????-appveyor-install.bat will install third party libraries and set up the environment
+????-appveyor-build.bat will build with cmake
+????-appveyor-test.bat will run ctest
diff --git a/src/jaegertracing/thrift/build/appveyor/build-libevent.bat b/src/jaegertracing/thrift/build/appveyor/build-libevent.bat
new file mode 100644
index 000000000..64b635b1e
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/build-libevent.bat
@@ -0,0 +1,37 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+SETLOCAL EnableDelayedExpansion
+
+SET URLFILE=libevent-%LIBEVENT_VERSION%-stable.tar.gz
+SET URL=https://github.com/libevent/libevent/releases/download/release-%LIBEVENT_VERSION%-stable/%URLFILE%
+
+:: Download - support running a local build or a build in appveyor
+CD "%WIN3P%" || EXIT /B
+IF "%APPVEYOR_BUILD_ID%" == "" (
+ curl -L -f -o "%URLFILE%" "%URL%"
+) ELSE (
+ appveyor DownloadFile "%URL%"
+)
+7z x "%URLFILE%" -so | 7z x -si -ttar > nul || EXIT /B
+CD "libevent-%LIBEVENT_VERSION%-stable" || EXIT /B
+nmake -f Makefile.nmake static_libs || EXIT /B
+
+:: in libevent 2.0 there is no nmake subdirectory in WIN32-Code, but in 2.1 there is
+mkdir lib || EXIT /B
+move *.lib lib\ || EXIT /B
+move WIN32-Code\event2\* include\event2\ || move WIN32-Code\nmake\event2\* include\event2\ || EXIT /B
+move *.h include\ || EXIT /B
+
+ENDLOCAL
diff --git a/src/jaegertracing/thrift/build/appveyor/build-zlib.bat b/src/jaegertracing/thrift/build/appveyor/build-zlib.bat
new file mode 100644
index 000000000..9195726d5
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/build-zlib.bat
@@ -0,0 +1,56 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+SETLOCAL EnableDelayedExpansion
+
+SET PACKAGE=zlib-%ZLIB_VERSION%
+SET BUILDDIR=%WIN3P%\zlib-build
+SET INSTDIR=%WIN3P%\zlib-inst
+SET SRCDIR=%WIN3P%\%PACKAGE%
+SET URLFILE=%PACKAGE%.tar.gz
+
+:: This allows us to tolerate when the current version is archived
+SET URL=http://zlib.net/%URLFILE%
+SET FURL=http://zlib.net/fossils/%URLFILE%
+
+:: Download - support running a local build or a build in appveyor
+CD "%WIN3P%" || EXIT /B
+IF "%APPVEYOR_BUILD_ID%" == "" (
+ curl -L -f -o "%URLFILE%" "%URL%"
+ IF ERRORLEVEL 1 (
+ curl -L -f -o "%URLFILE%" "%FURL%"
+ )
+) ELSE (
+ appveyor DownloadFile "%URL%"
+ IF ERRORLEVEL 1 (
+ appveyor DownloadFile "%FURL%" || EXIT /B
+ )
+)
+7z x "%URLFILE%" -so | 7z x -si -ttar > nul || EXIT /B
+
+:: Generate
+MKDIR "%BUILDDIR%" || EXIT /B
+CD "%BUILDDIR%" || EXIT /B
+cmake "%SRCDIR%" ^
+ -G"NMake Makefiles" ^
+ -DCMAKE_INSTALL_PREFIX="%INSTDIR%" ^
+ -DCMAKE_BUILD_TYPE="%CONFIGURATION%" || EXIT /B
+
+:: Build
+nmake /fMakefile install || EXIT /B
+IF "%CONFIGURATION%" == "Debug" (
+ COPY "%BUILDDIR%\zlibd.pdb" "%INSTDIR%\bin\" || EXIT /B
+)
+
+ENDLOCAL
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_banner_apache_thrift.bat b/src/jaegertracing/thrift/build/appveyor/cl_banner_apache_thrift.bat
new file mode 100644
index 000000000..78f2a2aab
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_banner_apache_thrift.bat
@@ -0,0 +1,24 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+:: A visual indicator in a large log helps you locate things when scanning
+:: http://www.patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Apache%20Thrift
+
+ECHO/
+ECHO ___ __ ________ _ _____
+ECHO / _ | ___ ___ _____/ / ___ /_ __/ / ____(_) _/ /_
+ECHO / __ |/ _ \/ _ `/ __/ _ \/ -_) / / / _ \/ __/ / _/ __/
+ECHO /_/ |_/ .__/\_,_/\__/_//_/\__/ /_/ /_//_/_/ /_/_/ \__/
+ECHO /_/
+ECHO/
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_banner_build.bat b/src/jaegertracing/thrift/build/appveyor/cl_banner_build.bat
new file mode 100644
index 000000000..60272f335
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_banner_build.bat
@@ -0,0 +1,23 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+:: A visual indicator in a large log helps you locate things when scanning
+:: http://www.patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Build
+
+ECHO/
+ECHO ___ _ __ __
+ECHO / _ )__ __(_) /__/ /
+ECHO / _ / // / / / _ / @@@ BUILD
+ECHO /____/\_,_/_/_/\_,_/
+ECHO/
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_banner_install.bat b/src/jaegertracing/thrift/build/appveyor/cl_banner_install.bat
new file mode 100644
index 000000000..fde3da21a
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_banner_install.bat
@@ -0,0 +1,23 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+:: A visual indicator in a large log helps you locate things when scanning
+:: http://www.patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Install
+
+ECHO/
+ECHO ____ __ ____
+ECHO / _/__ ___ / /____ _/ / /
+ECHO _/ // _ \(_-^</ __/ _ \/ / / @@@ INSTALL
+ECHO /___/_//_/___/\__/\_,_/_/_/
+ECHO/
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_banner_test.bat b/src/jaegertracing/thrift/build/appveyor/cl_banner_test.bat
new file mode 100644
index 000000000..44e2d1077
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_banner_test.bat
@@ -0,0 +1,23 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+:: A visual indicator in a large log helps you locate things when scanning
+:: http://www.patorjk.com/software/taag/#p=display&f=Small%20Slant&t=Test
+
+ECHO/
+ECHO ______ __
+ECHO /_ __/__ ___ / /_
+ECHO / / / -_^|_-^</ __/ @@@ TEST
+ECHO /_/ \__/___/\__/
+ECHO/
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_setcompiler.bat b/src/jaegertracing/thrift/build/appveyor/cl_setcompiler.bat
new file mode 100644
index 000000000..733ffc538
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_setcompiler.bat
@@ -0,0 +1,63 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Detect the compiler edition we're building in.
+:: Set the COMPILER environment variable to one of:
+:: gcc = MinGW / MSYS2 and gcc toolchain
+:: vc100 = Visual Studio 2010
+:: vc110 = Visual Studio 2012
+:: vc120 = Visual Studio 2013
+:: vc140 = Visual Studio 2015
+:: vc141 = Visual Studio 2017
+::
+:: Honors any existing COMPILER environment variable
+:: setting instead of overwriting it, to allow it
+:: to be forced if needed.
+::
+:: Sets ERRORLEVEL to 0 if COMPILER can be determined,
+:: to 1 if it cannot.
+::
+
+IF DEFINED COMPILER (
+ ECHO [warn ] using existing environment variable COMPILER
+ EXIT /B 0
+)
+
+IF NOT "%PROFILE:~0,4%" == "MSVC" (
+ SET COMPILER=gcc
+) ELSE (
+ CALL :CHECK 16
+ IF !ERRORLEVEL! == 0 (SET COMPILER=vc100)
+ CALL :CHECK 17
+ IF !ERRORLEVEL! == 0 (SET COMPILER=vc110)
+ CALL :CHECK 18
+ IF !ERRORLEVEL! == 0 (SET COMPILER=vc120)
+ CALL :CHECK 19.0
+ IF !ERRORLEVEL! == 0 (SET COMPILER=vc140)
+ CALL :CHECK 19.1
+ IF !ERRORLEVEL! == 0 (SET COMPILER=vc141)
+)
+
+IF NOT DEFINED COMPILER (
+ ECHO [error] unable to determine the compiler edition
+ EXIT /B 1
+)
+
+ECHO [info ] detected compiler edition %COMPILER%
+EXIT /B 0
+
+:CHECK
+cl /? 2>&1 | findstr /C:"Version %1%" > nul
+EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_setenv.bat b/src/jaegertracing/thrift/build/appveyor/cl_setenv.bat
new file mode 100644
index 000000000..98931a603
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_setenv.bat
@@ -0,0 +1,122 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+@ECHO OFF
+
+IF "%PROFILE%" == "MSVC2012" (
+ CALL "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" %PLATFORM%
+) ELSE IF "%PROFILE%" == "MSVC2013" (
+ CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %PLATFORM%
+) ELSE IF "%PROFILE%" == "MSVC2015" (
+ CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PLATFORM%
+) ELSE IF "%PROFILE%" == "MSVC2017" (
+ CALL :SETUPNEWERMSVC || EXIT /B
+) ELSE IF "%PROFILE%" == "MINGW" (
+ REM Supported, nothing special to do here.
+) ELSE IF "%PROFILE%" == "CYGWIN" (
+ REM Supported, nothing special to do here.
+) ELSE (
+ ECHO Unsupported PROFILE=%PROFILE% or PLATFORM=%PLATFORM%
+ EXIT /B 1
+)
+
+CALL cl_setcompiler.bat || EXIT /B
+CALL cl_setgenerator.bat || EXIT /B
+
+SET APPVEYOR_SCRIPTS=%APPVEYOR_BUILD_FOLDER%\build\appveyor
+SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM%
+SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\..\build\%PROFILE%\%PLATFORM%
+SET SRCDIR=%APPVEYOR_BUILD_FOLDER%
+
+:: PLATFORM is x64 or x86
+:: NORM_PLATFORM is 64 or 32
+SET NORM_PLATFORM=%PLATFORM:~-2,2%
+IF "%NORM_PLATFORM%" == "86" (SET NORM_PLATFORM=32)
+
+IF "%PROFILE:~0,4%" == "MSVC" (
+
+ :: FindBoost needs forward slashes so cmake doesn't see something as an escaped character
+ SET BOOST_ROOT=C:/Libraries/boost_%BOOST_VERSION:.=_%
+ SET BOOST_LIBRARYDIR=!BOOST_ROOT!/lib%NORM_PLATFORM%-msvc-%COMPILER:~-3,2%.%COMPILER:~-1,1%
+ SET OPENSSL_ROOT=C:\OpenSSL-Win%NORM_PLATFORM%
+ SET WIN3P=%APPVEYOR_BUILD_FOLDER%\thirdparty
+
+ IF "%PYTHON_VERSION%" == "" (
+ SET WITH_PYTHON=OFF
+ ) ELSE (
+ SET WITH_PYTHON=ON
+ IF /i "%PLATFORM%" == "x64" SET PTEXT=-x64
+ SET PATH=C:\Python%PYTHON_VERSION:.=%!PTEXT!\scripts;C:\Python%PYTHON_VERSION:.=%!PTEXT!;!PATH!
+ )
+ IF "%CONFIGURATION%" == "Debug" (SET ZLIB_LIB_SUFFIX=d)
+
+ IF NOT "%QT_VERSION%" == "" (
+ IF /i "%PLATFORM%" == "x64" SET QTEXT=_64
+ SET PATH=C:\Qt\%QT_VERSION%\%PROFILE%!QTEXT!\bin;!PATH!
+ )
+
+) ELSE IF "%PROFILE:~0,4%" == "MING" (
+
+ :: PLATFORM = x86 means MINGWPLAT i686
+ :: PLATFORM = x64 means MINGWPLAT x86_64
+ SET MINGWPLAT=x86_64
+ IF "%PLATFORM%" == "x86" (SET MINGWPLAT=i686)
+
+ SET BASH=C:\msys64\usr\bin\bash.exe
+ !BASH! -lc "sed -i '/export PATH=\/mingw32\/bin/d' ~/.bash_profile && sed -i '/export PATH=\/mingw64\/bin/d' ~/.bash_profile && echo 'export PATH=/mingw%NORM_PLATFORM%/bin:$PATH' >> ~/.bash_profile" || EXIT /B
+
+ SET BUILDDIR=%BUILDDIR:\=/%
+ SET BUILDDIR=/c!BUILDDIR:~2!
+ SET INSTDIR=%INSTDIR:\=/%
+ SET INSTDIR=/c!INSTDIR:~2!
+ SET SRCDIR=%SRCDIR:\=/%
+ SET SRCDIR=/c!SRCDIR:~2!
+
+) ELSE IF "%PROFILE:~0,4%" == "CYGW" (
+
+ SET CYGWINROOT=C:\cygwin
+ IF "%PLATFORM%" == "x64" (SET CYGWINROOT=!CYGWINROOT!64)
+
+ SET BASH=!CYGWINROOT!\bin\bash.exe
+ SET SETUP=!CYGWINROOT!\setup-x86
+ IF "%PLATFORM%" == "x64" (SET SETUP=!SETUP!_64)
+ SET SETUP=!SETUP!.exe
+
+ SET BUILDDIR=%BUILDDIR:\=/%
+ SET BUILDDIR=/cygdrive/c!BUILDDIR:~2!
+ SET INSTDIR=%INSTDIR:\=/%
+ SET INSTDIR_CYG=/cygdrive/c!INSTDIR:~2!
+ SET SRCDIR=%SRCDIR:\=/%
+ SET SRCDIR=/cygdrive/c!SRCDIR:~2!
+
+)
+
+GOTO :EOF
+
+:SETUPNEWERMSVC
+ :: If VsDevCmd.bat has already executed, as is the case in the
+ :: msvc2017 docker container, skip this...
+ IF NOT DEFINED VSCMD_VER (
+ FOR /F "USEBACKQ TOKENS=*" %%i IN (`call "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -version "[15.0,16.0)" -property installationPath`) DO (
+ IF "%MSVCROOT%" == "" (SET MSVCROOT=%%i)
+ )
+ SET MSVCPLAT=x86
+ IF "%PLATFORM%" == "x64" (SET MSVCPLAT=amd64)
+
+ SET CURRENTDIR=%CD%
+ CALL "!MSVCROOT!\Common7\Tools\VsDevCmd.bat" -arch=!MSVCPLAT! || EXIT /B
+ CD %CURRENTDIR%
+ EXIT /B
+ )
+:EOF
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_setgenerator.bat b/src/jaegertracing/thrift/build/appveyor/cl_setgenerator.bat
new file mode 100644
index 000000000..5eb6ff31f
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_setgenerator.bat
@@ -0,0 +1,79 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Detect the compiler edition we're building in and then
+:: set the GENERATOR environment variable to one of:
+::
+:: Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
+:: Optional [arch] can be "Win64" or "ARM".
+:: Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
+:: Optional [arch] can be "Win64" or "ARM".
+:: Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
+:: Optional [arch] can be "Win64" or "ARM".
+:: Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
+:: Optional [arch] can be "Win64" or "ARM".
+:: Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
+:: Optional [arch] can be "Win64" or "IA64".
+:: MinGW Makefiles = Generates makefiles for MinGW
+:: MSYS Makefiles = Generates makefiles for MSYS
+:: Unix Makefiles = Generates makefiles for CYGWIN
+::
+:: Honors any existing GENERATOR environment variable
+:: setting instead of overwriting it, to allow it
+:: to be forced if needed.
+::
+:: Sets ERRORLEVEL to 0 if GENERATOR can be determined,
+:: to 1 if it cannot.
+::
+
+IF DEFINED GENERATOR (
+ ECHO [warn ] using existing environment variable GENERATOR
+ EXIT /B 0
+)
+
+
+IF "%PROFILE:~0,4%" == "MING" (
+ SET GENERATOR=MinGW Makefiles
+
+) ELSE IF "%PROFILE:~0,4%" == "CYGW" (
+ SET GENERATOR=Unix Makefiles
+
+) ELSE IF "%PROFILE:~0,4%" == "MSYS" (
+ SET GENERATOR=MSYS Makefiles
+) ELSE (
+ IF /i "%PLATFORM%" == "x64" SET GENARCH= Win64
+ CALL :CHECK 16
+ IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 10 2010!GENARCH!
+ CALL :CHECK 17
+ IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 11 2012!GENARCH!
+ CALL :CHECK 18
+ IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 12 2013!GENARCH!
+ CALL :CHECK 19.0
+ IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 14 2015!GENARCH!
+ CALL :CHECK 19.1
+ IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 15 2017!GENARCH!
+)
+
+IF NOT DEFINED GENERATOR (
+ ECHO [error] unable to determine the CMake generator to use
+ EXIT /B 1
+)
+
+ECHO [info ] using CMake generator %GENERATOR%
+EXIT /B 0
+
+:CHECK
+cl /? 2>&1 | findstr /C:"Version %1%" > nul
+EXIT /B
diff --git a/src/jaegertracing/thrift/build/appveyor/cl_showenv.bat b/src/jaegertracing/thrift/build/appveyor/cl_showenv.bat
new file mode 100644
index 000000000..a70a4906a
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/cl_showenv.bat
@@ -0,0 +1,63 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+ECHO/
+ECHO ===============================================================================
+IF "%PROFILE:~0,4%" == "MSVC" (
+ECHO Versions
+ECHO -------------------------------------------------------------------------------
+ECHO boost = %BOOST_VERSION%
+ECHO libevent = %LIBEVENT_VERSION%
+ECHO python = %PYTHON_VERSION%
+ECHO qt = %QT_VERSION%
+ECHO zlib = %ZLIB_VERSION%
+ECHO/
+)
+ECHO Appveyor Variables
+ECHO -------------------------------------------------------------------------------
+ECHO APPVEYOR_BUILD_FOLDER = %APPVEYOR_BUILD_FOLDER%
+ECHO CONFIGURATION = %CONFIGURATION%
+ECHO PLATFORM = %PLATFORM%
+ECHO PROFILE = %PROFILE%
+ECHO/
+ECHO Our Variables
+ECHO -------------------------------------------------------------------------------
+ECHO APPVEYOR_SCRIPTS = %APPVEYOR_SCRIPTS%
+ECHO BASH = %BASH%
+ECHO BOOST_ROOT = %BOOST_ROOT%
+ECHO BOOST_INCLUDEDIR = %BOOST_INCLUDEDIR%
+ECHO BOOST_LIBRARYDIR = %BOOST_LIBRARYDIR%
+ECHO BUILDDIR = %BUILDDIR%
+ECHO COMPILER = %COMPILER%
+ECHO GENERATOR = %GENERATOR%
+ECHO INSTDIR = %INSTDIR%
+ECHO JAVA_HOME = %JAVA_HOME%
+ECHO OPENSSL_ROOT = %OPENSSL_ROOT%
+ECHO SETUP = %SETUP%
+ECHO SRCDIR = %SRCDIR%
+ECHO WIN3P = %WIN3P%
+ECHO WITH_PYTHON = %WITH_PYTHON%
+ECHO ZLIB_STATIC_SUFFIX = %ZLIB_STATIC_SUFFIX%
+IF NOT "%PROFILE:~0,4%" == "MSVC" (
+ ECHO/
+ ECHO UNIXy PATH
+ ECHO -------------------------------------------------------------------------------
+ %BASH% -lc "echo $PATH"
+)
+ECHO/
+ECHO Windows PATH
+ECHO -------------------------------------------------------------------------------
+ECHO %PATH%
+ECHO ===============================================================================
+ECHO/
diff --git a/src/jaegertracing/thrift/build/appveyor/simulate-appveyor.bat b/src/jaegertracing/thrift/build/appveyor/simulate-appveyor.bat
new file mode 100644
index 000000000..8674f40b7
--- /dev/null
+++ b/src/jaegertracing/thrift/build/appveyor/simulate-appveyor.bat
@@ -0,0 +1,35 @@
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+::
+:: Helps build thrift by pretending to be appveyor
+:: Usage:
+:: cd build\appveyor
+:: simulate-appveyor.bat [Debug|Release] [x86|x64] [CYGWIN|MINGW|MSVC201?]
+::
+
+@ECHO OFF
+SETLOCAL EnableDelayedExpansion
+
+SET APPVEYOR_BUILD_FOLDER=%~dp0..\..
+SET CONFIGURATION=%1
+SET PLATFORM=%2
+SET PROFILE=%3
+
+CD %APPVEYOR_BUILD_FOLDER%
+CALL build\appveyor\%PROFILE:~0,4%-appveyor-install.bat || EXIT /B
+CD %APPVEYOR_BUILD_FOLDER%
+CALL build\appveyor\%PROFILE:~0,4%-appveyor-build.bat || EXIT /B
+CD %APPVEYOR_BUILD_FOLDER%
+CALL build\appveyor\%PROFILE:~0,4%-appveyor-test.bat