Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
12 changes: 6 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,12 @@ install:
script:

# Download and build libbitcoin-client and all dependencies.
- if [[ $OSX && $CLANG && $STATIC ]]; then CC=$CC CXX=$CXX ./install.sh --disable-shared --build-boost --build-zmq --prefix=$TRAVIS_BUILD_DIR/my-prefix; fi
- if [[ $LINUX && $CLANG && $STATIC ]]; then CC=$CC CXX=$CXX ./install.sh --disable-shared --build-boost --build-zmq --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Os' CXXFLAGS='-Os'; fi
- if [[ $LINUX && $GCC && $STATIC ]]; then CC=$CC CXX=$CXX ./install.sh --build-boost --build-zmq --disable-shared --build-dir=my-build --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Og -g --coverage' CXXFLAGS='-Og -g --coverage'; fi
- if [[ $OSX && $CLANG && $DYNAMIC ]]; then CC=$CC CXX=$CXX ./install.sh --disable-static --build-zmq; fi
- if [[ $LINUX && $CLANG && $DYNAMIC ]]; then CC=$CC CXX=$CXX ./install.sh --build-boost --build-zmq --disable-ndebug --disable-static --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Os' CXXFLAGS='-Os'; fi
- if [[ $LINUX && $GCC && $DYNAMIC ]]; then CC=$CC CXX=$CXX ./install.sh --disable-static --build-boost --build-zmq --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Os -s' CXXFLAGS='-Os -s'; fi
- if [[ $OSX && $CLANG && $STATIC ]]; then CC=$CC CXX=$CXX ./install.sh --enable-isystem --disable-shared --build-boost --build-zmq --prefix=$TRAVIS_BUILD_DIR/my-prefix; fi
- if [[ $LINUX && $CLANG && $STATIC ]]; then CC=$CC CXX=$CXX ./install.sh --enable-isystem --disable-shared --build-boost --build-zmq --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Os' CXXFLAGS='-Os'; fi
- if [[ $LINUX && $GCC && $STATIC ]]; then CC=$CC CXX=$CXX ./install.sh --enable-isystem --build-boost --build-zmq --disable-shared --build-dir=my-build --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Og -g --coverage' CXXFLAGS='-Og -g --coverage'; fi
- if [[ $OSX && $CLANG && $DYNAMIC ]]; then CC=$CC CXX=$CXX ./install.sh --enable-isystem --disable-static --build-zmq; fi
- if [[ $LINUX && $CLANG && $DYNAMIC ]]; then CC=$CC CXX=$CXX ./install.sh --enable-isystem --build-boost --build-zmq --disable-ndebug --disable-static --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Os' CXXFLAGS='-Os'; fi
- if [[ $LINUX && $GCC && $DYNAMIC ]]; then CC=$CC CXX=$CXX ./install.sh --enable-isystem --disable-static --build-boost --build-zmq --prefix=$TRAVIS_BUILD_DIR/my-prefix CFLAGS='-Os -s' CXXFLAGS='-Os -s'; fi

after_success:

Expand Down
8 changes: 4 additions & 4 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ doc_DATA = \
# src/libbitcoin-client.la => ${libdir}
#------------------------------------------------------------------------------
lib_LTLIBRARIES = src/libbitcoin-client.la
src_libbitcoin_client_la_CPPFLAGS = -I${srcdir}/include ${bitcoin_CPPFLAGS} ${bitcoin_protocol_CPPFLAGS}
src_libbitcoin_client_la_CPPFLAGS = -I${srcdir}/include ${bitcoin_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS}
src_libbitcoin_client_la_LIBADD = ${bitcoin_LIBS} ${bitcoin_protocol_LIBS}
src_libbitcoin_client_la_SOURCES = \
src/dealer.cpp \
Expand All @@ -47,7 +47,7 @@ if WITH_TESTS
TESTS = libbitcoin-client-test_runner.sh

check_PROGRAMS = test/libbitcoin-client-test
test_libbitcoin_client_test_CPPFLAGS = -I${srcdir}/include ${bitcoin_CPPFLAGS} ${bitcoin_protocol_CPPFLAGS}
test_libbitcoin_client_test_CPPFLAGS = -I${srcdir}/include ${bitcoin_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS}
test_libbitcoin_client_test_LDADD = src/libbitcoin-client.la ${boost_unit_test_framework_LIBS} ${bitcoin_LIBS} ${bitcoin_protocol_LIBS}
test_libbitcoin_client_test_SOURCES = \
test/main.cpp \
Expand All @@ -60,7 +60,7 @@ endif WITH_TESTS
if WITH_EXAMPLES

