#!/bin/bash # # VARCem Virtual ARchaeological Computer EMulator. # An emulator of (mostly) x86-based PC systems and devices, # using the ISA,EISA,VLB,MCA and PCI system buses, roughly # spanning the era between 1981 and 1995. # # This file is part of the VARCem Project. # # Build script for the Travis CI remote builder service. # # Version: @(#).travis-build.sh 1.0.8 2019/06/06 # # Author: Fred N. van Kempen, # # Copyright 2018,2019 Fred N. van Kempen. # # 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 entire # above 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. # # 3. Neither the name of the copyright holder nor the names # of its contributors may be used to endorse or promote # products derived from this software without specific # prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 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. # Define the build options here. OPTS="D2D=d SDL=d VNC=d PNG=d" if [ "x${DEV_BUILD}" = "xy" ]; then TARGET="win-${TRAVIS_BUILD_NUMBER}_dev-x86" elif [ "x${DEBUG}" = "xy" ]; then TARGET="win-${TRAVIS_BUILD_NUMBER}_dbg-x86" elif [ "x${LOGGING}" = "xy" ]; then TARGET="win-${TRAVIS_BUILD_NUMBER}_log-x86" else TARGET="win-${TRAVIS_BUILD_NUMBER}-x86" fi # We only need the first few characters of the commit ID. export COMMIT=${TRAVIS_COMMIT::7} echo ; echo "Downloading VARCem build dependencies.." curl -# "${EXTDEP_URL}" | tar xzf - # Build the project. echo ; echo "Building VARCem #${TRAVIS_BUILD_NUMBER} target ${TARGET}" echo "Options selected: ${OPTS}" cd src make -f win/mingw/Makefile.MinGW ${OPTS} BUILD=${TRAVIS_BUILD_NUMBER} if [ $? != 0 ]; then echo "Build failed, not uploading." exit 1 fi # Package the results so we can upload them. echo ; echo "Build #${TRAVIS_BUILD_NUMBER} OK, packing up." zip -q -9 ../${TARGET}.zip *.exe if [ $? != 0 ]; then echo "ZIP failed, not uploading." exit 1 fi exit 0 # End of file.