1AC_INIT(libtorrent, 0.13.8, sundell.software@gmail.com) 2 3LT_INIT([disable-static]) 4 5dnl Find a better way to do this 6AC_DEFINE(PEER_NAME, "-lt0D80-", Identifier that is part of the default peer id) 7AC_DEFINE(PEER_VERSION, "lt\x0D\x80", 4 byte client and version identifier for DHT) 8 9LIBTORRENT_CURRENT=21 10LIBTORRENT_REVISION=0 11LIBTORRENT_AGE=0 12 13LIBTORRENT_INTERFACE_VERSION_INFO=$LIBTORRENT_CURRENT:$LIBTORRENT_REVISION:$LIBTORRENT_AGE 14LIBTORRENT_INTERFACE_VERSION_NO=$LIBTORRENT_CURRENT.$LIBTORRENT_AGE.$LIBTORRENT_REVISION 15 16AC_SUBST(LIBTORRENT_CURRENT) 17AC_SUBST(LIBTORRENT_INTERFACE_VERSION_INFO) 18AC_SUBST(LIBTORRENT_INTERFACE_VERSION_NO) 19 20AM_INIT_AUTOMAKE 21AC_CONFIG_HEADERS(config.h) 22 23AC_PROG_CXX 24 25AC_C_BIGENDIAN( 26 AC_DEFINE(IS_BIG_ENDIAN, 1, Big endian), 27 AC_DEFINE(IS_LITTLE_ENDIAN, 1, Little endian), 28 AC_MSG_ERROR([Could not determine endianness]) 29) 30 31RAK_CHECK_CFLAGS 32RAK_CHECK_CXXFLAGS 33RAK_ENABLE_DEBUG 34RAK_ENABLE_EXTRA_DEBUG 35RAK_ENABLE_WERROR 36 37RAK_CHECK_CXX11 38RAK_CHECK_TR1_LIB 39 40AC_SYS_LARGEFILE 41 42TORRENT_ENABLE_ALIGNED 43TORRENT_ENABLE_INTERRUPT_SOCKET 44 45TORRENT_ENABLE_ARCH 46TORRENT_WITH_SYSROOT 47 48dnl TORRENT_WITH_XFS 49TORRENT_WITHOUT_KQUEUE 50TORRENT_WITHOUT_EPOLL 51TORRENT_CHECK_FALLOCATE 52TORRENT_WITH_POSIX_FALLOCATE 53TORRENT_WITH_ADDRESS_SPACE 54 55TORRENT_WITHOUT_STATVFS 56TORRENT_WITHOUT_STATFS 57TORRENT_WITH_INOTIFY 58 59CC_ATTRIBUTE_VISIBILITY 60 61AX_PTHREAD 62AX_CHECK_ZLIB 63 64PKG_CHECK_MODULES([CPPUNIT], [cppunit],, [no_cppunit="yes"]) 65 66CFLAGS="$PTHREAD_CFLAGS $CPPUNIT_CFLAGS $CFLAGS" 67CXXFLAGS="$PTHREAD_CFLAGS $CPPUNIT_CFLAGS $CXXFLAGS" 68LIBS="$PTHREAD_LIBS $CPPUNIT_LIBS $LIBS" 69 70AC_ARG_ENABLE(openssl, 71 [ --disable-openssl Don't use OpenSSL's SHA1 implementation.], 72 [ 73 if test "$enableval" = "yes"; then 74dnl move to scripts. 75 PKG_CHECK_MODULES(OPENSSL, libcrypto, 76 CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; 77 LIBS="$LIBS $OPENSSL_LIBS") 78 79 AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) 80 AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) 81 AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) 82 83 else 84 AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.) 85 fi 86 ],[ 87 PKG_CHECK_MODULES(OPENSSL, libcrypto, 88 CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS"; 89 LIBS="$LIBS $OPENSSL_LIBS") 90 91 AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.) 92 AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.) 93 AC_CHECK_LIB([crypto], [DH_set0_pqg], [AC_DEFINE(USE_OPENSSL_1_1, 1, Using OpenSSL 1.1.)]) 94 ] 95) 96 97AC_ARG_ENABLE(cyrus-rc4, 98 [ --enable-cyrus-rc4=PFX Use Cyrus RC4 implementation.], 99 [ 100 CXXFLAGS="$CXXFLAGS -I${enableval}/include"; 101 LIBS="$LIBS -lrc4 -L${enableval}/lib" 102 AC_DEFINE(USE_CYRUS_RC4, 1, Using Cyrus RC4 implementation.) 103 ] 104) 105 106AC_CHECK_FUNCS(posix_memalign) 107 108TORRENT_CHECK_MADVISE() 109TORRENT_CHECK_CACHELINE() 110TORRENT_CHECK_POPCOUNT() 111TORRENT_CHECK_EXECINFO() 112TORRENT_CHECK_PTHREAD_SETNAME_NP() 113TORRENT_MINCORE() 114 115TORRENT_DISABLE_INSTRUMENTATION 116 117LIBTORRENT_LIBS="-ltorrent" 118AC_SUBST(LIBTORRENT_LIBS) 119 120LIBTORRENT_CFLAGS="" 121AC_SUBST(LIBTORRENT_CFLAGS) 122 123AC_DEFINE(HAVE_CONFIG_H, 1, true if config.h was included) 124 125CC_ATTRIBUTE_UNUSED( 126 AC_DEFINE([__UNUSED], [__attribute__((unused))], [Wrapper around unused attribute]), 127 AC_DEFINE([__UNUSED], [], [Null-wrapper if unused attribute is unsupported]) 128) 129 130AC_OUTPUT([ 131 libtorrent.pc 132 Makefile 133 src/Makefile 134 src/torrent/Makefile 135 src/torrent/data/Makefile 136 src/torrent/download/Makefile 137 src/torrent/net/Makefile 138 src/torrent/peer/Makefile 139 src/torrent/utils/Makefile 140 src/data/Makefile 141 src/dht/Makefile 142 src/download/Makefile 143 src/net/Makefile 144 src/protocol/Makefile 145 src/tracker/Makefile 146 src/utils/Makefile 147 test/Makefile 148]) 149