Skip to content

Commit e261c90

Browse files
authored
Merge 92574fe into 07c6dc3
2 parents 07c6dc3 + 92574fe commit e261c90

File tree

5 files changed

+77
-21
lines changed

5 files changed

+77
-21
lines changed

.appveyor.yml

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,76 @@
11
environment:
2-
CYG_MIRROR: http://cygwin.mirror.constant.com
32
matrix:
43
- FLAVOR: squeak.cog.spur
54
ARCH: win32x86
65
CYG_ROOT: C:\cygwin
7-
CYG_SETUP: setup-x86.exe
86
MINGW_ARCH: i686
97
- FLAVOR: squeak.cog.spur
108
ARCH: win64x64
119
CYG_ROOT: C:\cygwin64
12-
CYG_SETUP: setup-x86_64.exe
1310
MINGW_ARCH: x86_64
1411
- FLAVOR: pharo.cog.spur
1512
ARCH: win32x86
1613
CYG_ROOT: C:\cygwin
17-
CYG_SETUP: setup-x86.exe
1814
MINGW_ARCH: i686
1915
- FLAVOR: pharo.cog.spur
2016
ARCH: win64x64
2117
CYG_ROOT: C:\cygwin64
22-
CYG_SETUP: setup-x86_64.exe
2318
MINGW_ARCH: x86_64
2419
- FLAVOR: squeak.sista.spur
2520
ARCH: win32x86
2621
CYG_ROOT: C:\cygwin
27-
CYG_SETUP: setup-x86.exe
2822
MINGW_ARCH: i686
2923
- FLAVOR: squeak.cog.spur.lowcode
3024
ARCH: win32x86
3125
CYG_ROOT: C:\cygwin
32-
CYG_SETUP: setup-x86.exe
3326
MINGW_ARCH: i686
3427
- FLAVOR: squeak.cog.v3
3528
ARCH: win32x86
3629
CYG_ROOT: C:\cygwin
37-
CYG_SETUP: setup-x86.exe
3830
MINGW_ARCH: i686
3931
- FLAVOR: squeak.stack.spur
4032
ARCH: win32x86
4133
CYG_ROOT: C:\cygwin
42-
CYG_SETUP: setup-x86.exe
4334
MINGW_ARCH: i686
4435
- FLAVOR: squeak.stack.v3
4536
ARCH: win32x86
4637
CYG_ROOT: C:\cygwin
47-
CYG_SETUP: setup-x86.exe
4838
MINGW_ARCH: i686
4939
- FLAVOR: pharo.sista.spur
5040
ARCH: win32x86
5141
CYG_ROOT: C:\cygwin
52-
CYG_SETUP: setup-x86.exe
5342
MINGW_ARCH: i686
5443
- FLAVOR: pharo.cog.spur.lowcode
5544
ARCH: win32x86
5645
CYG_ROOT: C:\cygwin
57-
CYG_SETUP: setup-x86.exe
5846
MINGW_ARCH: i686
5947
- FLAVOR: newspeak.cog.spur
6048
ARCH: win32x86
6149
CYG_ROOT: C:\cygwin
62-
CYG_SETUP: setup-x86.exe
6350
MINGW_ARCH: i686
6451
- FLAVOR: newspeak.stack.spur
6552
ARCH: win32x86
6653
CYG_ROOT: C:\cygwin
67-
CYG_SETUP: setup-x86.exe
6854
MINGW_ARCH: i686
6955
# - FLAVOR: pharo.sista.spur
7056
# ARCH: win64x64
7157
# CYG_ROOT: C:\cygwin64
72-
# CYG_SETUP: setup-x86_64.exe
7358
# MINGW_ARCH: x86_64
7459
- FLAVOR: newspeak.cog.spur
7560
ARCH: win64x64
7661
CYG_ROOT: C:\cygwin64
77-
CYG_SETUP: setup-x86_64.exe
7862
MINGW_ARCH: x86_64
7963
- FLAVOR: squeak.stack.spur
8064
ARCH: win64x64
8165
CYG_ROOT: C:\cygwin64
82-
CYG_SETUP: setup-x86_64.exe
8366
MINGW_ARCH: x86_64
8467
- FLAVOR: pharo.stack.spur
8568
ARCH: win64x64
8669
CYG_ROOT: C:\cygwin64
87-
CYG_SETUP: setup-x86_64.exe
8870
MINGW_ARCH: x86_64
8971
- FLAVOR: newspeak.stack.spur
9072
ARCH: win64x64
9173
CYG_ROOT: C:\cygwin64
92-
CYG_SETUP: setup-x86_64.exe
9374
MINGW_ARCH: x86_64
9475