noinst_PROGRAMS = examples/console/console
examples_console_console_CPPFLAGS = -I${srcdir}/include ${bitcoin_CPPFLAGS} ${bitcoin_protocol_CPPFLAGS}
examples_console_console_CPPFLAGS = -I${srcdir}/include ${bitcoin_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS}
examples_console_console_LDADD = src/libbitcoin-client.la ${bitcoin_LIBS} ${bitcoin_protocol_LIBS}
examples_console_console_SOURCES = \
examples/console/client.cpp \
Expand All @@ -78,7 +78,7 @@ endif WITH_EXAMPLES
if WITH_EXAMPLES

noinst_PROGRAMS += examples/get_height/get_height
examples_get_height_get_height_CPPFLAGS = -I${srcdir}/include ${bitcoin_CPPFLAGS} ${bitcoin_protocol_CPPFLAGS}
examples_get_height_get_height_CPPFLAGS = -I${srcdir}/include ${bitcoin_BUILD_CPPFLAGS} ${bitcoin_protocol_BUILD_CPPFLAGS}
examples_get_height_get_height_LDADD = src/libbitcoin-client.la ${bitcoin_LIBS} ${bitcoin_protocol_LIBS}
examples_get_height_get_height_SOURCES = \
examples/get_height/main.cpp
Expand Down
104 changes: 90 additions & 14 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ AC_PROG_CXX
# Enable shared libraries if available, and static if they don't conflict.
AC_PROG_LIBTOOL

# Enable sed for substitution.
AC_PROG_SED

# Compute the canonical host-system type variable host, including host_os.
AC_CANONICAL_HOST

Expand All @@ -52,6 +55,9 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])

# Check for pkg-config.
PKG_PROG_PKG_CONFIG
AS_IF([test -n "$PKG_CONFIG"], [],
[AC_MSG_ERROR([pkg-config is required but was not found.])])


# Declare environment variables that affect the build.
#------------------------------------------------------------------------------
Expand Down Expand Up @@ -114,6 +120,16 @@ AS_CASE([${enable_ndebug}], [yes], AC_DEFINE([NDEBUG]))
#------------------------------------------------------------------------------
AS_CASE([${enable_shared}], [yes], AC_DEFINE([BOOST_ALL_DYN_LINK]))

# Implement --enable-isystem.
#------------------------------------------------------------------------------
AC_MSG_CHECKING([--enable-isystem option])
AC_ARG_ENABLE([isystem],
AS_HELP_STRING([--enable-isystem],
[Substitute -isystem for -I in dependencies. @<:@default=no@:>@]),
[enable_isystem=$enableval],
[enable_isystem=no])
AC_MSG_RESULT([$enable_isystem])


# Check dependencies.
#==============================================================================
Expand All @@ -122,11 +138,19 @@ AS_CASE([${enable_shared}], [yes], AC_DEFINE([BOOST_ALL_DYN_LINK]))
AS_CASE([${CC}], [*],
[AX_BOOST_BASE([1.62.0],
[AC_SUBST([boost_CPPFLAGS], [${BOOST_CPPFLAGS}])
AC_SUBST([boost_ISYS_CPPFLAGS], [`echo ${BOOST_CPPFLAGS} | $SED s/^-I/-isystem/g | $SED s/' -I'/' -isystem'/g`])
AC_SUBST([boost_LDFLAGS], [${BOOST_LDFLAGS}])
AC_MSG_NOTICE([boost_CPPFLAGS : ${boost_CPPFLAGS}])
AC_MSG_NOTICE([boost_ISYS_CPPFLAGS : ${boost_ISYS_CPPFLAGS}])
AC_MSG_NOTICE([boost_LDFLAGS : ${boost_LDFLAGS}])],
[AC_MSG_ERROR([Boost 1.62.0 or later is required but was not found.])])])

AS_CASE([${enable_isystem}],[yes],
[AC_SUBST([boost_BUILD_CPPFLAGS], [${boost_ISYS_CPPFLAGS}])],
[AC_SUBST([boost_BUILD_CPPFLAGS], [${boost_CPPFLAGS}])])

AC_MSG_NOTICE([boost_BUILD_CPPFLAGS : ${boost_BUILD_CPPFLAGS}])

