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
|
language: c
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: osx
|
# macOS
|
||||||
env: TARGET_MACHINE=i3osx
|
- env: TARGET_MACHINE=i3osx
|
||||||
- os: osx
|
os: osx
|
||||||
env: TARGET_MACHINE=ti3osx
|
- env: TARGET_MACHINE=ti3osx
|
||||||
- os: osx
|
os: osx
|
||||||
env: TARGET_MACHINE=a6osx
|
- env: TARGET_MACHINE=a6osx
|
||||||
- os: osx
|
os: osx
|
||||||
env: TARGET_MACHINE=ta6osx
|
- env: TARGET_MACHINE=ta6osx
|
||||||
- os: linux
|
os: osx
|
||||||
env: TARGET_MACHINE=i3le
|
|
||||||
sudo: required
|
# Linux
|
||||||
- os: linux
|
- env: TARGET_MACHINE=i3le
|
||||||
env: TARGET_MACHINE=ti3le
|
os: linux
|
||||||
sudo: required
|
addons:
|
||||||
- os: linux
|
apt:
|
||||||
env: TARGET_MACHINE=a6le
|
packages:
|
||||||
- os: linux
|
- gcc-multilib
|
||||||
env: TARGET_MACHINE=ta6le
|
- lib32ncurses5-dev
|
||||||
dist: trusty
|
- libx32ncurses5-dev
|
||||||
addons:
|
- uuid-dev:i386
|
||||||
apt:
|
- env: TARGET_MACHINE=ti3le
|
||||||
packages:
|
os: linux
|
||||||
- gcc-multilib
|
addons:
|
||||||
- lib32ncurses5-dev
|
apt:
|
||||||
- libx32ncurses5-dev
|
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:
|
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
|
WINDOWS
|
||||||
|
|
||||||
Building Chez Scheme under 64-bit Windows with Cygwin or Bash/WSL
|
Building Chez Scheme under 64-bit Windows with Bash/WSL, MinGW/MSYS,
|
||||||
follows the instructions above, except that 'make install' and 'make
|
or Cygwin follows the instructions above, except that 'make install'
|
||||||
uninstall' are not supported. On Bash/WSL, the build directory must be
|
and 'make uninstall' are not supported. On Bash/WSL, the build
|
||||||
in a location with a Windows path such as /mnt/c, and the 'OS'
|
directory must be in a location with a Windows path such as /mnt/c,
|
||||||
environment variable must be set to 'Windows_NT' to indicate a build
|
and the 'OS' environment variable must be set to 'Windows_NT' to
|
||||||
for Windows, as opposed to a build for Linux on Windows:
|
indicate a build for Windows, as opposed to a build for Linux on
|
||||||
|
Windows:
|
||||||
|
|
||||||
env OS=Windows_NT ./configure
|
env OS=Windows_NT ./configure
|
||||||
env OS=Windows_NT make
|
env OS=Windows_NT make
|
||||||
|
|
||||||
Prerequisites:
|
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
|
* Microsoft Visual Studio 2017 or 2015
|
||||||
* WiX Toolset (for making an install)
|
* 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:
|
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
|
If the DLL is not present, the iconv tests will fail. No other tests
|
||||||
should be affected.
|
should be affected.
|
||||||
|
|
3
LOG
3
LOG
|
@ -1356,3 +1356,6 @@
|
||||||
- fix incorrect uses of fxzero? x86.ss backend, since a 32-bit
|
- fix incorrect uses of fxzero? x86.ss backend, since a 32-bit
|
||||||
immediate is not necessarily a fixnum
|
immediate is not necessarily a fixnum
|
||||||
x86.ss
|
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
|
VERSION := 9.5.3
|
||||||
WIXEXTENSIONS := -ext WixUIExtension -ext WixBalExtension
|
WIXEXTENSIONS := -ext WixUIExtension -ext WixBalExtension
|
||||||
|
export MSYS_NO_PATHCONV=1
|
||||||
|
|
||||||
ChezScheme.exe: x86/bundle.wixobj ChezScheme32.msi ChezScheme64.msi
|
ChezScheme.exe: x86/bundle.wixobj ChezScheme32.msi ChezScheme64.msi
|
||||||
cmd.exe /c light.bat -nologo $(WIXEXTENSIONS) $< -out $@
|
cmd.exe /c light.bat -nologo $(WIXEXTENSIONS) $< -out $@
|
||||||
|
|
Loading…
Reference in New Issue
Block a user