mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-05 17:52:29 +00:00
ca706c21c0
Add a dummy curses stub header that provides all ncurses types, macros, and no-op function stubs. When configured with --without-ncurses, the build uses this stub instead of linking to the real ncurses library. This allows rtorrent to be built for daemon-only usage (e.g. with ruTorrent or Flood) without requiring ncurses to be installed. Closes #1613
109 lines
2.8 KiB
Plaintext
109 lines
2.8 KiB
Plaintext
m4_pattern_allow([PKG_CHECK_EXISTS])
|
|
|
|
AC_INIT([rtorrent],[0.16.12],[sundell.software@gmail.com])
|
|
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AC_CONFIG_MACRO_DIRS([scripts])
|
|
AM_INIT_AUTOMAKE([foreign subdir-objects])
|
|
AM_PROG_AR
|
|
|
|
LT_INIT
|
|
|
|
AC_PROG_CXX
|
|
|
|
AC_DEFINE([API_VERSION], [20], [api version])
|
|
|
|
# Filter out unwanted flags added by autoconf on some systems, e.g. MacOS.
|
|
TORRENT_REMOVE_UNWANTED(CXX, $CXX, -std=c++11 -std=gnu++11)
|
|
|
|
AX_CXX_COMPILE_STDCXX(20, noext, mandatory)
|
|
|
|
AC_SYS_LARGEFILE
|
|
|
|
RAK_CHECK_CFLAGS
|
|
RAK_CHECK_CXXFLAGS
|
|
RAK_ENABLE_DEBUG
|
|
RAK_ENABLE_EXTRA_DEBUG
|
|
RAK_ENABLE_WERROR
|
|
|
|
TORRENT_ENABLE_ARCH
|
|
TORRENT_WITH_SYSROOT
|
|
|
|
AC_ARG_ENABLE(execinfo,
|
|
AS_HELP_STRING([--disable-execinfo],
|
|
[disable libexecinfo [[default=enable]]]),
|
|
[
|
|
if test "$enableval" = "yes"; then
|
|
AX_EXECINFO
|
|
fi
|
|
],[
|
|
AX_EXECINFO
|
|
])
|
|
|
|
AX_PTHREAD([], AC_MSG_ERROR([requires pthread]))
|
|
|
|
AC_ARG_WITH([ncurses],
|
|
[AS_HELP_STRING([--without-ncurses], [build without ncurses (daemon-only mode)])],
|
|
[with_ncurses=$withval],
|
|
[with_ncurses=yes])
|
|
|
|
if test "x$with_ncurses" != xno; then
|
|
AX_WITH_CURSES
|
|
|
|
if test "x$ax_cv_ncursesw" != xyes && test "x$ax_cv_ncurses" != xyes; then
|
|
AC_MSG_ERROR([requires either NcursesW or Ncurses library])
|
|
fi
|
|
else
|
|
AC_DEFINE([HAVE_NO_NCURSES], [1], [Define to 1 if building without ncurses])
|
|
fi
|
|
|
|
PKG_CHECK_MODULES([CPPUNIT], [cppunit],, [no_cppunit="yes"])
|
|
PKG_CHECK_MODULES([ZLIB], [zlib])
|
|
PKG_CHECK_MODULES([DEPENDENCIES], [libtorrent >= 0.16.12])
|
|
|
|
AC_LANG_PUSH(C++)
|
|
TORRENT_WITH_XMLRPC_C
|
|
AC_LANG_POP(C++)
|
|
|
|
dnl We don't have LuaJIT support, and the script breaks if not disabled.
|
|
AM_CONDITIONAL([LUAJIT], [false])
|
|
|
|
TORRENT_WITH_LUA
|
|
TORRENT_WITH_TINYXML2
|
|
TORRENT_WITH_SYSTEMD
|
|
|
|
if test ${with_xmlrpc_c+y} && test ${with_xmlrpc_tinyxml2+y}; then
|
|
AC_MSG_ERROR([--with-xmlrpc-c and --with-xmlrpc-tinyxml2 cannot be used together. Please choose only one])
|
|
fi
|
|
|
|
AC_DEFINE(USER_AGENT, [std::string(PACKAGE "/" VERSION)], Http user agent)
|
|
|
|
dnl Only update global build variables immediately before generating the output,
|
|
dnl to avoid affecting the global build environment for other autoconf checks.
|
|
if test "x$with_ncurses" != xno; then
|
|
LIBS="$PTHREAD_LIBS $CURSES_LIB $CURSES_LIBS $ZLIB_LIBS $DEPENDENCIES_LIBS $LIBS"
|
|
else
|
|
LIBS="$PTHREAD_LIBS $ZLIB_LIBS $DEPENDENCIES_LIBS $LIBS"
|
|
fi
|
|
if test "x$with_ncurses" != xno; then
|
|
CFLAGS="$CFLAGS $PTHREAD_CFLAGS $CURSES_CFLAGS $ZLIB_CFLAGS $DEPENDENCIES_CFLAGS"
|
|
CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS $CURSES_CFLAGS $ZLIB_CFLAGS $DEPENDENCIES_CFLAGS"
|
|
else
|
|
CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ZLIB_CFLAGS $DEPENDENCIES_CFLAGS"
|
|
CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS $ZLIB_CFLAGS $DEPENDENCIES_CFLAGS"
|
|
fi
|
|
|
|
AM_CONDITIONAL([NO_NCURSES], [test "x$with_ncurses" = xno])
|
|
|
|
TORRENT_CHECK_CACHELINE
|
|
TORRENT_CHECK_POPCOUNT
|
|
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
doc/Makefile
|
|
src/Makefile
|
|
test/Makefile
|
|
])
|
|
|
|
AC_OUTPUT
|