AS_CASE([${with_tests}], [yes],
[AX_BOOST_UNIT_TEST_FRAMEWORK
AC_SUBST([boost_unit_test_framework_LIBS], [${BOOST_UNIT_TEST_FRAMEWORK_LIB}])
Expand All @@ -135,20 +159,52 @@ AS_CASE([${with_tests}], [yes],

# Require bitcoin of at least version 4.0.0 and output ${bitcoin_CPPFLAGS/LIBS/PKG}.
#------------------------------------------------------------------------------
PKG_CHECK_MODULES([bitcoin], [libbitcoin >= 4.0.0])
PKG_CHECK_MODULES([bitcoin], [libbitcoin >= 4.0.0],
[bitcoin_INCLUDEDIR="`$PKG_CONFIG --variable=includedir "libbitcoin >= 4.0.0" 2>/dev/null`"
bitcoin_OTHER_CFLAGS="`$PKG_CONFIG --cflags-only-other "libbitcoin >= 4.0.0" 2>/dev/null`"],
[bitcoin_INCLUDEDIR=""
bitcoin_OTHER_CFLAGS=""])
AC_SUBST([bitcoin_PKG], ['libbitcoin >= 4.0.0'])
AC_SUBST([bitcoin_CPPFLAGS], [${bitcoin_CFLAGS}])
AS_IF([test x${bitcoin_INCLUDEDIR} != "x"],
[AC_SUBST([bitcoin_ISYS_CPPFLAGS], ["-isystem${bitcoin_INCLUDEDIR} ${bitcoin_OTHER_CFLAGS}"])],
[AC_SUBST([bitcoin_ISYS_CPPFLAGS], [${bitcoin_OTHER_CFLAGS}])])
AC_MSG_NOTICE([bitcoin_CPPFLAGS : ${bitcoin_CPPFLAGS}])
AC_MSG_NOTICE([bitcoin_ISYS_CPPFLAGS : ${bitcoin_ISYS_CPPFLAGS}])
AC_MSG_NOTICE([bitcoin_OTHER_CFLAGS : ${bitcoin_OTHER_CFLAGS}])
AC_MSG_NOTICE([bitcoin_INCLUDEDIR : ${bitcoin_INCLUDEDIR}])
AC_MSG_NOTICE([bitcoin_LIBS : ${bitcoin_LIBS}])

AS_CASE([${enable_isystem}],[yes],
[AC_SUBST([bitcoin_BUILD_CPPFLAGS], [${bitcoin_ISYS_CPPFLAGS}])],
[AC_SUBST([bitcoin_BUILD_CPPFLAGS], [${bitcoin_CPPFLAGS}])])

AC_MSG_NOTICE([bitcoin_BUILD_CPPFLAGS : ${bitcoin_BUILD_CPPFLAGS}])

# Require bitcoin-protocol of at least version 4.0.0 and output ${bitcoin_protocol_CPPFLAGS/LIBS/PKG}.
#------------------------------------------------------------------------------
PKG_CHECK_MODULES([bitcoin_protocol], [libbitcoin-protocol >= 4.0.0])
PKG_CHECK_MODULES([bitcoin_protocol], [libbitcoin-protocol >= 4.0.0],
[bitcoin_protocol_INCLUDEDIR="`$PKG_CONFIG --variable=includedir "libbitcoin-protocol >= 4.0.0" 2>/dev/null`"
bitcoin_protocol_OTHER_CFLAGS="`$PKG_CONFIG --cflags-only-other "libbitcoin-protocol >= 4.0.0" 2>/dev/null`"],
[bitcoin_protocol_INCLUDEDIR=""
bitcoin_protocol_OTHER_CFLAGS=""])
AC_SUBST([bitcoin_protocol_PKG], ['libbitcoin-protocol >= 4.0.0'])
AC_SUBST([bitcoin_protocol_CPPFLAGS], [${bitcoin_protocol_CFLAGS}])
AS_IF([test x${bitcoin_protocol_INCLUDEDIR} != "x"],
[AC_SUBST([bitcoin_protocol_ISYS_CPPFLAGS], ["-isystem${bitcoin_protocol_INCLUDEDIR} ${bitcoin_protocol_OTHER_CFLAGS}"])],
[AC_SUBST([bitcoin_protocol_ISYS_CPPFLAGS], [${bitcoin_protocol_OTHER_CFLAGS}])])
AC_MSG_NOTICE([bitcoin_protocol_CPPFLAGS : ${bitcoin_protocol_CPPFLAGS}])
AC_MSG_NOTICE([bitcoin_protocol_ISYS_CPPFLAGS : ${bitcoin_protocol_ISYS_CPPFLAGS}])
AC_MSG_NOTICE([bitcoin_protocol_OTHER_CFLAGS : ${bitcoin_protocol_OTHER_CFLAGS}])
AC_MSG_NOTICE([bitcoin_protocol_INCLUDEDIR : ${bitcoin_protocol_INCLUDEDIR}])
AC_MSG_NOTICE([bitcoin_protocol_LIBS : ${bitcoin_protocol_LIBS}])

AS_CASE([${enable_isystem}],[yes],
[AC_SUBST([bitcoin_protocol_BUILD_CPPFLAGS], [${bitcoin_protocol_ISYS_CPPFLAGS}])],
[AC_SUBST([bitcoin_protocol_BUILD_CPPFLAGS], [${bitcoin_protocol_CPPFLAGS}])])

AC_MSG_NOTICE([bitcoin_protocol_BUILD_CPPFLAGS : ${bitcoin_protocol_BUILD_CPPFLAGS}])


# Set flags.
#==============================================================================
Expand All @@ -164,12 +220,24 @@ AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wall],
[CFLAGS="$CFLAGS -Wall"])])

