diff options
Diffstat (limited to 'src/jaegertracing/thrift/build/appveyor')
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 |