mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
add jaeger support, link hot container & req span (#840)
* add jaeger support, link hot container & req span * adds jaeger support now with FN_JAEGER_URL, there's a simple tutorial in the operating/metrics.md file now and it's pretty easy to get up and running. * links a hot request span to a hot container span. when we change this to sample at a lower ratio we'll need to finagle the hot container span to always sample or something, otherwise we'll hide that info. at least, since we're sampling at 100% for now if this is flipped on, can see freeze/unfreeze etc. if they hit. this is useful for debugging. note that zipkin's exporter does not follow the link at all, hence jaeger... and they're backed by the Cloud Empire now (CNCF) so we'll probably use it anyway. * vendor: add thrift for jaeger
This commit is contained in:
36
vendor/git.apache.org/thrift.git/build/appveyor/MING-appveyor-build.bat
generated
vendored
Normal file
36
vendor/git.apache.org/thrift.git/build/appveyor/MING-appveyor-build.bat
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
::
|
||||
:: 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_MSYS% ^
|
||||
-DCMAKE_MAKE_PROGRAM=/mingw64/bin/mingw32-make ^
|
||||
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc.exe ^
|
||||
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++.exe ^
|
||||
-DWITH_LIBEVENT=OFF ^
|
||||
-DWITH_PYTHON=OFF ^
|
||||
-DWITH_SHARED_LIB=OFF ^
|
||||
-DWITH_STATIC_LIB=ON
|
||||
|
||||
@ECHO ON
|
||||
%BASH% -lc "mkdir -p %BUILDDIR_MSYS% && cd %BUILDDIR_MSYS% && cmake.exe %SRCDIR_MSYS% %CMAKEARGS% && cmake --build . --config %CONFIGURATION% --target install" || EXIT /B
|
||||
@ECHO OFF
|
||||
21
vendor/git.apache.org/thrift.git/build/appveyor/MING-appveyor-install.bat
generated
vendored
Normal file
21
vendor/git.apache.org/thrift.git/build/appveyor/MING-appveyor-install.bat
generated
vendored
Normal file
@@ -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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Appveyor install script for MinGW
|
||||
:: Installs (or builds) third party packages we need
|
||||
::
|
||||
|
||||
:: Same as the MSYS installation requirements
|
||||
CALL build\appveyor\MSYS-appveyor-install.bat
|
||||
16
vendor/git.apache.org/thrift.git/build/appveyor/MING-appveyor-test.bat
generated
vendored
Normal file
16
vendor/git.apache.org/thrift.git/build/appveyor/MING-appveyor-test.bat
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
|
||||
:: Same as MSYS2
|
||||
CALL build\appveyor\MSYS-appveyor-test.bat
|
||||
47
vendor/git.apache.org/thrift.git/build/appveyor/MSVC-appveyor-build.bat
generated
vendored
Normal file
47
vendor/git.apache.org/thrift.git/build/appveyor/MSVC-appveyor-build.bat
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
::
|
||||
:: 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
|
||||
|
||||
@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%" ^
|
||||
-DCMAKE_BUILD_TYPE="%CONFIGURATION%" ^
|
||||
-DCMAKE_INSTALL_PREFIX="%INSTDIR%" ^
|
||||
-DFLEX_EXECUTABLE=C:\ProgramData\chocolatey\lib\winflexbison3\tools\win_flex.exe ^
|
||||
-DINTTYPES_ROOT="%WIN3P%\msinttypes" ^
|
||||
-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% ^
|
||||
-DWITH_%THREADMODEL%THREADS=ON ^
|
||||
-DWITH_SHARED_LIB=OFF ^
|
||||
-DWITH_STATIC_LIB=ON || EXIT /B
|
||||
@ECHO OFF
|
||||
|
||||
cmake --build . ^
|
||||
--config "%CONFIGURATION%" ^
|
||||
--target INSTALL || EXIT /B
|
||||
72
vendor/git.apache.org/thrift.git/build/appveyor/MSVC-appveyor-install.bat
generated
vendored
Normal file
72
vendor/git.apache.org/thrift.git/build/appveyor/MSVC-appveyor-install.bat
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
::
|
||||
:: 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
|
||||
|
||||
:: Install ant - this also installs the latest JDK as a dependency
|
||||
:: The installation of JDK requires us to pick up PATH and JAVE_HOME from the registry
|
||||
cinst -c "%BUILDCACHE%" -y ant || EXIT /B
|
||||
|
||||
:: Install bison and flex
|
||||
cinst -c "%BUILDCACHE%" -y winflexbison3 || EXIT /B
|
||||
|
||||
:: zlib
|
||||
CD "%APPVEYOR_SCRIPTS%" || EXIT /B
|
||||
call build-zlib.bat || EXIT /B
|
||||
|
||||
:: libevent
|
||||
CD "%APPVEYOR_SCRIPTS%" || EXIT /B
|
||||
call build-libevent.bat || EXIT /B
|
||||
|
||||
:: python packages
|
||||
pip install backports.ssl_match_hostname ^
|
||||
ipaddress ^
|
||||
tornado ^
|
||||
twisted || EXIT /B
|
||||
|
||||
:: msinttypes - for MSVC2010 only
|
||||
SET MSINTTYPESURL=https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/msinttypes/msinttypes-r26.zip
|
||||
IF "%COMPILER%" == "vc100" (
|
||||
MKDIR "%WIN3P%\msinttypes" || EXIT /B
|
||||
CD "%WIN3P%\msinttypes" || EXIT /B
|
||||
appveyor DownloadFile "%MSINTTYPESURL%" || EXIT /B
|
||||
7z x "msinttypes-r26.zip" || EXIT /B
|
||||
)
|
||||
|
||||
:: appveyor build slaves do not have MSVC2010 Boost installed
|
||||
IF "%COMPILER%" == "vc100" (
|
||||
SET BITS=64
|
||||
IF "%PLATFORM%" == "x86" (
|
||||
SET BITS=32
|
||||
)
|
||||
SET BOOSTEXEURL=https://downloads.sourceforge.net/project/boost/boost-binaries/%BOOST_VERSION%/boost_%BOOST_VERSION:.=_%-msvc-10.0-!BITS!.exe
|
||||
SET BOOSTEXE=C:\projects\thrift\buildcache\boost_%BOOST_VERSION:.=_%-msvc-10.0-!BITS!.exe
|
||||
appveyor DownloadFile "!BOOSTEXEURL!" -FileName "!BOOSTEXE!" || EXIT /B
|
||||
"!BOOSTEXE!" /dir=C:\Libraries\boost_%BOOST_VERSION:.=_% /silent || EXIT /B
|
||||
)
|
||||
|
||||
:: Haskell (GHC) and cabal
|
||||
cinst -c "%BUILDCACHE%" -y ghc || EXIT /B
|
||||
25
vendor/git.apache.org/thrift.git/build/appveyor/MSVC-appveyor-test.bat
generated
vendored
Normal file
25
vendor/git.apache.org/thrift.git/build/appveyor/MSVC-appveyor-test.bat
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
::
|
||||
:: 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
|
||||
|
||||
:: Add directories to the path to find DLLs of third party libraries so tests run
|
||||
SET PATH=%BOOST_LIBRARYDIR%;%OPENSSL_ROOT%\bin;%WIN3P%\zlib-inst\bin;%PATH%
|
||||
|
||||
ctest -C %CONFIGURATION% --timeout 300 -VV -E "(%DISABLED_TESTS%)" || EXIT /B
|
||||
47
vendor/git.apache.org/thrift.git/build/appveyor/MSYS-appveyor-build.bat
generated
vendored
Normal file
47
vendor/git.apache.org/thrift.git/build/appveyor/MSYS-appveyor-build.bat
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
::
|
||||
:: 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% ^
|
||||
-DOPENSSL_LIBRARIES=%OPENSSL_LIBRARIES% ^
|
||||
-DOPENSSL_ROOT_DIR=%OPENSSL_ROOT% ^
|
||||
-DOPENSSL_USE_STATIC_LIBS=ON ^
|
||||
-DWITH_BOOST_STATIC=ON ^
|
||||
-DWITH_JAVA=OFF ^
|
||||
-DWITH_LIBEVENT=OFF ^
|
||||
-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
|
||||
41
vendor/git.apache.org/thrift.git/build/appveyor/MSYS-appveyor-install.bat
generated
vendored
Normal file
41
vendor/git.apache.org/thrift.git/build/appveyor/MSYS-appveyor-install.bat
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
::
|
||||
:: 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
|
||||
|
||||
SET PACKAGES=^
|
||||
--needed -S bison flex ^
|
||||
make ^
|
||||
mingw-w64-x86_64-boost ^
|
||||
mingw-w64-x86_64-cmake ^
|
||||
mingw-w64-x86_64-openssl ^
|
||||
mingw-w64-x86_64-toolchain ^
|
||||
mingw-w64-x86_64-zlib
|
||||
|
||||
:: omitting libevent-devel for now it is version 2.1.4 and doesn't play nice with MinGW
|
||||
|
||||
%BASH% -lc "pacman --noconfirm -Syu" || EXIT /B
|
||||
%BASH% -lc "pacman --noconfirm -Su" || EXIT /B
|
||||
%BASH% -lc "pacman --noconfirm %PACKAGES%" || EXIT /B
|
||||
26
vendor/git.apache.org/thrift.git/build/appveyor/MSYS-appveyor-test.bat
generated
vendored
Normal file
26
vendor/git.apache.org/thrift.git/build/appveyor/MSYS-appveyor-test.bat
generated
vendored
Normal file
@@ -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
|
||||
34
vendor/git.apache.org/thrift.git/build/appveyor/README.md
generated
vendored
Normal file
34
vendor/git.apache.org/thrift.git/build/appveyor/README.md
generated
vendored
Normal file
@@ -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
|
||||
30
vendor/git.apache.org/thrift.git/build/appveyor/build-libevent.bat
generated
vendored
Normal file
30
vendor/git.apache.org/thrift.git/build/appveyor/build-libevent.bat
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
::
|
||||
:: 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%
|
||||
|
||||
CD %WIN3P% || EXIT /B
|
||||
appveyor DownloadFile %URL% || EXIT /B
|
||||
7z x %URLFILE% -so | 7z x -si -ttar > nul || EXIT /B
|
||||
CD "libevent-%LIBEVENT_VERSION%-stable" || EXIT /B
|
||||
nmake -f Makefile.nmake || EXIT /B
|
||||
mkdir lib || EXIT /B
|
||||
move *.lib lib\ || EXIT /B
|
||||
move WIN32-Code\event2\* include\event2\ || EXIT /B
|
||||
move *.h include\ || EXIT /B
|
||||
|
||||
ENDLOCAL
|
||||
49
vendor/git.apache.org/thrift.git/build/appveyor/build-zlib.bat
generated
vendored
Normal file
49
vendor/git.apache.org/thrift.git/build/appveyor/build-zlib.bat
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
::
|
||||
:: 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
|
||||
CD "%WIN3P%" || EXIT /B
|
||||
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
|
||||
24
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_apache_thrift.bat
generated
vendored
Normal file
24
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_apache_thrift.bat
generated
vendored
Normal file
@@ -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/
|
||||
23
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_build.bat
generated
vendored
Normal file
23
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_build.bat
generated
vendored
Normal file
@@ -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/
|
||||
23
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_install.bat
generated
vendored
Normal file
23
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_install.bat
generated
vendored
Normal file
@@ -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/
|
||||
23
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_test.bat
generated
vendored
Normal file
23
vendor/git.apache.org/thrift.git/build/appveyor/cl_banner_test.bat
generated
vendored
Normal file
@@ -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/
|
||||
63
vendor/git.apache.org/thrift.git/build/appveyor/cl_setcompiler.bat
generated
vendored
Normal file
63
vendor/git.apache.org/thrift.git/build/appveyor/cl_setcompiler.bat
generated
vendored
Normal file
@@ -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
|
||||
:: vc150 = 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.00
|
||||
IF !ERRORLEVEL! == 0 (SET COMPILER=vc140)
|
||||
CALL :CHECK 19.10
|
||||
IF !ERRORLEVEL! == 0 (SET COMPILER=vc150)
|
||||
)
|
||||
|
||||
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
|
||||
92
vendor/git.apache.org/thrift.git/build/appveyor/cl_setenv.bat
generated
vendored
Normal file
92
vendor/git.apache.org/thrift.git/build/appveyor/cl_setenv.bat
generated
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
|
||||
IF "%PROFILE%" == "MSVC2010" (
|
||||
CALL "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" %PLATFORM%
|
||||
) ELSE 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 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat" %PLATFORM%
|
||||
) ELSE IF "%PROFILE%" == "MINGW" (
|
||||
SET MSYS2_PATH_TYPE=stock
|
||||
) ELSE IF "%PROFILE%" == "MSYS" (
|
||||
SET MSYS2_PATH_TYPE=stock
|
||||
) 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 BUILDCACHE=%APPVEYOR_BUILD_FOLDER%\buildcache
|
||||
SET BUILDDIR=%APPVEYOR_BUILD_FOLDER%\local-thrift-build
|
||||
SET INSTDIR=%APPVEYOR_BUILD_FOLDER%\local-thrift-inst
|
||||
SET SRCDIR=%APPVEYOR_BUILD_FOLDER%
|
||||
|
||||
: PLATFORM is x64 or x86, but we want x86 to become "32" when we strip it down for paths:
|
||||
SET NORM_PLATFORM=%PLATFORM:~-2,2%
|
||||
IF "%NORM_PLATFORM%" == "86" (SET NORM_PLATFORM=32)
|
||||
|
||||
:: 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%.0
|
||||
SET OPENSSL_ROOT=C:\OpenSSL-Win%NORM_PLATFORM%
|
||||
SET WIN3P=%APPVEYOR_BUILD_FOLDER%\thirdparty
|
||||
|
||||
:: MSVC2010 doesn't "do" std::thread
|
||||
IF "%COMPILER%" == "vc100" (
|
||||
SET THREADMODEL=BOOST
|
||||
) ELSE (
|
||||
SET THREADMODEL=STD
|
||||
)
|
||||
|
||||
IF "%PYTHON_VERSION%" == "" (
|
||||
SET WITH_PYTHON=OFF
|
||||
) ELSE (
|
||||
SET WITH_PYTHON=ON
|
||||
SET PATH=C:\Python%PYTHON_VERSION:.=%\scripts;C:\Python%PYTHON_VERSION:.=%;!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!
|
||||
)
|
||||
|
||||
IF NOT "%PROFILE:~0,4%" == "MSVC" (
|
||||
|
||||
SET BASH=C:\msys64\usr\bin\bash.exe
|
||||
SET BOOST_ROOT=
|
||||
SET BOOST_INCLUDEDIR=/mingw64/include
|
||||
SET BOOST_LIBRARYDIR=/mingw64/lib
|
||||
SET OPENSSL_LIBRARIES=/mingw64/lib
|
||||
SET OPENSSL_ROOT=/mingw64
|
||||
SET WIN3P=
|
||||
|
||||
!BASH! -lc "sed -i '/export PATH=\/mingw64\/bin/d' ~/.bash_profile && echo 'export PATH=/mingw64/bin:$PATH' >> ~/.bash_profile" || EXIT /B
|
||||
|
||||
)
|
||||
|
||||
SET BUILDDIR_MSYS=%BUILDDIR:\=/%
|
||||
SET BUILDDIR_MSYS=/c%BUILDDIR_MSYS:~2%
|
||||
SET INSTDIR_MSYS=%INSTDIR:\=/%
|
||||
SET INSTDIR_MSYS=/c%INSTDIR_MSYS:~2%
|
||||
SET SRCDIR_MSYS=%SRCDIR:\=/%
|
||||
SET SRCDIR_MSYS=/c%SRCDIR_MSYS:~2%
|
||||
74
vendor/git.apache.org/thrift.git/build/appveyor/cl_setgenerator.bat
generated
vendored
Normal file
74
vendor/git.apache.org/thrift.git/build/appveyor/cl_setgenerator.bat
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
::
|
||||
:: 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
|
||||
::
|
||||
:: 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%" == "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.00
|
||||
IF !ERRORLEVEL! == 0 SET GENERATOR=Visual Studio 14 2015!GENARCH!
|
||||
CALL :CHECK 19.10
|
||||
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
|
||||
67
vendor/git.apache.org/thrift.git/build/appveyor/cl_showenv.bat
generated
vendored
Normal file
67
vendor/git.apache.org/thrift.git/build/appveyor/cl_showenv.bat
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
::
|
||||
:: 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 BOOST_ROOT = %BOOST_ROOT%
|
||||
ECHO BOOST_INCLUDEDIR = %BOOST_INCLUDEDIR%
|
||||
ECHO BOOST_LIBRARYDIR = %BOOST_LIBRARYDIR%
|
||||
ECHO BUILDCACHE = %BUILDCACHE%
|
||||
ECHO BUILDDIR = %BUILDDIR%
|
||||
ECHO COMPILER = %COMPILER%
|
||||
ECHO GENERATOR = %GENERATOR%
|
||||
ECHO INSTDIR = %INSTDIR%
|
||||
ECHO JAVA_HOME = %JAVA_HOME%
|
||||
ECHO OPENSSL_ROOT = %OPENSSL_ROOT%
|
||||
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 MSYS2/MinGW
|
||||
ECHO -------------------------------------------------------------------------------
|
||||
ECHO BUILDDIR_MSYS = %BUILDDIR_MSYS%
|
||||
ECHO INSTDIR_MSYS = %INSTDIR_MSYS%
|
||||
ECHO MSYS2_PATH_TYPE = %MSYS2_PATH_TYPE%
|
||||
ECHO SRCDIR_MSYS = %SRCDIR_MSYS%
|
||||
ECHO PATH =
|
||||
C:\msys64\usr\bin\bash -lc "echo $PATH"
|
||||
)
|
||||
ECHO/
|
||||
ECHO Windows PATH
|
||||
ECHO -------------------------------------------------------------------------------
|
||||
ECHO %PATH%
|
||||
ECHO ===============================================================================
|
||||
ECHO/
|
||||
35
vendor/git.apache.org/thrift.git/build/appveyor/simulate-appveyor.bat
generated
vendored
Normal file
35
vendor/git.apache.org/thrift.git/build/appveyor/simulate-appveyor.bat
generated
vendored
Normal file
@@ -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] [MINGW|MSVC2015]
|
||||
::
|
||||
|
||||
@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
|
||||
68
vendor/git.apache.org/thrift.git/build/cmake/CPackConfig.cmake
generated
vendored
Normal file
68
vendor/git.apache.org/thrift.git/build/cmake/CPackConfig.cmake
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
#TODO: Should we bundle system libraries for DLLs?
|
||||
#include(InstallRequiredSystemLibraries)
|
||||
|
||||
# For help take a look at:
|
||||
# http://www.cmake.org/Wiki/CMake:CPackConfiguration
|
||||
|
||||
### general settings
|
||||
set(CPACK_PACKAGE_NAME "thrift")
|
||||
set(CPACK_PACKAGE_VERSION "${PACKAGE_VERSION}")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Apache Thrift")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
|
||||
set(CPACK_PACKAGE_VENDOR "Apache Software Foundation")
|
||||
set(CPACK_PACKAGE_CONTACT "dev@thrift.apache.org")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
||||
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
|
||||
|
||||
### versions
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${thrift_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${thrift_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${thrift_VERSION_PATCH})
|
||||
|
||||
### source generator
|
||||
set(CPACK_SOURCE_GENERATOR "TGZ")
|
||||
set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;tags;cscope.*")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
|
||||
|
||||
### zip generator
|
||||
set(CPACK_GENERATOR "ZIP")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "thrift")
|
||||
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
set(CPACK_GENERATOR "NSIS")
|
||||
set(CPACK_NSIS_HELP_LINK "http://thrift.apache.org")
|
||||
set(CPACK_NSIS_MENU_LINKS
|
||||
"http://thrift.apache.org" "Apache Thrift - Web Site"
|
||||
"https://issues.apache.org/jira/browse/THRIFT" "Apache Thrift - Issues")
|
||||
set(CPACK_NSIS_CONTACT ${CPACK_PACKAGE_CONTACT})
|
||||
set(CPACK_NSIS_MODIFY_PATH "ON")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
|
||||
else()
|
||||
set(CPACK_GENERATOR "DEB" )
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
|
||||
endif()
|
||||
|
||||
|
||||
include(CPack)
|
||||
76
vendor/git.apache.org/thrift.git/build/cmake/ConfigureChecks.cmake
generated
vendored
Normal file
76
vendor/git.apache.org/thrift.git/build/cmake/ConfigureChecks.cmake
generated
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
include(CheckFunctionExists)
|
||||
include(CheckIncludeFile)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckSymbolExists)
|
||||
|
||||
if (Inttypes_FOUND)
|
||||
# This allows the inttypes.h and stdint.h checks to succeed on platforms that
|
||||
# do not natively provide there.
|
||||
set (CMAKE_REQUIRED_INCLUDES ${INTTYPES_INCLUDE_DIRS})
|
||||
endif ()
|
||||
|
||||
check_include_file(arpa/inet.h HAVE_ARPA_INET_H)
|
||||
check_include_file(fcntl.h HAVE_FCNTL_H)
|
||||
check_include_file(getopt.h HAVE_GETOPT_H)
|
||||
check_include_file(inttypes.h HAVE_INTTYPES_H)
|
||||
check_include_file(netdb.h HAVE_NETDB_H)
|
||||
check_include_file(netinet/in.h HAVE_NETINET_IN_H)
|
||||
check_include_file(stdint.h HAVE_STDINT_H)
|
||||
check_include_file(unistd.h HAVE_UNISTD_H)
|
||||
check_include_file(pthread.h HAVE_PTHREAD_H)
|
||||
check_include_file(sys/time.h HAVE_SYS_TIME_H)
|
||||
check_include_file(sys/param.h HAVE_SYS_PARAM_H)
|
||||
check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H)
|
||||
check_include_file(sys/socket.h HAVE_SYS_SOCKET_H)
|
||||
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
|
||||
check_include_file(sys/un.h HAVE_SYS_UN_H)
|
||||
check_include_file(sys/poll.h HAVE_SYS_POLL_H)
|
||||
check_include_file(sys/select.h HAVE_SYS_SELECT_H)
|
||||
check_include_file(sched.h HAVE_SCHED_H)
|
||||
check_include_file(string.h HAVE_STRING_H)
|
||||
check_include_file(strings.h HAVE_STRINGS_H)
|
||||
|
||||
check_function_exists(gethostbyname HAVE_GETHOSTBYNAME)
|
||||
check_function_exists(gethostbyname_r HAVE_GETHOSTBYNAME_R)
|
||||
check_function_exists(strerror_r HAVE_STRERROR_R)
|
||||
check_function_exists(sched_get_priority_max HAVE_SCHED_GET_PRIORITY_MAX)
|
||||
check_function_exists(sched_get_priority_min HAVE_SCHED_GET_PRIORITY_MIN)
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
check_cxx_source_compiles(
|
||||
"
|
||||
#include <string.h>
|
||||
int main(){char b;char *a = strerror_r(0, &b, 0); return(0);}
|
||||
"
|
||||
STRERROR_R_CHAR_P)
|
||||
|
||||
|
||||
set(PACKAGE ${PACKAGE_NAME})
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
set(VERSION ${thrift_VERSION})
|
||||
|
||||
# generate a config.h file
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/thrift/config.h")
|
||||
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
|
||||
93
vendor/git.apache.org/thrift.git/build/cmake/DefineCMakeDefaults.cmake
generated
vendored
Normal file
93
vendor/git.apache.org/thrift.git/build/cmake/DefineCMakeDefaults.cmake
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
# Always include srcdir and builddir in include path
|
||||
# This saves typing ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY} in
|
||||
# about every subdir
|
||||
# since cmake 2.4.0
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
# Put the include dirs which are in the source or build tree
|
||||
# before all other include dirs, so the headers in the sources
|
||||
# are preferred over the already installed ones
|
||||
# since cmake 2.4.1
|
||||
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
|
||||
|
||||
# Use colored output
|
||||
# since cmake 2.4.0
|
||||
set(CMAKE_COLOR_MAKEFILE ON)
|
||||
|
||||
# Define the generic version of the libraries here
|
||||
set(GENERIC_LIB_VERSION "0.11.0")
|
||||
set(GENERIC_LIB_SOVERSION "0")
|
||||
|
||||
# Set the default build type to release with debug info
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE RelWithDebInfo
|
||||
CACHE STRING
|
||||
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
|
||||
)
|
||||
endif (NOT CMAKE_BUILD_TYPE)
|
||||
|
||||
# Create the compile command database for clang by default
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# Put the libraries and binaries that get built into directories at the
|
||||
# top of the build tree rather than in hard-to-find leaf
|
||||
# directories. This simplifies manual testing and the use of the build
|
||||
# tree rather than installed thrift libraries.
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
|
||||
#
|
||||
# "rpath" support.
|
||||
# See http://www.itk.org/Wiki/index.php?title=CMake_RPATH_handling
|
||||
#
|
||||
# On MacOSX, for shared libraries, enable rpath support.
|
||||
set(CMAKE_MACOSX_RPATH TRUE)
|
||||
#
|
||||
# On any OS, for executables, allow linking with shared libraries in non-system
|
||||
# locations and running the executables without LD_PRELOAD or similar.
|
||||
# This requires the library to be built with rpath support.
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
#
|
||||
# C++ Language Level Defaults - this depends on the compiler capabilities
|
||||
#
|
||||
if (NOT DEFINED CMAKE_CXX_STANDARD)
|
||||
if (MSVC AND MSVC_VERSION LESS 1800)
|
||||
# MSVC 2012 and earlier don't support template aliases so you have to use C++98
|
||||
set(CMAKE_CXX_STANDARD 98)
|
||||
message(STATUS "Setting C++98 as the default language level (for an older MSVC compiler).")
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 11) # C++11
|
||||
message(STATUS "Setting C++11 as the default language level.")
|
||||
endif()
|
||||
message(STATUS "To specify a different C++ language level, set CMAKE_CXX_STANDARD")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED OFF) # can degrade to C++98 if compiler does not support C++11
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED CMAKE_CXX_EXTENSIONS)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF) # use standards compliant language level for portability
|
||||
endif()
|
||||
26
vendor/git.apache.org/thrift.git/build/cmake/DefineInstallationPaths.cmake
generated
vendored
Normal file
26
vendor/git.apache.org/thrift.git/build/cmake/DefineInstallationPaths.cmake
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
# Define the default install paths
|
||||
set(BIN_INSTALL_DIR "bin" CACHE PATH "The binary install dir (default: bin)")
|
||||
set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "The library install dir (default: lib${LIB_SUFFIX})")
|
||||
set(INCLUDE_INSTALL_DIR "include" CACHE PATH "The library install dir (default: include)")
|
||||
set(CMAKE_INSTALL_DIR "cmake" CACHE PATH "The subdirectory to install cmake config files (default: cmake)")
|
||||
set(DOC_INSTALL_DIR "share/doc" CACHE PATH "The subdirectory to install documentation files (default: share/doc)")
|
||||
219
vendor/git.apache.org/thrift.git/build/cmake/DefineOptions.cmake
generated
vendored
Normal file
219
vendor/git.apache.org/thrift.git/build/cmake/DefineOptions.cmake
generated
vendored
Normal file
@@ -0,0 +1,219 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
set(THRIFT_COMPILER "" CACHE FILEPATH "External Thrift compiler to use during build")
|
||||
|
||||
# Additional components
|
||||
option(BUILD_COMPILER "Build Thrift compiler" ON)
|
||||
|
||||
if(BUILD_COMPILER OR EXISTS ${THRIFT_COMPILER})
|
||||
set(HAVE_COMPILER ON)
|
||||
endif()
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_TESTING "Build with unit tests" ON "HAVE_COMPILER" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_EXAMPLES "Build examples" ON "HAVE_COMPILER" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_TUTORIALS "Build Thrift tutorials" ON "HAVE_COMPILER" OFF)
|
||||
option(BUILD_LIBRARIES "Build Thrift libraries" ON)
|
||||
|
||||
# Libraries to build
|
||||
|
||||
# Each language library can be enabled or disabled using the WITH_<LANG> flag.
|
||||
# By default CMake checks if the required dependencies for a language are present
|
||||
# and enables the library if all are found. This means the default is to build as
|
||||
# much as possible but leaving out libraries if their dependencies are not met.
|
||||
|
||||
option(WITH_BOOST_FUNCTIONAL "Use boost/tr1/functional.hpp even under C++11 or later" OFF)
|
||||
if (WITH_BOOST_FUNCTIONAL)
|
||||
add_definitions(-DFORCE_BOOST_FUNCTIONAL)
|
||||
endif()
|
||||
|
||||
option(WITH_BOOST_SMART_PTR "Use boost/smart_ptr.hpp even under C++11 or later" OFF)
|
||||
if (WITH_BOOST_SMART_PTR)
|
||||
add_definitions(-DFORCE_BOOST_SMART_PTR)
|
||||
endif()
|
||||
|
||||
option(WITH_BOOST_STATIC "Build with Boost static link library" OFF)
|
||||
set(Boost_USE_STATIC_LIBS ${WITH_BOOST_STATIC})
|
||||
if (NOT WITH_BOOST_STATIC)
|
||||
add_definitions(-DBOOST_ALL_DYN_LINK)
|
||||
add_definitions(-DBOOST_TEST_DYN_LINK)
|
||||
endif()
|
||||
|
||||
# C++
|
||||
option(WITH_CPP "Build C++ Thrift library" ON)
|
||||
if(WITH_CPP)
|
||||
find_package(Boost 1.53 QUIET)
|
||||
# NOTE: Currently the following options are C++ specific,
|
||||
# but in future other libraries might reuse them.
|
||||
# So they are not dependent on WITH_CPP but setting them without WITH_CPP currently
|
||||
# has no effect.
|
||||
if(ZLIB_LIBRARY)
|
||||
# FindZLIB.cmake does not normalize path so we need to do it ourselves.
|
||||
file(TO_CMAKE_PATH ${ZLIB_LIBRARY} ZLIB_LIBRARY)
|
||||
endif()
|
||||
find_package(ZLIB QUIET)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_ZLIB "Build with ZLIB support" ON
|
||||
"ZLIB_FOUND" OFF)
|
||||
find_package(Libevent QUIET)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_LIBEVENT "Build with libevent support" ON
|
||||
"Libevent_FOUND" OFF)
|
||||
find_package(Qt4 QUIET COMPONENTS QtCore QtNetwork)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_QT4 "Build with Qt4 support" ON
|
||||
"QT4_FOUND" OFF)
|
||||
find_package(Qt5 QUIET COMPONENTS Core Network)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_QT5 "Build with Qt5 support" ON
|
||||
"Qt5_FOUND" OFF)
|
||||
if(${WITH_QT4} AND ${WITH_QT5} AND ${CMAKE_MAJOR_VERSION} LESS 3)
|
||||
# cmake < 3.0.0 causes conflict when building both Qt4 and Qt5
|
||||
set(WITH_QT4 OFF)
|
||||
endif()
|
||||
find_package(OpenSSL QUIET)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_OPENSSL "Build with OpenSSL support" ON
|
||||
"OPENSSL_FOUND" OFF)
|
||||
option(WITH_STDTHREADS "Build with C++ std::thread support" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_BOOSTTHREADS "Build with Boost threads support" OFF
|
||||
"NOT WITH_STDTHREADS;Boost_FOUND" OFF)
|
||||
endif()
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_CPP "Build C++ library" ON
|
||||
"BUILD_LIBRARIES;WITH_CPP;Boost_FOUND" OFF)
|
||||
CMAKE_DEPENDENT_OPTION(WITH_PLUGIN "Build compiler plugin support" OFF
|
||||
"BUILD_COMPILER;BUILD_CPP" OFF)
|
||||
|
||||
# C GLib
|
||||
option(WITH_C_GLIB "Build C (GLib) Thrift library" ON)
|
||||
if(WITH_C_GLIB)
|
||||
find_package(GLIB QUIET COMPONENTS gobject)
|
||||
endif()
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_C_GLIB "Build C (GLib) library" ON
|
||||
"BUILD_LIBRARIES;WITH_C_GLIB;GLIB_FOUND" OFF)
|
||||
|
||||
if(BUILD_CPP)
|
||||
set(boost_components)
|
||||
if(WITH_BOOSTTHREADS OR BUILD_TESTING)
|
||||
list(APPEND boost_components system thread)
|
||||
endif()
|
||||
if(BUILD_TESTING)
|
||||
list(APPEND boost_components unit_test_framework filesystem chrono program_options)
|
||||
endif()
|
||||
if(boost_components)
|
||||
find_package(Boost 1.53 REQUIRED COMPONENTS ${boost_components})
|
||||
endif()
|
||||
elseif(BUILD_C_GLIB AND BUILD_TESTING)
|
||||
find_package(Boost 1.53 REQUIRED)
|
||||
endif()
|
||||
|
||||
# Java
|
||||
option(WITH_JAVA "Build Java Thrift library" ON)
|
||||
if(ANDROID)
|
||||
find_package(Gradle QUIET)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_JAVA "Build Java library" ON
|
||||
"BUILD_LIBRARIES;WITH_JAVA;GRADLE_FOUND" OFF)
|
||||
else()
|
||||
find_package(Java QUIET)
|
||||
find_package(Ant QUIET)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_JAVA "Build Java library" ON
|
||||
"BUILD_LIBRARIES;WITH_JAVA;JAVA_FOUND;ANT_FOUND" OFF)
|
||||
endif()
|
||||
|
||||
# Python
|
||||
option(WITH_PYTHON "Build Python Thrift library" ON)
|
||||
find_package(PythonInterp QUIET) # for Python executable
|
||||
find_package(PythonLibs QUIET) # for Python.h
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_PYTHON "Build Python library" ON
|
||||
"BUILD_LIBRARIES;WITH_PYTHON;PYTHONLIBS_FOUND" OFF)
|
||||
|
||||
# Haskell
|
||||
option(WITH_HASKELL "Build Haskell Thrift library" ON)
|
||||
find_package(GHC QUIET)
|
||||
find_package(Cabal QUIET)
|
||||
CMAKE_DEPENDENT_OPTION(BUILD_HASKELL "Build GHC library" ON
|
||||
"BUILD_LIBRARIES;WITH_HASKELL;GHC_FOUND;CABAL_FOUND" OFF)
|
||||
|
||||
# Common library options
|
||||
option(WITH_SHARED_LIB "Build shared libraries" ON)
|
||||
option(WITH_STATIC_LIB "Build static libraries" ON)
|
||||
if (NOT WITH_SHARED_LIB AND NOT WITH_STATIC_LIB)
|
||||
message(FATAL_ERROR "Cannot build with both shared and static outputs disabled!")
|
||||
endif()
|
||||
|
||||
#NOTE: C++ compiler options are defined in the lib/cpp/CMakeLists.txt
|
||||
|
||||
# Visual Studio only options
|
||||
if(MSVC)
|
||||
option(WITH_MT "Build using MT instead of MD (MSVC only)" OFF)
|
||||
endif(MSVC)
|
||||
|
||||
macro(MESSAGE_DEP flag summary)
|
||||
if(NOT ${flag})
|
||||
message(STATUS " - ${summary}")
|
||||
endif()
|
||||
endmacro(MESSAGE_DEP flag summary)
|
||||
|
||||
macro(PRINT_CONFIG_SUMMARY)
|
||||
message(STATUS "----------------------------------------------------------")
|
||||
message(STATUS "Thrift version: ${thrift_VERSION} (${thrift_VERSION_MAJOR}.${thrift_VERSION_MINOR}.${thrift_VERSION_PATCH})")
|
||||
message(STATUS "Thrift package version: ${PACKAGE_VERSION}")
|
||||
message(STATUS "Build configuration Summary")
|
||||
message(STATUS " Build Thrift compiler: ${BUILD_COMPILER}")
|
||||
message(STATUS " Build compiler plugin support: ${WITH_PLUGIN}")
|
||||
message(STATUS " Build with unit tests: ${BUILD_TESTING}")
|
||||
MESSAGE_DEP(HAVE_COMPILER "Disabled because BUILD_THRIFT=OFF and no valid THRIFT_COMPILER is given")
|
||||
message(STATUS " Build examples: ${BUILD_EXAMPLES}")
|
||||
MESSAGE_DEP(HAVE_COMPILER "Disabled because BUILD_THRIFT=OFF and no valid THRIFT_COMPILER is given")
|
||||
message(STATUS " Build Thrift libraries: ${BUILD_LIBRARIES}")
|
||||
message(STATUS " Language libraries:")
|
||||
message(STATUS " Build C++ library: ${BUILD_CPP}")
|
||||
MESSAGE_DEP(WITH_CPP "Disabled by WITH_CPP=OFF")
|
||||
MESSAGE_DEP(Boost_FOUND "Boost headers missing")
|
||||
message(STATUS " C++ Language Level: ${CXX_LANGUAGE_LEVEL}")
|
||||
message(STATUS " Build C (GLib) library: ${BUILD_C_GLIB}")
|
||||
MESSAGE_DEP(WITH_C_GLIB "Disabled by WITH_C_GLIB=OFF")
|
||||
MESSAGE_DEP(GLIB_FOUND "GLib missing")
|
||||
message(STATUS " Build Java library: ${BUILD_JAVA}")
|
||||
MESSAGE_DEP(WITH_JAVA "Disabled by WITH_JAVA=OFF")
|
||||
if(ANDROID)
|
||||
MESSAGE_DEP(GRADLE_FOUND "Gradle missing")
|
||||
else()
|
||||
MESSAGE_DEP(JAVA_FOUND "Java Runtime missing")
|
||||
MESSAGE_DEP(ANT_FOUND "Ant missing")
|
||||
endif()
|
||||
message(STATUS " Build Python library: ${BUILD_PYTHON}")
|
||||
MESSAGE_DEP(WITH_PYTHON "Disabled by WITH_PYTHON=OFF")
|
||||
MESSAGE_DEP(PYTHONLIBS_FOUND "Python libraries missing")
|
||||
message(STATUS " Build Haskell library: ${BUILD_HASKELL}")
|
||||
MESSAGE_DEP(WITH_HASKELL "Disabled by WITH_HASKELL=OFF")
|
||||
MESSAGE_DEP(GHC_FOUND "GHC missing")
|
||||
MESSAGE_DEP(CABAL_FOUND "Cabal missing")
|
||||
message(STATUS " Library features:")
|
||||
message(STATUS " Build shared libraries: ${WITH_SHARED_LIB}")
|
||||
message(STATUS " Build static libraries: ${WITH_STATIC_LIB}")
|
||||
message(STATUS " Build with Boost static link library: ${WITH_BOOST_STATIC}")
|
||||
message(STATUS " Build with Boost thread support: ${WITH_BOOSTTHREADS}")
|
||||
message(STATUS " Build with boost/tr1/functional (forced) ${WITH_BOOST_FUNCTIONAL}")
|
||||
message(STATUS " Build with boost/smart_ptr (forced) ${WITH_BOOST_SMART_PTR}")
|
||||
message(STATUS " Build with C++ std::thread support: ${WITH_STDTHREADS}")
|
||||
message(STATUS " Build with libevent support: ${WITH_LIBEVENT}")
|
||||
message(STATUS " Build with OpenSSL support: ${WITH_OPENSSL}")
|
||||
message(STATUS " Build with Qt4 support: ${WITH_QT4}")
|
||||
message(STATUS " Build with Qt5 support: ${WITH_QT5}")
|
||||
message(STATUS " Build with ZLIB support: ${WITH_ZLIB}")
|
||||
message(STATUS "----------------------------------------------------------")
|
||||
endmacro(PRINT_CONFIG_SUMMARY)
|
||||
131
vendor/git.apache.org/thrift.git/build/cmake/DefinePlatformSpecifc.cmake
generated
vendored
Normal file
131
vendor/git.apache.org/thrift.git/build/cmake/DefinePlatformSpecifc.cmake
generated
vendored
Normal file
@@ -0,0 +1,131 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
# Uncomment this to show some basic cmake variables about platforms
|
||||
# include (NewPlatformDebug)
|
||||
|
||||
# Visual Studio specific options
|
||||
if(MSVC)
|
||||
#For visual studio the library naming is as following:
|
||||
# Dynamic libraries:
|
||||
# - thrift.dll for release library
|
||||
# - thriftd.dll for debug library
|
||||
#
|
||||
# Static libraries:
|
||||
# - thriftmd.lib for /MD release build
|
||||
# - thriftmt.lib for /MT release build
|
||||
#
|
||||
# - thriftmdd.lib for /MD debug build
|
||||
# - thriftmtd.lib for /MT debug build
|
||||
#
|
||||
# the same holds for other libraries like libthriftz etc.
|
||||
|
||||
# For Debug build types, append a "d" to the library names.
|
||||
set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Set debug library postfix" FORCE)
|
||||
set(CMAKE_RELEASE_POSTFIX "" CACHE STRING "Set release library postfix" FORCE)
|
||||
set(CMAKE_RELWITHDEBINFO_POSTFIX "" CACHE STRING "Set release library postfix" FORCE)
|
||||
|
||||
# Build using /MT option instead of /MD if the WITH_MT options is set
|
||||
if(WITH_MT)
|
||||
set(CompilerFlags
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
)
|
||||
foreach(CompilerFlag ${CompilerFlags})
|
||||
string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
|
||||
endforeach()
|
||||
set(STATIC_POSTFIX "mt" CACHE STRING "Set static library postfix" FORCE)
|
||||
else(WITH_MT)
|
||||
set(STATIC_POSTFIX "md" CACHE STRING "Set static library postfix" FORCE)
|
||||
endif(WITH_MT)
|
||||
|
||||
# Disable Windows.h definition of macros for min and max
|
||||
add_definitions("-DNOMINMAX")
|
||||
|
||||
# Disable boost auto linking pragmas - cmake includes the right files
|
||||
add_definitions("-DBOOST_ALL_NO_LIB")
|
||||
|
||||
# Windows build does not know how to make a shared library yet
|
||||
# as there are no __declspec(dllexport) or exports files in the project.
|
||||
if (WITH_SHARED_LIB)
|
||||
message (FATAL_ERROR "Windows build does not support shared library output yet, please set -DWITH_SHARED_LIB=off")
|
||||
endif()
|
||||
|
||||
add_definitions("/MP") # parallel build
|
||||
add_definitions("/W3") # warning level 3
|
||||
|
||||
# VS2010 does not provide inttypes which we need for "PRId64" used in many places
|
||||
find_package(Inttypes)
|
||||
if (Inttypes_FOUND)
|
||||
include_directories(${INTTYPES_INCLUDE_DIRS})
|
||||
# OpenSSL conflicts with the definition of PRId64 unless it is defined first
|
||||
add_definitions("/FIinttypes.h")
|
||||
endif ()
|
||||
elseif(UNIX)
|
||||
find_program( MEMORYCHECK_COMMAND valgrind )
|
||||
set( MEMORYCHECK_COMMAND_OPTIONS "--gen-suppressions=all --leak-check=full" )
|
||||
set( MEMORYCHECK_SUPPRESSIONS_FILE "${PROJECT_SOURCE_DIR}/test/valgrind.suppress" )
|
||||
endif()
|
||||
|
||||
add_definitions("-D__STDC_FORMAT_MACROS")
|
||||
|
||||
# WITH_*THREADS selects which threading library to use
|
||||
if(WITH_BOOSTTHREADS)
|
||||
add_definitions("-DUSE_BOOST_THREAD=1")
|
||||
elseif(WITH_STDTHREADS)
|
||||
add_definitions("-DUSE_STD_THREAD=1")
|
||||
endif()
|
||||
|
||||
# C++ Language Level
|
||||
set(CXX_LANGUAGE_LEVEL "C++${CMAKE_CXX_STANDARD}")
|
||||
if (CMAKE_CXX_STANDARD_REQUIRED)
|
||||
string(CONCAT CXX_LANGUAGE_LEVEL "${CXX_LANGUAGE_LEVEL} [compiler must support it]")
|
||||
else()
|
||||
string(CONCAT CXX_LANGUAGE_LEVEL "${CXX_LANGUAGE_LEVEL} [fallback to earlier if compiler does not support it]")
|
||||
endif()
|
||||
if (CMAKE_CXX_EXTENSIONS)
|
||||
string(CONCAT CXX_LANGUAGE_LEVEL "${CXX_LANGUAGE_LEVEL} [with compiler-specific extensions]")
|
||||
else()
|
||||
if ((CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND NOT MINGW)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-variadic-macros -Wno-long-long")
|
||||
endif()
|
||||
if ((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND NOT MINGW)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-c++11-long-long")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-register")
|
||||
endif()
|
||||
|
||||
# Building WITH_PLUGIN requires boost memory operations, for now, and gcc >= 4.8
|
||||
if (WITH_PLUGIN)
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8")
|
||||
message(SEND_ERROR "Thrift compiler plug-in support is not possible with older gcc ( < 4.8 ) compiler")
|
||||
endif()
|
||||
message(STATUS "Forcing use of boost::smart_ptr to build WITH_PLUGIN")
|
||||
add_definitions("-DFORCE_BOOST_SMART_PTR=1")
|
||||
endif()
|
||||
|
||||
30
vendor/git.apache.org/thrift.git/build/cmake/FindAnt.cmake
generated
vendored
Normal file
30
vendor/git.apache.org/thrift.git/build/cmake/FindAnt.cmake
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
# ANT_FOUND - system has Ant
|
||||
# Ant_EXECUTABLE - the Ant executable
|
||||
#
|
||||
# It will search the environment variable ANT_HOME if it is set
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_program(Ant_EXECUTABLE NAMES ant PATHS $ENV{ANT_HOME}/bin)
|
||||
find_package_handle_standard_args(Ant DEFAULT_MSG Ant_EXECUTABLE)
|
||||
mark_as_advanced(Ant_EXECUTABLE)
|
||||
30
vendor/git.apache.org/thrift.git/build/cmake/FindCabal.cmake
generated
vendored
Normal file
30
vendor/git.apache.org/thrift.git/build/cmake/FindCabal.cmake
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
# Cabal_FOUND - system has Cabal
|
||||
# Cabal - the Cabal executable
|
||||
#
|
||||
# It will search the environment variable CABAL_HOME if it is set
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_program(CABAL NAMES cabal PATHS $ENV{HOME}/.cabal/bin $ENV{CABAL_HOME}/bin)
|
||||
find_package_handle_standard_args(CABAL DEFAULT_MSG CABAL)
|
||||
mark_as_advanced(CABAL)
|
||||
36
vendor/git.apache.org/thrift.git/build/cmake/FindGHC.cmake
generated
vendored
Normal file
36
vendor/git.apache.org/thrift.git/build/cmake/FindGHC.cmake
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
# GHC_FOUND - system has GHC
|
||||
# GHC - the GHC executable
|
||||
# RUN_HASKELL_FOUND - system has runhaskell
|
||||
# RUN_HASKELL - the runhaskell executable
|
||||
#
|
||||
# It will search the environment variable GHC_HOME if it is set
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_program(GHC NAMES ghc PATHS $ENV{GHC_HOME}/bin)
|
||||
find_package_handle_standard_args(GHC DEFAULT_MSG GHC)
|
||||
mark_as_advanced(GHC)
|
||||
|
||||
find_program(RUN_HASKELL NAMES runhaskell PATHS $ENV{GHC_HOME}/bin)
|
||||
find_package_handle_standard_args(RUN_HASKELL DEFAULT_MSG RUN_HASKELL)
|
||||
mark_as_advanced(RUN_HASKELL)
|
||||
122
vendor/git.apache.org/thrift.git/build/cmake/FindGLIB.cmake
generated
vendored
Normal file
122
vendor/git.apache.org/thrift.git/build/cmake/FindGLIB.cmake
generated
vendored
Normal file
@@ -0,0 +1,122 @@
|
||||
# - Try to find Glib and its components (gio, gobject etc)
|
||||
# Once done, this will define
|
||||
#
|
||||
# GLIB_FOUND - system has Glib
|
||||
# GLIB_INCLUDE_DIRS - the Glib include directories
|
||||
# GLIB_LIBRARIES - link these to use Glib
|
||||
#
|
||||
# Optionally, the COMPONENTS keyword can be passed to find_package()
|
||||
# and Glib components can be looked for. Currently, the following
|
||||
# components can be used, and they define the following variables if
|
||||
# found:
|
||||
#
|
||||
# gio: GLIB_GIO_LIBRARIES
|
||||
# gobject: GLIB_GOBJECT_LIBRARIES
|
||||
# gmodule: GLIB_GMODULE_LIBRARIES
|
||||
# gthread: GLIB_GTHREAD_LIBRARIES
|
||||
#
|
||||
# Note that the respective _INCLUDE_DIR variables are not set, since
|
||||
# all headers are in the same directory as GLIB_INCLUDE_DIRS.
|
||||
#
|
||||
# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_GLIB QUIET glib-2.0)
|
||||
|
||||
find_library(GLIB_LIBRARIES
|
||||
NAMES glib-2.0
|
||||
HINTS ${PC_GLIB_LIBDIR}
|
||||
${PC_GLIB_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
# Files in glib's main include path may include glibconfig.h, which,
|
||||
# for some odd reason, is normally in $LIBDIR/glib-2.0/include.
|
||||
get_filename_component(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
|
||||
find_path(GLIBCONFIG_INCLUDE_DIR
|
||||
NAMES glibconfig.h
|
||||
HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${_GLIB_LIBRARY_DIR}
|
||||
${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES glib-2.0/include
|
||||
)
|
||||
|
||||
find_path(GLIB_INCLUDE_DIR
|
||||
NAMES glib.h
|
||||
HINTS ${PC_GLIB_INCLUDEDIR}
|
||||
${PC_GLIB_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES glib-2.0
|
||||
)
|
||||
|
||||
set(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIBCONFIG_INCLUDE_DIR})
|
||||
|
||||
if(GLIBCONFIG_INCLUDE_DIR)
|
||||
# Version detection
|
||||
file(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
|
||||
string(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
|
||||
set(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||
string(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
|
||||
set(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
|
||||
string(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
|
||||
set(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
|
||||
set(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
|
||||
endif()
|
||||
|
||||
# Additional Glib components. We only look for libraries, as not all of them
|
||||
# have corresponding headers and all headers are installed alongside the main
|
||||
# glib ones.
|
||||
foreach (_component ${GLIB_FIND_COMPONENTS})
|
||||
if (${_component} STREQUAL "gio")
|
||||
find_library(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
|
||||
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
|
||||
elseif (${_component} STREQUAL "gobject")
|
||||
find_library(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
|
||||
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
|
||||
elseif (${_component} STREQUAL "gmodule")
|
||||
find_library(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
|
||||
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
|
||||
elseif (${_component} STREQUAL "gthread")
|
||||
find_library(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
|
||||
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
|
||||
elseif (${_component} STREQUAL "gio-unix")
|
||||
# gio-unix is compiled as part of the gio library, but the include paths
|
||||
# are separate from the shared glib ones. Since this is currently only used
|
||||
# by WebKitGTK+ we don't go to extraordinary measures beyond pkg-config.
|
||||
pkg_check_modules(GIO_UNIX QUIET gio-unix-2.0)
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLIB REQUIRED_VARS GLIB_INCLUDE_DIRS GLIB_LIBRARIES ${ADDITIONAL_REQUIRED_VARS}
|
||||
VERSION_VAR GLIB_VERSION)
|
||||
|
||||
mark_as_advanced(
|
||||
GLIBCONFIG_INCLUDE_DIR
|
||||
GLIB_GIO_LIBRARIES
|
||||
GLIB_GIO_UNIX_LIBRARIES
|
||||
GLIB_GMODULE_LIBRARIES
|
||||
GLIB_GOBJECT_LIBRARIES
|
||||
GLIB_GTHREAD_LIBRARIES
|
||||
GLIB_INCLUDE_DIR
|
||||
GLIB_INCLUDE_DIRS
|
||||
GLIB_LIBRARIES
|
||||
)
|
||||
30
vendor/git.apache.org/thrift.git/build/cmake/FindGradle.cmake
generated
vendored
Normal file
30
vendor/git.apache.org/thrift.git/build/cmake/FindGradle.cmake
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
# GRADLE_FOUND - system has Gradle
|
||||
# GRADLE_EXECUTABLE - the Gradle executable
|
||||
#
|
||||
# It will search the environment variable ANT_HOME if it is set
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_program(GRADLE_EXECUTABLE NAMES gradle PATHS $ENV{GRADLE_HOME}/bin NO_CMAKE_FIND_ROOT_PATH)
|
||||
find_package_handle_standard_args(Gradle DEFAULT_MSG GRADLE_EXECUTABLE)
|
||||
mark_as_advanced(GRADLE_EXECUTABLE)
|
||||
41
vendor/git.apache.org/thrift.git/build/cmake/FindInttypes.cmake
generated
vendored
Normal file
41
vendor/git.apache.org/thrift.git/build/cmake/FindInttypes.cmake
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
# find msinttypes on compilers that don't provide it, for example
|
||||
# VS2010
|
||||
|
||||
# Usage:
|
||||
# Provide INTTYPES_ROOT if you need it
|
||||
# Result: INTTYPES_INCLUDE_DIRS, where to find inttypes.h
|
||||
# Result: Inttypes_FOUND, If false, inttypes.h was not found
|
||||
|
||||
find_path(INTTYPES_INCLUDE_DIRS inttypes.h HINTS ${INTTYPES_ROOT})
|
||||
if (INTTYPES_INCLUDE_DIRS)
|
||||
set(Inttypes_FOUND TRUE)
|
||||
else ()
|
||||
set(Inttypes_FOUND FALSE)
|
||||
if (Inttypes_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could NOT find inttypes.h")
|
||||
endif ()
|
||||
message(STATUS "inttypes.h NOT found")
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
INTTYPES_INCLUDE_DIRS
|
||||
)
|
||||
45
vendor/git.apache.org/thrift.git/build/cmake/FindLibevent.cmake
generated
vendored
Normal file
45
vendor/git.apache.org/thrift.git/build/cmake/FindLibevent.cmake
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# find LibEvent
|
||||
# an event notification library (http://libevent.org/)
|
||||
#
|
||||
# Usage:
|
||||
# LIBEVENT_INCLUDE_DIRS, where to find LibEvent headers
|
||||
# LIBEVENT_LIBRARIES, LibEvent libraries
|
||||
# Libevent_FOUND, If false, do not try to use libevent
|
||||
|
||||
set(LIBEVENT_ROOT CACHE PATH "Root directory of libevent installation")
|
||||
set(LibEvent_EXTRA_PREFIXES /usr/local /opt/local "$ENV{HOME}" ${LIBEVENT_ROOT})
|
||||
foreach(prefix ${LibEvent_EXTRA_PREFIXES})
|
||||
list(APPEND LibEvent_INCLUDE_PATHS "${prefix}/include")
|
||||
list(APPEND LibEvent_LIBRARIES_PATHS "${prefix}/lib")
|
||||
endforeach()
|
||||
|
||||
# Looking for "event.h" will find the Platform SDK include dir on windows
|
||||
# so we also look for a peer header like evhttp.h to get the right path
|
||||
find_path(LIBEVENT_INCLUDE_DIRS evhttp.h event.h PATHS ${LibEvent_INCLUDE_PATHS})
|
||||
|
||||
# "lib" prefix is needed on Windows in some cases
|
||||
# newer versions of libevent use three libraries
|
||||
find_library(LIBEVENT_LIBRARIES NAMES event event_core event_extra libevent PATHS ${LibEvent_LIBRARIES_PATHS})
|
||||
|
||||
if (LIBEVENT_LIBRARIES AND LIBEVENT_INCLUDE_DIRS)
|
||||
set(Libevent_FOUND TRUE)
|
||||
set(LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARIES})
|
||||
else ()
|
||||
set(Libevent_FOUND FALSE)
|
||||
endif ()
|
||||
|
||||
if (Libevent_FOUND)
|
||||
if (NOT Libevent_FIND_QUIETLY)
|
||||
message(STATUS "Found libevent: ${LIBEVENT_LIBRARIES}")
|
||||
endif ()
|
||||
else ()
|
||||
if (LibEvent_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could NOT find libevent.")
|
||||
endif ()
|
||||
message(STATUS "libevent NOT found.")
|
||||
endif ()
|
||||
|
||||
mark_as_advanced(
|
||||
LIBEVENT_LIBRARIES
|
||||
LIBEVENT_INCLUDE_DIRS
|
||||
)
|
||||
44
vendor/git.apache.org/thrift.git/build/cmake/NewPlatformDebug.cmake
generated
vendored
Normal file
44
vendor/git.apache.org/thrift.git/build/cmake/NewPlatformDebug.cmake
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
#
|
||||
# For debugging new platforms, just to see what some environment flags are...
|
||||
#
|
||||
macro(SHOWFLAG flag)
|
||||
message(STATUS "${flag} = ${${flag}}")
|
||||
endmacro(SHOWFLAG)
|
||||
|
||||
set(NEWPLATFORMDEBUG ON)
|
||||
|
||||
if(NEWPLATFORMDEBUG)
|
||||
SHOWFLAG("APPLE")
|
||||
SHOWFLAG("BORLAND")
|
||||
SHOWFLAG("CMAKE_C_COMPILER_ID")
|
||||
SHOWFLAG("CMAKE_CXX_COMPILER_ID")
|
||||
SHOWFLAG("CMAKE_COMPILER_IS_GNUCC")
|
||||
SHOWFLAG("CMAKE_COMPILER_IS_GNUCXX")
|
||||
SHOWFLAG("CYGWIN")
|
||||
SHOWFLAG("MINGW")
|
||||
SHOWFLAG("MSVC")
|
||||
SHOWFLAG("MSVC_VERSION")
|
||||
SHOWFLAG("MSYS")
|
||||
SHOWFLAG("UNIX")
|
||||
SHOWFLAG("WATCOM")
|
||||
SHOWFLAG("WIN32")
|
||||
endif(NEWPLATFORMDEBUG)
|
||||
63
vendor/git.apache.org/thrift.git/build/cmake/README-MSYS2.md
generated
vendored
Normal file
63
vendor/git.apache.org/thrift.git/build/cmake/README-MSYS2.md
generated
vendored
Normal file
@@ -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.
|
||||
-->
|
||||
|
||||
# Building thrift on Windows (MinGW64/MSYS2)
|
||||
|
||||
Thrift uses cmake to make it easier to build the project on multiple platforms, however to build a fully functional and production ready thrift on Windows requires a number of third party libraries to be obtained. Once third party libraries are ready, the right combination of options must be passed to cmake in order to generate the correct environment.
|
||||
|
||||
> Note: libevent and libevent-devel do not work with this toolchain as they do not properly detect mingw64 and expect some headers to exist that do not, so the non-blocking server is not currently built into this solution.
|
||||
|
||||
## MSYS2
|
||||
|
||||
Download and fully upgrade msys2 following the instructions at:
|
||||
|
||||
https://msys2.github.io/
|
||||
|
||||
Install the necessary toolchain items for C++:
|
||||
|
||||
$ pacman --needed -S bison flex make mingw-w64-x86_64-openssl \
|
||||
mingw-w64-x86_64-boost mingw-w64-x86_64-cmake \
|
||||
mingw-w64-x86_64-toolchain mingw-w64-x86_64-zlib
|
||||
|
||||
Update your msys2 bash path to include /mingw64/bin by adding a line to your ~/.bash_profiles using this command:
|
||||
|
||||
echo "export PATH=/mingw64/bin:\$PATH" >> ~/.bash_profile
|
||||
|
||||
After that, close your shell and open a new one.
|
||||
|
||||
Use cmake to create a MinGW makefile, out of tree (assumes you are in the top level of the thrift source tree):
|
||||
|
||||
mkdir ../thrift-build
|
||||
cd ../thrift-build
|
||||
cmake -G"MinGW Makefiles" -DCMAKE_MAKE_PROGRAM=/mingw64/bin/mingw32-make \
|
||||
-DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc.exe \
|
||||
-DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++.exe \
|
||||
-DWITH_BOOSTTHREADS=ON -DWITH_LIBEVENT=OFF \
|
||||
-DWITH_SHARED_LIB=OFF -DWITH_STATIC_LIB=ON \
|
||||
-DWITH_JAVA=OFF -DWITH_PYTHON=OFF -DWITH_PERL=OFF \
|
||||
../thrift
|
||||
|
||||
Build thrift (inside thrift-build):
|
||||
|
||||
cmake --build .
|
||||
|
||||
Run the tests (inside thrift-build):
|
||||
|
||||
ctest
|
||||
|
||||
> If you run into issues, check Apache Jira THRIFT-4046 for patches relating to MinGW64/MSYS2 builds.
|
||||
|
||||
## Tested With
|
||||
|
||||
msys2 64-bit 2016-10-26 distribution
|
||||
60
vendor/git.apache.org/thrift.git/build/cmake/README.md
generated
vendored
Normal file
60
vendor/git.apache.org/thrift.git/build/cmake/README.md
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
# Apache Thrift - CMake build
|
||||
|
||||
## Goal
|
||||
Extend Apache Thrift's *make cross* approach to the build system.
|
||||
|
||||
Due to growing the field of operating system support, a proper executable
|
||||
and library detection mechanism running on as much platforms as possible
|
||||
becomes required. The other aspect to simplify the release process and
|
||||
package generation process.
|
||||
|
||||
As nice side benefit of CMake is the generation of development environment
|
||||
specific soultion files. => No solution files within source tree.
|
||||
|
||||
|
||||
## Usage
|
||||
just do this:
|
||||
|
||||
mkdir cmake-build && cd cmake-build
|
||||
cmake ..
|
||||
|
||||
if you use a specific toolchain pass it to cmake, the same for options:
|
||||
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=../build/cmake/mingw32-toolchain.cmake ..
|
||||
cmake -DCMAKE_C_COMPILER=clang-3.5 -DCMAKE_CXX_COMPILER=clang++-3.5 ..
|
||||
cmake -DTHRIFT_COMPILER_HS=OFF ..
|
||||
cmake -DWITH_ZLIB=ON ..
|
||||
|
||||
or on Windows
|
||||
|
||||
cmake -G "Visual Studio 12 2013 Win64" \
|
||||
-DBOOST_ROOT=C:/3rdparty/boost_1_58_0 \
|
||||
-DZLIB_ROOT=C:/3rdparty/zlib128-dll \
|
||||
-DWITH_SHARED_LIB=off -DWITH_BOOSTTHREADS=ON ..
|
||||
|
||||
and open the development environment you like with the solution or do this:
|
||||
|
||||
make
|
||||
make check
|
||||
make cross
|
||||
make dist
|
||||
|
||||
to generate an installer and distribution package do this:
|
||||
|
||||
cpack
|
||||
|
||||
## TODO
|
||||
* git hash or tag based versioning depending on source state
|
||||
* build tutorial
|
||||
* build test
|
||||
* with/without language lib/<lang>/
|
||||
* enable/disable
|
||||
* make cross
|
||||
* make dist (create an alias to make package_source)
|
||||
* make doc
|
||||
* cpack (C++ and make dist only ?)
|
||||
* thrift-compiler
|
||||
* libthrift
|
||||
* tutorial
|
||||
* test
|
||||
* merge into /README.md
|
||||
105
vendor/git.apache.org/thrift.git/build/cmake/ThriftMacros.cmake
generated
vendored
Normal file
105
vendor/git.apache.org/thrift.git/build/cmake/ThriftMacros.cmake
generated
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
|
||||
set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Set debug library postfix" FORCE)
|
||||
|
||||
|
||||
macro(ADD_LIBRARY_THRIFT name)
|
||||
|
||||
if(WITH_SHARED_LIB)
|
||||
add_library(${name} SHARED ${ARGN})
|
||||
set_target_properties(${name} PROPERTIES
|
||||
OUTPUT_NAME ${name}
|
||||
VERSION ${thrift_VERSION}
|
||||
SOVERSION ${thrift_VERSION} )
|
||||
#set_target_properties(${name} PROPERTIES PUBLIC_HEADER "${thriftcpp_HEADERS}")
|
||||
install(TARGETS ${name}
|
||||
RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
|
||||
LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
|
||||
ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
|
||||
PUBLIC_HEADER DESTINATION "${INCLUDE_INSTALL_DIR}")
|
||||
endif()
|
||||
|
||||
if(WITH_STATIC_LIB)
|
||||
add_library(${name}_static STATIC ${ARGN})
|
||||
set_target_properties(${name}_static PROPERTIES
|
||||
OUTPUT_NAME ${name}${STATIC_POSTFIX}
|
||||
VERSION ${thrift_VERSION}
|
||||
SOVERSION ${thrift_VERSION} )
|
||||
install(TARGETS ${name}_static
|
||||
RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
|
||||
LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
|
||||
ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
|
||||
PUBLIC_HEADER DESTINATION "${INCLUDE_INSTALL_DIR}")
|
||||
endif()
|
||||
|
||||
endmacro(ADD_LIBRARY_THRIFT)
|
||||
|
||||
|
||||
macro(TARGET_INCLUDE_DIRECTORIES_THRIFT name)
|
||||
|
||||
if(WITH_SHARED_LIB)
|
||||
target_include_directories(${name} ${ARGN})
|
||||
endif()
|
||||
|
||||
if(WITH_STATIC_LIB)
|
||||
target_include_directories(${name}_static ${ARGN})
|
||||
endif()
|
||||
|
||||
endmacro(TARGET_INCLUDE_DIRECTORIES_THRIFT)
|
||||
|
||||
|
||||
macro(TARGET_LINK_LIBRARIES_THRIFT name)
|
||||
|
||||
if(WITH_SHARED_LIB)
|
||||
target_link_libraries(${name} ${ARGN})
|
||||
endif()
|
||||
|
||||
if(WITH_STATIC_LIB)
|
||||
target_link_libraries(${name}_static ${ARGN})
|
||||
endif()
|
||||
|
||||
endmacro(TARGET_LINK_LIBRARIES_THRIFT)
|
||||
|
||||
|
||||
macro(LINK_AGAINST_THRIFT_LIBRARY target libname)
|
||||
|
||||
if (WITH_SHARED_LIB)
|
||||
target_link_libraries(${target} ${libname})
|
||||
elseif (WITH_STATIC_LIB)
|
||||
target_link_libraries(${target} ${libname}_static)
|
||||
else()
|
||||
message(FATAL "Not linking with shared or static libraries?")
|
||||
endif()
|
||||
|
||||
endmacro(LINK_AGAINST_THRIFT_LIBRARY)
|
||||
|
||||
|
||||
macro(TARGET_LINK_LIBRARIES_THRIFT_AGAINST_THRIFT_LIBRARY target libname)
|
||||
|
||||
if(WITH_SHARED_LIB)
|
||||
target_link_libraries(${target} ${ARGN} ${libname})
|
||||
endif()
|
||||
|
||||
if(WITH_STATIC_LIB)
|
||||
target_link_libraries(${target}_static ${ARGN} ${libname}_static)
|
||||
endif()
|
||||
|
||||
endmacro(TARGET_LINK_LIBRARIES_THRIFT_AGAINST_THRIFT_LIBRARY)
|
||||
26
vendor/git.apache.org/thrift.git/build/cmake/android-toolchain.cmake
generated
vendored
Normal file
26
vendor/git.apache.org/thrift.git/build/cmake/android-toolchain.cmake
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
set(ANDROID_NDK "/opt/android-ndk" CACHE)
|
||||
set(ANDROID_PLATFORM "android-15" CACHE)
|
||||
set(ANDROID_ARCH "arch-arm" CACHE)
|
||||
set(ANDROID_TOOL_ARCH "android-arm" CACHE)
|
||||
set(ANDROID_CPU "armeabi-v7a" CACHE)
|
||||
set(ANDROID_GCC_VERSION 4.9 CACHE)
|
||||
set(HOST_ARCH linux-x86_64 CACHE)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME Android)
|
||||
set(ANDROID_SYSROOT "${ANDROID_NDK}/platforms/${ANDROID_PLATFORM}/${ANDROID_ARCH}")
|
||||
set(ANDROID_TRIPLET arm-linux-androideabi)
|
||||
set(ANDROID_STL "${ANDROID_NDK}/sources/cxx-stl/gnu-libstd++/${ANDROID_GCC_VERSION}")
|
||||
|
||||
set(_COMPILER_ROOT ${ANDROID_NDK}/prebuilt/${ANDROID_TRIPLET}-${ANDROID_GCC_VERSION}/prebuilt/${HOST_ARCH})
|
||||
set(CMAKE_C_COMPILER ${_COMPILER_ROOT}/bin/${ANDROID_TRIPLET}-gcc)
|
||||
set(CMAKE_CXCX_COMPILER ${_COMPILER_ROOT}/bin/${ANDROID_TRIPLET}-g++)
|
||||
|
||||
include_directories(
|
||||
${ANDROID_STL}/include
|
||||
${ANDROID_STL}/libs/${ANDROID_CPU}/include)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${ANDROID_SYSROOT})
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
154
vendor/git.apache.org/thrift.git/build/cmake/config.h.in
generated
vendored
Normal file
154
vendor/git.apache.org/thrift.git/build/cmake/config.h.in
generated
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you 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.
|
||||
*/
|
||||
|
||||
/* config.h generated by CMake from config.h.in */
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
|
||||
/* Name of package */
|
||||
#cmakedefine PACKAGE "${PACKAGE}"
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#cmakedefine PACKAGE_BUGREPORT "${PACKAGE_BUGREPORT}"
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#cmakedefine PACKAGE_NAME "${PACKAGE_NAME}"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#cmakedefine PACKAGE_TARNAME "${PACKAGE_TARNAME}"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#cmakedefine PACKAGE_URL "${PACKAGE_URL}"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "${PACKAGE_VERSION}"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "${PACKAGE_STRING}"
|
||||
|
||||
/************************** DEFINES *************************/
|
||||
|
||||
/* Define if the AI_ADDRCONFIG symbol is unavailable */
|
||||
#cmakedefine AI_ADDRCONFIG 0
|
||||
|
||||
/* Possible value for SIGNED_RIGHT_SHIFT_IS */
|
||||
/* TODO: This is just set to 1 for the moment
|
||||
port the macro aclocal/ax_signed_right_shift.m4 to CMake to make this work */
|
||||
#define ARITHMETIC_RIGHT_SHIFT 1
|
||||
|
||||
/* Indicates the effect of the right shift operator on negative signed
|
||||
integers */
|
||||
/* TODO: This is just set to 1 for the moment */
|
||||
#define SIGNED_RIGHT_SHIFT_IS 1
|
||||
|
||||
/* Use *.h extension for parser header file */
|
||||
/* TODO: This might now be necessary anymore as it is set only for automake < 1.11
|
||||
see: aclocal/ac_prog_bison.m4 */
|
||||
#cmakedefine BISON_USE_PARSER_H_EXTENSION 1
|
||||
|
||||
/* replaces POSIX pthread by boost::thread */
|
||||
#cmakedefine USE_BOOST_THREAD 1
|
||||
|
||||
/* replaces POSIX pthread by std::thread */
|
||||
#cmakedefine USE_STD_THREAD 1
|
||||
|
||||
/* Define to 1 if strerror_r returns char *. */
|
||||
#cmakedefine STRERROR_R_CHAR_P 1
|
||||
|
||||
|
||||
/************************** HEADER FILES *************************/
|
||||
|
||||
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||
#cmakedefine HAVE_ARPA_INET_H 1
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#cmakedefine HAVE_FCNTL_H 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#cmakedefine HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <netdb.h> header file. */
|
||||
#cmakedefine HAVE_NETDB_H 1
|
||||
|
||||
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||
#cmakedefine HAVE_NETINET_IN_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#cmakedefine HAVE_STDINT_H 1
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#cmakedefine HAVE_UNISTD_H 1
|
||||
|
||||
/* Define to 1 if you have the <pthread.h> header file. */
|
||||
#cmakedefine HAVE_PTHREAD_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
#cmakedefine HAVE_SYS_TIME_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||
#cmakedefine HAVE_SYS_PARAM_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/resource.h> header file. */
|
||||
#cmakedefine HAVE_SYS_RESOURCE_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||
#cmakedefine HAVE_SYS_SOCKET_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#cmakedefine HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/un.h> header file. */
|
||||
#cmakedefine HAVE_SYS_UN_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/poll.h> header file. */
|
||||
#cmakedefine HAVE_SYS_POLL_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/select.h> header file. */
|
||||
#cmakedefine HAVE_SYS_SELECT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sched.h> header file. */
|
||||
#cmakedefine HAVE_SCHED_H 1
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/*************************** FUNCTIONS ***************************/
|
||||
|
||||
/* Define to 1 if you have the `gethostbyname' function. */
|
||||
#cmakedefine HAVE_GETHOSTBYNAME 1
|
||||
|
||||
/* Define to 1 if you have the `gethostbyname_r' function. */
|
||||
#cmakedefine HAVE_GETHOSTBYNAME_R 1
|
||||
|
||||
/* Define to 1 if you have the `strerror_r' function. */
|
||||
#cmakedefine HAVE_STRERROR_R 1
|
||||
|
||||
/* Define to 1 if you have the `sched_get_priority_max' function. */
|
||||
#cmakedefine HAVE_SCHED_GET_PRIORITY_MAX 1
|
||||
|
||||
/* Define to 1 if you have the `sched_get_priority_min' function. */
|
||||
#cmakedefine HAVE_SCHED_GET_PRIORITY_MIN 1
|
||||
|
||||
|
||||
/* Define to 1 if strerror_r returns char *. */
|
||||
#cmakedefine STRERROR_R_CHAR_P 1
|
||||
|
||||
#endif
|
||||
24
vendor/git.apache.org/thrift.git/build/cmake/mingw32-toolchain.cmake
generated
vendored
Normal file
24
vendor/git.apache.org/thrift.git/build/cmake/mingw32-toolchain.cmake
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# CMake mingw32 cross compile toolchain file
|
||||
|
||||
# the name of the target operating system
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc)
|
||||
SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++)
|
||||
SET(CMAKE_RC_COMPILER i586-mingw32msvc-windres)
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc)
|
||||
|
||||
# adjust the default behaviour of the FIND_XXX() commands:
|
||||
# search headers and libraries in the target environment, search
|
||||
# programs in the host environment
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "-static")
|
||||
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-static-libgcc")
|
||||
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-static-libstdc++")
|
||||
168
vendor/git.apache.org/thrift.git/build/docker/README.md
generated
vendored
Normal file
168
vendor/git.apache.org/thrift.git/build/docker/README.md
generated
vendored
Normal file
@@ -0,0 +1,168 @@
|
||||
# Docker Integration #
|
||||
|
||||
Due to the large number of language requirements to build Apache Thrift, docker containers are used to build and test the project on a variety of platforms to provide maximum test coverage.
|
||||
|
||||
## Travis CI Integration ##
|
||||
|
||||
The Travis CI scripts use the following environment variables and logic to determine their behavior.
|
||||
|
||||
### Environment Variables ###
|
||||
|
||||
| Variable | Default | Usage |
|
||||
| -------- | ----- | ------- |
|
||||
| `DISTRO` | `ubuntu-xenial` | Set by various build jobs in `.travis.yml` to run builds in different containers. Not intended to be set externally.|
|
||||
| `DOCKER_REPO` | `thrift/thrift-build` | The name of the Docker Hub repository to obtain and store docker images. |
|
||||
| `DOCKER_USER` | `<none>` | The Docker Hub account name containing the repository. |
|
||||
| `DOCKER_PASS` | `<none>` | The Docker Hub account password to use when pushing new tags. |
|
||||
|
||||
For example, the default docker image that is used in builds if no overrides are specified would be: `thrift/thrift-build:ubuntu-xenial`
|
||||
|
||||
### Forks ###
|
||||
|
||||
If you have forked the Apache Thrift repository and you would like to use your own Docker Hub account to store thrift build images, you can use the Travis CI web interface to set the `DOCKER_USER`, `DOCKER_PASS`, and `DOCKER_REPO` variables in a secure manner. Your fork builds will then pull, push, and tag the docker images in your account.
|
||||
|
||||
### Logic ###
|
||||
|
||||
The Travis CI build runs in two phases - first the docker images are rebuilt for each of the three supported containers if they do not match the Dockerfile that was used to build the most recent tag. If a `DOCKER_PASS` environment variable is specified, the docker stage builds will attempt to log into Docker Hub and push the resulting tags.
|
||||
|
||||
## Supported Containers ##
|
||||
|
||||
The Travis CI (continuous integration) builds use the Ubuntu Trusty, Xenial, and Artful images to maximize language level coverage.
|
||||
|
||||
### Ubuntu ###
|
||||
|
||||
* trusty (legacy)
|
||||
* xenial (stable)
|
||||
* artful (latest)
|
||||
|
||||
## Unsupported Containers ##
|
||||
|
||||
These containers may be in various states, and may not build everything.
|
||||
|
||||
### CentOS ###
|
||||
* 7.3
|
||||
* make check in lib/py may hang in test_sslsocket - root cause unknown
|
||||
|
||||
### Debian ###
|
||||
|
||||
* jessie
|
||||
* stretch
|
||||
* make check in lib/cpp fails due to https://svn.boost.org/trac10/ticket/12507
|
||||
|
||||
## Building like Travis CI does, locally ##
|
||||
|
||||
We recommend you build locally the same way Travis CI does, so that when you submit your pull request you will run into fewer surprises. To make it a little easier, put the following into your `~/.bash_aliases` file:
|
||||
|
||||
# Kill all running containers.
|
||||
alias dockerkillall='docker kill $(docker ps -q)'
|
||||
|
||||
# Delete all stopped containers.
|
||||
alias dockercleanc='printf "\n>>> Deleting stopped containers\n\n" && docker rm $(docker ps -a -q)'
|
||||
|
||||
# Delete all untagged images.
|
||||
alias dockercleani='printf "\n>>> Deleting untagged images\n\n" && docker rmi $(docker images -q -f dangling=true)'
|
||||
|
||||
# Delete all stopped containers and untagged images.
|
||||
alias dockerclean='dockercleanc || true && dockercleani'
|
||||
|
||||
# Build a thrift docker image (run from top level of git repo): argument #1 is image type (ubuntu, centos, etc).
|
||||
function dockerbuild
|
||||
{
|
||||
docker build -t $1 build/docker/$1
|
||||
}
|
||||
|
||||
# Run a thrift docker image: argument #1 is image type (ubuntu, centos, etc).
|
||||
function dockerrun
|
||||
{
|
||||
docker run -v $(pwd):/thrift/src -it $1 /bin/bash
|
||||
}
|
||||
|
||||
To pull down the current image being used to build (the same way Travis CI does it) - if it is out of date in any way it will build a new one for you:
|
||||
|
||||
thrift$ DOCKER_REPO=thrift/thrift-build DISTRO=ubuntu-xenial build/docker/refresh.sh
|
||||
|
||||
To run all unit tests (just like Travis CI):
|
||||
|
||||
thrift$ dockerrun ubuntu-xenial
|
||||
root@8caf56b0ce7b:/thrift/src# build/docker/scripts/autotools.sh
|
||||
|
||||
To run the cross tests (just like Travis CI):
|
||||
|
||||
thrift$ dockerrun ubuntu-xenial
|
||||
root@8caf56b0ce7b:/thrift/src# build/docker/scripts/cross-test.sh
|
||||
|
||||
When you are done, you want to clean up occasionally so that docker isn't using lots of extra disk space:
|
||||
|
||||
thrift$ dockerclean
|
||||
|
||||
You need to run the docker commands from the root of the git repository for them to work.
|
||||
|
||||
When you are done in the root docker shell you can `exit` to go back to your user host shell. Once the unit tests and cross test passes locally, then submit he changes, and squash the pull request to one commit to make it easier to merge. Thanks. I am going to update the docker README.md with this information so others can leverage it too. Now you are building like Travis CI does!
|
||||
|
||||
## Raw Commands for Building with Docker ##
|
||||
|
||||
If you do not want to use the same scripts Travis CI does, you can do it manually:
|
||||
|
||||
Build the image:
|
||||
|
||||
thrift$ docker build -t thrift build/docker/ubuntu-xenial
|
||||
|
||||
Open a command prompt in the image:
|
||||
|
||||
thrift$ docker run -v $(pwd):/thrift/src -it thrift /bin/bash
|
||||
|
||||
## Core Tool Versions per Dockerfile ##
|
||||
|
||||
Last updated: October 1, 2017
|
||||
|
||||
| Tool | ubuntu-trusty | ubuntu-xenial | ubuntu-artful | Notes |
|
||||
| :-------- | :------------ | :------------ | :------------ | :---- |
|
||||
| ant | 1.9.3 | 1.9.6 | 1.9.9 | |
|
||||
| autoconf | 2.69 | 2.69 | 2.69 | |
|
||||
| automake | 1.14.1 | 1.15 | 1.15 | |
|
||||
| bison | 3.0.2 | 3.0.4 | 3.0.4 | |
|
||||
| boost | 1.54.0 | 1.58.0 | 1.63.0 | artful: stock boost 1.62.0 has problems running unit tests |
|
||||
| cmake | 3.2.2 | 3.5.1 | 3.9.1 | |
|
||||
| cppcheck | 1.61 | 1.72 | 1.80 | |
|
||||
| flex | 2.5.35 | 2.6.0 | 2.6.1 | |
|
||||
| glibc | 2.19 | 2.23 | 2.26 | |
|
||||
| libevent | 2.0.21 | 2.0.21 | 2.1 | |
|
||||
| libstdc++ | 4.8.4 | 5.4.0 | 7.2.0 | |
|
||||
| make | 3.81 | 4.1 | 4.1 | |
|
||||
| openssl | 1.0.1f | 1.0.2g | 1.0.2g | |
|
||||
| qt5 | 5.2.1 | 5.5.1 | 5.9.1 | |
|
||||
|
||||
## Compiler/Language Versions per Dockerfile ##
|
||||
|
||||
Last updated: October 1, 2017
|
||||
|
||||
| Language | ubuntu-trusty | ubuntu-xenial | ubuntu-artful | Notes |
|
||||
| :-------- | :------------ | :------------ | :------------ | :---- |
|
||||
| as3 | | | | Not in CI |
|
||||
| C++ gcc | 4.8.4 | 5.4.0 | 7.2.0 | |
|
||||
| C++ clang | 3.4 | 3.8 | 4.0 | |
|
||||
| C# (mono) | 3.2.8.0 | 4.2.1 | 4.6.2.7 | |
|
||||
| c_glib | 2.40.2 | 2.48.2 | 2.54.0 | |
|
||||
| cocoa | | | | Not in CI |
|
||||
| d | 2.070.2 | 2.073.2 | 2.076.0 | |
|
||||
| dart | 1.20.1 | 1.24.2 | 1.24.2 | |
|
||||
| delphi | | | | Not in CI |
|
||||
| dotnet | | 2.0.3 | 2.0.3 | |
|
||||
| erlang | R16B03 | 18.3 | 20.0.4 | |
|
||||
| go | 1.2.1 | 1.6.2 | 1.8.3 | |
|
||||
| haskell | 7.6.3 | 7.10.3 | 8.0.2 | |
|
||||
| haxe | | 3.2.1 | 3.4.2 | disabled in trusty builds - cores on install v3.0.0, disabled in artful builds - see THRIFT-4352 |
|
||||
| java | 1.7.0_151 | 1.8.0_131 | 1.8.0_151 | |
|
||||
| js | | | | Unsure how to look for version info? |
|
||||
| lua | 5.1.5 | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
|
||||
| nodejs | | 4.2.6 | 8.9.1 | trusty has node.js 0.10.0 which is too old |
|
||||
| ocaml | | 4.02.3 | 4.04.0 | |
|
||||
| perl | 5.18.2 | 5.22.1 | 5.26.0 | |
|
||||
| php | 5.5.9 | 7.0.22 | 7.1.8 | |
|
||||
| python | 2.7.6 | 2.7.12 | 2.7.14 | |
|
||||
| python3 | 3.4.3 | 3.5.2 | 3.6.3 | |
|
||||
| ruby | 1.9.3p484 | 2.3.1p112 | 2.3.3p222 | |
|
||||
| rust | 1.15.1 | 1.15.1 | 1.18.0 | |
|
||||
| smalltalk | | | | Not in CI |
|
||||
| swift | | | | Not in CI |
|
||||
|
||||
59
vendor/git.apache.org/thrift.git/build/docker/Vagrantfile
generated
vendored
Normal file
59
vendor/git.apache.org/thrift.git/build/docker/Vagrantfile
generated
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Base system bootstrap script
|
||||
$bootstrap_script = <<__BOOTSTRAP__
|
||||
echo "Provisioning defaults"
|
||||
|
||||
sudo apt-get update -y
|
||||
sudo apt-get upgrade -y
|
||||
|
||||
# Install default packages
|
||||
sudo apt-get install -y build-essential curl git
|
||||
|
||||
# Install latest Docker version
|
||||
sudo curl -sSL https://get.docker.io/gpg | sudo apt-key add -
|
||||
sudo echo "deb http://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y linux-image-extra-`uname -r` aufs-tools
|
||||
sudo apt-get install -y lxc-docker
|
||||
|
||||
echo "Finished provisioning defaults"
|
||||
__BOOTSTRAP__
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.box = "trusty64"
|
||||
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
|
||||
config.ssh.forward_agent = true
|
||||
|
||||
config.vm.provider :virtualbox do |vbox|
|
||||
vbox.customize ["modifyvm", :id, "--memory", "1024"]
|
||||
vbox.customize ["modifyvm", :id, "--cpus", "2"]
|
||||
end
|
||||
|
||||
# Setup the default bootstrap script for our ubuntu base box image
|
||||
config.vm.provision "shell", inline: $bootstrap_script
|
||||
|
||||
# Setup the custom docker image from our Ubuntu Dockerfile
|
||||
config.vm.provision "docker" do |d|
|
||||
d.build_image "/vagrant/ubuntu", args: "-t thrift"
|
||||
end
|
||||
|
||||
# Setup the custom docker image from our Centos Dockerfile
|
||||
#config.vm.provision "docker" do |d|
|
||||
# d.build_image "/vagrant/centos", args: "-t thrift-centos"
|
||||
#end
|
||||
|
||||
end
|
||||
199
vendor/git.apache.org/thrift.git/build/docker/centos-7.3/Dockerfile
generated
vendored
Normal file
199
vendor/git.apache.org/thrift.git/build/docker/centos-7.3/Dockerfile
generated
vendored
Normal file
@@ -0,0 +1,199 @@
|
||||
# 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.
|
||||
|
||||
# Apache Thrift Docker build environment for CentOS
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - dotnet (will update to 2.0.0 separately)
|
||||
# - haxe (not in centos)
|
||||
|
||||
FROM centos:7.3.1611
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
RUN yum install -y epel-release
|
||||
|
||||
# General dependencies
|
||||
RUN yum install -y \
|
||||
autoconf \
|
||||
bison \
|
||||
bison-devel \
|
||||
clang \
|
||||
clang-analyzer \
|
||||
cmake3 \
|
||||
curl \
|
||||
flex \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gdb \
|
||||
git \
|
||||
libtool \
|
||||
m4 \
|
||||
make \
|
||||
tar \
|
||||
unzip \
|
||||
valgrind \
|
||||
wget && \
|
||||
ln -s /usr/bin/cmake3 /usr/bin/cmake && \
|
||||
ln -s /usr/bin/cpack3 /usr/bin/cpack && \
|
||||
ln -s /usr/bin/ctest3 /usr/bin/ctest
|
||||
|
||||
# C++ dependencies
|
||||
RUN yum install -y \
|
||||
boost-devel-static \
|
||||
zlib-devel \
|
||||
openssl-devel \
|
||||
libevent-devel && \
|
||||
cd /usr/lib64 && \
|
||||
ln -s libboost_thread-mt.a libboost_thread.a
|
||||
|
||||
# C# Dependencies
|
||||
RUN yum install -y \
|
||||
mono-core \
|
||||
mono-devel \
|
||||
mono-web-devel \
|
||||
mono-extras
|
||||
|
||||
# D Dependencies
|
||||
RUN yum install -y http://downloads.dlang.org/releases/2.x/2.076.0/dmd-2.076.0-0.fedora.x86_64.rpm xdg-utils
|
||||
RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf libevent-master openssl-master
|
||||
|
||||
# Dart
|
||||
RUN cd /usr/local && \
|
||||
wget -q https://storage.googleapis.com/dart-archive/channels/stable/release/1.24.2/sdk/dartsdk-linux-x64-release.zip && \
|
||||
unzip -q dartsdk-linux-x64-release.zip && \
|
||||
rm dartsdk-linux-x64-release.zip
|
||||
ENV PATH /usr/local/dart-sdk/bin:$PATH
|
||||
|
||||
# Erlang Dependencies
|
||||
RUN curl -sSL http://packages.erlang-solutions.com/rpm/centos/erlang_solutions.repo -o /etc/yum.repos.d/erlang_solutions.repo && \
|
||||
yum install -y \
|
||||
erlang-kernel \
|
||||
erlang-erts \
|
||||
erlang-stdlib \
|
||||
erlang-eunit \
|
||||
erlang-rebar \
|
||||
erlang-tools
|
||||
|
||||
# GLibC Dependencies
|
||||
RUN yum install -y glib2-devel
|
||||
|
||||
# Go Dependencies
|
||||
RUN curl -sSL https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz | tar -C /usr/local/ -xz
|
||||
ENV PATH /usr/local/go/bin:$PATH
|
||||
|
||||
# Haskell Dependencies
|
||||
RUN yum -y install haskell-platform
|
||||
|
||||
# Haxe Dependencies
|
||||
# Not in debian/stretch
|
||||
|
||||
# Java Dependencies
|
||||
RUN yum install -y \
|
||||
ant \
|
||||
junit \
|
||||
ant-junit \
|
||||
java-1.8.0-openjdk-devel
|
||||
|
||||
# Lua Dependencies
|
||||
# Lua in epel is too old (5.1.4, need 5.2) so we get the latest
|
||||
RUN yum install -y readline-devel && \
|
||||
wget -q http://www.lua.org/ftp/lua-5.3.4.tar.gz && \
|
||||
tar xzf lua-5.3.4.tar.gz && \
|
||||
cd lua-5.3.4 && \
|
||||
sed -i 's/CFLAGS= /CFLAGS= -fPIC /g' src/Makefile && \
|
||||
make linux && \
|
||||
make install && \
|
||||
cd .. && \
|
||||
rm -rf lua-5*
|
||||
|
||||
# MinGW Dependencies
|
||||
RUN yum install -y \
|
||||
mingw32-binutils \
|
||||
mingw32-crt \
|
||||
mingw32-nsis
|
||||
|
||||
# Node.js Dependencies
|
||||
# Work around epel issue where they removed http-parser that nodejs depends on!
|
||||
RUN yum -y install https://opensource.enda.eu/packages/http-parser-2.7.1-3.el7.x86_64.rpm
|
||||
RUN yum install -y \
|
||||
nodejs \
|
||||
npm
|
||||
|
||||
# Ocaml Dependencies
|
||||
RUN yum install -y \
|
||||
ocaml \
|
||||
ocaml-ocamldoc && \
|
||||
wget -q https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis && \
|
||||
echo '. /root/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true' >> ~/.bashrc
|
||||
|
||||
# Perl Dependencies
|
||||
RUN yum install -y \
|
||||
perl \
|
||||
perl-version \
|
||||
perl-Bit-Vector \
|
||||
perl-Class-Accessor \
|
||||
perl-ExtUtils-MakeMaker \
|
||||
perl-Test-Simple \
|
||||
perl-IO-Socket-SSL \
|
||||
perl-Net-SSLeay \
|
||||
perl-Crypt-SSLeay
|
||||
|
||||
# PHP Dependencies
|
||||
RUN yum install -y \
|
||||
php \
|
||||
php-devel \
|
||||
php-pear \
|
||||
re2c \
|
||||
php-phpunit-PHPUnit \
|
||||
bzip2
|
||||
|
||||
# Python Dependencies
|
||||
RUN yum install -y \
|
||||
python \
|
||||
python-devel \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python34 \
|
||||
python34-devel \
|
||||
python34-pip \
|
||||
python34-setuptools
|
||||
RUN pip2 install --upgrade pip
|
||||
RUN pip2 install --upgrade backports.ssl_match_hostname ipaddress setuptools six tornado tornado-testing twisted virtualenv zope-interface
|
||||
RUN pip3 install --upgrade pip
|
||||
RUN pip3 install --upgrade backports.ssl_match_hostname ipaddress setuptools six tornado tornado-testing twisted virtualenv zope-interface
|
||||
|
||||
# Ruby Dependencies
|
||||
RUN yum install -y \
|
||||
ruby \
|
||||
ruby-devel \
|
||||
rubygems && \
|
||||
gem install bundler rake
|
||||
|
||||
# Rust
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.17.0
|
||||
ENV PATH /root/.cargo/bin:$PATH
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /tmp/* && \
|
||||
yum clean all
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
204
vendor/git.apache.org/thrift.git/build/docker/debian-jessie/Dockerfile
generated
vendored
Normal file
204
vendor/git.apache.org/thrift.git/build/docker/debian-jessie/Dockerfile
generated
vendored
Normal file
@@ -0,0 +1,204 @@
|
||||
# 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.
|
||||
|
||||
# Apache Thrift Docker build environment for Debian
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - dotnetcore
|
||||
# - rust
|
||||
|
||||
FROM buildpack-deps:jessie-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# Add apt sources
|
||||
# jessie-backports for cmake and some ruby bits
|
||||
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
debhelper \
|
||||
flex \
|
||||
pkg-config && \
|
||||
apt-get -t jessie-backports install -y --no-install-recommends cmake
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-7-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-twisted \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-pip
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get -t jessie-backports install -y ruby-bundler
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php5 \
|
||||
php5-dev \
|
||||
php5-cli \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install \
|
||||
`# Haxe dependencies` \
|
||||
neko \
|
||||
neko-dev \
|
||||
libneko0
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs \
|
||||
nodejs-dev \
|
||||
nodejs-legacy \
|
||||
npm
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# CSharp dependencies` \
|
||||
libmono-system-web2.0-cil \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
xdg-utils \
|
||||
`# Dart dependencies` \
|
||||
dart \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev \
|
||||
`# MinGW dependencies` \
|
||||
mingw32 \
|
||||
mingw32-binutils \
|
||||
`# mingw32-runtime` \
|
||||
nsis \
|
||||
`# Clean up` \
|
||||
&& rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
# Ruby
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
# Python optional dependencies
|
||||
RUN pip2 install -U ipaddress backports.ssl_match_hostname tornado
|
||||
RUN pip3 install -U backports.ssl_match_hostname tornado
|
||||
|
||||
# Go
|
||||
RUN curl -sSL https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
|
||||
ENV PATH /usr/local/go/bin:$PATH
|
||||
|
||||
# Haxe
|
||||
RUN mkdir -p /usr/lib/haxe && \
|
||||
wget -O - https://github.com/HaxeFoundation/haxe/releases/download/3.2.1/haxe-3.2.1-linux64.tar.gz | \
|
||||
tar -C /usr/lib/haxe --strip-components=1 -xz && \
|
||||
ln -s /usr/lib/haxe/haxe /usr/bin/haxe && \
|
||||
ln -s /usr/lib/haxe/haxelib /usr/bin/haxelib && \
|
||||
mkdir -p /usr/lib/haxe/lib && \
|
||||
chmod -R 777 /usr/lib/haxe/lib && \
|
||||
haxelib setup /usr/lib/haxe/lib && \
|
||||
haxelib install hxcpp
|
||||
|
||||
# D
|
||||
RUN curl -sSL http://downloads.dlang.org/releases/2.x/2.070.0/dmd_2.070.0-0_amd64.deb -o /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
dpkg -i /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
rm /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf libevent-master openssl-master && \
|
||||
echo 'gcc -Wl,--no-as-needed $*' > /usr/local/bin/gcc-dmd && \
|
||||
chmod 755 /usr/local/bin/gcc-dmd && \
|
||||
echo 'CC=/usr/local/bin/gcc-dmd' >> /etc/dmd.conf
|
||||
|
||||
# Dart
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
# OCaml
|
||||
RUN echo 'deb http://ppa.launchpad.net/avsm/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/avsm-official-ocaml.list && \
|
||||
gpg --keyserver keyserver.ubuntu.com --recv 61707B09 && \
|
||||
gpg --export --armor 61707B09 | apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y ocaml opam && \
|
||||
opam init && \
|
||||
opam install oasis
|
||||
|
||||
# Force utf8 locale to successfully build Haskell tf-random
|
||||
ENV LC_ALL C.UTF-8
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
231
vendor/git.apache.org/thrift.git/build/docker/debian-stretch/Dockerfile
generated
vendored
Normal file
231
vendor/git.apache.org/thrift.git/build/docker/debian-stretch/Dockerfile
generated
vendored
Normal file
@@ -0,0 +1,231 @@
|
||||
# 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.
|
||||
|
||||
# Apache Thrift Docker build environment for Debian Stretch
|
||||
#
|
||||
# Known issues:
|
||||
# - d: deimos for libevent and openssl disabled - build errors
|
||||
# - dotnetcore, because netcore is for 1.0.0-preview and 2.0.0 is out
|
||||
# - rust: cargo not in debian repo - perhaps not needed?
|
||||
|
||||
FROM buildpack-deps:stretch-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends apt apt-transport-https curl wget apt-utils
|
||||
|
||||
# D
|
||||
RUN wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
apt-get update && apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
|
||||
|
||||
# dotnet (core) 2.0.0 - project isn't ready for this yet:
|
||||
# RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
# echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list
|
||||
|
||||
# node.js (this step runs apt-get update internally)
|
||||
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
|
||||
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
|
||||
|
||||
### languages
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
xdg-utils
|
||||
# libevent deimos disabled - build errors
|
||||
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf libevent-master
|
||||
# openssl deimos doesn't work with openssl-1.1.0 - disabling it for now:
|
||||
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf openssl-master
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Dart dependencies` \
|
||||
dart
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
# project isn't ready for this quite yet:
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# dotnet core dependencies` \
|
||||
# dotnet-sdk-2.0.0
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# golang (go) dependencies` \
|
||||
golang-go
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haxe dependencies` \
|
||||
haxe \
|
||||
neko \
|
||||
neko-dev
|
||||
RUN haxelib setup --always /usr/share/haxe/lib && \
|
||||
haxelib install --always hxcpp
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# same for debian stretch
|
||||
# lua5.3 does not install alternatives so stick with 5.2 here
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# OCaml dependencies` \
|
||||
ocaml \
|
||||
opam && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php7.0 \
|
||||
php7.0-cli \
|
||||
php7.0-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-backports.ssl-match-hostname \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
rustc
|
||||
|
||||
# Update anything else left hanging
|
||||
RUN apt-get dist-upgrade -y
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
82
vendor/git.apache.org/thrift.git/build/docker/refresh.sh
generated
vendored
Executable file
82
vendor/git.apache.org/thrift.git/build/docker/refresh.sh
generated
vendored
Executable file
@@ -0,0 +1,82 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
#
|
||||
# The build has two stages: "docker" and "test"
|
||||
# The "docker" stage is meant to rebuild the docker images
|
||||
# if needed. If we cannot push that result however then
|
||||
# there is no reason to do anything.
|
||||
# The "test" stage is an actual test job. Even if the docker
|
||||
# image doesn't match what's in the repo, we still build
|
||||
# the image so the build job can run properly.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DOCKER_TAG=$DOCKER_REPO:$DISTRO
|
||||
|
||||
function dockerfile_changed {
|
||||
# image may not exist yet, so we have to let it fail silently:
|
||||
docker pull $DOCKER_TAG || true
|
||||
docker run $DOCKER_TAG bash -c 'cd .. && sha512sum Dockerfile' > .Dockerfile.sha512
|
||||
sha512sum -c .Dockerfile.sha512
|
||||
}
|
||||
|
||||
#
|
||||
# If this build has no DOCKER_PASS and it is in the docker stage
|
||||
# then there's no reason to do any processing because we cannot
|
||||
# push the result if the Dockerfile changed.
|
||||
#
|
||||
|
||||
if [[ "$TRAVIS_BUILD_STAGE" == "docker" ]] && [[ -z "$DOCKER_PASS" ]]; then
|
||||
echo Detected docker stage build and no defined DOCKER_PASS, this build job will be skipped.
|
||||
echo Subsequent jobs in the test stage may each rebuild the docker image.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
pushd ${SCRIPT_DIR}/$DISTRO
|
||||
if dockerfile_changed; then
|
||||
echo Dockerfile has not changed. No need to rebuild.
|
||||
exit 0
|
||||
else
|
||||
echo Dockerfile has changed.
|
||||
fi
|
||||
popd
|
||||
|
||||
#
|
||||
# Dockerfile has changed - rebuild it for the current build job.
|
||||
# If it is a "docker" stage build then we want to push it back
|
||||
# to the DOCKER_REPO. If it is a "test" stage build then we do
|
||||
# not. If nobody defined a DOCKER_PASS then it doesn't matter.
|
||||
#
|
||||
|
||||
echo Rebuilding docker image $DISTRO
|
||||
docker build --tag $DOCKER_TAG build/docker/$DISTRO
|
||||
|
||||
if [[ "$TRAVIS_BUILD_STAGE" == "docker" ]] && [[ ! -z "$DOCKER_USER" ]] && [[ ! -z "$DOCKER_PASS" ]]; then
|
||||
echo Pushing docker image $DOCKER_TAG
|
||||
docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
docker push $DOCKER_TAG
|
||||
else
|
||||
echo Not pushing docker image: either not a docker stage build job, or one of DOCKER_USER or DOCKER_PASS is undefined.
|
||||
fi
|
||||
|
||||
30
vendor/git.apache.org/thrift.git/build/docker/run.sh
generated
vendored
Executable file
30
vendor/git.apache.org/thrift.git/build/docker/run.sh
generated
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DOCKER_TAG=$DOCKER_REPO:$DISTRO
|
||||
|
||||
printenv | sort
|
||||
|
||||
docker run --net=host -e BUILD_LIBS="$BUILD_LIBS" $BUILD_ENV -v $(pwd):/thrift/src \
|
||||
-it $DOCKER_TAG build/docker/scripts/$SCRIPT $BUILD_ARG
|
||||
|
||||
6
vendor/git.apache.org/thrift.git/build/docker/scripts/autotools.sh
generated
vendored
Executable file
6
vendor/git.apache.org/thrift.git/build/docker/scripts/autotools.sh
generated
vendored
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
./bootstrap.sh
|
||||
./configure $*
|
||||
make check -j3
|
||||
23
vendor/git.apache.org/thrift.git/build/docker/scripts/cmake.sh
generated
vendored
Executable file
23
vendor/git.apache.org/thrift.git/build/docker/scripts/cmake.sh
generated
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
CMAKE_FLAGS=$*
|
||||
MAKEPROG=make
|
||||
|
||||
if ninja --version >/dev/null 2>&1; then
|
||||
MAKEPROG=ninja
|
||||
CMAKE_FLAGS="-GNinja $CMAKE_FLAGS"
|
||||
fi
|
||||
|
||||
mkdir -p cmake_build && cd cmake_build
|
||||
cmake $CMAKE_FLAGS ..
|
||||
for LIB in $BUILD_LIBS; do
|
||||
if ! grep "^BUILD_${LIB}:BOOL=ON$" CMakeCache.txt ; then
|
||||
echo "failed to configure $LIB"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
$MAKEPROG -j3
|
||||
cpack
|
||||
ctest -VV -E "(python_test)"
|
||||
# disabled cmake python_test for now since it fails in travis under centos
|
||||
16
vendor/git.apache.org/thrift.git/build/docker/scripts/cross-test.sh
generated
vendored
Executable file
16
vendor/git.apache.org/thrift.git/build/docker/scripts/cross-test.sh
generated
vendored
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
./bootstrap.sh
|
||||
./configure --enable-tutorial=no
|
||||
make -j3 precross
|
||||
|
||||
set +e
|
||||
make cross$1
|
||||
|
||||
RET=$?
|
||||
if [ $RET -ne 0 ]; then
|
||||
cat test/log/unexpected_failures.log
|
||||
fi
|
||||
|
||||
exit $RET
|
||||
5
vendor/git.apache.org/thrift.git/build/docker/scripts/dpkg.sh
generated
vendored
Executable file
5
vendor/git.apache.org/thrift.git/build/docker/scripts/dpkg.sh
generated
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
dpkg-buildpackage -tc -us -uc
|
||||
ls -al ..
|
||||
9
vendor/git.apache.org/thrift.git/build/docker/scripts/make-dist.sh
generated
vendored
Executable file
9
vendor/git.apache.org/thrift.git/build/docker/scripts/make-dist.sh
generated
vendored
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
./bootstrap.sh
|
||||
./configure $*
|
||||
make dist
|
||||
tar xvf thrift-*.tar.gz
|
||||
cd thrift-*
|
||||
./build/docker/scripts/cmake.sh
|
||||
62
vendor/git.apache.org/thrift.git/build/docker/scripts/sca.sh
generated
vendored
Executable file
62
vendor/git.apache.org/thrift.git/build/docker/scripts/sca.sh
generated
vendored
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
set -ev
|
||||
|
||||
#
|
||||
# Generate thrift files so the static code analysis includes an analysis
|
||||
# of the files the thrift compiler spits out. If running interactively
|
||||
# set the NOBUILD environment variable to skip the boot/config/make phase.
|
||||
#
|
||||
|
||||
if [[ -z "$NOBUILD" ]]; then
|
||||
./bootstrap.sh
|
||||
./configure --enable-tutorial=no
|
||||
make -j3 precross
|
||||
fi
|
||||
|
||||
#
|
||||
# C/C++ static code analysis with cppcheck
|
||||
# add --error-exitcode=1 to --enable=all as soon as everything is fixed
|
||||
#
|
||||
# Python code style check with flake8
|
||||
#
|
||||
# search for TODO etc within source tree
|
||||
# some statistics about the code base
|
||||
# some info about the build machine
|
||||
|
||||
# Compiler cppcheck (All)
|
||||
cppcheck --force --quiet --inline-suppr --enable=all -j2 compiler/cpp/src
|
||||
|
||||
# C++ cppcheck (All)
|
||||
cppcheck --force --quiet --inline-suppr --enable=all -j2 lib/cpp/src lib/cpp/test test/cpp tutorial/cpp
|
||||
|
||||
# C Glib cppcheck (All)
|
||||
cppcheck --force --quiet --inline-suppr --enable=all -j2 lib/c_glib/src lib/c_glib/test test/c_glib/src tutorial/c_glib
|
||||
|
||||
# Silent error checks
|
||||
# See THRIFT-4371 : flex generated code triggers "possible null pointer dereference" in yy_init_buffer
|
||||
cppcheck --force --quiet --inline-suppr --suppress="*:thrift/thriftl.cc" --error-exitcode=1 -j2 compiler/cpp/src
|
||||
cppcheck --force --quiet --inline-suppr --error-exitcode=1 -j2 lib/cpp/src lib/cpp/test test/cpp tutorial/cpp
|
||||
cppcheck --force --quiet --inline-suppr --error-exitcode=1 -j2 lib/c_glib/src lib/c_glib/test test/c_glib/src tutorial/c_glib
|
||||
|
||||
# Python code style
|
||||
flake8 --ignore=E501 lib/py
|
||||
flake8 tutorial/py
|
||||
# THRIFT-4371 : generated files are excluded because they haven't been scrubbed yet
|
||||
flake8 --ignore=E501 --exclude="*/gen-py*/*" test/py
|
||||
flake8 test/py.twisted
|
||||
flake8 test/py.tornado
|
||||
flake8 --ignore=E501 test/test.py
|
||||
flake8 --ignore=E501,E722 test/crossrunner
|
||||
flake8 test/features
|
||||
|
||||
# TODO etc
|
||||
echo FIXMEs: `grep -r FIXME * | wc -l`
|
||||
echo HACKs: `grep -r HACK * | wc -l`
|
||||
echo TODOs: `grep -r TODO * | wc -l`
|
||||
|
||||
# LoC
|
||||
sloccount .
|
||||
|
||||
# System Info
|
||||
dpkg -l
|
||||
uname -a
|
||||
30
vendor/git.apache.org/thrift.git/build/docker/scripts/ubsan.sh
generated
vendored
Executable file
30
vendor/git.apache.org/thrift.git/build/docker/scripts/ubsan.sh
generated
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Wraps autotools.sh, but each binary crashes if it exhibits undefined behavior.
|
||||
# Set the undefined behavior flags. This crashes on all undefined behavior except for
|
||||
# undefined casting, aka "vptr".
|
||||
# TODO: fix undefined vptr behavior and turn this option back on.
|
||||
|
||||
export CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined -O0 -ggdb3 -fno-omit-frame-pointer"
|
||||
export CXXFLAGS="${CFLAGS}"
|
||||
export LDFLAGS="-lubsan"
|
||||
export UBSAN_OPTIONS=print_stacktrace=1
|
||||
|
||||
#
|
||||
# work around https://svn.boost.org/trac10/ticket/11632 if present
|
||||
#
|
||||
|
||||
sed -i 's/, stream_t(rdbuf()) /, stream_t(pbase_type::member.get())/g' /usr/include/boost/format/alt_sstream.hpp
|
||||
|
||||
# llvm-symbolizer must be on PATH to get a stack trace on error
|
||||
|
||||
CLANG_PATH="$(mktemp -d)"
|
||||
trap "rm -rf ${CLANG_PATH}" EXIT
|
||||
ln -s "$(whereis llvm-symbolizer-4.0 | rev | cut -d ' ' -f 1 | rev)" \
|
||||
"${CLANG_PATH}/llvm-symbolizer"
|
||||
export PATH="${CLANG_PATH}:${PATH}"
|
||||
llvm-symbolizer -version
|
||||
|
||||
build/docker/scripts/autotools.sh $*
|
||||
254
vendor/git.apache.org/thrift.git/build/docker/ubuntu-artful/Dockerfile
generated
vendored
Normal file
254
vendor/git.apache.org/thrift.git/build/docker/ubuntu-artful/Dockerfile
generated
vendored
Normal file
@@ -0,0 +1,254 @@
|
||||
# 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.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Artful
|
||||
# Using all stock Ubuntu Artful packaging except for:
|
||||
# - cpp: stock boost 1.62 in artful has a nasty bug so we use stock boost 1.63
|
||||
# - d: does not come with Ubuntu so we're installing the latest
|
||||
# - d: deimos for libevent and openssl omitted - not compatible / build errors
|
||||
# - haxe: see THRIFT-4352, but test/haxe cores during testing
|
||||
# and hxcpp 3.4.64 is not compatible with artful
|
||||
#
|
||||
|
||||
FROM buildpack-deps:artful-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt \
|
||||
apt-transport-https \
|
||||
apt-utils \
|
||||
curl \
|
||||
dirmngr \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
# csharp (mono) - if we ever want a later version
|
||||
# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
|
||||
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
|
||||
|
||||
# dotnet (core)
|
||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > /etc/apt/sources.list.d/dotnetdev.list
|
||||
|
||||
# node.js (this step runs apt-get update internally) - if we ever want a later version
|
||||
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-3.8/bin:$PATH
|
||||
|
||||
# boost-1.62 has a terrible bug in boost::test, see https://svn.boost.org/trac10/ticket/12507
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost1.63-all-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
|
||||
wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
wget -qO - https://dlang.org/d-keyring.gpg | apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin \
|
||||
libphobos2-dev \
|
||||
dub \
|
||||
dfmt \
|
||||
dscanner \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
xdg-utils
|
||||
# libevent deimos doesn't seem to work so not enabling it:
|
||||
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf libevent-master
|
||||
# openssl deimos doesn't work with openssl-1.0.2 so not enabling it:
|
||||
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf openssl-master
|
||||
|
||||
# dart cannot be downloaded by aptitude because of
|
||||
# https://github.com/dart-lang/sdk/issues/30512
|
||||
# RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
# curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
# apt-get update && \
|
||||
# apt-get install -y --no-install-recommends \
|
||||
# `# Dart dependencies` \
|
||||
# dart
|
||||
# so instead we do:
|
||||
RUN wget https://storage.googleapis.com/dart-archive/channels/stable/release/latest/linux_packages/dart_1.24.2-1_amd64.deb && \
|
||||
dpkg -i dart_1.24.2-1_amd64.deb && \
|
||||
rm dart_1.24.2-1_amd64.deb
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# dotnet core dependencies` \
|
||||
dotnet-sdk-2.0.3
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# golang (go) dependencies` \
|
||||
golang-go \
|
||||
golang-race-detector-runtime
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
# see THRIFT-4352, test/haxe cores on artful
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# Haxe dependencies` \
|
||||
# haxe \
|
||||
# neko \
|
||||
# neko-dev
|
||||
# RUN haxelib setup --always /usr/share/haxe/lib && \
|
||||
# haxelib install --always hxcpp
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# lua5.3 does not install alternatives!
|
||||
# need to update our luasocket code, lua doesn't have luaL_openlib any more
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# OCaml dependencies` \
|
||||
ocaml \
|
||||
opam && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php \
|
||||
php-cli \
|
||||
php-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python3 dependencies` \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Static Code Analysis dependencies` \
|
||||
cppcheck \
|
||||
sloccount && \
|
||||
pip install flake8
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
223
vendor/git.apache.org/thrift.git/build/docker/ubuntu-trusty/Dockerfile
generated
vendored
Normal file
223
vendor/git.apache.org/thrift.git/build/docker/ubuntu-trusty/Dockerfile
generated
vendored
Normal file
@@ -0,0 +1,223 @@
|
||||
# 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.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Trusty
|
||||
# Using all stock Ubuntu Trusty packaging except for:
|
||||
# - d: does not come with Ubuntu so we're installing 2.070.0
|
||||
# - dart: does not come with Ubuntu so we're installing 1.20.1
|
||||
# - dotnetcore, disabled because netcore is for 1.0.0-preview and 2.0.0 is out
|
||||
# - haxe, disabled because the distro comes with 3.0.0 and it cores while installing
|
||||
# - node.js, disabled because it is at 0.10.0 in the distro which is too old (need 4+)
|
||||
# - ocaml, disabled because it fails to install properly
|
||||
#
|
||||
|
||||
FROM buildpack-deps:trusty-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt \
|
||||
apt-transport-https \
|
||||
apt-utils \
|
||||
curl \
|
||||
dirmngr \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-3.8/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-all-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
|
||||
wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
wget -qO - https://dlang.org/d-keyring.gpg | apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin=2.070.2-0 \
|
||||
libphobos2-dev=2.070.2-0 \
|
||||
dub \
|
||||
dfmt \
|
||||
dscanner \
|
||||
xdg-utils
|
||||
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf libevent-master
|
||||
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf openssl-master
|
||||
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
`# Dart dependencies` \
|
||||
dart=1.20.1-1
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# golang (go) dependencies` \
|
||||
golang-go
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
# disabled because it cores while installing
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# Haxe dependencies` \
|
||||
# haxe \
|
||||
# neko \
|
||||
# neko-dev && \
|
||||
# haxelib setup /usr/share/haxe/lib && \
|
||||
# haxelib install hxcpp 3.2.102
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-7-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.1 \
|
||||
lua5.1-dev
|
||||
|
||||
# disabled because it is too old
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# Node.js dependencies` \
|
||||
# nodejs \
|
||||
# npm
|
||||
|
||||
# disabled because it fails to install properly
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# OCaml dependencies` \
|
||||
# ocaml \
|
||||
# opam && \
|
||||
# opam init --yes && \
|
||||
# opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php5 \
|
||||
php5-cli \
|
||||
php5-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-wheel \
|
||||
python3-zope.interface && \
|
||||
pip install -U ipaddress backports.ssl_match_hostname tornado && \
|
||||
pip3 install -U backports.ssl_match_hostname tornado
|
||||
# installing tornado by pip/pip3 instead of debian package
|
||||
# if we install the debian package, the build fails in py2
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Static Code Analysis dependencies` \
|
||||
cppcheck \
|
||||
sloccount && \
|
||||
pip install flake8
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
231
vendor/git.apache.org/thrift.git/build/docker/ubuntu-trusty/Dockerfile.orig
generated
vendored
Normal file
231
vendor/git.apache.org/thrift.git/build/docker/ubuntu-trusty/Dockerfile.orig
generated
vendored
Normal file
@@ -0,0 +1,231 @@
|
||||
# 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.
|
||||
|
||||
# Apache Thrift Docker build environment for Ubuntu
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - dotnetcore
|
||||
|
||||
FROM buildpack-deps:trusty-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# Add apt sources
|
||||
# CMAKE
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends software-properties-common && \
|
||||
add-apt-repository -y ppa:george-edison55/cmake-3.x
|
||||
|
||||
# Erlang
|
||||
RUN echo 'deb http://packages.erlang-solutions.com/debian trusty contrib' > /etc/apt/sources.list.d/erlang_solutions.list && \
|
||||
curl -sSL https://packages.erlang-solutions.com/debian/erlang_solutions.asc | apt-key add -
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
|
||||
|
||||
# Consider using mirror nearby when building locally
|
||||
# TODO: Provide option via --build-arg=...
|
||||
# RUN sed -i /etc/apt/sources.list -e 's!http://archive.ubuntu.com/ubuntu/!http://your/mirror/!g'
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
`# Included in buildpack-deps` \
|
||||
`# autoconf` \
|
||||
`# automake` \
|
||||
`# g++` \
|
||||
`# git` \
|
||||
`# libtool` \
|
||||
`# make`
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
`# libevent and OpenSSL are needed by D too` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-7-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
`# TODO:` \
|
||||
`# Install twisted and zope.interface via pip. we need twisted at ./configure time, otherwise` \
|
||||
`# py.twisted tests are skipped.` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-twisted \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-pip
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php5 \
|
||||
php5-dev \
|
||||
php5-cli \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install \
|
||||
`# Haxe dependencies` \
|
||||
neko \
|
||||
neko-dev \
|
||||
libneko0
|
||||
|
||||
# Newer release of nodejs
|
||||
RUN curl -sL https://deb.nodesource.com/setup_4.x | bash
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
# Add mono package repository url to get latest version of mono
|
||||
RUN echo "deb http://download.mono-project.com/repo/debian trusty main" | tee /etc/apt/sources.list.d/mono.list
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# CSharp dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
xdg-utils \
|
||||
`# Dart dependencies` \
|
||||
dart \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev \
|
||||
`# MinGW dependencies` \
|
||||
mingw32 \
|
||||
mingw32-binutils \
|
||||
mingw32-runtime \
|
||||
nsis \
|
||||
`# Clean up` \
|
||||
&& rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
# Ruby
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
# Python optional dependencies
|
||||
RUN pip2 install -U ipaddress backports.ssl_match_hostname tornado
|
||||
RUN pip3 install -U backports.ssl_match_hostname tornado
|
||||
|
||||
# Go
|
||||
RUN curl -sSL https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
|
||||
ENV PATH /usr/local/go/bin:$PATH
|
||||
|
||||
# Haxe
|
||||
RUN mkdir -p /usr/lib/haxe && \
|
||||
wget -O - https://github.com/HaxeFoundation/haxe/releases/download/3.2.1/haxe-3.2.1-linux64.tar.gz | \
|
||||
tar -C /usr/lib/haxe --strip-components=1 -xz && \
|
||||
ln -s /usr/lib/haxe/haxe /usr/bin/haxe && \
|
||||
ln -s /usr/lib/haxe/haxelib /usr/bin/haxelib && \
|
||||
mkdir -p /usr/lib/haxe/lib && \
|
||||
chmod -R 777 /usr/lib/haxe/lib && \
|
||||
haxelib setup --always /usr/lib/haxe/lib && \
|
||||
haxelib install --always hxcpp 3.4.64
|
||||
|
||||
# Node.js
|
||||
# temporarily removed since this breaks the build (and is not needed to test C# code)
|
||||
# RUN curl -sSL https://www.npmjs.com/install.sh | sh
|
||||
|
||||
# D
|
||||
RUN curl -sSL http://downloads.dlang.org/releases/2.x/2.070.0/dmd_2.070.0-0_amd64.deb -o /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
dpkg -i /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
rm /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf libevent-master openssl-master && \
|
||||
echo 'gcc -Wl,--no-as-needed $*' > /usr/local/bin/gcc-dmd && \
|
||||
chmod 755 /usr/local/bin/gcc-dmd && \
|
||||
echo 'CC=/usr/local/bin/gcc-dmd' >> /etc/dmd.conf
|
||||
|
||||
# Dart
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
# OCaml
|
||||
RUN echo 'deb http://ppa.launchpad.net/avsm/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/avsm-official-ocaml.list && \
|
||||
gpg --keyserver keyserver.ubuntu.com --recv 61707B09 && \
|
||||
gpg --export --armor 61707B09 | apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y ocaml opam && \
|
||||
opam init && \
|
||||
opam install oasis
|
||||
|
||||
# Rust
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.17.0
|
||||
ENV PATH /root/.cargo/bin:$PATH
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
249
vendor/git.apache.org/thrift.git/build/docker/ubuntu-xenial/Dockerfile
generated
vendored
Normal file
249
vendor/git.apache.org/thrift.git/build/docker/ubuntu-xenial/Dockerfile
generated
vendored
Normal file
@@ -0,0 +1,249 @@
|
||||
# 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.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Xenial
|
||||
# Using all stock Ubuntu Xenial packaging except for:
|
||||
# - d: does not come with Ubuntu so we're installing 2.073.2 for coverage
|
||||
# - dart: does not come with Ubuntu so we're installing 1.22.1 for coverage
|
||||
#
|
||||
|
||||
#
|
||||
# Known missing or disabled libraries:
|
||||
# - d: deimos for libevent and openssl omitted - not compatible / build errors
|
||||
|
||||
FROM buildpack-deps:xenial-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y --no-install-recommends apt apt-transport-https curl wget apt-utils
|
||||
|
||||
# csharp (mono)
|
||||
# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
|
||||
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
|
||||
|
||||
# D
|
||||
RUN wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
wget -qO - https://dlang.org/d-keyring.gpg | apt-key add -
|
||||
ENV D_VERSION 2.073.2-0
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
|
||||
# since ubuntu-artful can't run dart, we'll run 1.240 on xenial for now
|
||||
ENV DART_VERSION 1.24.2-1
|
||||
|
||||
# dotnet (core)
|
||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list
|
||||
|
||||
# node.js (this step runs apt-get update internally)
|
||||
# note: node 8.5 introduced some issues with directory handling / jsdoc / something... using 7.x for now
|
||||
# RUN curl -sL https://deb.nodesource.com/setup_7.x | bash
|
||||
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-3.8/bin:$PATH
|
||||
|
||||
### languages
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get install -y --allow-unauthenticated --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin=$D_VERSION \
|
||||
libphobos2-dev=$D_VERSION \
|
||||
dub \
|
||||
dfmt \
|
||||
dscanner \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
xdg-utils
|
||||
# libevent deimos doesn't seem to work so not enabling it:
|
||||
# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf libevent-master
|
||||
# openssl deimos doesn't work with openssl-1.0.2 so not enabling it:
|
||||
# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
# rm -rf openssl-master
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Dart dependencies` \
|
||||
dart=$DART_VERSION
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# dotnet core dependencies` \
|
||||
dotnet-sdk-2.0.3
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# golang (go) dependencies` \
|
||||
golang-go \
|
||||
golang-race-detector-runtime
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haxe dependencies` \
|
||||
haxe \
|
||||
neko \
|
||||
neko-dev \
|
||||
libneko0
|
||||
RUN haxelib setup --always /usr/share/haxe/lib && \
|
||||
haxelib install --always hxcpp 3.4.64
|
||||
# note: hxcpp 3.4.185 (latest) no longer ships static libraries, and caused a build failure
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# lua5.3 does not install alternatives so stick with 5.2 here
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs \
|
||||
npm && \
|
||||
ln -s /usr/bin/nodejs /usr/bin/node
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# OCaml dependencies` \
|
||||
ocaml \
|
||||
opam && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php7.0 \
|
||||
php7.0-cli \
|
||||
php7.0-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-backports.ssl-match-hostname \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
||||
29
vendor/git.apache.org/thrift.git/build/travis/installCXXDependencies.sh
generated
vendored
Executable file
29
vendor/git.apache.org/thrift.git/build/travis/installCXXDependencies.sh
generated
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
|
||||
|
||||
# Mainly aiming Travis CI's Ubuntu machines for now
|
||||
# see what we need: http://thrift.apache.org/docs/install/ubuntu
|
||||
|
||||
# General dependencies
|
||||
sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu/ trusty main restricted" -y
|
||||
sudo apt-get update -qq
|
||||
|
||||
sudo apt-get install -qq libpango-1.0-0 libqt4-dev qtbase5-dev qtbase5-dev-tools qt5-default libboost-dev libboost-test-dev libboost-program-options-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev make cmake git debhelper bc nsis ninja-build
|
||||
dpkg -S /usr/include/boost/version.hpp
|
||||
66
vendor/git.apache.org/thrift.git/build/travis/installDependencies.sh
generated
vendored
Executable file
66
vendor/git.apache.org/thrift.git/build/travis/installDependencies.sh
generated
vendored
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
|
||||
SCRIPTPATH=$( cd $(dirname $0) ; pwd -P )
|
||||
|
||||
# Mainly aiming Travis CI's Ubuntu machines for now
|
||||
# see what we need: http://thrift.apache.org/docs/install/ubuntu
|
||||
|
||||
# Java dependencies
|
||||
sudo apt-get install -qq ant openjdk-7-jdk
|
||||
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
|
||||
|
||||
# Python dependencies
|
||||
sudo apt-get install -qq python-all python-all-dev python-all-dbg python-setuptools python-support python-twisted python-six python3-six
|
||||
|
||||
# Ruby dependencies
|
||||
sudo apt-get install -qq ruby ruby-dev
|
||||
sudo gem install bundler rake
|
||||
|
||||
# Perl dependencies
|
||||
sudo apt-get install -qq libbit-vector-perl libclass-accessor-class-perl libio-socket-ssl-perl libnet-ssleay-perl libcrypt-ssleay-perl
|
||||
|
||||
# Php dependencies
|
||||
sudo apt-get install -qq php5 php5-dev php5-cli php-pear re2c
|
||||
|
||||
# GlibC dependencies
|
||||
sudo apt-get install -qq libglib2.0-dev
|
||||
|
||||
# Erlang dependencies
|
||||
sudo apt-get install -qq erlang-base erlang-eunit erlang-dev erlang-tools rebar
|
||||
|
||||
# GO dependencies
|
||||
echo "golang-go golang-go/dashboard boolean false" | debconf-set-selections
|
||||
sudo apt-get -y install -qq golang golang-go
|
||||
|
||||
# Haskell dependencies
|
||||
sudo add-apt-repository -y ppa:hvr/ghc
|
||||
sudo apt-get update
|
||||
sudo apt-get install cabal-install-1.20 ghc-$GHCVER
|
||||
|
||||
# Lua dependencies
|
||||
sudo apt-get install -qq lua5.2 lua5.2-dev
|
||||
|
||||
# Node.js dependencies
|
||||
sudo apt-get install -qq nodejs nodejs-dev npm
|
||||
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
|
||||
|
||||
# CSharp
|
||||
sudo apt-get install -qq mono-gmcs mono-devel libmono-system-web2.0-cil
|
||||
sudo apt-get install -qq mingw32 mingw32-binutils mingw32-runtime nsis
|
||||
219
vendor/git.apache.org/thrift.git/build/wincpp/README.md
generated
vendored
Normal file
219
vendor/git.apache.org/thrift.git/build/wincpp/README.md
generated
vendored
Normal file
@@ -0,0 +1,219 @@
|
||||
<!---
|
||||
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.
|
||||
-->
|
||||
|
||||
# Building thrift on Windows (Native)
|
||||
|
||||
Thrift uses cmake to make it easier to build the project on multiple platforms, however to build a fully functional and production ready thrift on Windows requires a number of third party libraries to be obtained or built. Once third party libraries are ready, the right combination of options must be passed to cmake in order to generate the correct environment.
|
||||
|
||||
## Summary
|
||||
|
||||
These instructions will help you build thrift for windows using Visual
|
||||
Studio 2010 or later. The contributed batch files will help you build
|
||||
the third party libraries needed for complete thrift functionality as
|
||||
well as thrift itself.
|
||||
|
||||
These instructions follow a directory layout that looks like the following:
|
||||
|
||||
workspace\
|
||||
build\ - this is where the out-of-tree thrift cmake builds are generated
|
||||
dist\ - this is where the thrift build results end up
|
||||
thirdparty\ - this is where all third party binaries and libraries live
|
||||
build\ - this is where all third party out-of-tree builds are generated
|
||||
(except for openssl, which only builds in-tree)
|
||||
dist\ - this is where all third party distributions end up
|
||||
src\ - this is where all third party source projects live
|
||||
scripts\ - batch files used to set environment variables for builds
|
||||
thrift\ - this is where the thrift source project lives
|
||||
|
||||
Create a "workspace" directory somewhere on your system and then copy the contents of this
|
||||
directory to there, then clone or unpack thrift into `workspace\thrift`.
|
||||
|
||||
## Third Party Libraries
|
||||
|
||||
Batch scripts are provided to build some third party libraries. You must download them and place them into the directory noted for each. You can use different versions if you prefer; these instructions were made with the versions listed.
|
||||
|
||||
> TIP: To modify the versions used in the batch scripts, look in scripts\tpversions.bat.
|
||||
|
||||
Build them in the order listed to satisfy their dependencies.
|
||||
|
||||
### winflexbison
|
||||
|
||||
source: web site
|
||||
location: https://sourceforge.net/projects/winflexbison/files/win_flex_bison-latest.zip/download
|
||||
version: "latest"
|
||||
directory: workspace\thirdparty\dist\winflexbison
|
||||
|
||||
This package is required to build the compiler. This third party package does not need to be built as it is a binary distribution of the "bison" and "flex" tools normally found on Unix boxes.
|
||||
|
||||
> TIP: If you are only interested in building the compiler, you can skip the remaining third party libraries.
|
||||
|
||||
### zlib
|
||||
|
||||
source: web site
|
||||
location: http://zlib.net/
|
||||
version: 1.2.9
|
||||
directory: workspace\thirdparty\src\zlib-1.2.9
|
||||
|
||||
To build, open the appropriate Visual Studio command prompt and then run
|
||||
the build-zlib.bat script in thirdparty\src.
|
||||
|
||||
### openssl
|
||||
|
||||
source: web site
|
||||
location: https://www.openssl.org/
|
||||
version: 1.1.0c
|
||||
directory: workspace\thirdparty\src\openssl-1.1.0c
|
||||
depends-on: zlib
|
||||
|
||||
If you are using openssl-1.1.0 or later, they changed static builds to use Microsoft Static RTL for release builds. zlib by default uses a dynamic runtime, as does libevent. Edit the file Configurations/10-main.conf and replace the section contents for "VC-noCE-common" with what appears below to make openssl build with dynamic runtime instead:
|
||||
|
||||
"VC-noCE-common" => {
|
||||
inherit_from => [ "VC-common" ],
|
||||
template => 1,
|
||||
cflags => add(picker(default => "-DUNICODE -D_UNICODE",
|
||||
debug => "/MDd /Od -DDEBUG -D_DEBUG",
|
||||
release => "/MD /O2"
|
||||
)),
|
||||
bin_cflags => add(picker(debug => "/MDd",
|
||||
release => "/MD",
|
||||
)),
|
||||
bin_lflags => add("/subsystem:console /opt:ref"),
|
||||
ex_libs => add(sub {
|
||||
my @ex_libs = ();
|
||||
push @ex_libs, 'ws2_32.lib' unless $disabled{sock};
|
||||
push @ex_libs, 'gdi32.lib advapi32.lib crypt32.lib user32.lib';
|
||||
return join(" ", @ex_libs);
|
||||
}),
|
||||
},
|
||||
|
||||
To build, open the appropriate Visual Studio command prompt and then run
|
||||
the build-openssl.bat script in thirdparty\src.
|
||||
|
||||
### libevent
|
||||
|
||||
source: git
|
||||
location: https://github.com/nmathewson/Libevent.git
|
||||
use: commit 3821cca1a637f4da4099c9343e7326da00f6981c or later
|
||||
date: Fri Dec 23 16:19:35 2016 +0800 or later
|
||||
version: corresponds to 2.1.7rc + patches
|
||||
directory: workspace\thirdparty\src\libevent-2.1.7rc2
|
||||
depends-on: openssl, zlib
|
||||
|
||||
To build, open the appropriate Visual Studio command prompt and then run
|
||||
the build-libevent.bat script in thirdparty\src.
|
||||
|
||||
### msinttypes
|
||||
|
||||
source: web site
|
||||
location: https://code.google.com/archive/p/msinttypes/downloads
|
||||
version: 26
|
||||
directory: workspace\thirdparty\dist\msinttypes
|
||||
|
||||
> TIP: This is only necessary for Visual Studio 2010, which did not include an <inttypes.h> header.
|
||||
|
||||
This third party package does not need to be built as it is a distribution of header files.
|
||||
|
||||
### boost
|
||||
|
||||
source: web site
|
||||
location: http://boost.teeks99.com/
|
||||
version: 1_62_0
|
||||
directory: workspace\thirdparty\dist\boost_1_62_0
|
||||
|
||||
The pre-built binary versions of boost come in self-unpacking executables. Run each of the ones you are interested in and point them at the same thirdparty dist directory.
|
||||
|
||||
## Building a Production thrift Compiler
|
||||
|
||||
### Prerequisites
|
||||
|
||||
* CMake-2.8.12.2 or later
|
||||
* Visual Studio 2010 or later
|
||||
* thrift source placed into workspace\thrift
|
||||
* winflexbison placed into workspace\thirdparty\dist
|
||||
|
||||
### Instructions
|
||||
|
||||
By following these instructions you will end up with a release mode thrift compiler that is suitable for distribution as it has no external dependencies.
|
||||
|
||||
1. Open the appropriate Visual Studio Command Prompt.
|
||||
2. `cd workspace`
|
||||
3. `build-thrift-compiler.bat`
|
||||
|
||||
The batch file uses CMake to generate an out-of-tree build directory in `workspace\build` and then builds the compiler. The resulting `thrift.exe` program is placed into `workspace\dist` in a path that depends on your compiler version and platform. For example, if you use a Visual Studio 2010 x64 Command Prompt, the compiler will be placed into `workspace\dist\thrift-compiler-dev\vc100\x64\Release\thrift.exe`
|
||||
|
||||
#### Details
|
||||
|
||||
This section is for those who are curious about the CMake options used in the build process.
|
||||
|
||||
CMake takes the source tree as the first argument and uses the remaining arguments for configuration. The batch file `build-thrift-compiler` essentially performs the following commands:
|
||||
|
||||
C:\> CD workspace\build
|
||||
C:\workspace\build> "C:\Program Files\CMake\bin\cmake.exe" ..\thrift
|
||||
-DBISON_EXECUTABLE=..\thirdparty\dist\winflexbison\win_bison.exe
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DFLEX_EXECUTABLE=..\thirdparty\dist\winflexbison\win_flex.exe
|
||||
-DWITH_MT=ON
|
||||
-DWITH_SHARED_LIB=OFF
|
||||
-G"NMake Makefiles"
|
||||
C:\workspace\build> NMAKE /FMakefile thrift-compiler
|
||||
|
||||
WITH_MT controls the dynamic or static runtime library selection. To build a production compiler, the thrift project recommends using the static runtime library to make the executable portable. The batch file sets this.
|
||||
|
||||
You can build a Visual Studio project file by following the example but substituting a different generator for the "-G" option. Run `cmake.exe --help` for a list of generators. Typically, this is one of the following on Windows (omit "Win64" to build 32-bit instead):
|
||||
|
||||
* "Visual Studio 10 2010 Win64"
|
||||
* "Visual Studio 11 2012 Win64"
|
||||
* "Visual Studio 12 2013 Win64"
|
||||
* "Visual Studio 14 2015 Win64"
|
||||
* "Visual Studio 15 2017 Win64"
|
||||
|
||||
For example you can build using a Visual Studio solution file on the command line by doing:
|
||||
|
||||
C:\> CD workspace\build
|
||||
C:\workspace\build> "C:\Program Files\CMake\bin\cmake.exe" ..\thrift
|
||||
-DBISON_EXECUTABLE=..\thirdparty\dist\winflexbison\win_bison.exe
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DFLEX_EXECUTABLE=..\thirdparty\dist\winflexbison\win_flex.exe
|
||||
-DWITH_MT=ON
|
||||
-DWITH_SHARED_LIB=OFF
|
||||
-G"Visual Studio 14 2015 Win64"
|
||||
C:\workspace\build> MSBUILD "Apache Thrift.sln" /p:Configuration=Release /p:Platform=x64 /t:thrift-compiler
|
||||
|
||||
You can also double-click on the solution file to bring it up in Visual Studio and build or debug interactively from there.
|
||||
|
||||
## Building the thrift C++ Run-Time Library
|
||||
|
||||
These instructions are similar to the compiler build however there are additional dependencies on third party libraries to build a feature-complete runtime. The resulting static link library for thrift uses a dynamic Microsoft runtime.
|
||||
|
||||
1. Open the desired Visual Studio Command Prompt.
|
||||
2. `cd workspace`
|
||||
3. `build-thrift.bat`
|
||||
|
||||
Thrift depends on boost, libevent, openssl, and zlib in order to build with all server and transport types. To use later versions of boost like 1.62 you will need a recent version of cmake (at least 3.7).
|
||||
|
||||
The build-thrift script has options to build debug or release and to optionally disable any of the generation (cmake), build, or test phases. By default, the batch file will generate an out-of-tree build directory inside `workspace\build`, then perform a release build, then run the unit tests. The batch file accepts some option flags to control its behavior:
|
||||
|
||||
:: Flags you can use to change this behavior:
|
||||
::
|
||||
:: /DEBUG - if building, perform a debug build instead
|
||||
:: /NOGENERATE - skip cmake generation - useful if you
|
||||
:: have already generated a solution and just
|
||||
:: want to build
|
||||
:: /NOBUILD - skip cmake build - useful if you just
|
||||
:: want to generate a solution
|
||||
:: /NOTEST - skip ctest execution
|
||||
|
||||
For example if you want to generate the cmake environment without building or running tests:
|
||||
|
||||
C:\workspace> build-thrift.bat /NOBUILD /NOTEST
|
||||
79
vendor/git.apache.org/thrift.git/build/wincpp/build-thrift-compiler.bat
generated
vendored
Normal file
79
vendor/git.apache.org/thrift.git/build/wincpp/build-thrift-compiler.bat
generated
vendored
Normal file
@@ -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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Produces a production thrift compiler suitable for redistribution.
|
||||
:: The compiler is linked to runtime statically for maximum portability.
|
||||
:: Assumes the thirdparty files for "winflexbison" have been placed
|
||||
:: according to the README.md instructions.
|
||||
::
|
||||
:: Open a Visual Studio Command Prompt of your choosing and then
|
||||
:: run this script.
|
||||
|
||||
@ECHO OFF
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
IF NOT DEFINED PACKAGE_NAME SET PACKAGE_NAME=thrift
|
||||
IF NOT DEFINED PACKAGE_VERSION SET PACKAGE_VERSION=dev
|
||||
IF NOT DEFINED SOURCE_DIR SET SOURCEDIR=%~dp0%PACKAGE_NAME%
|
||||
IF NOT DEFINED WIN3P_ROOT SET WIN3P_ROOT=%~dp0thirdparty
|
||||
|
||||
:: Set COMPILER to (vc100 - vc140) depending on the current environment
|
||||
CALL scripts\cl_setcompiler.bat || EXIT /B
|
||||
|
||||
:: Set ARCH to either win32 or x64 depending on the current environment
|
||||
CALL scripts\cl_setarch.bat || EXIT /B
|
||||
|
||||
:: Set GENERATOR for CMake depending on the current environment
|
||||
CALL scripts\cl_setgenerator.bat || EXIT /B
|
||||
|
||||
IF NOT DEFINED BUILDTYPE (
|
||||
SET BUILDTYPE=Release
|
||||
)
|
||||
|
||||
SET BUILDDIR=%~dp0build\%PACKAGE_NAME%-compiler\%PACKAGE_VERSION%\%COMPILER%\
|
||||
SET OUTDIR=%~dp0dist\%PACKAGE_NAME%-compiler-%PACKAGE_VERSION%\%COMPILER%\%ARCH%\%BUILDTYPE%\
|
||||
SET BOOST_LIBDIR=lib%ARCH:~-2,2%-msvc-%COMPILER:~-3,2%.0
|
||||
IF "%BUILDTYPE%" == "Debug" (SET ZLIB_STATIC_SUFFIX=d)
|
||||
|
||||
ECHO/
|
||||
ECHO =========================================================================
|
||||
ECHO Configuration: %PACKAGE_NAME% %PACKAGE_VERSION% %COMPILER%:%ARCH%:%BUILDTYPE% "%GENERATOR%"
|
||||
IF DEFINED COMPILERONLY (
|
||||
ECHO COMPILER ONLY
|
||||
)
|
||||
ECHO Build Directory: %BUILDDIR%
|
||||
ECHO Install Directory: %OUTDIR%
|
||||
ECHO Source Directory: %SOURCEDIR%
|
||||
ECHO =========================================================================
|
||||
ECHO/
|
||||
|
||||
MKDIR "%BUILDDIR%"
|
||||
CD "%BUILDDIR%" || EXIT /B
|
||||
|
||||
CMAKE.EXE %~dp0thrift ^
|
||||
-G"%GENERATOR%" ^
|
||||
-DBISON_EXECUTABLE=%WIN3P_ROOT%\dist\winflexbison\win_bison.exe ^
|
||||
-DCMAKE_BUILD_TYPE=%BUILDTYPE% ^
|
||||
-DFLEX_EXECUTABLE=%WIN3P_ROOT%\dist\winflexbison\win_flex.exe ^
|
||||
-DWITH_MT=ON ^
|
||||
-DWITH_SHARED_LIB=OFF || EXIT /B
|
||||
|
||||
CD %BUILDDIR%
|
||||
|
||||
CMAKE.EXE --build . --config %BUILDTYPE% --target thrift-compiler || EXIT /B
|
||||
XCOPY /F /Y %BUILDDIR%\bin\%BUILDTYPE%\thrift.exe %OUTDIR%
|
||||
|
||||
ENDLOCAL
|
||||
EXIT /B
|
||||
164
vendor/git.apache.org/thrift.git/build/wincpp/build-thrift.bat
generated
vendored
Normal file
164
vendor/git.apache.org/thrift.git/build/wincpp/build-thrift.bat
generated
vendored
Normal file
@@ -0,0 +1,164 @@
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Generates a Visual Studio solution for thrift and then builds it.
|
||||
:: Assumes third party libraries have been built or placed already.
|
||||
::
|
||||
:: Open a Visual Studio Command Prompt of your choosing and then
|
||||
:: run this script.
|
||||
::
|
||||
:: Normally the script will run cmake to generate a solution, then
|
||||
:: perform a build, then run tests on the complete thrift library
|
||||
:: in release mode.
|
||||
::
|
||||
:: Flags you can use to change this behavior:
|
||||
::
|
||||
:: /DEBUG - debug instead of release
|
||||
:: /IDE - launch Visual Studio with a path set
|
||||
:: up correctly to run tests instead of
|
||||
:: performing any other actions, i.e.
|
||||
:: implies setting the next three flags
|
||||
:: /NOGENERATE - skip cmake generation - useful if you
|
||||
:: have already generated a solution and just
|
||||
:: want to build
|
||||
:: /NOBUILD - skip cmake build - useful if you just
|
||||
:: want to generate a solution
|
||||
:: /NOTEST - skip ctest execution
|
||||
::
|
||||
|
||||
@ECHO OFF
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
:: Sets variables for third party versions used in build
|
||||
CALL scripts\tpversions.bat || EXIT /B
|
||||
|
||||
IF NOT DEFINED PACKAGE_NAME SET PACKAGE_NAME=thrift
|
||||
IF NOT DEFINED PACKAGE_VERSION SET PACKAGE_VERSION=dev
|
||||
IF NOT DEFINED SOURCE_DIR SET SOURCEDIR=%~dp0%PACKAGE_NAME%
|
||||
IF NOT DEFINED WIN3P_ROOT SET WIN3P_ROOT=%~dp0thirdparty
|
||||
|
||||
:: Set COMPILER to (vc100 - vc140) depending on the current environment
|
||||
CALL scripts\cl_setcompiler.bat || EXIT /B
|
||||
|
||||
:: Set ARCH to either win32 or x64 depending on the current environment
|
||||
CALL scripts\cl_setarch.bat || EXIT /B
|
||||
|
||||
:: Set GENERATOR for CMake depending on the current environment
|
||||
CALL scripts\cl_setgenerator.bat || EXIT /B
|
||||
|
||||
:: Defaults
|
||||
|
||||
IF NOT DEFINED BUILDTYPE SET BUILDTYPE=Release
|
||||
SET OPT_IDE=0
|
||||
SET OPT_BUILD=1
|
||||
SET OPT_GENERATE=1
|
||||
SET OPT_TEST=1
|
||||
|
||||
:: Apply Flags
|
||||
|
||||
IF /I "%1" == "/DEBUG" SET BUILDTYPE=Debug
|
||||
IF /I "%2" == "/DEBUG" SET BUILDTYPE=Debug
|
||||
IF /I "%3" == "/DEBUG" SET BUILDTYPE=Debug
|
||||
IF /I "%1" == "/IDE" SET OPT_IDE=1
|
||||
IF /I "%2" == "/IDE" SET OPT_IDE=1
|
||||
IF /I "%3" == "/IDE" SET OPT_IDE=1
|
||||
IF /I "%1" == "/NOBUILD" SET OPT_BUILD=0
|
||||
IF /I "%2" == "/NOBUILD" SET OPT_BUILD=0
|
||||
IF /I "%3" == "/NOBUILD" SET OPT_BUILD=0
|
||||
IF /I "%1" == "/NOGENERATE" SET OPT_GENERATE=0
|
||||
IF /I "%2" == "/NOGENERATE" SET OPT_GENERATE=0
|
||||
IF /I "%3" == "/NOGENERATE" SET OPT_GENERATE=0
|
||||
IF /I "%1" == "/NOTEST" SET OPT_TEST=0
|
||||
IF /I "%2" == "/NOTEST" SET OPT_TEST=0
|
||||
IF /I "%3" == "/NOTEST" SET OPT_TEST=0
|
||||
|
||||
IF %OPT_IDE% == 1 (
|
||||
SET OPT_GENERATE=0
|
||||
SET OPT_BUILD=0
|
||||
SET OPT_TEST=0
|
||||
)
|
||||
|
||||
SET BUILDDIR=%~dp0build\%PACKAGE_NAME%\%PACKAGE_VERSION%\%COMPILER%\%ARCH%\
|
||||
SET OUTDIR=%~dp0dist\%PACKAGE_NAME%-%PACKAGE_VERSION%\%COMPILER%\%ARCH%\%BUILDTYPE%\
|
||||
SET BOOST_LIBDIR=lib%ARCH:~-2,2%-msvc-%COMPILER:~-3,2%.0
|
||||
IF "%BUILDTYPE%" == "Debug" (SET ZLIB_STATIC_SUFFIX=d)
|
||||
|
||||
ECHO/
|
||||
ECHO =========================================================================
|
||||
ECHO Configuration: %PACKAGE_NAME% %PACKAGE_VERSION% %COMPILER%:%ARCH%:%BUILDTYPE% "%GENERATOR%"
|
||||
IF DEFINED COMPILERONLY (
|
||||
ECHO COMPILER ONLY
|
||||
)
|
||||
ECHO Build Directory: %BUILDDIR%
|
||||
ECHO Install Directory: %OUTDIR%
|
||||
ECHO Source Directory: %SOURCEDIR%
|
||||
ECHO =========================================================================
|
||||
ECHO/
|
||||
|
||||
IF %OPT_IDE% == 1 (
|
||||
|
||||
CALL :SETRUNPATH || EXIT /B
|
||||
CALL DEVENV "!BUILDDIR!Apache Thrift.sln" || EXIT /B
|
||||
EXIT /B
|
||||
|
||||
)
|
||||
|
||||
MKDIR "%BUILDDIR%"
|
||||
CD "%BUILDDIR%" || EXIT /B
|
||||
|
||||
IF %OPT_GENERATE% == 1 (
|
||||
|
||||
CMAKE.EXE %~dp0thrift ^
|
||||
-G"%GENERATOR%" ^
|
||||
-DBISON_EXECUTABLE=%WIN3P_ROOT%\dist\winflexbison\win_bison.exe ^
|
||||
-DBOOST_ROOT=%WIN3P_ROOT%\dist\boost_%TP_BOOST_VERSION% ^
|
||||
-DBOOST_LIBRARYDIR=%WIN3P_ROOT%\dist\boost_%TP_BOOST_VERSION%\%BOOST_LIBDIR% ^
|
||||
-DCMAKE_INSTALL_PREFIX=%OUTDIR% ^
|
||||
-DCMAKE_BUILD_TYPE=%BUILDTYPE% ^
|
||||
-DFLEX_EXECUTABLE=%WIN3P_ROOT%\dist\winflexbison\win_flex.exe ^
|
||||
-DINTTYPES_ROOT=%WIN3P_ROOT%\dist\msinttypes ^
|
||||
-DLIBEVENT_ROOT=%WIN3P_ROOT%\dist\libevent-%TP_LIBEVENT_VERSION%\%COMPILER%\%ARCH%\%BUILDTYPE% ^
|
||||
-DOPENSSL_ROOT_DIR=%WIN3P_ROOT%\dist\openssl-%TP_OPENSSL_VERSION%\%COMPILER%\%ARCH%\%BUILDTYPE%\dynamic ^
|
||||
-DOPENSSL_USE_STATIC_LIBS=OFF ^
|
||||
-DZLIB_LIBRARY=%WIN3P_ROOT%\dist\zlib-%TP_ZLIB_VERSION%\%COMPILER%\%ARCH%\lib\zlib%ZLIB_LIB_SUFFIX%.lib ^
|
||||
-DZLIB_ROOT=%WIN3P_ROOT%\dist\zlib-%TP_ZLIB_VERSION%\%COMPILER%\%ARCH% ^
|
||||
-DWITH_BOOSTTHREADS=ON ^
|
||||
-DWITH_SHARED_LIB=OFF ^
|
||||
-DWITH_STATIC_LIB=ON || EXIT /B
|
||||
|
||||
)
|
||||
|
||||
IF %OPT_BUILD% == 1 (
|
||||
|
||||
CD %BUILDDIR%
|
||||
CMAKE.EXE --build . --config %BUILDTYPE% --target INSTALL || EXIT /B
|
||||
|
||||
)
|
||||
|
||||
IF %OPT_TEST% == 1 (
|
||||
|
||||
CALL :SETRUNPATH || EXIT /B
|
||||
CMAKE.EXE --build . --config %BUILDTYPE% --target RUN_TESTS || EXIT /B
|
||||
|
||||
)
|
||||
|
||||
:SETRUNPATH
|
||||
SET PATH=!PATH!;%WIN3P_ROOT%\dist\boost_%TP_BOOST_VERSION%\%BOOST_LIBDIR%
|
||||
SET PATH=!PATH!;%WIN3P_ROOT%\dist\openssl-%TP_OPENSSL_VERSION%\%COMPILER%\%ARCH%\%BUILDTYPE%\dynamic\bin
|
||||
SET PATH=!PATH!;%WIN3P_ROOT%\dist\zlib-%TP_ZLIB_VERSION%\%COMPILER%\%ARCH%\bin
|
||||
EXIT /B
|
||||
|
||||
ENDLOCAL
|
||||
EXIT /B
|
||||
47
vendor/git.apache.org/thrift.git/build/wincpp/scripts/cl_setarch.bat
generated
vendored
Normal file
47
vendor/git.apache.org/thrift.git/build/wincpp/scripts/cl_setarch.bat
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
::
|
||||
:: 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 architecture we're building for.
|
||||
:: Set the ARCH environment variable to one of:
|
||||
:: win32
|
||||
:: x64
|
||||
::
|
||||
:: Honors any existing ARCH environment variable
|
||||
:: setting instead of overwriting it, to allow it
|
||||
:: to be forced if needed.
|
||||
::
|
||||
:: Sets ERRORLEVEL to 0 if ARCH can be determined,
|
||||
:: to 1 if it cannot.
|
||||
::
|
||||
|
||||
IF DEFINED ARCH (
|
||||
ECHO [warn ] using existing environment variable ARCH
|
||||
EXIT /B 0
|
||||
)
|
||||
|
||||
CALL :CHECK x64
|
||||
IF %ERRORLEVEL% == 0 (SET ARCH=x64) ELSE (SET ARCH=win32)
|
||||
|
||||
IF NOT DEFINED ARCH (
|
||||
ECHO [error] unable to determine the target architecture
|
||||
EXIT /B 1
|
||||
)
|
||||
|
||||
ECHO [info ] detected target architecture %ARCH%
|
||||
EXIT /B 0
|
||||
|
||||
:CHECK
|
||||
cl /? 2>&1 | findstr /C:" for %1%" > nul
|
||||
EXIT /B %ERRORLEVEL%
|
||||
58
vendor/git.apache.org/thrift.git/build/wincpp/scripts/cl_setcompiler.bat
generated
vendored
Normal file
58
vendor/git.apache.org/thrift.git/build/wincpp/scripts/cl_setcompiler.bat
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
::
|
||||
:: 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:
|
||||
:: vc100 = Visual Studio 2010
|
||||
:: vc110 = Visual Studio 2012
|
||||
:: vc120 = Visual Studio 2013
|
||||
:: vc140 = Visual Studio 2015
|
||||
:: vc150 = 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
|
||||
)
|
||||
|
||||
CALL :CHECK 16
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED COMPILER SET COMPILER=vc100)
|
||||
CALL :CHECK 17
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED COMPILER SET COMPILER=vc110)
|
||||
CALL :CHECK 18
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED COMPILER SET COMPILER=vc120)
|
||||
CALL :CHECK 19.00
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED COMPILER SET COMPILER=vc140)
|
||||
CALL :CHECK 19.10
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED COMPILER SET COMPILER=vc150)
|
||||
|
||||
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 %ERRORLEVEL%
|
||||
69
vendor/git.apache.org/thrift.git/build/wincpp/scripts/cl_setgenerator.bat
generated
vendored
Normal file
69
vendor/git.apache.org/thrift.git/build/wincpp/scripts/cl_setgenerator.bat
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
::
|
||||
:: 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".
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
:: Requires cl_setarch.bat to have been executed or the ARCH environment
|
||||
:: variable to be set.
|
||||
::
|
||||
|
||||
IF "%ARCH%" == "x64" (SET GENARCH= Win64)
|
||||
|
||||
IF DEFINED GENERATOR (
|
||||
ECHO [warn ] using existing environment variable GENERATOR
|
||||
EXIT /B 0
|
||||
)
|
||||
|
||||
CALL :CHECK 16
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED GENERATOR SET GENERATOR=Visual Studio 10 2010%GENARCH%)
|
||||
CALL :CHECK 17
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED GENERATOR SET GENERATOR=Visual Studio 11 2012%GENARCH%)
|
||||
CALL :CHECK 18
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED GENERATOR SET GENERATOR=Visual Studio 12 2013%GENARCH%)
|
||||
CALL :CHECK 19.00
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED GENERATOR SET GENERATOR=Visual Studio 14 2015%GENARCH%)
|
||||
CALL :CHECK 19.10
|
||||
IF %ERRORLEVEL% == 0 (IF NOT DEFINED GENERATOR 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 %ERRORLEVEL%
|
||||
24
vendor/git.apache.org/thrift.git/build/wincpp/scripts/tpversions.bat
generated
vendored
Normal file
24
vendor/git.apache.org/thrift.git/build/wincpp/scripts/tpversions.bat
generated
vendored
Normal file
@@ -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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Set the versions of third party libraries to use.
|
||||
::
|
||||
|
||||
IF NOT DEFINED TP_BOOST_VERSION SET TP_BOOST_VERSION=1_62_0
|
||||
IF NOT DEFINED TP_LIBEVENT_VERSION SET TP_LIBEVENT_VERSION=2.1.7rc2
|
||||
IF NOT DEFINED TP_OPENSSL_VERSION SET TP_OPENSSL_VERSION=1.1.0c
|
||||
IF NOT DEFINED TP_ZLIB_VERSION SET TP_ZLIB_VERSION=1.2.9
|
||||
|
||||
EXIT /B 0
|
||||
86
vendor/git.apache.org/thrift.git/build/wincpp/thirdparty/src/build-libevent.bat
generated
vendored
Normal file
86
vendor/git.apache.org/thrift.git/build/wincpp/thirdparty/src/build-libevent.bat
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Build script for libevent on windows
|
||||
:: Use libevent master from github which has cmake integration
|
||||
:: Uses the environment set up by a Visual Studio Command Prompt shortcut
|
||||
:: to target a specific architecture and compiler
|
||||
::
|
||||
:: Creates a static link library.
|
||||
:: Links against OpenSSL and zlib statically.
|
||||
::
|
||||
|
||||
@ECHO OFF
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
:: Sets variables for third party versions used in build
|
||||
CALL ..\..\scripts\tpversions.bat || EXIT /B
|
||||
|
||||
:: use "build-libevent.bat /yes" to skip the question part
|
||||
IF /I "%1" == "/YES" SET NOASK=1
|
||||
|
||||
:: Set COMPILER to (vc100 - vc140) depending on the current environment
|
||||
CALL ..\..\scripts\cl_setcompiler.bat || EXIT /B
|
||||
|
||||
:: Set ARCH to either win32 or x64 depending on the current environment
|
||||
CALL ..\..\scripts\cl_setarch.bat || EXIT /B
|
||||
|
||||
IF NOT DEFINED GENERATOR SET GENERATOR=NMake Makefiles
|
||||
IF NOT DEFINED PACKAGE_NAME SET PACKAGE_NAME=libevent
|
||||
IF NOT DEFINED PACKAGE_VERSION SET PACKAGE_VERSION=%TP_LIBEVENT_VERSION%
|
||||
IF NOT DEFINED SOURCEDIR SET SOURCEDIR=%~dp0%PACKAGE_NAME%-%PACKAGE_VERSION%
|
||||
IF NOT DEFINED WIN3P_ROOT SET WIN3P_ROOT=%~dp0..
|
||||
|
||||
FOR %%X IN (
|
||||
Debug
|
||||
Release
|
||||
) DO (
|
||||
SET BUILDTYPE=%%X
|
||||
SET BUILDDIR=%WIN3P_ROOT%\build\%PACKAGE_NAME%\%PACKAGE_VERSION%\%COMPILER%\%ARCH%\!BUILDTYPE!
|
||||
SET OUTDIR=%WIN3P_ROOT%\dist\%PACKAGE_NAME%-%PACKAGE_VERSION%\%COMPILER%\%ARCH%\!BUILDTYPE!
|
||||
|
||||
IF "!BUILDTYPE!" == "Debug" (SET ZLIB_LIB_SUFFIX=d)
|
||||
|
||||
SET CMAKE_DEFS=^
|
||||
-DEVENT__DISABLE_SAMPLES=ON ^
|
||||
-DEVENT__DISABLE_TESTS=ON ^
|
||||
-DOPENSSL_USE_STATIC_LIBS=OFF ^
|
||||
-DOPENSSL_ROOT_DIR=%WIN3P_ROOT%\dist\openssl-%TP_OPENSSL_VERSION%\%COMPILER%\%ARCH%\!BUILDTYPE!\dynamic ^
|
||||
-DZLIB_LIBRARY=%WIN3P_ROOT%\dist\zlib-%TP_ZLIB_VERSION%\%COMPILER%\%ARCH%\lib\zlib!ZLIB_LIB_SUFFIX!.lib ^
|
||||
-DZLIB_ROOT=%WIN3P_ROOT%\dist\zlib-%TP_ZLIB_VERSION%\%COMPILER%\%ARCH%
|
||||
|
||||
ECHO/
|
||||
ECHO =========================================================================
|
||||
ECHO Building: %PACKAGE_NAME% v%PACKAGE_VERSION% %COMPILER%:%ARCH%:!BUILDTYPE! "%GENERATOR%"
|
||||
ECHO CMake Definitions: !CMAKE_DEFS!
|
||||
ECHO Build Directory: !BUILDDIR!
|
||||
ECHO Install Directory: !OUTDIR!
|
||||
ECHO Source Directory: %SOURCEDIR%
|
||||
ECHO =========================================================================
|
||||
ECHO/
|
||||
|
||||
IF NOT DEFINED NOASK (
|
||||
CHOICE /M "Do you want to build this configuration? " /c YN
|
||||
IF !ERRORLEVEL! NEQ 1 (EXIT /B !ERRORLEVEL!)
|
||||
)
|
||||
|
||||
MKDIR "!BUILDDIR!"
|
||||
CD "!BUILDDIR!" || EXIT /B
|
||||
|
||||
CMAKE.EXE -G"%GENERATOR%" -DCMAKE_INSTALL_PREFIX=!OUTDIR! -DCMAKE_BUILD_TYPE=!BUILDTYPE! !CMAKE_DEFS! "%SOURCEDIR%" || EXIT /B
|
||||
NMAKE /fMakefile install || EXIT /B
|
||||
)
|
||||
|
||||
ENDLOCAL
|
||||
106
vendor/git.apache.org/thrift.git/build/wincpp/thirdparty/src/build-openssl.bat
generated
vendored
Normal file
106
vendor/git.apache.org/thrift.git/build/wincpp/thirdparty/src/build-openssl.bat
generated
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Build script for openssl on windows
|
||||
:: openssl uses an in-tree build so you have to clean between each one
|
||||
::
|
||||
:: Uses the environment set up by a Visual Studio Command Prompt shortcut
|
||||
:: to target a specific architecture and compiler
|
||||
::
|
||||
:: If you use Lavasoft Ad-Aware, disable it for this build. It blocks the creation
|
||||
:: of any file named "clienthellotest.exe" for whatever reason, which breaks the build.
|
||||
::
|
||||
|
||||
@ECHO OFF
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
:: Sets variables for third party versions used in build
|
||||
CALL ..\..\scripts\tpversions.bat || EXIT /B
|
||||
|
||||
:: use "build-openssl.bat /yes" to skip the question part
|
||||
IF /I "%1" == "/YES" SET NOASK=1
|
||||
|
||||
IF NOT DEFINED PACKAGE_NAME SET PACKAGE_NAME=openssl
|
||||
IF NOT DEFINED PACKAGE_VERSION SET PACKAGE_VERSION=%TP_OPENSSL_VERSION%
|
||||
IF NOT DEFINED SOURCEDIR SET SOURCEDIR=%~dp0%PACKAGE_NAME%-%PACKAGE_VERSION%
|
||||
IF NOT DEFINED WIN3P_ROOT SET WIN3P_ROOT=%~dp0..
|
||||
|
||||
:: Set COMPILER to (vc100 - vc140) depending on the current environment
|
||||
CALL ..\..\scripts\cl_setcompiler.bat || EXIT /B
|
||||
|
||||
:: Set ARCH to either win32 or x64 depending on the current environment
|
||||
CALL ..\..\scripts\cl_setarch.bat || EXIT /B
|
||||
|
||||
IF "%ARCH%" == "x64" (
|
||||
SET TODO=debug-VC-WIN64A VC-WIN64A
|
||||
) ELSE (
|
||||
SET TODO=debug-VC-WIN32 VC-WIN32
|
||||
)
|
||||
|
||||
FOR %%X IN ( !TODO! ) DO (
|
||||
SET BUILDTYPE=%%X
|
||||
FOR %%Y IN (
|
||||
nt
|
||||
ntdll
|
||||
) DO (
|
||||
SET LIBTYPE=%%Y
|
||||
|
||||
IF "!BUILDTYPE:~0,6!" == "debug-" (
|
||||
SET OUTBUILDTYPE=debug
|
||||
SET ZLIBLIBSUFFIX=d
|
||||
) ELSE (
|
||||
SET OUTBUILDTYPE=release
|
||||
SET ZLIBLIBSUFFIX=
|
||||
)
|
||||
|
||||
IF "!LIBTYPE!" == "ntdll" (
|
||||
SET BUILD_OPTIONS=shared
|
||||
SET OUTLIBTYPE=dynamic
|
||||
SET ZLIBLIB=zlib!ZLIBLIBSUFFIX!
|
||||
SET ZLIBOPT=zlib-dynamic
|
||||
) ELSE (
|
||||
SET BUILD_OPTIONS=no-shared
|
||||
SET OUTLIBTYPE=static
|
||||
SET ZLIBLIB=zlibstatic!ZLIBLIBSUFFIX!.lib
|
||||
SET ZLIBOPT=zlib
|
||||
)
|
||||
|
||||
SET LIB=%~dp0..\dist\zlib-%TP_ZLIB_VERSION%\!COMPILER!\!ARCH!\lib;!LIB!
|
||||
SET BUILD_OPTIONS=!BUILD_OPTIONS! no-asm no-unit-test !ZLIBOPT! --openssldir=ssl --with-zlib-include=%~dp0..\dist\zlib-%TP_ZLIB_VERSION%\!COMPILER!\!ARCH!\include --with-zlib-lib=!ZLIBLIB!
|
||||
SET OUTDIR=%WIN3P_ROOT%\dist\%PACKAGE_NAME%-%PACKAGE_VERSION%\%COMPILER%\%ARCH%\!OUTBUILDTYPE!\!OUTLIBTYPE!
|
||||
|
||||
ECHO/
|
||||
ECHO =========================================================================
|
||||
ECHO Building: %PACKAGE_NAME% %PACKAGE_VERSION% %COMPILER%:%ARCH%:!OUTBUILDTYPE!:!OUTLIBTYPE! [!BUILDTYPE!]
|
||||
ECHO Configure Options: !BUILD_OPTIONS!
|
||||
ECHO Install Directory: !OUTDIR!
|
||||
ECHO Source Directory: %SOURCEDIR%
|
||||
ECHO =========================================================================
|
||||
ECHO/
|
||||
|
||||
IF NOT DEFINED NOASK (
|
||||
CHOICE /M "Do you want to build this configuration? " /c YN
|
||||
IF !ERRORLEVEL! NEQ 1 (EXIT /B !ERRORLEVEL!)
|
||||
)
|
||||
|
||||
CD %SOURCEDIR% || EXIT /B
|
||||
perl Configure !BUILDTYPE! --prefix="!OUTDIR!" !BUILD_OPTIONS! || EXIT /B
|
||||
NMAKE /FMakefile install_sw || EXIT /B
|
||||
NMAKE /FMakefile clean || EXIT /B
|
||||
)
|
||||
)
|
||||
|
||||
ENDLOCAL
|
||||
EXIT /B
|
||||
75
vendor/git.apache.org/thrift.git/build/wincpp/thirdparty/src/build-zlib.bat
generated
vendored
Normal file
75
vendor/git.apache.org/thrift.git/build/wincpp/thirdparty/src/build-zlib.bat
generated
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
::
|
||||
:: 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.
|
||||
::
|
||||
|
||||
::
|
||||
:: Build script for zlib on windows.
|
||||
:: Uses the environment set up by a Visual Studio Command Prompt shortcut
|
||||
:: to target a specific architecture and compiler.
|
||||
::
|
||||
|
||||
@ECHO OFF
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
|
||||
:: Sets variables for third party versions used in build
|
||||
CALL ..\..\scripts\tpversions.bat || EXIT /B
|
||||
|
||||
:: use "build-zlib.bat /yes" to skip the question part
|
||||
IF /I "%1" == "/YES" SET NOASK=1
|
||||
|
||||
IF NOT DEFINED GENERATOR SET GENERATOR=NMake Makefiles
|
||||
IF NOT DEFINED PACKAGE_NAME SET PACKAGE_NAME=zlib
|
||||
IF NOT DEFINED PACKAGE_VERSION SET PACKAGE_VERSION=%TP_ZLIB_VERSION%
|
||||
IF NOT DEFINED SOURCE_DIR SET SOURCEDIR=%~dp0%PACKAGE_NAME%-%PACKAGE_VERSION%
|
||||
IF NOT DEFINED WIN3P_ROOT SET WIN3P_ROOT=%~dp0..
|
||||
|
||||
:: Set COMPILER to (vc100 - vc140) depending on the current environment
|
||||
CALL ..\..\scripts\cl_setcompiler.bat || EXIT /B
|
||||
|
||||
:: Set ARCH to either win32 or x64 depending on the current environment
|
||||
CALL ..\..\scripts\cl_setarch.bat || EXIT /B
|
||||
|
||||
FOR %%X IN (
|
||||
Debug
|
||||
Release
|
||||
) DO (
|
||||
SET BUILDTYPE=%%X
|
||||
SET BUILDDIR=%WIN3P_ROOT%\build\%PACKAGE_NAME%\%PACKAGE_VERSION%\%COMPILER%\%ARCH%\!BUILDTYPE!
|
||||
SET OUTDIR=%WIN3P_ROOT%\dist\%PACKAGE_NAME%-%PACKAGE_VERSION%\%COMPILER%\%ARCH%
|
||||
|
||||
ECHO/
|
||||
ECHO =========================================================================
|
||||
ECHO Building: %PACKAGE_NAME% v%PACKAGE_VERSION% %COMPILER%:%ARCH%:!BUILDTYPE! "%GENERATOR%"
|
||||
ECHO Build Directory: !BUILDDIR!
|
||||
ECHO Install Directory: !OUTDIR!
|
||||
ECHO Source Directory: %SOURCEDIR%
|
||||
ECHO =========================================================================
|
||||
ECHO/
|
||||
|
||||
IF NOT DEFINED NOASK (
|
||||
CHOICE /M "Do you want to build this configuration? " /c YN
|
||||
IF !ERRORLEVEL! NEQ 1 (EXIT /B !ERRORLEVEL!)
|
||||
)
|
||||
|
||||
MKDIR "!BUILDDIR!"
|
||||
CD "!BUILDDIR!" || EXIT /B
|
||||
|
||||
CMAKE.EXE -G"%GENERATOR%" -DCMAKE_INSTALL_PREFIX=!OUTDIR! -DCMAKE_BUILD_TYPE=!BUILDTYPE! "%SOURCEDIR%" || EXIT /B
|
||||
NMAKE /fMakefile install || EXIT /B
|
||||
|
||||
IF "!BUILDTYPE!" == "Debug" (
|
||||
COPY "!BUILDDIR!\zlibd.pdb" "!OUTDIR!\bin\" || EXIT /B
|
||||
)
|
||||
)
|
||||
|
||||
ENDLOCAL
|
||||
Reference in New Issue
Block a user