mirror of
https://github.com/twisterarmy/twister-core.git
synced 2025-01-22 20:44:56 +00:00
Merge pull request #177 from catap/master
Make build on osx easier (also tested on linux and cygwin)
This commit is contained in:
commit
b0ae82779a
@ -166,7 +166,7 @@ endif
|
||||
|
||||
twisterd_SOURCES = $(LIBTORRENT_SOURCES) $(BITCOIN_TWISTER_SOURCES)
|
||||
|
||||
twisterd_LDFLAGS =
|
||||
twisterd_LDFLAGS = @OPENSSL_LDFLAGS@ @DB_CXX_LDFLAGS@
|
||||
|
||||
twisterd_DEPENDENCIES = $(LEVELDB_LIB)
|
||||
|
||||
@ -178,7 +178,6 @@ AM_CPPFLAGS = -ftemplate-depth-100 -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS
|
||||
-I$(top_srcdir)/libtorrent/include \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/src/leveldb/include -I$(top_srcdir)/src/leveldb/helpers \
|
||||
@DEBUGFLAGS@ @OPENSSL_INCLUDES@
|
||||
@DEBUGFLAGS@ @OPENSSL_INCLUDES@ @DB_CXX_CPPFLAGS@
|
||||
|
||||
AM_LDFLAGS = @OPENSSL_LDFLAGS@
|
||||
|
||||
|
23
configure.ac
23
configure.ac
@ -83,26 +83,22 @@ AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
|
||||
AS_ECHO
|
||||
AS_ECHO "Checking for boost libraries:"
|
||||
|
||||
AX_BOOST_BASE([1.44])
|
||||
AX_BOOST_BASE([1.44], [],
|
||||
[AC_MSG_ERROR(Boost library not found. Try using --with-boost=)])
|
||||
|
||||
AX_BOOST_SYSTEM()
|
||||
AS_IF([test -z "$BOOST_SYSTEM_LIB"],
|
||||
[AC_MSG_ERROR(Boost.System library not found. Try using --with-boost-libdir=)])
|
||||
AX_BOOST_FILESYSTEM()
|
||||
AX_BOOST_PROGRAM_OPTIONS()
|
||||
AX_BOOST_THREAD()
|
||||
AX_BOOST_CHRONO()
|
||||
|
||||
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
|
||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS $BOOST_CHRONO_LIB"
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Checking for Berkeley DB C++
|
||||
###############################################################################
|
||||
|
||||
AC_LANG([C++])
|
||||
AX_BERKELEY_DB_CXX(4.8)
|
||||
AX_BERKELEY_DB_CXX(4.8, [],
|
||||
[AC_MSG_ERROR(Berkeley DB C++ library not found. Try using --with-libdb=)])
|
||||
|
||||
###############################################################################
|
||||
# Checking for functions and other stuffs
|
||||
@ -772,6 +768,15 @@ Boost libraries:
|
||||
CPPFlags: ${BOOST_CPPFLAGS}
|
||||
LDFlags: ${BOOST_LDFLAGS}
|
||||
boost.system: ${BOOST_SYSTEM_LIB}
|
||||
boost.filesystem: ${BOOST_FILESYSTEM_LIB}
|
||||
boost.program_opts: ${BOOST_PROGRAM_OPTIONS_LIB}
|
||||
boost.thread: ${BOOST_THREAD_LIB}
|
||||
|
||||
Berkeley DB C++ library:
|
||||
header: ${DB_CXX_HEADER}
|
||||
libraries: ${DB_CXX_LIBS}
|
||||
LDFlags: ${DB_CXX_LDFLAGS}
|
||||
CPPFlags: ${DB_CXX_CPPFLAGS}
|
||||
END
|
||||
|
||||
AS_IF([test "x$ARG_ENABLE_PYTHON_BINDING" = "xyes"], [
|
||||
@ -830,7 +835,7 @@ OpenSSL library:
|
||||
OpenSSL Libs: ${OPENSSL_LIBS}
|
||||
OpenSSL LDFlags: ${OPENSSL_LDFLAGS}
|
||||
OpenSSL Includes: ${OPENSSL_INCLUDES}
|
||||
END
|
||||
END
|
||||
])
|
||||
|
||||
cat config.report
|
||||
|
@ -43,18 +43,6 @@ Instructions: HomeBrew
|
||||
|
||||
brew install boost miniupnpc openssl berkeley-db4 autoconf automake libtool
|
||||
|
||||
Note: After you have installed the dependencies, you should check that the Brew-installed
|
||||
version of OpenSSL is the one available for compilation. You can check this by typing
|
||||
|
||||
openssl version
|
||||
|
||||
into Terminal. You should see OpenSSL 1.0.1e 11 Feb 2013.
|
||||
|
||||
If that's not the case, you *could* `brew link --force openssl` but it's a bad idea.
|
||||
Instead, it's enough to make sure the right openssl binary is on your $PATH:
|
||||
|
||||
export PATH=/usr/local/opt/openssl/bin:$PATH
|
||||
|
||||
### Building `twisterd`
|
||||
|
||||
1. Clone the github tree to get the source code and go into the directory.
|
||||
@ -63,29 +51,14 @@ Instead, it's enough to make sure the right openssl binary is on your $PATH:
|
||||
git clone https://github.com/miguelfreitas/twister-core.git
|
||||
cd twister-core
|
||||
|
||||
2. Set system variables to match your environment. THIS IS IMPORTANT!
|
||||
|
||||
|
||||
export OPENSSL_INCLUDE_PATH=/usr/local/opt/openssl/include
|
||||
export OPENSSL_LIB_PATH=/usr/local/opt/openssl/lib
|
||||
export BDB_INCLUDE_PATH=/usr/local/opt/berkeley-db4/include
|
||||
export BDB_LIB_PATH=/usr/local/opt/berkeley-db4/lib
|
||||
export BOOST_INCLUDE_PATH=/usr/local/opt/boost/include
|
||||
export BOOST_LIB_PATH=/usr/local/opt/boost/lib
|
||||
export BOOST_LIB_SUFFIX=-mt
|
||||
export LDFLAGS="-L$OPENSSL_LIB_PATH -L$BDB_LIB_PATH -L$BOOST_LIB_PATH"
|
||||
export CPPFLAGS="-I$OPENSSL_INCLUDE_PATH -I$BDB_INCLUDE_PATH -I$BOOST_INCLUDE_PATH"
|
||||
export PATH=${BDB_INCLUDE_PATH}:${PATH}
|
||||
|
||||
3. Build twister using autotool
|
||||
|
||||
2. Build twister using autotool
|
||||
|
||||
./autotool.sh
|
||||
./configure --enable-logging
|
||||
./configure --enable-logging --with-openssl=/usr/local/opt/openssl --with-libdb=/usr/local/opt/berkeley-db4
|
||||
make
|
||||
(If you have multi core CPU, use "make -j N" where N = number of your cores)
|
||||
|
||||
4. If things go south, before trying again, make sure you clean it up:
|
||||
3. If things go south, before trying again, make sure you clean it up:
|
||||
|
||||
|
||||
make clean
|
||||
|
@ -21,28 +21,52 @@
|
||||
# in your C/C++ code. DB_CXX_LIBS is set to linker flags needed to link
|
||||
# against the library (e.g. -ldb3.1_cxx) and AC_SUBST is called on it.
|
||||
#
|
||||
# when specified user-selected spot (via --with-libdb) also sets
|
||||
#
|
||||
# DB_CXX_CPPFLAGS to the include directives required
|
||||
# DB_CXX_LDFLAGS to the -L flags required
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Vaclav Slavik <vaclav.slavik@matfyz.cz>
|
||||
# Copyright (c) 2011 Stephan Suerken <absurd@debian.org>
|
||||
# Copyright (c) 2014 Kirill A. Korinskiy <catap@catap.ru>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
AC_DEFUN([AX_BERKELEY_DB_CXX],
|
||||
[
|
||||
AC_LANG_ASSERT(C++)
|
||||
|
||||
old_LIBS="$LIBS"
|
||||
old_LDFLAGS="$LDFLAGS"
|
||||
old_CPPFLAGS="$CPPFLAGS"
|
||||
|
||||
libdbdir=""
|
||||
AC_ARG_WITH(libdb,
|
||||
AS_HELP_STRING([--with-libdb=DIR],
|
||||
[root of the Berkeley DB directory]),
|
||||
[
|
||||
case "$withval" in
|
||||
"" | y | ye | yes | n | no)
|
||||
AC_MSG_ERROR([Invalid --with-libdb value])
|
||||
;;
|
||||
*) libdbdir="$withval"
|
||||
;;
|
||||
esac
|
||||
], [])
|
||||
|
||||
minversion=ifelse([$1], ,,$1)
|
||||
|
||||
DB_CXX_HEADER=""
|
||||
DB_CXX_LIBS=""
|
||||
DB_CXX_LDFLAGS=""
|
||||
DB_CXX_CPPFLAGS=""
|
||||
|
||||
if test -z $minversion ; then
|
||||
minvermajor=0
|
||||
@ -59,13 +83,20 @@ AC_DEFUN([AX_BERKELEY_DB_CXX],
|
||||
AC_MSG_CHECKING([for Berkeley DB (C++) >= $minversion])
|
||||
fi
|
||||
|
||||
if test x$libdbdir != x""; then
|
||||
DB_CXX_CPPFLAGS="-I${libdbdir}/include"
|
||||
DB_CXX_LDFLAGS="-L${libdbdir}/lib"
|
||||
LDFLAGS="$DB_CXX_LDFLAGS $old_LDFLAGS"
|
||||
CPPFLAGS="$DB_CXX_CPPFLAGS $old_CPPFLAGS"
|
||||
fi
|
||||
|
||||
for version in "" 5.0 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 4.0 3.6 3.5 3.4 3.3 3.2 3.1 ; do
|
||||
|
||||
if test -z $version ; then
|
||||
db_cxx_lib="-ldb_cxx -ldb"
|
||||
try_headers="db_cxx.h"
|
||||
else
|
||||
db_cxx_lib="-ldb_cxx-$version -ldb-$version"
|
||||
db_cxx_lib="$libdbdir -ldb_cxx-$version -ldb-$version"
|
||||
try_headers="db$version/db_cxx.h db`echo $version | sed -e 's,\..*,,g'`/db_cxx.h"
|
||||
fi
|
||||
|
||||
@ -102,13 +133,19 @@ AC_DEFUN([AX_BERKELEY_DB_CXX],
|
||||
done
|
||||
|
||||
LIBS="$old_LIBS"
|
||||
LDFLAGS="$old_LDFLAGS"
|
||||
CPPFLAGS="$old_CPPFLAGS"
|
||||
|
||||
if test -z $DB_CXX_HEADER ; then
|
||||
AC_MSG_RESULT([not found])
|
||||
DB_CXX_LDFLAGS=""
|
||||
DB_CXX_CPPFLAGS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
else
|
||||
AC_DEFINE_UNQUOTED(DB_CXX_HEADER, ["$DB_CXX_HEADER"], ["Berkeley DB C++ Header File"])
|
||||
AC_SUBST(DB_CXX_LIBS)
|
||||
AC_SUBST(DB_CXX_LDFLAGS)
|
||||
AC_SUBST(DB_CXX_CPPFLAGS)
|
||||
ifelse([$2], , :, [$2])
|
||||
fi
|
||||
])
|
||||
|
Loading…
x
Reference in New Issue
Block a user