diff options
Diffstat (limited to 'azure-pipelines')
-rwxr-xr-x | azure-pipelines/build-appimage | 15 | ||||
-rwxr-xr-x | azure-pipelines/build-linux | 15 | ||||
-rwxr-xr-x | azure-pipelines/build-mac | 15 | ||||
-rwxr-xr-x | azure-pipelines/build-windows | 39 | ||||
-rw-r--r-- | azure-pipelines/build-windows.bat | 16 |
5 files changed, 100 insertions, 0 deletions
diff --git a/azure-pipelines/build-appimage b/azure-pipelines/build-appimage new file mode 100755 index 00000000..b3a99baa --- /dev/null +++ b/azure-pipelines/build-appimage @@ -0,0 +1,15 @@ +#!/bin/bash +set -ex +cd appimage +docker build -t qpdfbuild . +rm -rf build +mkdir build +cd .. +git clone .git appimage/build/qpdf +docker run --privileged --rm -v $PWD/appimage/build:/tmp/build qpdfbuild +mkdir distribution +cp -p appimage/build/qpdf/appimage/build/qpdf*AppImage* distribution +for i in distribution/*; do + mv $i $(echo $i | sed -e 's/\.AppImage/-ci.AppImage/') +done +sha256sum distribution/* diff --git a/azure-pipelines/build-linux b/azure-pipelines/build-linux new file mode 100755 index 00000000..a1db7659 --- /dev/null +++ b/azure-pipelines/build-linux @@ -0,0 +1,15 @@ +#!/bin/bash +set -ex +sudo apt-get update +sudo apt-get -y install \ + autoconf build-essential zlib1g-dev libjpeg-dev \ + docbook-xsl fop xsltproc libxml2-utils inkscape imagemagick +./configure --enable-werror --enable-doc-maintenance \ + --enable-show-failed-test-output +make -j$(nproc) -k +make -k check +make distfiles.zip +./make_dist --ci --no-tests +mkdir distribution +cp /tmp/qpdf*-ci.tar.gz distribution +sha256sum distribution/* diff --git a/azure-pipelines/build-mac b/azure-pipelines/build-mac new file mode 100755 index 00000000..96d900bb --- /dev/null +++ b/azure-pipelines/build-mac @@ -0,0 +1,15 @@ +#!/bin/bash +set -ex +curl -L https://github.com/qpdf/qpdf/raw/external-libs/jpegsrc.v9c.tar.gz -o jpegsrc.v9c.tar.gz +tar xzf jpegsrc.v9c.tar.gz +cd jpeg-9c +./configure +make -k +sudo make install +cd .. +if [ -f distfiles/distfiles.zip ]; then + unzip distfiles/distfiles.zip +fi +./configure --enable-werror --enable-show-failed-test-output +make -j$(nproc) -k +make -k check diff --git a/azure-pipelines/build-windows b/azure-pipelines/build-windows new file mode 100755 index 00000000..d0bd7316 --- /dev/null +++ b/azure-pipelines/build-windows @@ -0,0 +1,39 @@ +#!/bin/bash +set -ex +cd $(dirname $0)/.. +wordsize=$1 +tool=$2 + +if [[ $tool == mingw ]]; then + pacman -Sy --noconfirm make base-devel tar zip unzip + if [[ $wordsize == 64 ]]; then + pacman -Sy --noconfirm mingw-w64-x86_64-toolchain + PATH="/c/tools/msys64/mingw64/bin:$PATH" + else + pacman -Sy --noconfirm mingw-w64-i686-toolchain + PATH="/c/tools/msys64/mingw32/bin:$PATH" + fi + g++ -v +elif [[ $tool == msvc ]]; then + cl +fi +if [ -f distfiles/distfiles.zip ]; then + unzip distfiles/distfiles.zip +fi +curl -L https://github.com/qpdf/qpdf/raw/external-libs/qpdf-external-libs-bin.zip -o qpdf-external-libs-bin.zip +unzip qpdf-external-libs-bin.zip +cwd=`pwd` +PATH=$cwd/libqpdf/build:$PATH + +installdir=install-$tool$wordsize +rm -rf $installdir +./config-$tool --with-windows-wordsize=$wordsize --enable-show-failed-test-output +make -j$(nproc) -k +make -k check +make install + +v=`(cd $installdir; ls -d qpdf-*)` +cp -p README-windows-install.txt $installdir/$v/README.txt +mkdir distribution +(cd $installdir; zip -r ../distribution/$v-bin-$tool$wordsize-ci.zip $v) +sha256sum distribution/* diff --git a/azure-pipelines/build-windows.bat b/azure-pipelines/build-windows.bat new file mode 100644 index 00000000..ba11b4fd --- /dev/null +++ b/azure-pipelines/build-windows.bat @@ -0,0 +1,16 @@ +@echo on +@rem Usage: build-windows {32|64} {msvc|mingw} +if %2 == msvc ( + if %1 == 64 ( + call "%VS140COMNTOOLS%\..\..\VC\bin\amd64\vcvars64.bat" + ) else ( + call "%VS140COMNTOOLS%\..\..\VC\bin\vcvars32.bat" + ) + choco install zip + bash ./azure-pipelines/build-windows %1 %2 +) else ( + @rem The vs2017-win2016 pool has an ancient 64-bit-only mingw. + @rem Install msys2 so we can get current gcc toolchains. + choco install msys2 + C:\tools\msys64\usr\bin\env.exe MSYSTEM=MINGW64 /bin/bash -l %CD%/azure-pipelines/build-windows %1 %2 +) |