Merge pull request #126 from bluca/distcheck

Problem: make distcheck is broken and deploying release artifacts is a manual process
This commit is contained in:
Kevin Sapper 2016-06-04 16:46:16 +02:00
commit b849af44c5
5 changed files with 144 additions and 117 deletions

View File

@ -16,6 +16,7 @@ env:
- CXXFLAGS=-I${BUILD_PREFIX}/include
- LDFLAGS=-L${BUILD_PREFIX}/lib
- PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig
- DISTCHECK_CONFIGURE_FLAGS="--with-libsodium --prefix=${BUILD_PREFIX}"
# Build required projects first
before_script:
@ -31,5 +32,20 @@ before_script:
# Build and check this project
script:
- ./autogen.sh && ./configure --prefix=${BUILD_PREFIX} && make && make check
- make install
- ./autogen.sh && ./configure --with-libsodium --prefix=${BUILD_PREFIX} && make distcheck
# Deploy tags
before_deploy:
- . ./ci_deploy.sh
deploy:
provider: releases
api_key:
secure: "F05Ia6El6hhB0uFAGPztZioIN33XnVO6HT2l2RW/JGojr6yAUqM3ZD8kLxu/KCA7hX1fQw45VBf4oqu34uNRBks3vzjeBjZRvZx9mag4y979q5cMppUCyfdV8ugFcsUaEFmsCp/7IIweWMuymmaHJPpzswwCHsyPNyWsj4WMxTmI9Cs0mZjR1G48Vf3DcfLcosU5lPW/8HItU8ZOCRuqPOGJLZaGnJqdK5k0Zh4owNUXMbZuKH3slcXurGICJ9bRsPVue2bBkbLa8w0DfkAQlGXpihXufGEz8ue9+9ay1IjDONHCnoc1tqLoNXq1pX1kZtZRy/fHw5k0IVjHUQV57XXgqcvQOdb0pjI0R7HJQqdH/SslsYPH+6jXc2ClwxtghuTO5S98CTHBCjqbeMDJ3NnkAK3nQ/cgujNyxNo4x7xQpsfpHLq443pm5qX6XJCGSFv45S/znlarDmxHblVFj1P8OmeaB0Ui/NU3Kwc41e5X1HtXDK9DWRSDqtKS5jnQC7ITsnTTmmOLgr/c4r7OMIq33ZVj72WSGlE4b1PKLfXNJ7xCsRlkNY5sSVBOHoaaawKbSgBaeHdobnYZFw8oz/ReFOJpftZ743OqYT5KdSUHTaRyYULDOFOT8pstMQrszuoDNO27pwhHJ9Fap7oI7cXkXz4cawNUSoJHm4geaPM="
file_glob: true
file: ${ZEROMQ41_DEPLOYMENT}
skip_cleanup: true
on:
repo: zeromq/zeromq4-1
branch: master
tags: true
condition: "$TRAVIS_OS_NAME =~ (linux)"

2
NEWS
View File

@ -29,6 +29,8 @@
* Fixed #1542 - Fix a crash on Windows when port 5905 is in use.
* Fixed #2021 - Fix building on sparc32.
0MQ version 4.1.4 stable, released on 2015/12/18
================================================

View File

