Skip to content

Commit 9e15b23

Browse files
author
Michael Fero
committed
Updating libssh2 to v1.7.0 and allowing libssh2 packaging (dependencies)
1 parent 5af784b commit 9e15b23

File tree

1 file changed

+52
-8
lines changed

1 file changed

+52
-8
lines changed

vc_build.bat

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ECHO OFF
2-
REM Copyright 2014-2015 DataStax
2+
REM Copyright 2014-2016 DataStax
33
REM
44
REM Licensed under the Apache License, Version 2.0 (the "License");
55
REM you may not use this file except in compliance with the License.
@@ -114,7 +114,8 @@ SET LIBUV_PACKAGE_VERSION=1.8.0
114114
SET GYP_REPOSITORY_URL=https://chromium.googlesource.com/external/gyp.git
115115
SET LIBSSH2_REPOSITORY_URL=https://github.com/libssh2/libssh2.git
116116
SET LIBSSH2_DIRECTORY=libssh2
117-
SET LIBSSH2_BRANCH_TAG_VERSION=master
117+
SET LIBSSH2_BRANCH_TAG_VERSION=libssh2-1.7.0
118+
SET LIBSSH2_PACKAGE_VERSION=1.7.0
118119
SET OPENSSL_REPOSITORY_URL=https://github.com/openssl/openssl.git
119120
SET OPENSSL_DIRECTORY=openssl
120121
SET OPENSSL_BRANCH_TAG_VERSION=OpenSSL_1_0_2f
@@ -646,10 +647,13 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
646647
SET ENABLE_TESTS=!FALSE!
647648
SET ENABLE_INTEGRATION_TESTS=!FALSE!
648649
SET ENABLE_UNIT_TESTS=!FALSE!
649-
SET ENABLE_LIBSSH2=!FALSE!
650650
SET ENABLE_ZLIB=!FALSE!
651651
SET GENERATE_SOLUTION=!FALSE!
652-
IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! SET USE_BOOST_ATOMIC=!TRUE!
652+
IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
653+
SET USE_BOOST_ATOMIC=!TRUE!
654+
SET ENABLE_LIBSSH2=!FALSE!
655+
)
656+
653657

654658
REM Add common 7-zip locations to system path
655659
SET "PATH=!PATH!;!PROGRAMFILES!\7-zip;!PROGRAMFILES(X86)!\7-zip"
@@ -830,7 +834,7 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
830834
IF !ENABLE_LIBSSH2! EQU !TRUE! (
831835
REM Determine if libssh2 needs to be built
832836
IF NOT EXIST "!ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY!" (
833-
CALL :BUILDLIBSSH2 "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" "!ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY!" "!ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY!" "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" !TARGET_ARCHITECTURE! !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! "!LOG_LIBSSH2_BUILD!"
837+
CALL :BUILDLIBSSH2 "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" "!ABSOLUTE_LIBSSH2_LIBRARY_DIRECTORY!" "!ABSOLUTE_OPENSSL_LIBRARY_DIRECTORY!" "!ABSOLUTE_ZLIB_LIBRARY_DIRECTORY!" !TARGET_ARCHITECTURE! !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !FALSE! "!LOG_LIBSSH2_BUILD!"
834838
IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
835839
)
836840
) ELSE (
@@ -954,6 +958,16 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
954958
IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
955959
)
956960

