2018-09-12 07:44:02 +00:00
|
|
|
version: 0.19.0.{build}
|
2015-09-11 08:55:34 +00:00
|
|
|
|
2015-09-03 22:01:44 +00:00
|
|
|
platform:
|
|
|
|
- x86
|
2015-09-23 06:21:57 +00:00
|
|
|
- x64
|
2015-09-11 08:55:34 +00:00
|
|
|
|
|
|
|
configuration:
|
2018-09-05 07:42:40 +00:00
|
|
|
- Release
|
|
|
|
- Light
|
2015-09-03 22:01:44 +00:00
|
|
|
|
|
|
|
environment:
|
2018-05-24 09:55:25 +00:00
|
|
|
GH_TOKEN:
|
|
|
|
secure: aLu3tFc7lRJbotnmnHLx/QruIHc5rLaGm1RttoEdy4QILlPXzVkCZ6loYMz0sfrY
|
2015-09-03 22:01:44 +00:00
|
|
|
matrix:
|
2016-09-14 00:17:59 +00:00
|
|
|
- VSVER: 14
|
2015-09-03 22:01:44 +00:00
|
|
|
- VSVER: 12
|
2018-08-31 06:40:37 +00:00
|
|
|
DO_PUSH_ARTIFACT: yes
|
2015-09-23 06:21:57 +00:00
|
|
|
|
2015-09-03 22:01:44 +00:00
|
|
|
install:
|
2015-09-14 05:49:51 +00:00
|
|
|
- ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
|
|
|
|
https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
|
|
|
|
Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
|
|
|
|
throw "There are newer queued builds for this pull request, failing early." }
|
2015-09-03 22:01:44 +00:00
|
|
|
- date /T & time /T
|
|
|
|
- set PATH=C:\cygwin\bin;%PATH%
|
2018-04-13 16:42:31 +00:00
|
|
|
- set OPENPACE_VER=1.0.3
|
|
|
|
- set ZLIB_VER_DOT=1.2.11
|
2018-08-31 12:30:04 +00:00
|
|
|
- ps: $env:PACKAGE_NAME=(git describe --tags --abbrev=0)
|
2015-09-03 22:01:44 +00:00
|
|
|
- ps: >-
|
|
|
|
If ($env:Platform -Match "x86") {
|
|
|
|
$env:VCVARS_PLATFORM="x86"
|
2015-09-11 08:55:34 +00:00
|
|
|
$env:OPENSSL_PF="Win32"
|
2018-09-14 06:31:44 +00:00
|
|
|
$env:ARTIFACT="OpenSC-${env:PACKAGE_NAME}_win32"
|
2015-09-03 22:01:44 +00:00
|
|
|
} Else {
|
|
|
|
$env:VCVARS_PLATFORM="amd64"
|
2015-09-11 08:55:34 +00:00
|
|
|
$env:OPENSSL_PF="Win64"
|
2018-09-14 06:31:44 +00:00
|
|
|
$env:ARTIFACT="OpenSC-${env:PACKAGE_NAME}_win64"
|
2015-09-03 22:01:44 +00:00
|
|
|
}
|
2015-09-11 08:55:34 +00:00
|
|
|
- ps: >-
|
2018-09-05 07:42:40 +00:00
|
|
|
If ($env:Configuration -Like "*Light*") {
|
|
|
|
$env:ARTIFACT="${env:ARTIFACT}-Light"
|
|
|
|
} Else {
|
2015-10-04 12:04:57 +00:00
|
|
|
$env:NMAKE_EXTRA="OPENSSL_DEF=/DENABLE_OPENSSL ${env:NMAKE_EXTRA}"
|
2018-11-05 10:16:04 +00:00
|
|
|
$env:NMAKE_EXTRA="OPENSSL_EXTRA_CFLAGS=/DOPENSSL_SECURE_MALLOC_SIZE=65536 ${env:NMAKE_EXTRA}"
|
2017-06-01 08:01:42 +00:00
|
|
|
If (!(Test-Path C:\zlib )) {
|
|
|
|
appveyor DownloadFile "https://github.com/madler/zlib/archive/v${env:ZLIB_VER_DOT}.zip" -FileName zlib.zip
|
|
|
|
7z x zlib.zip -oC:\
|
|
|
|
Rename-Item -path "c:\zlib-${env:ZLIB_VER_DOT}" -newName "zlib"
|
2015-12-27 12:13:24 +00:00
|
|
|
}
|
2017-06-01 08:10:56 +00:00
|
|
|
If (!(Test-Path C:\openpace )) {
|
2017-03-23 15:45:31 +00:00
|
|
|
appveyor DownloadFile "https://github.com/frankmorgner/openpace/archive/${env:OPENPACE_VER}.zip" -FileName openpace.zip
|
2017-06-01 08:10:56 +00:00
|
|
|
7z x openpace.zip -oC:\
|
|
|
|
Rename-Item -path "c:\openpace-${env:OPENPACE_VER}" -newName "openpace"
|
2017-03-23 15:45:31 +00:00
|
|
|
}
|
2015-09-11 08:55:34 +00:00
|
|
|
}
|
2017-07-19 11:30:29 +00:00
|
|
|
If (!(Test-Path cngsdk.msi )) {
|
|
|
|
appveyor DownloadFile "http://download.microsoft.com/download/2/C/9/2C93059C-0532-42DF-8C24-9AEAFF00768E/cngsdk.msi"
|
|
|
|
}
|
2015-09-23 06:21:57 +00:00
|
|
|
- ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS"))
|
|
|
|
- echo "Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS%"
|
|
|
|
- call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
|
2015-09-11 08:55:34 +00:00
|
|
|
- cngsdk.msi /quiet
|
2015-09-03 22:01:44 +00:00
|
|
|
- uname -a
|
2016-03-17 09:45:13 +00:00
|
|
|
- set
|
2015-09-03 14:02:26 +00:00
|
|
|
|
|
|
|
build_script:
|
2015-12-26 17:44:57 +00:00
|
|
|
- ps: >-
|
|
|
|
if (!($env:Configuration -Like "*Light*")) {
|
2017-06-01 08:01:42 +00:00
|
|
|
If (!(Test-Path -Path "C:\zlib-${env:OPENSSL_PF}" )) {
|
2017-03-23 15:45:31 +00:00
|
|
|
# build zlib.lib as a static library
|
2017-06-01 08:01:42 +00:00
|
|
|
xcopy C:\zlib C:\zlib-${env:OPENSSL_PF} /e /i /y /s
|
|
|
|
cd C:\zlib-${env:OPENSSL_PF}
|
2016-06-05 20:38:05 +00:00
|
|
|
(Get-Content win32/Makefile.msc).replace('-MD', '-MT') | Set-Content win32/Makefile.msc
|
2018-08-30 10:05:25 +00:00
|
|
|
nmake -f win32/Makefile.msc zlib.lib
|
2017-06-01 08:01:42 +00:00
|
|
|
}
|
|
|
|
$env:NMAKE_EXTRA="ZLIBSTATIC_DEF=/DENABLE_ZLIB_STATIC ZLIB_INCL_DIR=/IC:\zlib-${env:OPENSSL_PF} ZLIB_LIB=C:\zlib-${env:OPENSSL_PF}\zlib.lib ${env:NMAKE_EXTRA}"
|
2017-06-01 08:10:56 +00:00
|
|
|
If (!(Test-Path -Path "C:\openpace-${env:OPENSSL_PF}" )) {
|
2017-03-23 15:45:31 +00:00
|
|
|
# build libeac.lib as a static library
|
2017-06-01 08:10:56 +00:00
|
|
|
xcopy C:\openpace C:\openpace-${env:OPENSSL_PF} /e /i /y /s
|
|
|
|
cd C:\openpace-${env:OPENSSL_PF}\src
|
2017-08-02 16:14:25 +00:00
|
|
|
# OpenSSL 1.1.0
|
|
|
|
#cl /IC:\OpenSSL-${env:OPENSSL_PF}\include /I. /DX509DIR=\`"/\`" /DCVCDIR=\`"/\`" /W3 /D_CRT_SECURE_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN /GS /MT /DHAVE_ASN1_STRING_GET0_DATA=1 /DHAVE_DECL_OPENSSL_ZALLOC=1 /DHAVE_DH_GET0_KEY=1 /DHAVE_DH_GET0_PQG=1 /DHAVE_DH_SET0_KEY=1 /DHAVE_DH_SET0_PQG=1 /DHAVE_ECDSA_SIG_GET0=1 /DHAVE_ECDSA_SIG_SET0=1 /DHAVE_EC_KEY_METHOD=1 /DHAVE_RSA_GET0_KEY=1 /DHAVE_RSA_SET0_KEY=1 /c ca_lib.c cv_cert.c cvc_lookup.c x509_lookup.c eac_asn1.c eac.c eac_ca.c eac_dh.c eac_ecdh.c eac_kdf.c eac_lib.c eac_print.c eac_util.c misc.c pace.c pace_lib.c pace_mappings.c ri.c ri_lib.c ta.c ta_lib.c objects.c ssl_compat.c
|
|
|
|
# OpenSSL 1.0.2
|
|
|
|
cl /IC:\OpenSSL-${env:OPENSSL_PF}\include /I. /DX509DIR=\`"/\`" /DCVCDIR=\`"/\`" /W3 /D_CRT_SECURE_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN /GS /MT /c ca_lib.c cv_cert.c cvc_lookup.c x509_lookup.c eac_asn1.c eac.c eac_ca.c eac_dh.c eac_ecdh.c eac_kdf.c eac_lib.c eac_print.c eac_util.c misc.c pace.c pace_lib.c pace_mappings.c ri.c ri_lib.c ta.c ta_lib.c objects.c ssl_compat.c
|
2017-07-21 12:05:47 +00:00
|
|
|
lib /out:libeac.lib ca_lib.obj cv_cert.obj cvc_lookup.obj x509_lookup.obj eac_asn1.obj eac.obj eac_ca.obj eac_dh.obj eac_ecdh.obj eac_kdf.obj eac_lib.obj eac_print.obj eac_util.obj misc.obj pace.obj pace_lib.obj pace_mappings.obj ri.obj ri_lib.obj ta.obj ta_lib.obj objects.obj ssl_compat.obj
|
2017-03-23 15:45:31 +00:00
|
|
|
cd C:\projects\OpenSC
|
2017-06-01 08:10:56 +00:00
|
|
|
}
|
|
|
|
$env:NMAKE_EXTRA="OPENPACE_DEF=/DENABLE_OPENPACE OPENPACE_DIR=C:\openpace-${env:OPENSSL_PF} ${env:NMAKE_EXTRA}"
|
2015-12-26 17:44:57 +00:00
|
|
|
}
|
2015-09-03 22:01:44 +00:00
|
|
|
- bash -c "exec 0</dev/null && ./bootstrap"
|
2015-09-11 08:55:34 +00:00
|
|
|
# disable features to speed up the script
|
2018-04-19 13:59:15 +00:00
|
|
|
- bash -c "exec 0</dev/null && ./configure --with-cygwin-native --disable-openssl --disable-readline --disable-zlib || cat config.log"
|
2015-10-01 05:45:59 +00:00
|
|
|
- bash -c "make -C etc opensc.conf"
|
2015-09-11 08:55:34 +00:00
|
|
|
- cp win32/winconfig.h config.h
|
2017-05-31 14:43:15 +00:00
|
|
|
- nmake /f Makefile.mak %NMAKE_EXTRA%
|
2018-05-24 09:55:25 +00:00
|
|
|
- cd win32 && nmake /f Makefile.mak %NMAKE_EXTRA% VSVER=%VSVER% OpenSC.msi && cd ..
|
|
|
|
- move win32\OpenSC.msi %ARTIFACT%.msi
|
2016-09-14 00:17:59 +00:00
|
|
|
# put all pdb files for dump analysis, but this consumes approx 100 MB per build
|
2017-11-15 07:25:07 +00:00
|
|
|
- md %ARTIFACT%-Debug
|
2016-01-22 14:31:35 +00:00
|
|
|
- ps: >-
|
2017-11-15 07:25:07 +00:00
|
|
|
Get-ChildItem -recurse C:\projects\OpenSC -exclude vc*.pdb *.pdb | % {
|
|
|
|
7z a -tzip ${env:ARTIFACT}-Debug.zip $_.FullName
|
2016-01-22 14:31:35 +00:00
|
|
|
}
|
2018-10-16 13:39:21 +00:00
|
|
|
|
|
|
|
deploy_script:
|
|
|
|
- appveyor PushArtifact %ARTIFACT%.msi
|
2017-11-15 07:25:07 +00:00
|
|
|
- appveyor PushArtifact %ARTIFACT%-Debug.zip
|
2015-09-11 08:55:34 +00:00
|
|
|
|
2018-05-24 09:55:25 +00:00
|
|
|
# keep in sync with .travis.yml
|
|
|
|
- bash -c "git config --global user.email 'no-reply@appveyor.com'"
|
|
|
|
- bash -c "git config --global user.name 'AppVeyor'"
|
2018-08-31 06:40:37 +00:00
|
|
|
- bash -c "if [ \"$DO_PUSH_ARTIFACT\" = yes -a -z \"$APPVEYOR_PULL_REQUEST_NUMBER\" ]; then .github/push_artifacts.sh \"AppVeyor build ${APPVEYOR_BUILD_NUMBER}.${APPVEYOR_JOB_NUMBER}\"; fi"
|
2018-05-24 09:55:25 +00:00
|
|
|
|
2015-09-11 08:55:34 +00:00
|
|
|
cache:
|
2017-06-01 08:01:42 +00:00
|
|
|
- C:\zlib -> appveyor.yml
|
|
|
|
- C:\zlib-Win32 -> appveyor.yml
|
|
|
|
- C:\zlib-Win64 -> appveyor.yml
|
2017-06-01 08:10:56 +00:00
|
|
|
- C:\openpace -> appveyor.yml
|
|
|
|
- C:\openpace-Win32 -> appveyor.yml
|
|
|
|
- C:\openpace-Win64 -> appveyor.yml
|
2017-07-19 11:30:29 +00:00
|
|
|
- cngsdk.msi -> appveyor.yml
|