@ -745,57 +745,46 @@ dnl # LIBZMQ_CHECK_POLLER_KQUEUE([action-if-found], [action-if-not-found])
dnl # Checks kqueue polling system #
dnl ################################################################################
AC_DEFUN([LIBZMQ_CHECK_POLLER_KQUEUE], [{
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#include <sys/types.h>
#include <sys/event.h>
#include <sys/time.h>
],
[[
],[[
struct kevent t_kev;
kqueue();
]]
)],
[libzmq_cv_have_poller_kqueue="yes" ; $1],
[libzmq_cv_have_poller_kqueue="no" ; $2])
]])],
[$1], [$2]
)
}])
dnl ################################################################################
dnl # LIBZMQ_CHECK_POLLER_EPOLL_RUN([action-if-found], [action-if-not-found]) #
dnl # Checks epoll polling system can actually run #
dnl # For cross-compile, only requires that epoll can link #
dnl # For cross-compile, only requires that epoll can link #
dnl ################################################################################
AC_DEFUN([LIBZMQ_CHECK_POLLER_EPOLL], [{
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[
AC_RUN_IFELSE([
AC_LANG_PROGRAM([
#include <sys/epoll.h>
],
[[
],[[
struct epoll_event t_ev;
int r;
r = epoll_create(10);
return(r < 0);
]]
)],
[libzmq_cv_have_poller_epoll="yes" ; $1],
[libzmq_cv_have_poller_epoll="no" ; $2],
[
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[
]])],
[$1],[$2],[
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#include <sys/epoll.h>
],
[[
struct epoll_event t_ev;
epoll_create(10);
]]
)],
[libzmq_cv_have_poller_epoll="yes" ; $1],
[libzmq_cv_have_poller_epoll="no" ; $2])
])
],[[
struct epoll_event t_ev;
epoll_create(10);
]])],
[$1], [$2]
)
]
)
}])
dnl ################################################################################
@ -803,18 +792,15 @@ dnl # LIBZMQ_CHECK_POLLER_DEVPOLL([action-if-found], [action-if-not-found])
dnl # Checks devpoll polling system #
dnl ################################################################################
AC_DEFUN([LIBZMQ_CHECK_POLLER_DEVPOLL], [{
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#include <sys/devpoll.h>
],
[[
],[[
struct pollfd t_devpoll;
int fd = open("/dev/poll", O_RDWR);
]]
)],
[libzmq_cv_have_poller_devpoll="yes" ; $1],
[libzmq_cv_have_poller_devpoll="no" ; $2])
]])],
[$1], [$2]
)
}])
dnl ################################################################################
@ -822,18 +808,15 @@ dnl # LIBZMQ_CHECK_POLLER_POLL([action-if-found], [action-if-not-found])
dnl # Checks poll polling system #
dnl ################################################################################
AC_DEFUN([LIBZMQ_CHECK_POLLER_POLL], [{
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#include <poll.h>
],
[[
],[[
struct pollfd t_poll;
poll(&t_poll, 1, 1);
]]
)],
[libzmq_cv_have_poller_poll="yes" ; $1],
[libzmq_cv_have_poller_poll="no" ; $2])
]])],
[$1], [$2]
)
}])
dnl ################################################################################
@ -841,9 +824,8 @@ dnl # LIBZMQ_CHECK_POLLER_SELECT([action-if-found], [action-if-not-found])
dnl # Checks select polling system #
dnl ################################################################################
AC_DEFUN([LIBZMQ_CHECK_POLLER_SELECT], [{
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[
AC_LINK_IFELSE([
AC_LANG_PROGRAM([
#ifdef ZMQ_HAVE_WINDOWS
#include "winsock2.h"
#elif defined ZMQ_HAVE_OPENVMS
@ -852,79 +834,84 @@ AC_DEFUN([LIBZMQ_CHECK_POLLER_SELECT], [{
#else
#include <sys/select.h>
#endif
],
[[
],[[
fd_set t_rfds;
struct timeval tv;
FD_ZERO(&t_rfds);
FD_SET(0, &t_rfds);
tv.tv_sec = 5;
tv.tv_usec = 0;
select(1, &t_rfds, NULL, NULL, &tv);
]]
)],
[libzmq_cv_have_poller_select="yes" ; $1],
[libzmq_cv_have_poller_select="no" ; $2])
]])],
[$1],[$2]
)
}])
dnl ################################################################################
dnl # LIBZMQ_CHECK_POLLER([action-if-found], [action-if-not-found]) #
dnl # Choose polling system #
dnl ################################################################################
AC_DEFUN([LIBZMQ_CHECK_POLLER], [{
# Allow user to override poller autodetection
AC_ARG_WITH([poller], [AS_HELP_STRING([--with-poller],
[choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select [default=autodetect]])])
AC_ARG_WITH([poller],
[AS_HELP_STRING([--with-poller],
[choose polling system manually. Valid values are 'kqueue', 'epoll', 'devpoll', 'poll', 'select', or 'auto'. [default=auto]])])
case "${with_poller}" in
kqueue|epoll|devpoll|poll|select)
# User has chosen polling system
AC_MSG_CHECKING([for suitable polling system skipped for preselect])
libzmq_cv_poller="${with_poller}"
;;
if test "x$with_poller" == "x"; then
pollers=auto
else
pollers=$with_poller
fi
if test "$pollers" == "auto"; then
# We search for pollers in this order
pollers="kqueue epoll devpoll poll select"
fi
*)
# try to find suitable polling system. the order of testing is:
# kqueue -> epoll -> devpoll -> poll -> select
AC_MSG_CHECKING([for suitable polling system])
for subsystem in kqueue epoll devpoll poll select; do
case "${subsystem}" in
kqueue)
LIBZMQ_CHECK_POLLER_KQUEUE([libzmq_cv_poller=$subsystem], [])
;;
epoll)
LIBZMQ_CHECK_POLLER_EPOLL([libzmq_cv_poller=$subsystem], [])
;;
devpoll)
LIBZMQ_CHECK_POLLER_DEVPOLL([libzmq_cv_poller=$subsystem], [])
;;
poll)
LIBZMQ_CHECK_POLLER_POLL([libzmq_cv_poller=$subsystem], [])
;;
select)
LIBZMQ_CHECK_POLLER_SELECT([libzmq_cv_poller=$subsystem], [])
;;
esac
if test "x${libzmq_cv_poller}" != "x"; then
break
fi
done
;;
esac
libzmq_cv_poller_flag=`echo "ZMQ_USE_${libzmq_cv_poller}" | tr a-z A-Z`
AS_IF([test "x${libzmq_cv_poller}" != "x"],
[AC_MSG_RESULT([using $libzmq_cv_poller]) ; $1], [AC_MSG_RESULT(no suitable polling system found) ; $2])
# try to find suitable polling system. the order of testing is:
AC_MSG_NOTICE([Choosing polling system from '$pollers'...])
poller_found=0
for poller in $pollers; do
case "$poller" in
kqueue)
LIBZMQ_CHECK_POLLER_KQUEUE([
AC_MSG_NOTICE([Using 'kqueue' polling system])
AC_DEFINE(ZMQ_USE_KQUEUE, 1, [Use 'kqueue' polling system])
poller_found=1
])
;;
epoll)
LIBZMQ_CHECK_POLLER_EPOLL([
AC_MSG_NOTICE([Using 'epoll' polling system])
AC_DEFINE(ZMQ_USE_EPOLL, 1, [Use 'epoll' polling system])
poller_found=1
])
;;
devpoll)
LIBZMQ_CHECK_POLLER_DEVPOLL([
AC_MSG_NOTICE([Using 'devpoll' polling system])
AC_DEFINE(ZMQ_USE_DEVPOLL, 1, [Use 'devpoll' polling system])
poller_found=1
])
;;
poll)
LIBZMQ_CHECK_POLLER_POLL([
AC_MSG_NOTICE([Using 'poll' polling system])
AC_DEFINE(ZMQ_USE_POLL, 1, [Use 'poll' polling system])
poller_found=1
])
;;
select)
LIBZMQ_CHECK_POLLER_SELECT([
AC_MSG_NOTICE([Using 'select' polling system])
AC_DEFINE(ZMQ_USE_SELECT, 1, [Use 'select' polling system])
poller_found=1
])
;;
esac
test $poller_found -eq 1 && break
done
if test $poller_found -eq 0; then
AC_MSG_ERROR([None of '$pollers' are valid pollers on this platform])
fi
}])