961+
REM Build libssh2 (static) as well for dependency only builds
962+
IF !ENABLE_LIBSSH2! EQU !TRUE! (
963+
IF "%%D" == "!LIBRARY_TYPE_STATIC!" (
964+
SET DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY=!DEPENDENCY_PACKAGE_INSTALLATION_DIRECTORY!\!LIBSSH2_DIRECTORY!
965+
SET "ABSOLUTE_DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY=!ABSOLUTE_PACKAGES_DIRECTORY!\!DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY!"
966+
CALL :BUILDLIBSSH2 "!ABSOLUTE_DEPENDENCIES_DIRECTORY!\!DEPENDENCIES_SOURCE_DIRECTORY!\!LIBSSH2_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBSSH2_INSTALLATION_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_OPENSSL_INSTALLATION_DIRECTORY!" "" %%C !VISUAL_STUDIO_INTERNAL_SHORTHAND_VERSION! !TRUE! "!LOG_LIBSSH2_BUILD!"
967+
IF !ERRORLEVEL! NEQ 0 EXIT /B !ERRORLEVEL!
968+
)
969+
)
970+
957971
REM Clean-up the dependency packages
958972
IF NOT EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\..\!LIBRARY_INCLUDE_DIRECTORY!" MOVE /Y "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\..\!LIBRARY_INCLUDE_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
959973
IF EXIST "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" RMDIR /S /Q "!ABSOLUTE_DEPENDENCY_PACKAGE_LIBUV_INSTALLATION_DIRECTORY!\!LIBRARY_INCLUDE_DIRECTORY!" >> "!LOG_PACKAGE_BUILD!" 2>&1
@@ -973,7 +987,7 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
973987

974988
REM Skip a line on the display
975989
ECHO.
976-
)
990+
)
977991

978992
REM Build the zip packages for the current target architecture and Visual Studio version
979993
IF !BUILD_DEPENDENCIES_ONLY! EQU !FALSE! (
@@ -1005,6 +1019,17 @@ IF "!ENABLE_BUILD_PACKAGES!" == "!FALSE!" (
10051019
EXIT /B !EXIT_CODE_PACKAGE_FAILED!
10061020
)
10071021
ECHO done.
1022+
IF !ENABLE_LIBSSH2! EQU !TRUE! (
1023+
ECHO | SET /P=Building the libssh2 package for Win%%C MSVC!VISUAL_STUDIO_INTERNAL_VERSION! ...
1024+
ECHO !ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\libssh2-!LIBSSH2_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r !ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!LIBSSH2_DIRECTORY!\ >> "!LOG_PACKAGE_BUILD!"
1025+
!ZIP! a -tzip "!ABSOLUTE_PACKAGES_DIRECTORY!\libssh2-!LIBSSH2_PACKAGE_VERSION!-win%%C-msvc!VISUAL_STUDIO_INTERNAL_VERSION!.zip" -r "!ABSOLUTE_DRIVER_PACKAGE_INSTALLATION_DIRECTORY!\!DEPENDENCIES_DIRECTORY!\!LIBSSH2_DIRECTORY!\*" >> "!LOG_PACKAGE_BUILD!" 2>&1
1026+
IF NOT !ERRORLEVEL! EQU 0 (
1027+
ECHO FAILED!
1028+
ECHO See !LOG_PACKAGE_BUILD! for more details
1029+
EXIT /B !EXIT_CODE_PACKAGE_FAILED!
1030+
)
1031+
ECHO done.
1032+
)
10081033
ECHO.
10091034

10101035
REM Reset the system PATH
@@ -1482,8 +1507,10 @@ REM indicates zlib disabled
14821507
REM @param target-architecture 32 or 64-bit
14831508
REM @param visual-studio-version Shortened Visual Studio version; empty
14841509
REM string indicates Windows SDK build
1510+
REM @param is-clean-after-install True if clean should be performed after
1511+
REM install; false otherwise
14851512
REM @param log-filename Absolute path and filename for log output
1486-
:BUILDLIBSSH2 [source-directory] [install-directory] [openssl-library-directory] [zlib-library-directory] [target-architecture] [visual-studio-version] [log-filename]
1513+
:BUILDLIBSSH2 [source-directory] [install-directory] [openssl-library-directory] [zlib-library-directory] [target-architecture] [visual-studio-version] [is-clean-after-install] [log-filename]
14871514
REM Create library variables from arguments
14881515
SET "LIBSSH2_SOURCE_DIRECTORY=%~1"
14891516
SHIFT
@@ -1497,6 +1524,8 @@ REM @param log-filename Absolute path and filename for log output
14971524
SHIFT
14981525
SET "LIBSSH2_VISUAL_STUDIO_VERSION=%~1"
14991526
SHIFT
1527+
SET LIBSSH2_IS_CLEAN_AFTER_INSTALL=%~1
1528+
SHIFT
15001529
SET "LIBSSH2_LOG_FILENAME=%~1"
15011530

15021531
REM Build libssh2 dependency
@@ -1538,6 +1567,11 @@ REM @param log-filename Absolute path and filename for log output
15381567
EXIT /B !EXIT_CODE_BUILD_DEPENDENCY_FAILED!
15391568
)
15401569
ECHO done.
1570+
IF !LIBSSH2_IS_CLEAN_AFTER_INSTALL! EQU !TRUE! (
1571+
ECHO | SET /P=Cleaning libssh2 build ...
1572+
DEL /S /Q * >> "!LIBSSH2_LOG_FILENAME!" 2>&1
1573+
ECHO done.
1574+
)
15411575
POPD
15421576
EXIT /B
15431577