# Warn on all stuff.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wall],
[CXXFLAGS="$CXXFLAGS -Wall"])])

# Warn on extra stuff.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wextra],
[CFLAGS="$CFLAGS -Wextra"])])

# Warn on extra stuff.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wextra],
[CXXFLAGS="$CXXFLAGS -Wextra"])])

# Be really annoying.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
Expand All @@ -178,6 +246,26 @@ AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-pedantic],
[CFLAGS="$CFLAGS -pedantic"])])])

# Be really annoying.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wpedantic],
[CXXFLAGS="$CXXFLAGS -Wpedantic"],
[AX_CHECK_COMPILE_FLAG([-pedantic],
[CXXFLAGS="$CXXFLAGS -pedantic"])])])

# Disallow warning on style order of declarations.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wno-reorder],
[CXXFLAGS="$CXXFLAGS -Wno-reorder"])])

# Suppress warning for incomplete field initialization.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
[AX_CHECK_COMPILE_FLAG([-Wno-missing-field-initializers],
[CXXFLAGS="$CXXFLAGS -Wno-missing-field-initializers"])])

# Conform to style.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
Expand All @@ -190,12 +278,6 @@ AS_CASE([${CC}], [*clang*],
[AX_CHECK_COMPILE_FLAG([-Wno-mismatched-tags],
[CXXFLAGS="$CXXFLAGS -Wno-mismatched-tags"])])

# Clean up boost 1.55 headers. Enabled in gcc only.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*gcc*],
[AX_CHECK_COMPILE_FLAG([-Wno-deprecated-declarations],
[CXXFLAGS="$CXXFLAGS -Wno-deprecated-declarations"])])

# Protect stack.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*],
Expand All @@ -208,12 +290,6 @@ AS_CASE([${CC}], [*],
[AX_CHECK_LINK_FLAG([-fstack-protector-all],
[LDFLAGS="$LDFLAGS -fstack-protector-all"])])

# Hide internal functions from external libs. Enabled in gcc only.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*gcc*],
[AX_CHECK_COMPILE_FLAG([-fvisibility-hidden],
[CXXFLAGS="$CXXFLAGS -fvisibility-hidden"])])

# Hide inlines from external libs. Enabled in gcc only.
#------------------------------------------------------------------------------
AS_CASE([${CC}], [*gcc*],
Expand Down
2 changes: 1 addition & 1 deletion src/dealer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ bool dealer::send(const obelisk_message& message)
}

// Stream interface, not utilized on this class.
bool dealer::read(stream& stream)
bool dealer::read(stream& )
{
return false;
}
Expand Down
2 changes: 1 addition & 1 deletion src/obelisk_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ static uint32_t to_milliseconds(uint16_t seconds)
{
const auto milliseconds = static_cast<uint32_t>(seconds) * 1000;
return std::min(milliseconds, max_uint32);
};
}

static const auto on_unknown = [](const std::string&){};

Expand Down
2 changes: 1 addition & 1 deletion test/proxy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class stream_fixture
return 0;
}

virtual bool read(stream& stream) override
virtual bool read(stream& ) override
{
return false;
}
Expand Down