9576

@@ -118,7 +99,7 @@ cache:
11899
install:
119100
- 'curl -fsSL --retry 4 -m 600 -o "setup-x86.exe" "http://cygwin.com/setup-x86.exe" '
120101
- 'curl -fsSL --retry 4 -m 600 -o "setup-x86_64.exe" "http://cygwin.com/setup-x86_64.exe" '
121-
- '%CYG_SETUP% -dgnqNO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_ROOT%\var\cache\setup" -P mingw64-%MINGW_ARCH%-gcc-core,mingw64-%MINGW_ARCH%-gcc-g++,mingw64-%MINGW_ARCH%-headers,mingw64-%MINGW_ARCH%-runtime,zip,mingw64-%MINGW_ARCH%-clang,mingw64-%MINGW_ARCH%-openssl,libiconv-devel,libglib2.0-devel,perl,mingw64-%MINGW_ARCH%-zlib,make,cmake,wget,mingw64-%MINGW_ARCH%-win-iconv'
102+
- 'call scripts/ci/installCygwin.bat %MINGW_ARCH% "%CYG_ROOT%"'
122103

123104
# Cygwin build script
124105
#

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Bash needs lf even on windows/cygwin
22
/scripts/* eol=lf
3+
/scripts/**/*.bat eol=crlf
34
/image/*.st eol=lf
45
/image/*.sh eol=lf
56
mvm eol=lf

build.win32x86/HowToBuild

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ Building out of the box
7171
- Install cygwin from www.cygwin.com.
7272
Make sure you install the MinGW support, which is in the list of packages called
7373
"mingw64-i686-gcc-core,mingw64-i686-gcc-g++,mingw64-i686-headers,mingw64-i686-runtime".
74-
Note that the .appveyor.yml file may be used as example to automate installation of these tools
74+
Note that the .appveyor.yml file may be used as example to automate installation of these tools.
75+
.appveyor.yml calls scripts/ci/installCygwin.bat that you can use to build your own cygwin.
7576

7677
Alternatively, an installation of mingw32 and msys may work, but has not been tested.
7778

build.win64x64/HowToBuild

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ Building out of the box
7070
- Install
7171
either cygwin 64bits version from www.cygwin.com.
7272
either mingw 64bits version and msys from www.mingw.com.
73+
Note that the .appveyor.yml file may be used as example to automate installation of these tools.
74+
.appveyor.yml calls scripts/ci/installCygwin.bat that you can use to build your own cygwin.
7375

7476
Then cd to the build directory of your choice, e.g.
7577
build.win64x64/squeak.stack.spur/

scripts/ci/installCygwin.bat

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
@echo off
2+
3+
REM This script can takes up to 4 parameters:
4+
REM - The architecture of the vm to build. Can be: i686 or x86_64. By default is i686.
5+
REM - The directory where to install Cygwin. By default "C:\cygwin" or "C:\cygwin64" depending on the architecture.
6+
REM - The path to the cygwin setup. By defaul "setup-x86.exe" or "setup-x86_64.exe" depending on the architecture.
7+
REM - The mirror from where download cygwin. By default http://cygwin.mirror.constant.com.
8+
9+
REM The architecture can either be i686 or x86_64. By default, if no argument is passed, it will be i686.
10+
SET CYG_INSTALL_ARCH=%1
11+
IF "%CYG_INSTALL_ARCH%"=="" (SET CYG_INSTALL_ARCH=i686)
12+
13+
REM Check that the value is a valid architecture
14+
IF NOT "%CYG_INSTALL_ARCH%"=="i686" (
15+
IF NOT "%CYG_INSTALL_ARCH%"=="x86_64" (
16+
echo ERROR: Architecture can either be i686 or x86_64. Got %CYG_INSTALL_ARCH% && exit /b
17+
)
18+
)
19+
20+
REM The CYG_INSTALL_ROOT is the locations where to install cygwin. If there is no argument to the command line, the default value is "C:\cygwin" if the architecture is i686 and "C:\cygwin64" if the architecture is x86_64.
21+
SET CYG_INSTALL_ROOT=%2
22+
IF "%CYG_INSTALL_ROOT%"=="" (
23+
IF "%CYG_INSTALL_ARCH%"=="i686" (
24+
SET CYG_INSTALL_ROOT="C:\cygwin"
25+
) ELSE (
26+
IF "%CYG_INSTALL_ARCH%"=="x86_64" (SET CYG_INSTALL_ROOT="C:\cygwin64")
27+
)
28+
)
29+
30+
REM The CYG_INSTALL_SETUP is the executable to use to install the vm. By default, it will be "setup-x86.exe" for i686 architecture and "setup-x86_64.exe" for x86_64.
31+
SET CYG_INSTALL_SETUP=%3
32+
IF "%CYG_INSTALL_SETUP%"=="" (
33+
IF "%CYG_INSTALL_ARCH%"=="i686" (
34+
SET CYG_INSTALL_SETUP="setup-x86.exe"
35+
) ELSE (
36+
IF "%CYG_INSTALL_ARCH%"=="x86_64" (SET CYG_INSTALL_SETUP="setup-x86_64.exe")
37+
)
38+
)
39+
40+
SET CYG_INSTALL_MIRROR=%4
41+
IF "%CYG_INSTALL_MIRROR%"=="" (SET CYG_INSTALL_MIRROR=http://cygwin.mirror.constant.com)
42+
43+
echo Installing cygwin for architecture %CYG_INSTALL_ARCH% at %CYG_INSTALL_ROOT% using setup %CYG_INSTALL_SETUP% from mirror %CYG_INSTALL_MIRROR%
44+
45+
%CYG_INSTALL_SETUP% -dgnqNO -R "%CYG_INSTALL_ROOT%" -s "%CYG_INSTALL_MIRROR%" -l "%CYG_INSTALL_ROOT%\var\cache\setup"^
46+
-P gcc-core^
47+
-P gcc-g++^
48+
-P binutils^
49+
-P libtool^
50+
-P libiconv^
51+
-P automake^
52+
-P autoconf^
53+
-P make^
54+
-P cmake^
55+
-P wget^
56+
-P curl^
57+
-P mingw64-%CYG_INSTALL_ARCH%-gcc-core^
58+
-P mingw64-%CYG_INSTALL_ARCH%-gcc-g++^
59+
-P mingw64-%CYG_INSTALL_ARCH%-headers^
60+
-P mingw64-%CYG_INSTALL_ARCH%-runtime^
61+
-P zip^
62+
-P mingw64-%CYG_INSTALL_ARCH%-clang^
63+
-P mingw64-%CYG_INSTALL_ARCH%-openssl^
64+
-P libiconv-devel^
65+
-P libglib2.0-devel^
66+
-P perl^
67+
-P mingw64-%CYG_INSTALL_ARCH%-zlib^
68+
-P mingw64-%CYG_INSTALL_ARCH%-win-iconv^
69+
-P unzip
70+
71+
REM unzip and curl are not needed for the VM build but is needed for the VMMaker image building. Thus I add it in this script so that people can use it when building VMMaker on their computer.

0 commit comments

Comments
 (0)