forked from rakshasa/libtorrent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfigure.ac
139 lines (112 loc) · 3.34 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
AC_INIT(libtorrent, 0.13.0, jaris@ifi.uio.no)
dnl Find a better way to do this
AC_DEFINE(PEER_NAME, "-lt0D00-", Identifier that is part of the default peer id)
AC_DEFINE(PEER_VERSION, "lt\x0D\x00", 4 byte client and version identifier for DHT)
LIBTORRENT_CURRENT=14
LIBTORRENT_REVISION=2
LIBTORRENT_AGE=0
LIBTORRENT_INTERFACE_VERSION_INFO=$LIBTORRENT_CURRENT:$LIBTORRENT_REVISION:$LIBTORRENT_AGE
LIBTORRENT_INTERFACE_VERSION_NO=$LIBTORRENT_CURRENT.$LIBTORRENT_AGE.$LIBTORRENT_REVISION
AC_SUBST(LIBTORRENT_CURRENT)
AC_SUBST(LIBTORRENT_INTERFACE_VERSION_INFO)
AC_SUBST(LIBTORRENT_INTERFACE_VERSION_NO)
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
AM_PATH_CPPUNIT(1.9.6)
AC_DISABLE_STATIC
AM_DISABLE_STATIC
AM_PROG_LIBTOOL
AC_PROG_CXX
AC_C_BIGENDIAN(
AC_DEFINE(IS_BIG_ENDIAN, 1, Big endian),
AC_DEFINE(IS_LITTLE_ENDIAN, 1, Little endian),
AC_MSG_ERROR([Could not determine endianness])
)
TORRENT_ENABLE_ALIGNED
TORRENT_CHECK_CXXFLAGS
TORRENT_ENABLE_DEBUG
TORRENT_ENABLE_EXTRA_DEBUG
TORRENT_ENABLE_WERROR
TORRENT_ENABLE_TR1
TORRENT_ENABLE_CXX11
TORRENT_DISABLE_IPV6
AC_SYS_LARGEFILE
TORRENT_ENABLE_ARCH
TORRENT_WITH_SYSROOT
dnl TORRENT_WITH_XFS
TORRENT_WITHOUT_KQUEUE
TORRENT_WITHOUT_EPOLL
TORRENT_CHECK_FALLOCATE
TORRENT_WITH_POSIX_FALLOCATE
TORRENT_WITH_ADDRESS_SPACE
TORRENT_WITHOUT_STATVFS
TORRENT_WITHOUT_STATFS
CC_ATTRIBUTE_VISIBILITY
ACX_PTHREAD()
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
AC_ARG_ENABLE(openssl,
[ --disable-openssl Don't use OpenSSL's SHA1 implementation.],
[
if test "$enableval" = "yes"; then
PKG_CHECK_MODULES(OPENSSL, libcrypto,
CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS";
LIBS="$LIBS $OPENSSL_LIBS")
AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.)
AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.)
else
AC_DEFINE(USE_NSS_SHA, 1, Using Mozilla's SHA1 implementation.)
fi
],[
PKG_CHECK_MODULES(OPENSSL, libcrypto,
CXXFLAGS="$CXXFLAGS $OPENSSL_CFLAGS";
LIBS="$LIBS $OPENSSL_LIBS")
AC_DEFINE(USE_OPENSSL, 1, Using OpenSSL.)
AC_DEFINE(USE_OPENSSL_SHA, 1, Using OpenSSL's SHA1 implementation.)
]
)
AC_ARG_ENABLE(cyrus-rc4,
[ --enable-cyrus-rc4=PFX Use Cyrus RC4 implementation.],
[
CXXFLAGS="$CXXFLAGS -I${enableval}/include";
LIBS="$LIBS -lrc4 -L${enableval}/lib"
AC_DEFINE(USE_CYRUS_RC4, 1, Using Cyrus RC4 implementation.)
]
)
PKG_CHECK_MODULES(STUFF, sigc++-2.0,
CXXFLAGS="$CXXFLAGS $STUFF_CFLAGS";
LIBS="$LIBS $STUFF_LIBS")
AC_CHECK_FUNCS(posix_memalign)
TORRENT_CHECK_MADVISE()
TORRENT_CHECK_CACHELINE()
TORRENT_CHECK_POPCOUNT()
TORRENT_MINCORE()
TORRENT_OTFD()
LIBTORRENT_LIBS="-ltorrent"
AC_SUBST(LIBTORRENT_LIBS)
LIBTORRENT_CFLAGS=""
AC_SUBST(LIBTORRENT_CFLAGS)
AC_DEFINE(HAVE_CONFIG_H, 1, true if config.h was included)
CC_ATTRIBUTE_UNUSED(
AC_DEFINE([__UNUSED], [__attribute__((unused))], [Wrapper around unused attribute]),
AC_DEFINE([__UNUSED], [], [Null-wrapper if unused attribute is unsupported])
)
AC_OUTPUT([
libtorrent.pc
Makefile
src/Makefile
src/torrent/Makefile
src/torrent/peer/Makefile
src/torrent/data/Makefile
src/torrent/download/Makefile
src/torrent/utils/Makefile
src/data/Makefile
src/dht/Makefile
src/download/Makefile
src/net/Makefile
src/protocol/Makefile
src/tracker/Makefile
src/utils/Makefile
test/Makefile
])