add Windows builds and update Linux dist to xenial
original commit: e44a209f27f8670c23a1d402b3f968eaa10cad29
This commit is contained in:
parent
8850655e7d
commit
897e53b430
84
.travis.yml
84
.travis.yml
|
@ -1,30 +1,62 @@
|
|||
language: c
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
env: TARGET_MACHINE=i3osx
|
||||
- os: osx
|
||||
env: TARGET_MACHINE=ti3osx
|
||||
- os: osx
|
||||
env: TARGET_MACHINE=a6osx
|
||||
- os: osx
|
||||
env: TARGET_MACHINE=ta6osx
|
||||
- os: linux
|
||||
env: TARGET_MACHINE=i3le
|
||||
sudo: required
|
||||
- os: linux
|
||||
env: TARGET_MACHINE=ti3le
|
||||
sudo: required
|
||||
- os: linux
|
||||
env: TARGET_MACHINE=a6le
|
||||
- os: linux
|
||||
env: TARGET_MACHINE=ta6le
|
||||
dist: trusty
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- gcc-multilib
|
||||
- lib32ncurses5-dev
|
||||
- libx32ncurses5-dev
|
||||
# macOS
|
||||
- env: TARGET_MACHINE=i3osx
|
||||
os: osx
|
||||
- env: TARGET_MACHINE=ti3osx
|
||||
os: osx
|
||||
- env: TARGET_MACHINE=a6osx
|
||||
os: osx
|
||||
- env: TARGET_MACHINE=ta6osx
|
||||
os: osx
|
||||
|
||||
# Linux
|
||||
- env: TARGET_MACHINE=i3le
|
||||
os: linux
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- gcc-multilib
|
||||
- lib32ncurses5-dev
|
||||
- libx32ncurses5-dev
|
||||
- uuid-dev:i386
|
||||
- env: TARGET_MACHINE=ti3le
|
||||
os: linux
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- gcc-multilib
|
||||
- lib32ncurses5-dev
|
||||
- libx32ncurses5-dev
|
||||
- uuid-dev:i386
|
||||
- env: TARGET_MACHINE=a6le
|
||||
os: linux
|
||||
- env: TARGET_MACHINE=ta6le
|
||||
os: linux
|
||||
|
||||
# Windows
|
||||
- env: TARGET_MACHINE=i3nt
|
||||
os: windows
|
||||
before_script:
|
||||
- git config core.autocrlf false; rm .git/index; git reset --hard
|
||||
- choco install make -y
|
||||
- env: TARGET_MACHINE=ti3nt
|
||||
os: windows
|
||||
before_script:
|
||||
- git config core.autocrlf false; rm .git/index; git reset --hard
|
||||
- choco install make -y
|
||||
- env: TARGET_MACHINE=a6nt
|
||||
os: windows
|
||||
before_script:
|
||||
- git config core.autocrlf false; rm .git/index; git reset --hard
|
||||
- choco install make -y
|
||||
- env: TARGET_MACHINE=ta6nt
|
||||
os: windows
|
||||
before_script:
|
||||
- git config core.autocrlf false; rm .git/index; git reset --hard
|
||||
- choco install make -y
|
||||
dist: xenial
|
||||
script:
|
||||
- .travis/dobuild.sh
|
||||
- .travis/build.sh
|
||||
- .travis/test.sh
|
||||
|
|
15
.travis/build.sh
Executable file
15
.travis/build.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
set -e -o pipefail
|
||||
echo 'travis_fold:start:build'
|
||||
echo Building Chez Scheme...
|
||||
./configure -m=$TARGET_MACHINE
|
||||
make
|
||||
case $TARGET_MACHINE in
|
||||
*a6nt)
|
||||
curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x64.dll > $TARGET_MACHINE/bin/$TARGET_MACHINE/iconv.dll
|
||||
;;
|
||||
*i3nt)
|
||||
curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x86.dll > $TARGET_MACHINE/bin/$TARGET_MACHINE/iconv.dll
|
||||
;;
|
||||
esac
|
||||
echo 'travis_fold:end:build'
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
case $TARGET_MACHINE in
|
||||
*i3le) sudo apt-get -yq --no-install-suggests --no-install-recommends install uuid-dev:i386 ;;
|
||||
*)
|
||||
esac
|
||||
./configure -m=$TARGET_MACHINE
|
||||
exitcode=$?
|
||||
if [ $exitcode -ne 0 ] ; then
|
||||
echo "Failed: configure step"
|
||||
exit $exitcode
|
||||
fi
|
||||
make
|
||||
exitcode=$?
|
||||
if [ $exitcode -ne 0 ] ; then
|
||||
echo "Failed: make step"
|
||||
exit $exitcode
|
||||
fi
|
||||
( cd ${TARGET_MACHINE}/mats && make partialx 2>&1 ) | tee Make.out | grep '^matting '
|
||||
diff -q .travis/summary ${TARGET_MACHINE}/mats/summary
|
||||
exitcode=$?
|
||||
|
||||
if [ $exitcode -ne 0 ] ; then
|
||||
echo "Failed: testing step"
|
||||
echo "mats summary:"
|
||||
cat ${TARGET_MACHINE}/mats/summary
|
||||
exit $exitcode
|
||||
fi
|
21
.travis/test.sh
Executable file
21
.travis/test.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash
|
||||
runmats() {
|
||||
echo travis_fold:start:mats
|
||||
echo make allxhelp "$@"
|
||||
make -C ${TARGET_MACHINE}/mats allxhelp "$@" 2>&1 | tee -a Make.out | grep '^matting '
|
||||
echo travis_fold:end:mats
|
||||
}
|
||||
|
||||
# Split these out so that we get output every 10 minutes on Windows builds.
|
||||
runmats o=0
|
||||
runmats o=3
|
||||
runmats o=3 cp0=t
|
||||
runmats o=3 cp0=t eval=interpret
|
||||
|
||||
if [ -f ${TARGET_MACHINE}/mats/summary ]; then
|
||||
cat ${TARGET_MACHINE}/mats/summary
|
||||
diff -q .travis/summary ${TARGET_MACHINE}/mats/summary
|
||||
exit $?
|
||||
else
|
||||
exit 1
|
||||
fi
|
17
BUILDING
17
BUILDING
|
@ -196,19 +196,20 @@ The make file supports several targets:
|
|||
|
||||
WINDOWS
|
||||
|
||||
Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL
|
||||
follows the instructions above, except that 'make install' and 'make
|
||||
uninstall' are not supported. On Bash/WSL, the build directory must be
|
||||
in a location with a Windows path such as /mnt/c, and the 'OS'
|
||||
environment variable must be set to 'Windows_NT' to indicate a build
|
||||
for Windows, as opposed to a build for Linux on Windows:
|
||||
Building Chez Scheme under 64-bit Windows with Bash/WSL, MinGW/MSYS,
|
||||
or Cygwin follows the instructions above, except that 'make install'
|
||||
and 'make uninstall' are not supported. On Bash/WSL, the build
|
||||
directory must be in a location with a Windows path such as /mnt/c,
|
||||
and the 'OS' environment variable must be set to 'Windows_NT' to
|
||||
indicate a build for Windows, as opposed to a build for Linux on
|
||||
Windows:
|
||||
|
||||
env OS=Windows_NT ./configure
|
||||
env OS=Windows_NT make
|
||||
|
||||
Prerequisites:
|
||||
|
||||
* Cygwin or Bash/WSL with bash, git, grep, make, sed, etc.
|
||||
* Bash/WSL, MinGW/MSYS, or Cygwin with bash, git, grep, make, sed, etc.
|
||||
* Microsoft Visual Studio 2017 or 2015
|
||||
* WiX Toolset (for making an install)
|
||||
|
||||
|
@ -251,7 +252,7 @@ http://gnuwin32.sourceforge.net/packages/libiconv.htm
|
|||
|
||||
An alternative that uses the Windows API can be found at:
|
||||
|
||||
https://github.com/win-iconv/win-iconv
|
||||
https://github.com/burgerrg/win-iconv/releases
|
||||
|
||||
If the DLL is not present, the iconv tests will fail. No other tests
|
||||
should be affected.
|
||||
|
|
3
LOG
3
LOG
|
@ -1356,3 +1356,6 @@
|
|||
- fix incorrect uses of fxzero? x86.ss backend, since a 32-bit
|
||||
immediate is not necessarily a fixnum
|
||||
x86.ss
|
||||
- added MinGW/MSYS build support for Windows and configuration for
|
||||
Travis-CI testing of all Windows builds
|
||||
BUILDING, .travis*, wininstall/Makefile
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
VERSION := 9.5.3
|
||||
WIXEXTENSIONS := -ext WixUIExtension -ext WixBalExtension
|
||||
export MSYS_NO_PATHCONV=1
|
||||
|
||||
ChezScheme.exe: x86/bundle.wixobj ChezScheme32.msi ChezScheme64.msi
|
||||
cmd.exe /c light.bat -nologo $(WIXEXTENSIONS) $< -out $@
|
||||
|
|
Loading…
Reference in New Issue
Block a user