@@ -1651,7 +1685,17 @@ REM @param log-filename Absolute path and filename for log output
16511685
IF !DRIVER_BUILD_TESTS! EQU !TRUE! SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_TESTS=ON"
16521686
IF !DRIVER_BUILD_INTEGRATION_TESTS! EQU !TRUE! SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_INTEGRATION_TESTS=ON"
16531687
IF !DRIVER_BUILD_UNIT_TESTS! EQU !TRUE! SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_BUILD_UNIT_TESTS=ON"
1654-
IF NOT "!TESTS_BOOST_LIBRARY_DIRECTORY!" == "" SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT_DIR=^"!TESTS_BOOST_LIBRARY_DIRECTORY!^""
1688+
IF NOT "!TESTS_BOOST_LIBRARY_DIRECTORY!" == "" (
1689+
REM Determine if using Boost distributed or include/lib binaries
1690+
SET "BOOST_DISTRIBUTION_ROOT_DIRECTORY=!TESTS_BOOST_LIBRARY_DIRECTORY!"
1691+
SET "BOOST_DISTRIBUTION_INCLUDE_DIRECTORY=!BOOST_DISTRIBUTION_ROOT_DIRECTORY!"
1692+
SET "BOOST_DISTRIBUTION_LIBRARY_DIRECTORY=!BOOST_DISTRIBUTION_ROOT_DIRECTORY!\lib!DRIVER_TARGET_ARCHITECTURE!-msvc-!DRIVER_VISUAL_STUDIO_VERSION!.0"
1693+
IF NOT EXIST "!BOOST_DISTRIBUTION_LIBRARY_DIRECTORY!" (
1694+
SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT_DIR=^"!TESTS_BOOST_LIBRARY_DIRECTORY!^""
1695+
) ELSE (
1696+
SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DBOOST_ROOT=^"!BOOST_DISTRIBUTION_ROOT_DIRECTORY!^" -DBOOST_INCLUDEDIR=^"!BOOST_DISTRIBUTION_INCLUDE_DIRECTORY!^" -DBOOST_LIBRARYDIR=^"!BOOST_DISTRIBUTION_LIBRARY_DIRECTORY!^""
1697+
)
1698+
)
16551699
IF NOT "!TESTS_LIBSSH2_LIBRARY_DIRECTORY!" == "" (
16561700
SET "DRIVER_CMAKE_COMMAND_LINE=!DRIVER_CMAKE_COMMAND_LINE! -DCASS_USE_LIBSSH2=ON -DLIBSSH2_ROOT_DIR=^"!TESTS_LIBSSH2_LIBRARY_DIRECTORY!^""
16571701
) ELSE (

0 commit comments

Comments
 (0)