diff options
Diffstat (limited to '.travis/build-linux-mingw')
-rw-r--r-- | .travis/build-linux-mingw | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/.travis/build-linux-mingw b/.travis/build-linux-mingw new file mode 100644 index 0000000..c88ddca --- /dev/null +++ b/.travis/build-linux-mingw | |||
@@ -0,0 +1,47 @@ | |||
1 | #!/bin/sh -eux | ||
2 | |||
3 | # XXX defining CC and cross-compiling confuses OpenSSL's build. | ||
4 | unset CC | ||
5 | |||
6 | sudo mkdir /fakeroot | ||
7 | sudo chmod 755 /fakeroot | ||
8 | |||
9 | cat << EOF > /tmp/mingw.cmake | ||
10 | SET(CMAKE_SYSTEM_NAME Windows) | ||
11 | SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc) | ||
12 | SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++) | ||
13 | SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres) | ||
14 | SET(CMAKE_FIND_ROOT_PATH /fakeroot) | ||
15 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||
16 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||
17 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||
18 | EOF | ||
19 | |||
20 | # Build and install libcbor. | ||
21 | git clone git://github.com/pjk/libcbor | ||
22 | cd libcbor | ||
23 | git checkout v0.5.0 | ||
24 | mkdir build | ||
25 | (cd build && cmake -DCMAKE_TOOLCHAIN_FILE=/tmp/mingw.cmake \ | ||
26 | -DCMAKE_INSTALL_PREFIX=/fakeroot ..) | ||
27 | make -C build | ||
28 | sudo make -C build install | ||
29 | cd .. | ||
30 | |||
31 | # Build and install OpenSSL 1.1.0j. | ||
32 | git clone git://github.com/openssl/openssl | ||
33 | cd openssl | ||
34 | git checkout OpenSSL_1_1_0j | ||
35 | ./Configure mingw --prefix=/fakeroot --openssldir=/fakeroot/openssl \ | ||
36 | --cross-compile-prefix=i686-w64-mingw32- | ||
37 | make | ||
38 | sudo make install_sw | ||
39 | cd .. | ||
40 | |||
41 | # Build and install libfido2. | ||
42 | export PKG_CONFIG_PATH=/fakeroot/lib/pkgconfig | ||
43 | mkdir build | ||
44 | (cd build && cmake -DCMAKE_TOOLCHAIN_FILE=/tmp/mingw.cmake \ | ||
45 | -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/fakeroot ..) | ||
46 | make -C build | ||
47 | sudo make -C build install | ||