Skip to content
Merged
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
ad5fe59
Enable windows build
etr Feb 9, 2019
b974284
Forcing installation of threading models
etr Feb 9, 2019
cf6f26f
Additional windows libraries
etr Feb 9, 2019
e46e381
Avoid setting paths on windows
etr Feb 9, 2019
6365204
Try to use msys shell
etr Feb 10, 2019
84a1684
Printing path on travis
etr Feb 17, 2019
8d08f15
Printing variables and adding msys to travis path
etr Feb 17, 2019
583fcbe
Inverting priority between msys and mingww
etr Feb 17, 2019
1f38a1f
Update path on windows builds
etr Feb 17, 2019
930209a
Print msys content
etr Feb 17, 2019
f52c85c
No need to install cygwin
etr Feb 17, 2019
703aa56
Fixing path variables in mingw
etr Feb 17, 2019
f72bda0
Fix typo
etr Feb 17, 2019
98e9930
Re-establish cygwin (to have shell commands)
etr Feb 17, 2019
8cc9776
Avoid overriding path
etr Feb 17, 2019
a719529
Reconfiguring libraries in mingw
etr Feb 17, 2019
e01b52e
Install mingw base development kit
etr Feb 17, 2019
85bb8ae
Print mingw path content
etr Feb 17, 2019
c6527d5
Print full mingw path
etr Feb 17, 2019
ae01168
Install GnuWin
etr Feb 17, 2019
a32f996
Add optional pacman software
etr Feb 17, 2019
314dd98
Set-up custom toolchain on windows
etr Feb 17, 2019
7b0d841
launch mingw shell
etr Feb 17, 2019
9140115
Print paths in windows
etr Feb 17, 2019
81f8e86
Do not reset path
etr Feb 17, 2019
a90dae8
Manually adding msys on top of mingw
etr Feb 18, 2019
c2b5076
Use correct format for msys package
etr Feb 18, 2019
35f611f
No need for verbosity
etr Feb 18, 2019
d84aa49
set path correctly for newly installed msys
etr Feb 18, 2019
a59b808
Copying msys directly within mingw root
etr Feb 18, 2019
ea0d9d0
Print /usr/src in mingw
etr Feb 18, 2019
2070dbc
Override base /usr/bin in windows
etr Feb 18, 2019
a011daf
Remove duplicated executables and dlls
etr Feb 18, 2019
c792f3f
refresh pacman keys
etr Feb 18, 2019
914c540
Stop Pacman asking for confirmation
etr Feb 18, 2019
0e644c6
Pacman to install specific dependencies
etr Feb 18, 2019
6fc7b2a
Remove redundant files
etr Feb 18, 2019
d435d3f
Configuring for mingw64
etr Feb 18, 2019
aebe907
Add libgcrypt to the dependencies
etr Feb 18, 2019
e300c6b
print content of include libraries
etr Feb 18, 2019
976b945
Use mingw installation path as prefix
etr Feb 18, 2019
d73b600
Obtain installation location of packages
etr Feb 18, 2019
0f3bc64
Add libgnutls dependency
etr Feb 18, 2019
385d646
Add libgnutls-devel to Pacman deps
etr Feb 18, 2019
2d190b4
Print gnutls-devel location
etr Feb 19, 2019
0415750
Fix package naming
etr Feb 19, 2019
b32ce8c
Use actual prefix from mingw
etr Feb 19, 2019
1c13818
avoid setting cflags and ldflags
etr Feb 19, 2019
0a6098a
Set pkg-config for success
etr Feb 19, 2019
bac3550
Fix syntax
etr Feb 19, 2019
650b28e
fix inclusion variables
etr Feb 19, 2019
05148c7
separator for pkg-config
etr Feb 19, 2019
80638c2
Install mingw version of pkg-config
etr Feb 19, 2019
8d7f633
Remove files that come from msys
etr Feb 19, 2019
1efae27
Forcing gnutls through parameter
etr Feb 19, 2019
1872af1
print gnutls.h
etr Feb 19, 2019
dd5cd3d
Download toolchains directly in MSYS
etr Feb 24, 2019
9e011fc
Use Msys paths for compiler and linker
etr Feb 24, 2019
d9b2b2a
Use pacman to install gcc
etr Feb 24, 2019
e7ecac0
Use mingw64 gcc
etr Feb 24, 2019
4354973
Merge remote-tracking branch 'origin' into travis_windows
etr Aug 18, 2019
26b40d4
Simplify windows build to use travis default
etr Aug 18, 2019
43efb19
Fix travis paths
etr Aug 18, 2019
8f28b68
Temporarily disable gnutls requirement in travis windows
etr Aug 18, 2019
fbabaaf
Install make on travis windows
etr Aug 18, 2019
f84b1e8
Push travis windows to use msys
etr Aug 18, 2019
131fd3a
Semicolon at every line in windows statements
etr Aug 18, 2019
1b5e0ed
Use sh as default shell in travis windows
etr Aug 18, 2019
d917bf5
Force shell replacement on travis windows
etr Aug 18, 2019
bd88336
Do not reset path ahead of running make
etr Aug 18, 2019
58b3c9b
Manually force use of msys shell on travis windows
etr Aug 19, 2019
1c5d068
Using /bin/sh shell in travis_windows
etr Aug 19, 2019
51d37a4
Use travis native (cygwin) rather than msys
etr Aug 19, 2019
25218ef
No need to set msys path
etr Aug 19, 2019
a99c70a
fix 'program files' path
etr Aug 19, 2019
9b11506
Fixing configure not finding itc mechanism
etr Aug 19, 2019
0ae7aef
Use unix-like path for sh
etr Aug 19, 2019
1efa1dd
Do not run autoreconf ahead of configure
etr Aug 19, 2019
133d230
No need to grep.
etr Aug 19, 2019
aab7df0
Export SHELL value
etr Aug 19, 2019
aed9a66
Add missing semicolon
etr Aug 19, 2019
f0edb4d
Fixing shell parameter in Makefiles on travis windows
etr Aug 19, 2019
5b84817
Force usage of sh shell
etr Aug 19, 2019
02b2ec2
Enable build on windows
etr Aug 19, 2019
4ce06ec
Use explicit package name to refer to libpcre
etr Aug 19, 2019
8e4ff87
Suppress clang on windows
etr Aug 19, 2019
c20780a
Make build and host explicit at configure
etr Aug 19, 2019
88ba41c
Force YARN_GPG=no to travis to prevent hanging
etr Aug 19, 2019
9f86e60
List processes running after end
etr Aug 19, 2019
8b5cc9c
Running pacman within this terminal
etr Aug 19, 2019
d361472
Re-add powershell command to run pacman
etr Aug 20, 2019
8945d51
Checking processes at various stages
etr Aug 20, 2019
0601a82
Kill all child processes at the end on windows
etr Aug 20, 2019
9f91094
Change kill call to match windows format
etr Aug 20, 2019
2757e69
List bash child processes
etr Aug 20, 2019
aa73eac
print $$ value
etr Aug 21, 2019
eb935b3
Fix echo $$
etr Aug 21, 2019
d2c505b
List windows processes
etr Aug 21, 2019
3cad66e
Fix typo
etr Aug 21, 2019
b24e446
Remove kill statements
etr Sep 2, 2019
4dd6aa9
Print the same ps before and after script
etr Sep 2, 2019
f105cd4
kill gnupg possibly leaving the shell running after success
etr Sep 2, 2019
2d4461c
Use taskkill rather than kill
etr Sep 2, 2019
2bf21ff
Terminate gpg through gpg-config
etr Sep 3, 2019
7e779df
Force taskkill command params on git bash
etr Sep 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 56 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ language: cpp
os:
- linux
- osx
- windows
compiler:
- gcc
- clang
Expand All @@ -10,29 +11,57 @@ env:
- DEBUG="nodebug" COVERAGE="nocoverage"
- LINKING="static"
before_install:
- ps -ef
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then ps -Wla | sort ; fi
- eval "${MATRIX_EVAL}"
- export LDFLAGS="$LDFLAGS -L/usr/local/lib -L/usr/lib"
- export PATH=$PATH:/usr/local/lib
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export LDFLAGS="$LDFLAGS -L/usr/local/lib -L/usr/lib"; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export PATH=$PATH:/usr/local/lib; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install info install-info; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo pip install codecov; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo pip install gcovr; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install cppcheck; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export CFLAGS='-mtune=generic'; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then choco install -r --no-progress -y msys2 make; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then PATH=$PATH:/c/tools/msys64/usr/bin/ ; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then powershell -executionpolicy bypass "pacman -Syu --noconfirm autoconf libtool automake make autoconf-archive pkg-config mingw-w64-x86_64-libsystre" ; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then
ln -s /c/tools/msys64/usr/share/autoconf* /usr/share/ ;
ln -s /c/tools/msys64/usr/share/automake* /usr/share/ ;
ln -s /c/tools/msys64/usr/share/aclocal* /usr/share/ ;
ln -s /c/tools/msys64/usr/share/libtool* /usr/share/ ;
ln -s /c/tools/msys64/usr/share/pkgconfig /usr/share/ ;
ln -s /c/tools/msys64/usr/bin/autom4te /usr/bin/ ;
ln -s /c/tools/msys64/usr/bin/autoconf /usr/bin/ ;
ln -s /c/tools/msys64/usr/bin/autoheader /usr/bin/ ;
ln -s /c/tools/msys64/usr/bin/m4 /usr/bin/ ;

