-
Notifications
You must be signed in to change notification settings - Fork 2
136 lines (123 loc) · 3.86 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: build test
on: [push]
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: prerequisites
run: sudo apt update && sudo apt install build-essential libreadline-dev libssl-dev openjdk-11-jdk swig
- name: build
run: ./build.sh
mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: prerequisites
run: brew install readline openssl coreutils
- name: build
run: ./build.sh
- name: dynamiclib-prerequisites
run: brew install openjdk swig
- name: dynamiclib-build
run: cd qesource/source/swig; ./runme
windows-msys-nojni:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v2
- name: prerequisites
uses: msys2/setup-msys2@v2
with:
msystem: MSYS
update: true
install: >-
base-devel
gcc
libreadline-devel
libcrypt-devel
openssl-devel
zlib-devel
- name: build
run: ./build.sh
windows-clang64:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v2
- name: prerequisites
uses: msys2/setup-msys2@v2
with:
msystem: CLANG64
update: true
install: >-
base-devel
mingw-w64-clang-x86_64-cc
mingw-w64-clang-x86_64-readline
mingw-w64-clang-x86_64-openssl
mingw-w64-clang-x86_64-zlib
mingw-w64-clang-x86_64-swig
- name: install-openjdk
run: choco install openjdk
shell: cmd
- name: build
run: CC=clang CXX=clang++ ./build.sh
windows-clang32:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v2
- name: prerequisites
uses: msys2/setup-msys2@v2
with:
msystem: CLANG32
update: true
install: >-
base-devel
- name: prerequisites2
run: |
C:\Windows\system32\cmd.exe /D /S /C D:\a\_temp\setup-msys2\msys2.cmd -c "'echo' '[clang32]' >> '/etc/pacman.conf'"
C:\Windows\system32\cmd.exe /D /S /C D:\a\_temp\setup-msys2\msys2.cmd -c "'echo' 'Include = /etc/pacman.d/mirrorlist.mingw' >> '/etc/pacman.conf'"
C:\Windows\system32\cmd.exe /D /S /C D:\a\_temp\setup-msys2\msys2.cmd -c "'pacman' '--noconfirm' '-Syuu' '--overwrite' '*'"
C:\Windows\system32\cmd.exe /D /S /C D:\a\_temp\setup-msys2\msys2.cmd -c "'pacman' '--noconfirm' '-S' '--needed' '--overwrite' '*' 'mingw-w64-clang-i686-cc' 'mingw-w64-clang-i686-swig' 'mingw-w64-clang-i686-readline' 'mingw-w64-clang-i686-openssl' 'mingw-w64-clang-i686-zlib'"
shell: cmd
- name: install-openjdk
run: choco install jdk8 --x86
shell: cmd
- name: build
run: CC=clang CXX=clang++ ./build.sh
wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: prerequisites
run: sudo apt update && sudo apt install build-essential
- name: emscripten
run: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install 3.1.22
./emsdk activate 3.1.22
cd ..
- name: openssl-wasm
run: |
. emsdk/emsdk_env.sh
wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar xf openssl-1.1.0h.tar.gz
cd openssl-1.1.0h
emconfigure ./Configure linux-generic64 --prefix=$EMSDK/upstream/emscripten/system
sed -i 's|^CROSS_COMPILE.*$|CROSS_COMPILE=|g' Makefile
emmake make build_generated libssl.a libcrypto.a
cp -R include/openssl $EMSDK/upstream/emscripten/cache/sysroot/include
cp libcrypto.a libssl.a $EMSDK/upstream/emscripten/system/lib
cd ..
- name: build
run: |
. emsdk/emsdk_env.sh
yes | TOOLCHAIN=emmake ./build.sh