mirror of
https://github.com/twisterarmy/twister-core.git
synced 2025-02-02 09:54:29 +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_SOURCES = $(LIBTORRENT_SOURCES) $(BITCOIN_TWISTER_SOURCES)
|
||||||
|
|
||||||
twisterd_LDFLAGS =
|
twisterd_LDFLAGS = @OPENSSL_LDFLAGS@ @DB_CXX_LDFLAGS@
|
||||||
|
|
||||||
twisterd_DEPENDENCIES = $(LEVELDB_LIB)
|
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)/libtorrent/include \
|
||||||
-I$(top_srcdir)/src \
|
-I$(top_srcdir)/src \
|
||||||
-I$(top_srcdir)/src/leveldb/include -I$(top_srcdir)/src/leveldb/helpers \
|
-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@
|
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
|
||||||
AS_ECHO "Checking for boost libraries:"
|
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()
|
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_FILESYSTEM()
|
||||||
AX_BOOST_PROGRAM_OPTIONS()
|
AX_BOOST_PROGRAM_OPTIONS()
|
||||||
AX_BOOST_THREAD()
|
AX_BOOST_THREAD()
|
||||||
AX_BOOST_CHRONO()
|
AX_BOOST_CHRONO()
|
||||||
|
|
||||||
CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
|
|
||||||
LDFLAGS="$BOOST_LDFLAGS $LDFLAGS $BOOST_CHRONO_LIB"
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Checking for Berkeley DB C++
|
# Checking for Berkeley DB C++
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
AC_LANG([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
|
# Checking for functions and other stuffs
|
||||||
@ -772,6 +768,15 @@ Boost libraries:
|
|||||||
CPPFlags: ${BOOST_CPPFLAGS}
|
CPPFlags: ${BOOST_CPPFLAGS}
|
||||||
LDFlags: ${BOOST_LDFLAGS}
|
LDFlags: ${BOOST_LDFLAGS}
|
||||||
boost.system: ${BOOST_SYSTEM_LIB}
|
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
|
END
|
||||||
|
|
||||||
AS_IF([test "x$ARG_ENABLE_PYTHON_BINDING" = "xyes"], [
|
AS_IF([test "x$ARG_ENABLE_PYTHON_BINDING" = "xyes"], [
|
||||||
@ -830,7 +835,7 @@ OpenSSL library:
|
|||||||
OpenSSL Libs: ${OPENSSL_LIBS}
|
OpenSSL Libs: ${OPENSSL_LIBS}
|
||||||
OpenSSL LDFlags: ${OPENSSL_LDFLAGS}
|
OpenSSL LDFlags: ${OPENSSL_LDFLAGS}
|
||||||
OpenSSL Includes: ${OPENSSL_INCLUDES}
|
OpenSSL Includes: ${OPENSSL_INCLUDES}
|
||||||
END
|
END
|
||||||
])
|
])
|
||||||
|
|
||||||
cat config.report
|
cat config.report
|
||||||
|
@ -43,18 +43,6 @@ Instructions: HomeBrew
|
|||||||
|
|
||||||
brew install boost miniupnpc openssl berkeley-db4 autoconf automake libtool
|
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`
|
### Building `twisterd`
|
||||||
|
|
||||||
1. Clone the github tree to get the source code and go into the directory.
|
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
|
git clone https://github.com/miguelfreitas/twister-core.git
|
||||||
cd twister-core
|
cd twister-core
|
||||||
|
|
||||||
2. Set system variables to match your environment. THIS IS IMPORTANT!
|
2. Build twister using autotool
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
./autotool.sh
|
./autotool.sh
|
||||||
./configure --enable-logging
|
./configure --enable-logging --with-openssl=/usr/local/opt/openssl --with-libdb=/usr/local/opt/berkeley-db4
|
||||||
make
|
make
|
||||||
(If you have multi core CPU, use "make -j N" where N = number of your cores)
|
(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
|
make clean
|
||||||
|
@ -21,28 +21,52 @@
|
|||||||
# in your C/C++ code. DB_CXX_LIBS is set to linker flags needed to link
|
# 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.
|
# 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
|
# LICENSE
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Vaclav Slavik <vaclav.slavik@matfyz.cz>
|
# Copyright (c) 2008 Vaclav Slavik <vaclav.slavik@matfyz.cz>
|
||||||
# Copyright (c) 2011 Stephan Suerken <absurd@debian.org>
|
# 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
|
# Copying and distribution of this file, with or without modification, are
|
||||||
# permitted in any medium without royalty provided the copyright notice
|
# permitted in any medium without royalty provided the copyright notice
|
||||||
# and this notice are preserved. This file is offered as-is, without any
|
# and this notice are preserved. This file is offered as-is, without any
|
||||||
# warranty.
|
# warranty.
|
||||||
|
|
||||||
#serial 3
|
#serial 4
|
||||||
|
|
||||||
AC_DEFUN([AX_BERKELEY_DB_CXX],
|
AC_DEFUN([AX_BERKELEY_DB_CXX],
|
||||||
[
|
[
|
||||||
AC_LANG_ASSERT(C++)
|
AC_LANG_ASSERT(C++)
|
||||||
|
|
||||||
old_LIBS="$LIBS"
|
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)
|
minversion=ifelse([$1], ,,$1)
|
||||||
|
|
||||||
DB_CXX_HEADER=""
|
DB_CXX_HEADER=""
|
||||||
DB_CXX_LIBS=""
|
DB_CXX_LIBS=""
|
||||||
|
DB_CXX_LDFLAGS=""
|
||||||
|
DB_CXX_CPPFLAGS=""
|
||||||
|
|
||||||
if test -z $minversion ; then
|
if test -z $minversion ; then
|
||||||
minvermajor=0
|
minvermajor=0
|
||||||
@ -59,13 +83,20 @@ AC_DEFUN([AX_BERKELEY_DB_CXX],
|
|||||||
AC_MSG_CHECKING([for Berkeley DB (C++) >= $minversion])
|
AC_MSG_CHECKING([for Berkeley DB (C++) >= $minversion])
|
||||||
fi
|
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
|
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
|
if test -z $version ; then
|
||||||
db_cxx_lib="-ldb_cxx -ldb"
|
db_cxx_lib="-ldb_cxx -ldb"
|
||||||
try_headers="db_cxx.h"
|
try_headers="db_cxx.h"
|
||||||
else
|
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"
|
try_headers="db$version/db_cxx.h db`echo $version | sed -e 's,\..*,,g'`/db_cxx.h"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -102,13 +133,19 @@ AC_DEFUN([AX_BERKELEY_DB_CXX],
|
|||||||
done
|
done
|
||||||
|
|
||||||
LIBS="$old_LIBS"
|
LIBS="$old_LIBS"
|
||||||
|
LDFLAGS="$old_LDFLAGS"
|
||||||
|
CPPFLAGS="$old_CPPFLAGS"
|
||||||
|
|
||||||
if test -z $DB_CXX_HEADER ; then
|
if test -z $DB_CXX_HEADER ; then
|
||||||
AC_MSG_RESULT([not found])
|
AC_MSG_RESULT([not found])
|
||||||
|
DB_CXX_LDFLAGS=""
|
||||||
|
DB_CXX_CPPFLAGS=""
|
||||||
ifelse([$3], , :, [$3])
|
ifelse([$3], , :, [$3])
|
||||||
else
|
else
|
||||||
AC_DEFINE_UNQUOTED(DB_CXX_HEADER, ["$DB_CXX_HEADER"], ["Berkeley DB C++ Header File"])
|
AC_DEFINE_UNQUOTED(DB_CXX_HEADER, ["$DB_CXX_HEADER"], ["Berkeley DB C++ Header File"])
|
||||||
AC_SUBST(DB_CXX_LIBS)
|
AC_SUBST(DB_CXX_LIBS)
|
||||||
|
AC_SUBST(DB_CXX_LDFLAGS)
|
||||||
|
AC_SUBST(DB_CXX_CPPFLAGS)
|
||||||
ifelse([$2], , :, [$2])
|
ifelse([$2], , :, [$2])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user