forked from cmuratori/meow_hash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
156 lines (148 loc) · 4.78 KB
/
.travis.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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
language: shell
install: true
matrix:
include:
- name: "MSVC on Windows"
os: windows
# MSVC is already installed on Travis, keep it here just in case we need to use it later
#install:
#- choco install visualstudio2017-workload-vctools -y --package-parameters "--no-includeRecommended --add Microsoft.VisualStudio.Component.VC.x86.amd64 --add Microsoft.VisualStudio.Component.Windows10SDK"
script:
# test if meow_hash.h compiles as C
- touch test.c
- cmd.exe /C '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 && cl.exe /c /FImeow_intrinsics.h /FImeow_hash.h test.c'
# build & test
- cmd.exe /C '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 && build.bat'
- build_msvc/meow_test.exe
- build_msvc/meow_example.exe
- name: "clang on Windows"
os: windows
env:
- CC="/c/Program Files/LLVM/bin/clang"
- CXX="/c/Program Files/LLVM/bin/clang++"
install:
# MSVC is already installed on Travis, keep it here just in case we need to use it later
#- choco install visualstudio2017-workload-vctools -y --package-parameters "--no-includeRecommended --add Microsoft.VisualStudio.Component.VC.x86.amd64 --add Microsoft.VisualStudio.Component.Windows10SDK"
- choco upgrade llvm -y
- |-
"${CC}" --version
script:
# test if meow_hash.h compiles as C
- touch test.c
- |-
"${CC}" -c -mssse3 -maes -include meow_intrinsics.h -include meow_hash.h test.c
# build & test
- cmd.exe /C build.bat
- build_clang/meow_test.exe
- build_clang/meow_example.exe
- name: "gcc on Windows"
os: windows
env:
- CC="/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin/x86_64-w64-mingw32-gcc"
- CXX="/c/ProgramData/chocolatey/lib/mingw/tools/install/mingw64/bin/x86_64-w64-mingw32-g++"
install:
- choco upgrade mingw -y
- ${CC} --version
script:
# test if meow_hash.h compiles as C
- touch test.c
- ${CC} -c -mssse3 -maes -include meow_intrinsics.h -include meow_hash.h test.c
# build & test
- ./build.sh
- build/meow_test.exe
- build/meow_example.exe
- name: "clang on Linux"
os: linux
dist: trusty
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
packages:
- clang-7
env:
- CC=clang-7
- CXX=clang++-7
install:
- ${CC} --version
script:
# test if meow_hash.h compiles as C
- touch test.c
- ${CC} -c -mssse3 -maes -include meow_intrinsics.h -include meow_hash.h test.c
# build & test
- ./build.sh
- ./build/meow_test
- ./build/meow_example
- name: "gcc on Linux"
os: linux
dist: trusty
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- CC=gcc-8
- CXX=g++-8
install:
- ${CC} --version
script:
# test if meow_hash.h compiles as C
- touch test.c
- ${CC} -c -mssse3 -maes -include meow_intrinsics.h -include meow_hash.h test.c
# build & test
- ./build.sh
- ./build/meow_test
- ./build/meow_example
- name: "clang on Linux (ARMv8)"
os: linux
dist: trusty
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-trusty-7
packages:
- clang-7
- lld-7
- libc6-dev-arm64-cross
- libgcc-4.8-dev-arm64-cross
- libstdc++-4.8-dev-arm64-cross
env:
- CC=clang-7
- CXX=clang++-7
install:
# use custom qemu verion because Ubuntu 14.04 has old qemu-user-static version
# which does not know how to emulate AES crypto opcodes on ARMv8
- wget -q http://rsync.alpinelinux.org/alpine/edge/main/x86_64/qemu-aarch64-2.12.1-r1.apk
- tar -xzf qemu-aarch64-2.12.1-r1.apk --warning=none --strip-components=2 usr/bin/qemu-aarch64
- ${CC} --version
script:
# test if meow_hash.h compiles as C
- touch test.c
- ${CC} --target=aarch64-linux-gnu --sysroot=/usr/aarch64-linux-gnu -mcpu=cortex-a53 -c -include meow_intrinsics.h -include meow_hash.h test.c
# build
- ${CXX} -O3 -fuse-ld=lld-7 --target=aarch64-linux-gnu --sysroot=/usr/aarch64-linux-gnu -mcpu=cortex-a53 meow_example.cpp -o meow_example
# test with qemu
- ./qemu-aarch64 -L /usr/aarch64-linux-gnu ./meow_example
- name: "clang on macOS"
os: osx
osx_image: xcode10.1
env:
- CC=clang
- CXX=clang++
install:
- ${CC} --version
script:
# test if meow_hash.h compiles as C
- touch test.c
- ${CC} -c -mssse3 -maes -include meow_intrinsics.h -include meow_hash.h test.c
# build & test
- ./build.sh
- ./build/meow_test
- ./build/meow_example