20
ci_deploy.sh Normal file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -x
set -e
if [[ $TRAVIS_OS_NAME =~ (linux) ]]; then
# Tell travis to deploy all files in dist
mkdir dist
export ZEROMQ41_DEPLOYMENT=dist/*
# Move archives to dist
mv *.tar.gz dist
mv *.zip dist
# Generate hash sums
cd dist
md5sum *.zip *.tar.gz > MD5SUMS
sha1sum *.zip *.tar.gz > SHA1SUMS
cd -
else
export ZEROMQ4-1_DEPLOYMENT=""
fi

View File

@ -304,8 +304,8 @@ esac
LIBZMQ_CHECK_DOC_BUILD
# Check polling system
LIBZMQ_CHECK_POLLER([CPPFLAGS="${CPPFLAGS} -D${libzmq_cv_poller_flag}"],
[AC_MSG_ERROR([Unable to continue without polling system])])
# Check polling system, set appropriate macro in src/platform.hpp
LIBZMQ_CHECK_POLLER
# Checks for header files.
AC_HEADER_STDC
@ -468,6 +468,7 @@ AC_ARG_WITH([norm],
AC_MSG_CHECKING("with_norm_ext = ${with_norm_ext}")
if test "x$with_norm_ext" != "xno"; then
AC_MSG_RESULT([yes])
AC_DEFINE(ZMQ_HAVE_NORM, 1, [Have NORM protocol extension])
if test "x$wwith_norm_ext" != "xyes"; then
@ -475,8 +476,9 @@ if test "x$with_norm_ext" != "xno"; then
LIBZMQ_EXTRA_CXXFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_CXXFLAGS}"
LIBZMQ_EXTRA_LDFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_LDFLAGS}"
fi
LIBS="-lnorm $LIBS"
else
AC_MSG_RESULT([no])
fi
# Set -Wall, -Werror and -pedantic