PATH=$PATH:/c/tools/msys64/usr/bin/ ;
export SHELL=/usr/bin/sh.exe ;
fi
- curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.59.tar.gz -o libmicrohttpd-0.9.59.tar.gz
- tar -xvzf libmicrohttpd-0.9.59.tar.gz
- tar -xzf libmicrohttpd-0.9.59.tar.gz
- cd libmicrohttpd-0.9.59
- if [[ "$ARM_ARCH_DIR" != "" ]]; then ./configure --build `./config.guess` --host $ARM_ARCH_DIR --disable-examples; else ./configure --disable-examples; fi
- if [[ "$ARM_ARCH_DIR" != "" ]]; then
./configure --build `./config.guess` --host $ARM_ARCH_DIR --disable-examples;
elif [[ "$TRAVIS_OS_NAME" = "windows" ]]; then
./configure --prefix=/usr --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --disable-examples --disable-https --enable-shared --enable-static ;
else
./configure --disable-examples;
fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then find . -name Makefile -type f -exec sed -i "s/\${SHELL}/\/usr\/bin\/sh.exe/" "{}" + ; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then find . -name Makefile -type f -exec sed -i "s/\$(SHELL)/\/usr\/bin\/sh.exe/" "{}" + ; fi
- make
- sudo make install
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then make install; else sudo make install; fi
- cd ..
- if [ "$BUILD_TYPE" = "asan" ]; then export CFLAGS='-fsanitize=address'; export CXXLAGS='-fsanitize=address'; export LDFLAGS='-fsanitize=address'; fi
- if [ "$BUILD_TYPE" = "msan" ]; then export CFLAGS='-fsanitize=memory'; export CXXLAGS='-fsanitize=memory'; export LDFLAGS='-fsanitize=memory'; fi
- if [ "$BUILD_TYPE" = "lsan" ]; then export CFLAGS='-fsanitize=leak'; export CXXLAGS='-fsanitize=leak'; export LDFLAGS='-fsanitize=leak'; fi
- if [ "$BUILD_TYPE" = "tsan" ]; then export CFLAGS='-fsanitize=thread'; export CXXLAGS='-fsanitize=thread'; export LDFLAGS='-fsanitize=thread'; fi
- if [ "$BUILD_TYPE" = "ubsan" ]; then export export CFLAGS='-fsanitize=undefined'; export CXXLAGS='-fsanitize=undefined'; export LDFLAGS='-fsanitize=undefined'; fi
install:
- ps -ef
- if [[ "$CROSS_COMPILE" == 1 ]] ; then
if [[ "$ARM_ARCH_DIR" == "aarch64-linux-gnu" ]] ; then
mkdir $HOME/linker_bin ;
Expand All @@ -45,7 +74,12 @@ install:
- ./bootstrap
- mkdir build
- cd build
- if [ "$LINKING" = "static" ]; then
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then
../configure --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --disable-fastopen --disable-examples CPPFLAGS='-I/c/tools/msys64/mingw64/include/ -I/usr/include/' LDFLAGS='-L/c/tools/msys64/mingw64/lib -L/usr/lib/' ;
cd .. ;
find . -name Makefile -type f -exec sed -i "s/\$(SHELL)/\/usr\/bin\/sh.exe/" "{}" + ;
cd build ;
elif [ "$LINKING" = "static" ]; then
../configure --enable-static --disable-fastopen;
elif [ "$DEBUG" = "debug" ] && [ "$COVERAGE" = "coverage" ]; then
../configure --enable-debug --enable-coverage --disable-shared --disable-fastopen;
Expand All @@ -63,8 +97,9 @@ install:
- if [ "$CROSS_COMPILE" = "1" ] && [ "$ARM_ARCH_DIR" = "aarch64-linux-gnu" ]; then sed -i 's+/usr/bin/ld+$HOME/linker_bin/ld+g' libtool; fi
- if [ "$CROSS_COMPILE" = "1" ] && [ "$ARM_ARCH_DIR" = "aarch64-linux-gnu" ]; then sed -i 's+/usr/bin/ld+$HOME/linker_bin/ld+g' Makefile; fi
- make
- make check TESTS=
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then make check TESTS= ; fi
script:
- ps -ef
- if [[ "$CROSS_COMPILE" == 1 ]]; then
cd test ;
if [[ "$ARM_ARCH_DIR" == "aarch64-linux-gnu" ]]; then
Expand All @@ -85,12 +120,10 @@ script:
qemu-arm -L /usr/arm-linux-gnueabi/ ./.libs/threaded ;
fi
fi
- make check
- cat test/test-suite.log
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then make check ; fi
- if [ "$TRAVIS_OS_NAME" != "windows" ]; then cat test/test-suite.log; fi
- if [ "$VALGRIND" = "valgrind" ]; then make check-valgrind; fi;
- if [ "$VALGRIND" = "valgrind" ]; then cat test/test-suite-memcheck.log; fi;
- ls -l /usr/local/lib/
- ls -l /usr/lib/
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd ../src/; cppcheck --error-exitcode=1 .; cd ../build; fi
- |
if [ "$PERFORMANCE" = "select" ]; then
Expand All @@ -110,15 +143,23 @@ script:
./benchmark_threads 8080 &
sleep 5 && ab -n 10000000 -c 100 localhost:8080/plaintext
fi
after_script:
- ps -ef
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then ps -Wla | sort ; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then gpgconf --kill gpg-agent ; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then taskkill //F //PID $(ps -Wla | tr -s ' ' | grep gpg | cut -f2 -d' ') ; fi
- if [ "$TRAVIS_OS_NAME" = "windows" ]; then ps -Wla | sort ; fi
- echo $$
after_success:
- if [ "$DEBUG" = "debug" ] && [ "$COVERAGE" = "coverage" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then bash <(curl -s https://codecov.io/bash); fi
matrix:
exclude:
- compiler: clang
env: DEBUG="debug" COVERAGE="coverage"
- compiler: clang
env: LINKING='static'
- os: windows
include:
- os: windows
env: DEBUG="nodebug" COVERAGE="nocoverage" YARN_GPG=no
- os: linux
addons:
apt:
Expand Down