Remove autotools-based build system (#1465)
* Support .git files (e.g. for worktrees, submodules) * Fix symlinks in source tarball, switch to TXZ, adjust non-release name * Remove autotools stuff
This commit is contained in:
parent
32add75f0e
commit
4c7153fa48
|
@ -1,4 +1,3 @@
|
||||||
/.depend
|
|
||||||
/REVISION
|
/REVISION
|
||||||
/beta
|
/beta
|
||||||
/build
|
/build
|
||||||
|
@ -6,17 +5,13 @@ Transmission.xcodeproj/*.mode*
|
||||||
Transmission.xcodeproj/*.pbxuser
|
Transmission.xcodeproj/*.pbxuser
|
||||||
Transmission.xcodeproj/*.xcworkspace
|
Transmission.xcodeproj/*.xcworkspace
|
||||||
Transmission.xcodeproj/xcuserdata
|
Transmission.xcodeproj/xcuserdata
|
||||||
cli/.depend
|
|
||||||
cli/transmissioncli
|
cli/transmissioncli
|
||||||
daemon/.depend
|
|
||||||
daemon/transmission-daemon
|
daemon/transmission-daemon
|
||||||
daemon/transmission-proxy
|
daemon/transmission-proxy
|
||||||
daemon/transmission-remote
|
daemon/transmission-remote
|
||||||
gtk/.depend
|
|
||||||
gtk/defines.h
|
gtk/defines.h
|
||||||
gtk/transmission-gtk
|
gtk/transmission-gtk
|
||||||
libtransmission/*.a
|
libtransmission/*.a
|
||||||
libtransmission/.depend
|
|
||||||
libtransmission/version.h
|
libtransmission/version.h
|
||||||
macosx/Info.plist
|
macosx/Info.plist
|
||||||
macosx/Transmission.app
|
macosx/Transmission.app
|
||||||
|
|
|
@ -61,7 +61,7 @@ endif()
|
||||||
|
|
||||||
set(TR_VCS_REVISION_FILE "${CMAKE_SOURCE_DIR}/REVISION")
|
set(TR_VCS_REVISION_FILE "${CMAKE_SOURCE_DIR}/REVISION")
|
||||||
|
|
||||||
if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/.git)
|
if(EXISTS ${CMAKE_SOURCE_DIR}/.git)
|
||||||
find_package(Git)
|
find_package(Git)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -659,11 +659,13 @@ if(MSVC AND ENABLE_DAEMON AND ENABLE_QT AND ENABLE_UTILS AND WITH_CRYPTO STREQUA
|
||||||
add_subdirectory(dist/msi)
|
add_subdirectory(dist/msi)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CPACK_SOURCE_GENERATOR TBZ2)
|
set(CPACK_SOURCE_GENERATOR TXZ)
|
||||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${TR_NAME}-${TR_USER_AGENT_PREFIX}")
|
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${TR_NAME}-${TR_USER_AGENT_PREFIX}")
|
||||||
set(CPACK_SOURCE_IGNORE_FILES
|
if(NOT TR_STABLE_RELEASE)
|
||||||
\\\\.git
|
string(APPEND CPACK_SOURCE_PACKAGE_FILE_NAME "-r${TR_VCS_REVISION}")
|
||||||
)
|
endif()
|
||||||
|
list(APPEND CPACK_SOURCE_IGNORE_FILES [.]git)
|
||||||
|
set(CPACK_INSTALL_SCRIPTS "${CMAKE_CURRENT_LIST_DIR}/cmake/CPackSourceFixDirLinks.cmake")
|
||||||
|
|
||||||
## Code Formatting
|
## Code Formatting
|
||||||
|
|
||||||
|
@ -675,7 +677,7 @@ if(GIT_FOUND)
|
||||||
OUTPUT_VARIABLE TR_GIT_ROOT
|
OUTPUT_VARIABLE TR_GIT_ROOT
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
)
|
)
|
||||||
if(TR_GIT_ROOT)
|
if(TR_GIT_ROOT AND IS_DIRECTORY "${TR_GIT_ROOT}/.git")
|
||||||
configure_file(
|
configure_file(
|
||||||
"${CMAKE_SOURCE_DIR}/extras/pre-commit"
|
"${CMAKE_SOURCE_DIR}/extras/pre-commit"
|
||||||
"${TR_GIT_ROOT}/.git/hooks/pre-commit"
|
"${TR_GIT_ROOT}/.git/hooks/pre-commit"
|
||||||
|
@ -689,8 +691,8 @@ if(GIT_FOUND)
|
||||||
COMMAND "${CMAKE_SOURCE_DIR}/format/format.sh" --all
|
COMMAND "${CMAKE_SOURCE_DIR}/format/format.sh" --all
|
||||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||||
)
|
)
|
||||||
endif(TR_GIT_ROOT)
|
endif()
|
||||||
unset(TR_GIT_ROOT)
|
unset(TR_GIT_ROOT)
|
||||||
endif(GIT_FOUND)
|
endif()
|
||||||
|
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
62
Makefile.am
62
Makefile.am
|
@ -1,62 +0,0 @@
|
||||||
ACLOCAL_AMFLAGS = -I m4
|
|
||||||
|
|
||||||
if BUILD_CLI
|
|
||||||
CLI_DIR = cli
|
|
||||||
endif
|
|
||||||
if BUILD_DAEMON
|
|
||||||
if !WIN32
|
|
||||||
DAEMON_DIR = daemon
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
if BUILD_GTK
|
|
||||||
GTK_DIR = gtk po
|
|
||||||
endif
|
|
||||||
if BUILD_MAC
|
|
||||||
MAC_DIR = macosx
|
|
||||||
endif
|
|
||||||
|
|
||||||
SUBDIRS = \
|
|
||||||
extras \
|
|
||||||
third-party \
|
|
||||||
libtransmission \
|
|
||||||
utils \
|
|
||||||
$(DAEMON_DIR) \
|
|
||||||
$(CLI_DIR) \
|
|
||||||
$(GTK_DIR) \
|
|
||||||
$(MAC_DIR) \
|
|
||||||
web \
|
|
||||||
tests
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
qt \
|
|
||||||
NEWS.md \
|
|
||||||
AUTHORS \
|
|
||||||
COPYING \
|
|
||||||
README.md \
|
|
||||||
autogen.sh \
|
|
||||||
update-version-h.sh \
|
|
||||||
Transmission.xcodeproj/project.pbxproj
|
|
||||||
|
|
||||||
EXTRA_DIST += \
|
|
||||||
CMakeLists.txt \
|
|
||||||
cmake \
|
|
||||||
cli/CMakeLists.txt \
|
|
||||||
daemon/CMakeLists.txt \
|
|
||||||
gtk/CMakeLists.txt \
|
|
||||||
libtransmission/CMakeLists.txt \
|
|
||||||
libtransmission/version.h.in \
|
|
||||||
po/CMakeLists.txt \
|
|
||||||
qt/CMakeLists.txt \
|
|
||||||
utils/CMakeLists.txt
|
|
||||||
|
|
||||||
if HAVE_REVISION_FILE
|
|
||||||
EXTRA_DIST += REVISION
|
|
||||||
endif
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
find "$(distdir)/qt" "$(distdir)/cmake" -name .svn -exec rm -rf '{}' '+' -prune
|
|
||||||
|
|
||||||
DISTCLEANFILES = \
|
|
||||||
intltool-extract \
|
|
||||||
intltool-merge \
|
|
||||||
intltool-update
|
|
46
autogen.sh
46
autogen.sh
|
@ -1,46 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
srcdir=$(dirname "$0")
|
|
||||||
test -z "$srcdir" && srcdir=.
|
|
||||||
|
|
||||||
ORIGDIR=$(pwd)
|
|
||||||
cd "$srcdir" || exit 1
|
|
||||||
PROJECT=Transmission
|
|
||||||
|
|
||||||
GETTEXTIZE="glib-gettextize"
|
|
||||||
$GETTEXTIZE --version < /dev/null > /dev/null 2>&1
|
|
||||||
if test $? -ne 0; then
|
|
||||||
GETTEXTIZE=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
LIBTOOLIZE=libtoolize
|
|
||||||
if libtoolize --help > /dev/null 2>&1; then
|
|
||||||
:
|
|
||||||
elif glibtoolize --help > /dev/null 2>&1; then
|
|
||||||
LIBTOOLIZE=glibtoolize
|
|
||||||
fi
|
|
||||||
export LIBTOOLIZE
|
|
||||||
|
|
||||||
./update-version-h.sh
|
|
||||||
|
|
||||||
autoreconf -fi || exit 1
|
|
||||||
|
|
||||||
if test "$GETTEXTIZE"; then
|
|
||||||
echo "Creating aclocal.m4 ..."
|
|
||||||
test -r aclocal.m4 || touch aclocal.m4
|
|
||||||
echo "Running $GETTEXTIZE... Ignore non-fatal messages."
|
|
||||||
echo "no" | $GETTEXTIZE --force --copy
|
|
||||||
echo "Making aclocal.m4 writable ..."
|
|
||||||
test -r aclocal.m4 && chmod u+w aclocal.m4
|
|
||||||
echo "Running intltoolize..."
|
|
||||||
intltoolize --copy --force --automake
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$ORIGDIR" || exit $?
|
|
||||||
|
|
||||||
if test -z "$AUTOGEN_SUBDIR_MODE"; then
|
|
||||||
echo Running $srcdir/configure "$@"
|
|
||||||
$srcdir/configure "$@"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Now type 'make' to compile $PROJECT."
|
|
||||||
fi
|
|
|
@ -1,29 +0,0 @@
|
||||||
AM_CPPFLAGS = -I@top_srcdir@
|
|
||||||
|
|
||||||
AM_CFLAGS = \
|
|
||||||
@LIBEVENT_CFLAGS@ \
|
|
||||||
@LIBCURL_CFLAGS@ \
|
|
||||||
@ZLIB_CFLAGS@ \
|
|
||||||
@PTHREAD_CFLAGS@
|
|
||||||
|
|
||||||
bin_PROGRAMS = transmission-cli
|
|
||||||
|
|
||||||
dist_man_MANS = transmission-cli.1
|
|
||||||
|
|
||||||
transmission_cli_SOURCES = cli.c
|
|
||||||
|
|
||||||
transmission_cli_LDADD = \
|
|
||||||
$(top_builddir)/libtransmission/libtransmission.a \
|
|
||||||
@LIBNATPMP_LIBS@ \
|
|
||||||
@LIBUPNP_LIBS@ \
|
|
||||||
@DHT_LIBS@ \
|
|
||||||
@LIBB64_LIBS@ \
|
|
||||||
@LIBUTP_LIBS@ \
|
|
||||||
@LIBEVENT_LIBS@ \
|
|
||||||
@LIBCURL_LIBS@ \
|
|
||||||
@CRYPTO_LIBS@ \
|
|
||||||
@INTLLIBS@ \
|
|
||||||
@ZLIB_LIBS@ \
|
|
||||||
@PTHREAD_LIBS@ \
|
|
||||||
${LIBM}
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
|
||||||
|
|
||||||
|
if(NOT CPACK_SOURCE_GENERATOR)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_filename_component(SRC_DIR "${CMAKE_CURRENT_LIST_DIR}" DIRECTORY)
|
||||||
|
|
||||||
|
file(GLOB_RECURSE SOURCE_FILES LIST_DIRECTORIES true RELATIVE "${SRC_DIR}" "${SRC_DIR}/*")
|
||||||
|
list(REVERSE SOURCE_FILES)
|
||||||
|
|
||||||
|
foreach(F IN LISTS SOURCE_FILES)
|
||||||
|
if(NOT IS_SYMLINK "${SRC_DIR}/${F}")
|
||||||
|
continue()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Links to files seem to be staged correctly
|
||||||
|
if(NOT IS_DIRECTORY "${SRC_DIR}/${F}")
|
||||||
|
continue()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(READ_SYMLINK "${SRC_DIR}/${F}" L)
|
||||||
|
message(STATUS "Fixing link: ${F} -> ${L}")
|
||||||
|
|
||||||
|
get_filename_component(D "${F}" DIRECTORY)
|
||||||
|
file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${D}/${L}")
|
||||||
|
file(CREATE_LINK "${L}" "${CMAKE_INSTALL_PREFIX}/${F}" SYMBOLIC)
|
||||||
|
endforeach()
|
706
configure.ac
706
configure.ac
|
@ -1,706 +0,0 @@
|
||||||
dnl convention: -TR MAJOR MINOR MAINT STATUS - (each a single char)
|
|
||||||
dnl STATUS: "X" for prerelease beta builds,
|
|
||||||
dnl "Z" for unsupported trunk builds,
|
|
||||||
dnl "0" for stable, supported releases
|
|
||||||
dnl these should be the only two lines you need to change
|
|
||||||
m4_define([user_agent_prefix],[3.00+])
|
|
||||||
m4_define([peer_id_prefix],[-TR300Z-])
|
|
||||||
|
|
||||||
AC_INIT([transmission],[user_agent_prefix],[https://github.com/transmission/transmission])
|
|
||||||
AC_SUBST(USERAGENT_PREFIX,[user_agent_prefix])
|
|
||||||
AC_SUBST(PEERID_PREFIX,[peer_id_prefix])
|
|
||||||
|
|
||||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
||||||
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
|
||||||
|
|
||||||
dnl AM_CONFIG_HEADER(config.h)
|
|
||||||
AC_CONFIG_SRCDIR(libtransmission/transmission.h)
|
|
||||||
AM_INIT_AUTOMAKE([1.9 tar-pax no-dist-gzip dist-xz foreign subdir-objects])
|
|
||||||
LT_INIT
|
|
||||||
LT_LIB_M
|
|
||||||
|
|
||||||
if test m4_substr(peer_id_prefix,6,1) = "0"; then
|
|
||||||
supported_build=yes
|
|
||||||
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
|
||||||
else
|
|
||||||
supported_build=no
|
|
||||||
if test "x$GCC" = "xyes" ; then
|
|
||||||
CFLAGS="$CFLAGS -g -O0"
|
|
||||||
CXXFLAGS="$CXXFLAGS -g -O0"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AM_CONDITIONAL(TR_UNSTABLE, test "x$supported_build" = "xno")
|
|
||||||
AM_CONDITIONAL(HAVE_REVISION_FILE, test -f REVISION)
|
|
||||||
|
|
||||||
##
|
|
||||||
##
|
|
||||||
## MANDATORY for everything
|
|
||||||
##
|
|
||||||
##
|
|
||||||
|
|
||||||
CURL_MINIMUM=7.28.0
|
|
||||||
AC_SUBST(CURL_MINIMUM)
|
|
||||||
LIBEVENT_MINIMUM=2.0.10
|
|
||||||
AC_SUBST(LIBEVENT_MINIMUM)
|
|
||||||
ZLIB_MINIMUM=1.2.3
|
|
||||||
AC_SUBST(ZLIB_MINIMUM)
|
|
||||||
|
|
||||||
# crypto backends
|
|
||||||
OPENSSL_MINIMUM=0.9.7
|
|
||||||
AC_SUBST(OPENSSL_MINIMUM)
|
|
||||||
CYASSL_MINIMUM=3.0
|
|
||||||
AC_SUBST(CYASSL_MINIMUM)
|
|
||||||
POLARSSL_MINIMUM=0x01020000 # 1.2
|
|
||||||
AC_SUBST(POLARSSL_MINIMUM)
|
|
||||||
|
|
||||||
##
|
|
||||||
##
|
|
||||||
## MANDATORY for the GTK+ client
|
|
||||||
##
|
|
||||||
##
|
|
||||||
|
|
||||||
GTK_MINIMUM=3.4.0
|
|
||||||
AC_SUBST(GTK_MINIMUM)
|
|
||||||
GLIB_MINIMUM=2.32.0
|
|
||||||
AC_SUBST(GLIB_MINIMUM)
|
|
||||||
GIO_MINIMUM=2.26.0
|
|
||||||
AC_SUBST(GIO_MINIMUM)
|
|
||||||
|
|
||||||
##
|
|
||||||
##
|
|
||||||
## OPTIONAL for the GTK+ client
|
|
||||||
##
|
|
||||||
##
|
|
||||||
|
|
||||||
# create the tray icon with AppIndicator
|
|
||||||
LIBAPPINDICATOR_MINIMUM=0.4.90
|
|
||||||
AC_SUBST(LIBAPPINDICATOR_MINIMUM)
|
|
||||||
|
|
||||||
|
|
||||||
AC_PROG_CC
|
|
||||||
AC_PROG_CXX
|
|
||||||
AC_C_INLINE
|
|
||||||
if test "x$GCC" = "xyes" ; then
|
|
||||||
|
|
||||||
CFLAGS="$CFLAGS -std=gnu99 -ggdb3 -Wall -W -Wpointer-arith -Wformat-security -Wundef -Wcast-align -Wstrict-prototypes -Wmissing-declarations -Wmissing-format-attribute -Wredundant-decls -Wnested-externs -Wunused-parameter -Wwrite-strings -Wfloat-equal"
|
|
||||||
|
|
||||||
dnl figure out gcc version
|
|
||||||
AC_MSG_CHECKING([gcc version])
|
|
||||||
GCC_VERSION=`$CC -dumpversion`
|
|
||||||
GCC_MAJOR=`echo $GCC_VERSION | cut -d . -f1`
|
|
||||||
GCC_MINOR=`echo $GCC_VERSION | cut -d . -f2`
|
|
||||||
GCC_VERSION_NUM=`(expr $GCC_MAJOR "*" 100 + $GCC_MINOR) 2>/dev/null`
|
|
||||||
|
|
||||||
AC_MSG_RESULT($GCC_VERSION)
|
|
||||||
if test $GCC_VERSION_NUM -ge 304; then
|
|
||||||
dnl these were added in 3.4
|
|
||||||
CFLAGS="$CFLAGS -Wextra -Winit-self"
|
|
||||||
fi
|
|
||||||
if test $GCC_VERSION_NUM -ge 403; then
|
|
||||||
dnl these were added in 4.3
|
|
||||||
CFLAGS="$CFLAGS -Wvariadic-macros"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_PROG_LN_S
|
|
||||||
AC_PROG_MKDIR_P
|
|
||||||
|
|
||||||
AC_HEADER_STDC
|
|
||||||
AC_HEADER_TIME
|
|
||||||
|
|
||||||
AC_CHECK_HEADERS([xlocale.h])
|
|
||||||
AC_CHECK_FUNCS([iconv pread pwrite lrintf strlcpy daemon dirname basename canonicalize_file_name strcasecmp localtime_r fallocate64 posix_fallocate memmem strsep strtold syslog valloc getpagesize posix_memalign statvfs htonll ntohll mkdtemp uselocale _configthreadlocale strcasestr])
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_PROG_MAKE_SET
|
|
||||||
ACX_PTHREAD
|
|
||||||
|
|
||||||
if test "x$ac_cv_func_strtold" != "xyes" ; then
|
|
||||||
CPPFLAGS="$CPPFLAGS -Dstrtold=strtod"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SEARCH_LIBS(cos, [m])
|
|
||||||
AC_SEARCH_LIBS([socket], [socket net])
|
|
||||||
AC_SEARCH_LIBS([gethostbyname], [nsl bind])
|
|
||||||
AC_SEARCH_LIBS([quotacursor_skipidtype], [quota])
|
|
||||||
PKG_CHECK_MODULES(LIBCURL, [libcurl >= $CURL_MINIMUM])
|
|
||||||
PKG_CHECK_MODULES(LIBEVENT, [libevent >= $LIBEVENT_MINIMUM])
|
|
||||||
PKG_CHECK_MODULES(ZLIB, [zlib >= $ZLIB_MINIMUM])
|
|
||||||
|
|
||||||
|
|
||||||
AC_ARG_WITH([crypto], AS_HELP_STRING([--with-crypto=PKG],
|
|
||||||
[Use specified crypto library: auto (default), openssl, cyassl, polarssl]),
|
|
||||||
[want_crypto=$withval], [want_crypto=auto])
|
|
||||||
|
|
||||||
AS_IF([test "x$want_crypto" = "xauto" -o "x$want_crypto" = "xopenssl"], [
|
|
||||||
PKG_CHECK_MODULES(OPENSSL, [openssl >= $OPENSSL_MINIMUM],
|
|
||||||
[want_crypto="openssl"; CRYPTO_PKG="openssl"; CRYPTO_CFLAGS="$OPENSSL_CFLAGS"; CRYPTO_LIBS="$OPENSSL_LIBS"],
|
|
||||||
[AS_IF([test "x$want_crypto" = "xopenssl"],
|
|
||||||
[AC_MSG_ERROR([OpenSSL support requested, but library not found.])]
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
AS_IF([test "x$want_crypto" = "xauto" -o "x$want_crypto" = "xcyassl"], [
|
|
||||||
PKG_CHECK_MODULES(WOLFSSL, [wolfssl >= $CYASSL_MINIMUM],
|
|
||||||
[want_crypto="cyassl"; CRYPTO_PKG="cyassl"; CRYPTO_CFLAGS="$WOLFSSL_CFLAGS"; CRYPTO_LIBS="$WOLFSSL_LIBS"; CYASSL_IS_WOLFSSL=yes],
|
|
||||||
[PKG_CHECK_MODULES(CYASSL, [cyassl >= $CYASSL_MINIMUM],
|
|
||||||
[want_crypto="cyassl"; CRYPTO_PKG="cyassl"; CRYPTO_CFLAGS="$CYASSL_CFLAGS"; CRYPTO_LIBS="$CYASSL_LIBS"],
|
|
||||||
[AS_IF([test "x$want_crypto" = "xcyassl"],
|
|
||||||
[AC_MSG_ERROR([CyaSSL support requested, but library not found.])]
|
|
||||||
)]
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
AS_IF([test "x$want_crypto" = "xauto" -o "x$want_crypto" = "xpolarssl"], [
|
|
||||||
PKG_CHECK_MODULES(MBEDTLS, [mbedtls >= $POLARSSL_MINIMUM],
|
|
||||||
[want_crypto="polarssl"; CRYPTO_PKG="polarssl"; CRYPTO_CFLAGS="$MBEDTLS_CFLAGS"; CRYPTO_LIBS="$MBEDTLS_LIBS"; POLARSSL_IS_MBEDTLS=yes],
|
|
||||||
[AC_CHECK_HEADER([polarssl/version.h],
|
|
||||||
[AC_EGREP_CPP([version_ok], [#include <polarssl/version.h>
|
|
||||||
#if defined (POLARSSL_VERSION_NUMBER) && POLARSSL_VERSION_NUMBER >= $POLARSSL_MINIMUM
|
|
||||||
version_ok
|
|
||||||
#endif],
|
|
||||||
[AC_CHECK_LIB([polarssl], [dhm_calc_secret],
|
|
||||||
[want_crypto="polarssl"; CRYPTO_PKG="polarssl"; CRYPTO_CFLAGS=""; CRYPTO_LIBS="-lpolarssl"],
|
|
||||||
[AS_IF([test "x$want_crypto" = "xpolarssl"],
|
|
||||||
[AC_MSG_ERROR([PolarSSL support requested, but library not found.])]
|
|
||||||
)]
|
|
||||||
)],
|
|
||||||
[AS_IF([test "x$want_crypto" = "xpolarssl"],
|
|
||||||
[AC_MSG_ERROR([PolarSSL support requested, but version not suitable.])]
|
|
||||||
)]
|
|
||||||
)],
|
|
||||||
[AS_IF([test "x$want_crypto" = "xpolarssl"],
|
|
||||||
[AC_MSG_ERROR([PolarSSL support requested, but headers not found.])]
|
|
||||||
)]
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
# we should have found the library by now
|
|
||||||
AS_IF([test "x$CRYPTO_PKG" = "x"], [
|
|
||||||
AS_IF([test "x$want_crypto" = "xauto"],
|
|
||||||
[AC_MSG_ERROR([Unable to find any supported crypto library.])],
|
|
||||||
[AC_MSG_ERROR([Requested crypto library "$want_crypto" is not supported.])],
|
|
||||||
)
|
|
||||||
])
|
|
||||||
|
|
||||||
AM_CONDITIONAL([CRYPTO_USE_OPENSSL],[test "x$CRYPTO_PKG" = "xopenssl"])
|
|
||||||
AM_CONDITIONAL([CRYPTO_USE_CYASSL],[test "x$CRYPTO_PKG" = "xcyassl"])
|
|
||||||
AM_CONDITIONAL([CYASSL_IS_WOLFSSL],[test "x$CYASSL_IS_WOLFSSL" = "xyes"])
|
|
||||||
AM_CONDITIONAL([CRYPTO_USE_POLARSSL],[test "x$CRYPTO_PKG" = "xpolarssl"])
|
|
||||||
AM_CONDITIONAL([POLARSSL_IS_MBEDTLS],[test "x$POLARSSL_IS_MBEDTLS" = "xyes"])
|
|
||||||
AC_SUBST(CRYPTO_PKG)
|
|
||||||
AC_SUBST(CRYPTO_CFLAGS)
|
|
||||||
AC_SUBST(CRYPTO_LIBS)
|
|
||||||
|
|
||||||
|
|
||||||
AC_SYS_LARGEFILE
|
|
||||||
|
|
||||||
AC_FUNC_GETMNTENT
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl posix_fadvise
|
|
||||||
|
|
||||||
dnl can posix_fadvise be used
|
|
||||||
AC_CHECK_DECLS(posix_fadvise, [], [], [
|
|
||||||
#define _XOPEN_SOURCE 600
|
|
||||||
#include <fcntl.h>])
|
|
||||||
AC_CHECK_FUNCS([posix_fadvise])
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl file monitoring for the daemon
|
|
||||||
|
|
||||||
AC_ARG_WITH([inotify],
|
|
||||||
[AS_HELP_STRING([--with-inotify], [Enable inotify support (default=auto)])],
|
|
||||||
[WANT_INOTIFY=${withval}],
|
|
||||||
[WANT_INOTIFY=auto])
|
|
||||||
HAVE_INOTIFY=0
|
|
||||||
AS_IF([test "x$WANT_INOTIFY" != "xno"],
|
|
||||||
[AC_CHECK_HEADER([sys/inotify.h],
|
|
||||||
[AC_CHECK_FUNC([inotify_init],
|
|
||||||
[HAVE_INOTIFY=1])],
|
|
||||||
[AS_IF([test "x$WANT_INOTIFY" = "xyes"],
|
|
||||||
[AC_MSG_ERROR("inotify not found!")])])])
|
|
||||||
AM_CONDITIONAL([USE_INOTIFY], [test "x$WANT_INOTIFY" != "xno" -a $HAVE_INOTIFY -eq 1])
|
|
||||||
|
|
||||||
AC_ARG_WITH([kqueue],
|
|
||||||
[AS_HELP_STRING([--with-kqueue],[Enable kqueue support (default=auto)])],
|
|
||||||
[WANT_KQUEUE=${withval}],
|
|
||||||
[WANT_KQUEUE=auto])
|
|
||||||
HAVE_KQUEUE=0
|
|
||||||
AS_IF([test "x$WANT_KQUEUE" != "xno"],
|
|
||||||
[AC_CHECK_HEADER([sys/event.h],
|
|
||||||
[AC_CHECK_FUNC([kqueue],
|
|
||||||
[HAVE_KQUEUE=1])],
|
|
||||||
[AS_IF([test "x$WANT_KQUEUE" = "xyes"],
|
|
||||||
[AC_MSG_ERROR("kqueue not found!")])])])
|
|
||||||
AM_CONDITIONAL([USE_KQUEUE], [test "x$WANT_KQUEUE" != "xno" -a $HAVE_KQUEUE -eq 1])
|
|
||||||
|
|
||||||
|
|
||||||
AC_CHECK_HEADERS([sys/statvfs.h \
|
|
||||||
xfs/xfs.h])
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl file monitoring for the daemon
|
|
||||||
|
|
||||||
# Check whether to enable systemd startup notification.
|
|
||||||
# This requires libsystemd.
|
|
||||||
AC_ARG_WITH([systemd], AS_HELP_STRING([--with-systemd],
|
|
||||||
[Add support for systemd startup notification (default is autodetected)]),
|
|
||||||
[USE_SYSTEMD=$withval], [USE_SYSTEMD=auto])
|
|
||||||
AS_IF([test "x$USE_SYSTEMD" != "xno"], [
|
|
||||||
PKG_CHECK_MODULES([SYSTEMD], [libsystemd],
|
|
||||||
[AC_DEFINE(USE_SYSTEMD,1,[Use systemd startup notification])],
|
|
||||||
[AS_IF([test "x$USE_SYSTEMD" = "xyes"],
|
|
||||||
[AC_MSG_ERROR([systemd startup notification support requested, but libsystemd not found.])]
|
|
||||||
)]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl dht
|
|
||||||
|
|
||||||
DHT_CFLAGS="-I\$(top_builddir)/third-party/dht/include"
|
|
||||||
DHT_LIBS="\$(top_builddir)/third-party/dht/libdht.a"
|
|
||||||
DHT_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/dht/libdht.a"
|
|
||||||
build_bundled_dht="yes"
|
|
||||||
AC_ARG_ENABLE([external-dht],
|
|
||||||
AS_HELP_STRING([--enable-external-dht],[Use system external-dht]),
|
|
||||||
[want_external_dht=${enableval}],
|
|
||||||
[want_external_dht=no])
|
|
||||||
if test "x$want_external_dht" != "xno" ; then
|
|
||||||
dnl Would be lovely if it had pkgconfig
|
|
||||||
DHT_CFLAGS=""
|
|
||||||
DHT_LIBS="-ldht"
|
|
||||||
DHT_LIBS_QT="-ldht"
|
|
||||||
build_bundled_dht="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_DHT],[test "x$build_bundled_dht" = "xyes"])
|
|
||||||
AC_SUBST(DHT_CFLAGS)
|
|
||||||
AC_SUBST(DHT_LIBS)
|
|
||||||
AC_SUBST(DHT_LIBS_QT)
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl libb64
|
|
||||||
|
|
||||||
LIBB64_CFLAGS="-I\$(top_srcdir)/third-party/libb64/include"
|
|
||||||
LIBB64_LIBS="\$(top_builddir)/third-party/libb64/libb64.a"
|
|
||||||
LIBB64_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/libb64/libb64.a"
|
|
||||||
build_bundled_b64="yes"
|
|
||||||
AC_ARG_ENABLE([external-b64],
|
|
||||||
AS_HELP_STRING([--enable-external-b64],[Use system libb64]),
|
|
||||||
[want_external_b64=${enableval}],
|
|
||||||
[want_external_b64=no])
|
|
||||||
if test "x$want_external_b64" != "xno" ; then
|
|
||||||
LIBB64_CFLAGS="-DUSE_SYSTEM_B64"
|
|
||||||
LIBB64_LIBS="-lb64"
|
|
||||||
LIBB64_LIBS_QT="-lb64"
|
|
||||||
build_bundled_b64="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AM_CONDITIONAL([BUILD_B64],[test "x$build_bundled_b64" = "xyes"])
|
|
||||||
AC_SUBST(LIBB64_CFLAGS)
|
|
||||||
AC_SUBST(LIBB64_LIBS)
|
|
||||||
AC_SUBST(LIBB64_LIBS_QT)
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl utp
|
|
||||||
|
|
||||||
AC_CHECK_LIB([rt],
|
|
||||||
[clock_gettime],
|
|
||||||
[libutp_extra_libs="-lrt"],
|
|
||||||
[libutp_extra_libs=""])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([µTP])
|
|
||||||
build_utp="no"
|
|
||||||
|
|
||||||
ac_save_LIBS="$LIBS"
|
|
||||||
LIBS="-lutp"
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([#include <libutp/utp.h>],
|
|
||||||
[struct UTPFunctionTable func;])],
|
|
||||||
[have_utp="yes"],
|
|
||||||
[have_utp="no"]
|
|
||||||
)
|
|
||||||
LIBS="$ac_save_LIBS"
|
|
||||||
|
|
||||||
if test "x$have_utp" = "xyes" -o "x$CXX" != "x"; then
|
|
||||||
want_utp_default="yes"
|
|
||||||
else
|
|
||||||
want_utp_default="no"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([utp],
|
|
||||||
AS_HELP_STRING([--enable-utp],[build µTP support]),
|
|
||||||
[want_utp=${enableval}],
|
|
||||||
[want_utp=${want_utp_default}])
|
|
||||||
if test "x$want_utp" = "xyes"; then
|
|
||||||
if test "x$have_utp" = "xyes"; then
|
|
||||||
dnl Would be lovely if it had pkgconfig
|
|
||||||
LIBUTP_CFLAGS=""
|
|
||||||
LIBUTP_LIBS="-lutp $libutp_extra_libs"
|
|
||||||
LIBUTP_LIBS_QT="-lutp $libutp_extra_libs"
|
|
||||||
AC_DEFINE([WITH_UTP],[1])
|
|
||||||
build_utp="system"
|
|
||||||
elif test "x$CXX" != "x"; then
|
|
||||||
LIBUTP_CFLAGS="-I\$(top_builddir)/third-party/libutp/include"
|
|
||||||
LIBUTP_LIBS="\$(top_builddir)/third-party/libutp/libutp.a"
|
|
||||||
LIBUTP_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/libutp/libutp.a"
|
|
||||||
if test "x$libutp_extra_libs" != "x" ; then
|
|
||||||
LIBUTP_LIBS="$LIBUTP_LIBS $libutp_extra_libs"
|
|
||||||
LIBUTP_LIBS_QT="$LIBUTP_LIBS_QT $libutp_extra_libs"
|
|
||||||
fi
|
|
||||||
AC_DEFINE([WITH_UTP],[1])
|
|
||||||
build_utp="yes"
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR("Unable to build uTP support -- C++ compiler not found")
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_SUBST(LIBUTP_CFLAGS)
|
|
||||||
AC_SUBST(LIBUTP_LIBS)
|
|
||||||
AC_SUBST(LIBUTP_LIBS_QT)
|
|
||||||
AM_CONDITIONAL([BUILD_UTP],[test "x$build_utp" = "xyes"])
|
|
||||||
AC_MSG_RESULT([$build_utp])
|
|
||||||
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl look for preinstalled miniupnpc...
|
|
||||||
dnl
|
|
||||||
|
|
||||||
ac_save_LIBS="$LIBS"
|
|
||||||
LIBS="-lminiupnpc"
|
|
||||||
AC_MSG_CHECKING([system miniupnpc library])
|
|
||||||
|
|
||||||
dnl See if ANY version of miniupnpc is installed
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([#include <miniupnpc/miniupnpc.h>],
|
|
||||||
[struct UPNPDev dev;])],
|
|
||||||
[upnp_version="unknown"],
|
|
||||||
[upnp_version="none"]
|
|
||||||
)
|
|
||||||
|
|
||||||
dnl Let's hope it's 1.7 or higher, since it provides
|
|
||||||
dnl MINIUPNPC_API_VERSION and we won't have to figure
|
|
||||||
dnl it out on our own
|
|
||||||
if test "x$upnp_version" = "xunknown" ; then
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[#include <stdlib.h>
|
|
||||||
#include <miniupnpc/miniupnpc.h>],
|
|
||||||
[#ifndef MINIUPNPC_API_VERSION
|
|
||||||
#error MINIUPNPC_API_VERSION undefined
|
|
||||||
#endif]
|
|
||||||
)],
|
|
||||||
[upnp_version=">= 1.7"]
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Or maybe it's miniupnp 1.6
|
|
||||||
if test "x$upnp_version" = "xunknown" ; then
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <miniupnpc/miniupnpc.h>
|
|
||||||
#include <miniupnpc/upnpcommands.h>
|
|
||||||
]], [[
|
|
||||||
struct UPNPDev * devlist;
|
|
||||||
struct UPNPUrls urls;
|
|
||||||
struct IGDdatas data;
|
|
||||||
char lanaddr[16];
|
|
||||||
char portStr[8];
|
|
||||||
char intPort[8];
|
|
||||||
char intClient[16];
|
|
||||||
upnpDiscover( 2000, NULL, NULL, 0, 0, &errno );
|
|
||||||
UPNP_GetValidIGD( devlist, &urls, &data, lanaddr, sizeof( lanaddr ) );
|
|
||||||
UPNP_GetSpecificPortMappingEntry( urls.controlURL, data.first.servicetype,
|
|
||||||
portStr, "TCP", intClient, intPort, NULL, NULL, NULL );
|
|
||||||
]])],[
|
|
||||||
AC_DEFINE(MINIUPNPC_API_VERSION, 8, [miniupnpc 1.6 has API version 8])
|
|
||||||
upnp_version="1.6"])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Or maybe it's miniupnp 1.5
|
|
||||||
if test "x$upnp_version" = "xunknown" ; then
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <miniupnpc/miniupnpc.h>
|
|
||||||
#include <miniupnpc/upnpcommands.h>
|
|
||||||
]], [[
|
|
||||||
struct UPNPDev * devlist;
|
|
||||||
struct UPNPUrls urls;
|
|
||||||
struct IGDdatas data;
|
|
||||||
char lanaddr[16];
|
|
||||||
char portStr[8];
|
|
||||||
char intPort[8];
|
|
||||||
char intClient[16];
|
|
||||||
upnpDiscover( 2000, NULL, NULL, 0 );
|
|
||||||
UPNP_GetValidIGD( devlist, &urls, &data, lanaddr, sizeof( lanaddr ) );
|
|
||||||
UPNP_GetSpecificPortMappingEntry( urls.controlURL, data.first.servicetype,
|
|
||||||
portStr, "TCP", intClient, intPort );
|
|
||||||
]])],[
|
|
||||||
AC_DEFINE(MINIUPNPC_API_VERSION, 5, [miniupnpc 1.5 has API version 5])
|
|
||||||
upnp_version="1.5"])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ... and the results of our tests
|
|
||||||
LIBS="$ac_save_LIBS"
|
|
||||||
AC_MSG_RESULT([$upnp_version])
|
|
||||||
AM_CONDITIONAL([BUILD_MINIUPNP],[test "x$upnp_version" = "xnone"])
|
|
||||||
if test "x$upnp_version" = "xnone" ; then
|
|
||||||
LIBUPNP_CFLAGS="-I\$(top_builddir)/third-party/miniupnpc/include"
|
|
||||||
LIBUPNP_LIBS="\$(top_builddir)/third-party/miniupnpc/libminiupnp.a"
|
|
||||||
LIBUPNP_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/miniupnpc/libminiupnp.a"
|
|
||||||
else
|
|
||||||
AC_DEFINE([SYSTEM_MINIUPNP])
|
|
||||||
LIBUPNP_CFLAGS=""
|
|
||||||
LIBUPNP_LIBS="-lminiupnpc"
|
|
||||||
LIBUPNP_LIBS_QT="-lminiupnpc"
|
|
||||||
fi
|
|
||||||
AC_SUBST(LIBUPNP_CFLAGS)
|
|
||||||
AC_SUBST(LIBUPNP_LIBS)
|
|
||||||
AC_SUBST(LIBUPNP_LIBS_QT)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl Allow usage of system natpmp library
|
|
||||||
|
|
||||||
LIBNATPMP_CFLAGS="-I\$(top_srcdir)/third-party/libnatpmp/"
|
|
||||||
LIBNATPMP_LIBS="\$(top_builddir)/third-party/libnatpmp/libnatpmp.a"
|
|
||||||
LIBNATPMP_LIBS_QT="\$\${TRANSMISSION_TOP}/third-party/libnatpmp/libnatpmp.a"
|
|
||||||
build_bundled_natpmp="yes"
|
|
||||||
AC_ARG_ENABLE([external-natpmp],
|
|
||||||
AS_HELP_STRING([--enable-external-natpmp],[Use system external-natpmp]),
|
|
||||||
[want_external_natpmp=${enableval}],
|
|
||||||
[want_external_natpmp=no])
|
|
||||||
if test "x$want_external_natpmp" != "xno" ; then
|
|
||||||
dnl Would be lovely if it had pkgconfig
|
|
||||||
LIBNATPMP_CFLAGS=""
|
|
||||||
LIBNATPMP_LIBS="-lnatpmp"
|
|
||||||
LIBNATPMP_LIBS_QT="-lnatpmp"
|
|
||||||
build_bundled_natpmp="no"
|
|
||||||
fi
|
|
||||||
AM_CONDITIONAL([BUILD_NATPMP],[test "x$build_bundled_natpmp" = "xyes"])
|
|
||||||
AC_SUBST(LIBNATPMP_CFLAGS)
|
|
||||||
AC_SUBST(LIBNATPMP_LIBS)
|
|
||||||
AC_SUBST(LIBNATPMP_LIBS_QT)
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl detection for the GTK+ client
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([nls],
|
|
||||||
[AS_HELP_STRING([--enable-nls],[enable native language support])],,
|
|
||||||
[enable_nls=yes])
|
|
||||||
PKG_CHECK_EXISTS([gtk+-3.0 >= $GTK_MINIMUM
|
|
||||||
glib-2.0 >= $GLIB_MINIMUM
|
|
||||||
gio-2.0 >= $GIO_MINIMUM,
|
|
||||||
gmodule-2.0 >= $GLIB_MINIMUM
|
|
||||||
gthread-2.0 >= $GLIB_MINIMUM],
|
|
||||||
[have_gtk=yes],
|
|
||||||
[have_gtk=no])
|
|
||||||
AC_ARG_WITH([gtk], AS_HELP_STRING([--with-gtk],[with Gtk]),
|
|
||||||
[with_gtk=$withval],
|
|
||||||
[with_gtk=$have_gtk])
|
|
||||||
AM_CONDITIONAL([BUILD_GTK],[test "x$with_gtk" = "xyes"])
|
|
||||||
use_libappindicator=no
|
|
||||||
if test "x$with_gtk" = "xyes" ; then
|
|
||||||
|
|
||||||
if test "x$enable_nls" = "xno" ; then
|
|
||||||
AC_MSG_ERROR("The gtk client cannot be built without nls support. Try adding either --enable-nls or --without-gtk" )
|
|
||||||
fi
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= $GTK_MINIMUM
|
|
||||||
glib-2.0 >= $GLIB_MINIMUM
|
|
||||||
gio-2.0 >= $GIO_MINIMUM,
|
|
||||||
gmodule-2.0 >= $GLIB_MINIMUM
|
|
||||||
gthread-2.0 >= $GLIB_MINIMUM])
|
|
||||||
PKG_CHECK_MODULES([LIBAPPINDICATOR],
|
|
||||||
[appindicator3-0.1 >= $LIBAPPINDICATOR_MINIMUM],
|
|
||||||
[have_libappindicator=yes],
|
|
||||||
[have_libappindicator=no])
|
|
||||||
if test "x$have_libappindicator" = "xyes"; then
|
|
||||||
use_libappindicator=yes
|
|
||||||
AC_DEFINE([HAVE_LIBAPPINDICATOR], 1)
|
|
||||||
else
|
|
||||||
LIBAPPINDICATOR_CFLAGS=
|
|
||||||
LIBAPPINDICATOR_LIBS=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl This section is only used for internationalization.
|
|
||||||
dnl If you don't need translations and this section gives you trouble --
|
|
||||||
dnl such as if you're building for a headless system --
|
|
||||||
dnl it's okay to tear this section out and re-build the configure script.
|
|
||||||
dnl
|
|
||||||
dnl Note to packagers: the bump to intltool 0.40 was made to fix
|
|
||||||
dnl a "make check" failure on some systems. if upgrading to 0.40 is
|
|
||||||
dnl a problem and the old version was working fine for you,
|
|
||||||
dnl it should be safe to re-edit 0.40 back down to 0.23
|
|
||||||
|
|
||||||
use_nls=no
|
|
||||||
if test "x$enable_nls" = "xyes" ; then
|
|
||||||
use_nls=yes
|
|
||||||
m4_ifdef([IT_PROG_INTLTOOL],
|
|
||||||
[IT_PROG_INTLTOOL([0.35.0],[no-xml])],
|
|
||||||
[AC_MSG_ERROR("--enable-nls requires intltool to be installed.")])
|
|
||||||
AC_CHECK_HEADERS([libintl.h])
|
|
||||||
GETTEXT_PACKAGE=transmission-gtk
|
|
||||||
AC_SUBST(GETTEXT_PACKAGE)
|
|
||||||
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package])
|
|
||||||
AM_GLIB_GNU_GETTEXT
|
|
||||||
transmissionlocaledir='${prefix}/${DATADIRNAME}/locale'
|
|
||||||
AC_SUBST(transmissionlocaledir)
|
|
||||||
fi
|
|
||||||
AC_SUBST(INTLLIBS)
|
|
||||||
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl platform-specific stuff.
|
|
||||||
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
have_darwin="no"
|
|
||||||
have_msw="no"
|
|
||||||
case $host_os in
|
|
||||||
|
|
||||||
*mingw32*)
|
|
||||||
have_msw="yes"
|
|
||||||
CXXFLAGS="$CXXFLAGS -mms-bitfields -mwin32 -mwindows"
|
|
||||||
CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -D_WIN32_WINNT=0x0600 -DWIN32_LEAN_AND_MEAN"
|
|
||||||
# CPPFLAGS="$CPPFLAGS -D__USE_MINGW_ANSI_STDIO=1 -D__STDC_FORMAT_MACROS=1"
|
|
||||||
LIBS="$LIBS -liphlpapi -lshell32 -lws2_32"
|
|
||||||
transmissionlocaledir="locale"
|
|
||||||
if test -z "$host_alias"; then
|
|
||||||
hostaliaswindres=
|
|
||||||
else
|
|
||||||
hostaliaswindres="$host_alias-windres";
|
|
||||||
fi
|
|
||||||
AC_CHECK_TOOL(WINDRES, windres)
|
|
||||||
;;
|
|
||||||
|
|
||||||
*darwin*)
|
|
||||||
have_darwin="yes"
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([lightweight],
|
|
||||||
AS_HELP_STRING([--enable-lightweight],[optimize libtransmission for low-resource systems: smaller cache size, prefer unencrypted peer connections, etc.]),
|
|
||||||
[enable_lightweight=${enableval}],
|
|
||||||
[enable_lightweight="no"])
|
|
||||||
if test "x$enable_lightweight" = "xyes" ; then
|
|
||||||
AC_DEFINE([TR_LIGHTWEIGHT],[1],[optimize libtransmission for low-resource systems])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([cli],
|
|
||||||
[AS_HELP_STRING([--enable-cli],[build command-line client])],
|
|
||||||
[build_cli=${enableval}],
|
|
||||||
[build_cli="no"])
|
|
||||||
AM_CONDITIONAL([BUILD_CLI],[test "x$build_cli" = "xyes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([mac],
|
|
||||||
[AS_HELP_STRING([--enable-mac],[build Mac client])],
|
|
||||||
[build_mac=${enableval}],
|
|
||||||
[build_mac=${have_darwin}])
|
|
||||||
AM_CONDITIONAL([BUILD_MAC],[test "x$build_mac" = "xyes"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([daemon],
|
|
||||||
[AS_HELP_STRING([--enable-daemon],[build daemon])],
|
|
||||||
[build_daemon=${enableval}],
|
|
||||||
[build_daemon="yes"])
|
|
||||||
AM_CONDITIONAL([BUILD_DAEMON],[test "x$build_daemon" = "xyes"])
|
|
||||||
|
|
||||||
|
|
||||||
if test "x$build_mac" = "xyes" ; then
|
|
||||||
AC_DEFINE([BUILD_MAC_CLIENT], 1)
|
|
||||||
# Make sure the proper Mac SDK is installed
|
|
||||||
if test ! -d /Developer/SDKs/MacOSX10.5.sdk; then
|
|
||||||
cat << EOF
|
|
||||||
You need to install the Mac OS X 10.5 SDK in order to build Transmission
|
|
||||||
with --enable-mac:
|
|
||||||
Get your Xcode CD or package
|
|
||||||
Restart the install
|
|
||||||
When it gets to "Installation Type", select "Customize"
|
|
||||||
Select "Mac OS X 10.5 SDK" under "Cross Development"
|
|
||||||
Finish the install.
|
|
||||||
EOF
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AM_CONDITIONAL(WIN32, test "x$have_msw" = "xyes")
|
|
||||||
|
|
||||||
dnl ----------------------------------------------------------------------------
|
|
||||||
dnl
|
|
||||||
dnl Generate the output
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile
|
|
||||||
transmission-gtk.spec
|
|
||||||
cli/Makefile
|
|
||||||
daemon/Makefile
|
|
||||||
extras/Makefile
|
|
||||||
libtransmission/Makefile
|
|
||||||
utils/Makefile
|
|
||||||
third-party/Makefile
|
|
||||||
third-party/dht/Makefile
|
|
||||||
third-party/libb64/Makefile
|
|
||||||
third-party/libutp/Makefile
|
|
||||||
third-party/libnatpmp/Makefile
|
|
||||||
third-party/miniupnpc/Makefile
|
|
||||||
macosx/Makefile
|
|
||||||
gtk/Makefile
|
|
||||||
gtk/icons/Makefile
|
|
||||||
qt/config.pri
|
|
||||||
web/Makefile
|
|
||||||
web/images/Makefile
|
|
||||||
web/style/Makefile
|
|
||||||
web/style/jqueryui/Makefile
|
|
||||||
web/style/jqueryui/images/Makefile
|
|
||||||
web/style/transmission/Makefile
|
|
||||||
web/style/transmission/images/Makefile
|
|
||||||
web/style/transmission/images/buttons/Makefile
|
|
||||||
web/javascript/Makefile
|
|
||||||
web/javascript/jquery/Makefile
|
|
||||||
tests/Makefile
|
|
||||||
tests/gtest/Makefile
|
|
||||||
tests/libtransmission/Makefile
|
|
||||||
po/Makefile.in])
|
|
||||||
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
echo "
|
|
||||||
|
|
||||||
Configuration:
|
|
||||||
|
|
||||||
Source code location: ${srcdir}
|
|
||||||
Compiler: ${CXX}
|
|
||||||
|
|
||||||
Build libtransmission: yes
|
|
||||||
* optimized for low-resource systems: ${enable_lightweight}
|
|
||||||
* µTP enabled: ${build_utp}
|
|
||||||
* crypto library: ${CRYPTO_PKG}
|
|
||||||
|
|
||||||
Build Command-Line client: ${build_cli}
|
|
||||||
|
|
||||||
Build GTK+ client: ${with_gtk}
|
|
||||||
* libappindicator for an Ubuntu-style tray: ${use_libappindicator}
|
|
||||||
|
|
||||||
Build Daemon: ${build_daemon}
|
|
||||||
|
|
||||||
Build Mac client: ${build_mac}
|
|
||||||
|
|
||||||
"
|
|
|
@ -1,43 +0,0 @@
|
||||||
AM_CPPFLAGS = -I@top_srcdir@ -DEMBEDDED
|
|
||||||
|
|
||||||
AM_CFLAGS = \
|
|
||||||
@LIBEVENT_CFLAGS@ \
|
|
||||||
@LIBCURL_CFLAGS@ \
|
|
||||||
@SYSTEMD_CFLAGS@ \
|
|
||||||
@ZLIB_CFLAGS@ \
|
|
||||||
@PTHREAD_CFLAGS@
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
transmission-daemon.service
|
|
||||||
|
|
||||||
dist_man_MANS = \
|
|
||||||
transmission-daemon.1
|
|
||||||
|
|
||||||
bin_PROGRAMS = \
|
|
||||||
transmission-daemon
|
|
||||||
|
|
||||||
LDADD = \
|
|
||||||
$(top_builddir)/libtransmission/libtransmission.a \
|
|
||||||
@LIBUPNP_LIBS@ \
|
|
||||||
@LIBNATPMP_LIBS@ \
|
|
||||||
@DHT_LIBS@ \
|
|
||||||
@LIBB64_LIBS@ \
|
|
||||||
@LIBUTP_LIBS@ \
|
|
||||||
@LIBEVENT_LIBS@ \
|
|
||||||
@LIBCURL_LIBS@ \
|
|
||||||
@CRYPTO_LIBS@ \
|
|
||||||
@INTLLIBS@ \
|
|
||||||
@SYSTEMD_LIBS@ \
|
|
||||||
@ZLIB_LIBS@ \
|
|
||||||
@PTHREAD_LIBS@ \
|
|
||||||
${LIBM}
|
|
||||||
|
|
||||||
noinst_HEADERS = daemon.h
|
|
||||||
|
|
||||||
transmission_daemon_SOURCES = daemon.c
|
|
||||||
|
|
||||||
if WIN32
|
|
||||||
transmission_daemon_SOURCES += daemon-win32.c
|
|
||||||
else
|
|
||||||
transmission_daemon_SOURCES += daemon-posix.c
|
|
||||||
endif
|
|
|
@ -1,2 +0,0 @@
|
||||||
EXTRA_DIST = rpc-spec.txt \
|
|
||||||
send-email-when-torrent-done.sh
|
|
151
gtk/Makefile.am
151
gtk/Makefile.am
|
@ -1,151 +0,0 @@
|
||||||
BUILT_SOURCES =
|
|
||||||
CLEANFILES =
|
|
||||||
SUBDIRS = icons
|
|
||||||
|
|
||||||
if TR_UNSTABLE
|
|
||||||
#FIXME: migrate from GtkUIManager to GtkBuilder in 2.90
|
|
||||||
#GTK_EXTRA_CPPFLAGS=-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED
|
|
||||||
GTK_EXTRA_CPPFLAGS=-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED
|
|
||||||
endif
|
|
||||||
|
|
||||||
# these should go in GTK_EXTRA_CPPFLAGS at some point, but not yet because it breaks libnotify's headers
|
|
||||||
# -DG_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES
|
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
|
||||||
-I$(top_srcdir) \
|
|
||||||
-DTRANSMISSIONLOCALEDIR=\""$(transmissionlocaledir)"\" \
|
|
||||||
$(GTK_EXTRA_CPPFLAGS)
|
|
||||||
|
|
||||||
AM_CFLAGS = \
|
|
||||||
@LIBAPPINDICATOR_CFLAGS@ \
|
|
||||||
@LIBEVENT_CFLAGS@ \
|
|
||||||
@GTK_CFLAGS@ \
|
|
||||||
@LIBCURL_CFLAGS@ \
|
|
||||||
@ZLIB_CFLAGS@ \
|
|
||||||
@PTHREAD_CFLAGS@
|
|
||||||
|
|
||||||
noinst_HEADERS = \
|
|
||||||
actions.h \
|
|
||||||
conf.h \
|
|
||||||
details.h \
|
|
||||||
dialogs.h \
|
|
||||||
favicon.h \
|
|
||||||
file-list.h \
|
|
||||||
filter.h \
|
|
||||||
hig.h \
|
|
||||||
icons.h \
|
|
||||||
makemeta-ui.h \
|
|
||||||
msgwin.h \
|
|
||||||
notify.h \
|
|
||||||
open-dialog.h \
|
|
||||||
relocate.h \
|
|
||||||
stats.h \
|
|
||||||
torrent-cell-renderer.h \
|
|
||||||
transmission-resources.h \
|
|
||||||
tr-core.h \
|
|
||||||
tr-icon.h \
|
|
||||||
tr-prefs.h \
|
|
||||||
tr-window.h \
|
|
||||||
util.h
|
|
||||||
|
|
||||||
bin_PROGRAMS = transmission-gtk
|
|
||||||
|
|
||||||
transmission_gtk_SOURCES = \
|
|
||||||
actions.c \
|
|
||||||
conf.c \
|
|
||||||
details.c \
|
|
||||||
dialogs.c \
|
|
||||||
favicon.c \
|
|
||||||
file-list.c \
|
|
||||||
filter.c \
|
|
||||||
hig.c \
|
|
||||||
icons.c \
|
|
||||||
main.c \
|
|
||||||
makemeta-ui.c \
|
|
||||||
msgwin.c \
|
|
||||||
notify.c \
|
|
||||||
open-dialog.c \
|
|
||||||
relocate.c \
|
|
||||||
stats.c \
|
|
||||||
torrent-cell-renderer.c \
|
|
||||||
transmission-resources.c \
|
|
||||||
tr-core.c \
|
|
||||||
tr-icon.c \
|
|
||||||
tr-prefs.c \
|
|
||||||
tr-window.c \
|
|
||||||
util.c
|
|
||||||
|
|
||||||
dist_man_MANS = transmission-gtk.1
|
|
||||||
|
|
||||||
transmission_gtk_LDADD = \
|
|
||||||
$(top_builddir)/libtransmission/libtransmission.a \
|
|
||||||
@LIBUPNP_LIBS@ \
|
|
||||||
@LIBNATPMP_LIBS@ \
|
|
||||||
@DHT_LIBS@ \
|
|
||||||
@LIBB64_LIBS@ \
|
|
||||||
@LIBUTP_LIBS@ \
|
|
||||||
@GTK_LIBS@ \
|
|
||||||
@LIBAPPINDICATOR_LIBS@ \
|
|
||||||
@LIBEVENT_LIBS@ \
|
|
||||||
@LIBCURL_LIBS@ \
|
|
||||||
@CRYPTO_LIBS@ \
|
|
||||||
@ZLIB_LIBS@ \
|
|
||||||
@PTHREAD_LIBS@ \
|
|
||||||
${LIBM}
|
|
||||||
|
|
||||||
DESKTOP_IN_FILES=transmission-gtk.desktop.in
|
|
||||||
DESKTOP_FILES=$(DESKTOP_IN_FILES:.desktop.in=.desktop)
|
|
||||||
@INTLTOOL_DESKTOP_RULE@
|
|
||||||
|
|
||||||
Productivitydir = $(datadir)/applications
|
|
||||||
Productivity_DATA = $(DESKTOP_FILES)
|
|
||||||
|
|
||||||
APPDATA_IN_FILES=transmission-gtk.appdata.xml.in
|
|
||||||
APPDATA_FILES=$(APPDATA_IN_FILES:.xml.in=.xml)
|
|
||||||
@INTLTOOL_XML_RULE@
|
|
||||||
|
|
||||||
appdatadir = $(datadir)/appdata
|
|
||||||
appdata_DATA = $(APPDATA_FILES)
|
|
||||||
|
|
||||||
icon_DATA = transmission.png
|
|
||||||
icondir = $(datadir)/pixmaps
|
|
||||||
|
|
||||||
UI_FILES = transmission-ui.xml
|
|
||||||
|
|
||||||
transmission-resources.c: transmission.gresource.xml $(UI_FILES)
|
|
||||||
$(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(srcdir) \
|
|
||||||
--generate-source --c-name transmission $<
|
|
||||||
|
|
||||||
transmission-resources.h: transmission.gresource.xml $(UI_FILES)
|
|
||||||
$(AM_V_GEN)glib-compile-resources --target=$@ --sourcedir=$(srcdir) \
|
|
||||||
--generate-header --c-name transmission $<
|
|
||||||
|
|
||||||
CLEANFILES += \
|
|
||||||
transmission-resources.c \
|
|
||||||
transmission-resources.h
|
|
||||||
BUILT_SOURCES += \
|
|
||||||
transmission-resources.c \
|
|
||||||
transmission-resources.h
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
$(DESKTOP_IN_FILES) \
|
|
||||||
$(APPDATA_IN_FILES) \
|
|
||||||
$(UI_FILES) \
|
|
||||||
transmission.gresource.xml \
|
|
||||||
transmission.png
|
|
||||||
|
|
||||||
DISTCLEANFILES = \
|
|
||||||
$(DESKTOP_FILES) \
|
|
||||||
$(APPDATA_FILES)
|
|
||||||
|
|
||||||
if WIN32
|
|
||||||
|
|
||||||
transmission.res: transmission.rc
|
|
||||||
$(WINDRES) -J rc -i transmission.rc -O coff -o transmission.res
|
|
||||||
|
|
||||||
BUILT_SOURCES += transmission.res
|
|
||||||
CLEANFILES += transmission.res
|
|
||||||
transmission_gtk_LDADD += transmission.res
|
|
||||||
transmission_gtk_LDFLAGS = -mwindows
|
|
||||||
|
|
||||||
endif
|
|
|
@ -1,83 +0,0 @@
|
||||||
NULL =
|
|
||||||
|
|
||||||
public_icons_themes = \
|
|
||||||
hicolor \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
public_icons = \
|
|
||||||
hicolor_apps_scalable_transmission.svg \
|
|
||||||
hicolor_apps_scalable_transmission-devel.svg \
|
|
||||||
hicolor_apps_symbolic_transmission-symbolic.svg \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
private_icons = \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
noinst_DATA = \
|
|
||||||
lock.png \
|
|
||||||
ratio.png \
|
|
||||||
turtle-blue.png \
|
|
||||||
turtle-grey.png \
|
|
||||||
utilities.png \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
$(public_icons) \
|
|
||||||
$(private_icons) \
|
|
||||||
$(noinst_DATA) \
|
|
||||||
$(NULL)
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
gtk_update_icon_cache = gtk-update-icon-cache -f -t
|
|
||||||
|
|
||||||
update-icon-cache:
|
|
||||||
@-if test -z "$(DESTDIR)"; then \
|
|
||||||
echo "Updating Gtk icon cache."; \
|
|
||||||
for theme in $(public_icons_themes); do \
|
|
||||||
$(gtk_update_icon_cache) $(datadir)/icons/$$theme; \
|
|
||||||
done; \
|
|
||||||
else \
|
|
||||||
echo "*** Icon cache not updated. After (un)install, run this:"; \
|
|
||||||
for theme in $(public_icons_themes); do \
|
|
||||||
echo "*** $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \
|
|
||||||
done; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
install-icons:
|
|
||||||
for icon in $(public_icons); do \
|
|
||||||
THEME=`echo $$icon | cut -d_ -f1`; \
|
|
||||||
CONTEXT=`echo $$icon | cut -d_ -f2`; \
|
|
||||||
SIZE=`echo $$icon | cut -d_ -f3`; \
|
|
||||||
ICONFILE=`echo $$icon | cut -d_ -f4`; \
|
|
||||||
mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
|
|
||||||
$(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
|
|
||||||
done; \
|
|
||||||
for icon in $(private_icons); do \
|
|
||||||
THEME=`echo $$icon | cut -d_ -f1`; \
|
|
||||||
CONTEXT=`echo $$icon | cut -d_ -f2`; \
|
|
||||||
SIZE=`echo $$icon | cut -d_ -f3`; \
|
|
||||||
ICONFILE=`echo $$icon | cut -d_ -f4`; \
|
|
||||||
mkdir -p $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
|
|
||||||
$(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
|
|
||||||
done
|
|
||||||
|
|
||||||
uninstall-icons:
|
|
||||||
-for icon in $(public_icons); do \
|
|
||||||
THEME=`echo $$icon | cut -d_ -f1`; \
|
|
||||||
CONTEXT=`echo $$icon | cut -d_ -f2`; \
|
|
||||||
SIZE=`echo $$icon | cut -d_ -f3`; \
|
|
||||||
ICONFILE=`echo $$icon | cut -d_ -f4`; \
|
|
||||||
rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
|
|
||||||
done; \
|
|
||||||
for icon in $(private_icons); do \
|
|
||||||
THEME=`echo $$icon | cut -d_ -f1`; \
|
|
||||||
CONTEXT=`echo $$icon | cut -d_ -f2`; \
|
|
||||||
SIZE=`echo $$icon | cut -d_ -f3`; \
|
|
||||||
ICONFILE=`echo $$icon | cut -d_ -f4`; \
|
|
||||||
rm -f $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
|
|
||||||
done
|
|
||||||
|
|
||||||
install-data-local: install-icons update-icon-cache
|
|
||||||
|
|
||||||
uninstall-local: uninstall-icons update-icon-cache
|
|
|
@ -1,199 +0,0 @@
|
||||||
AM_CPPFLAGS = \
|
|
||||||
-I$(top_srcdir) \
|
|
||||||
-D__TRANSMISSION__ \
|
|
||||||
-DPACKAGE_DATA_DIR=\""$(datadir)"\"
|
|
||||||
|
|
||||||
AM_CFLAGS = \
|
|
||||||
@DHT_CFLAGS@ \
|
|
||||||
@LIBB64_CFLAGS@ \
|
|
||||||
@LIBUTP_CFLAGS@ \
|
|
||||||
@LIBUPNP_CFLAGS@ \
|
|
||||||
@LIBNATPMP_CFLAGS@ \
|
|
||||||
@LIBEVENT_CFLAGS@ \
|
|
||||||
@LIBCURL_CFLAGS@ \
|
|
||||||
@CRYPTO_CFLAGS@ \
|
|
||||||
@PTHREAD_CFLAGS@ \
|
|
||||||
@ZLIB_CFLAGS@
|
|
||||||
|
|
||||||
noinst_LIBRARIES = libtransmission.a
|
|
||||||
|
|
||||||
libtransmission_a_SOURCES = \
|
|
||||||
announcer.c \
|
|
||||||
announcer-http.c \
|
|
||||||
announcer-udp.c \
|
|
||||||
bandwidth.c \
|
|
||||||
bitfield.c \
|
|
||||||
blocklist.c \
|
|
||||||
cache.c \
|
|
||||||
clients.c \
|
|
||||||
completion.c \
|
|
||||||
ConvertUTF.c \
|
|
||||||
crypto.c \
|
|
||||||
crypto-utils.c \
|
|
||||||
crypto-utils-fallback.c \
|
|
||||||
error.c \
|
|
||||||
fdlimit.c \
|
|
||||||
file.c \
|
|
||||||
handshake.c \
|
|
||||||
history.c \
|
|
||||||
inout.c \
|
|
||||||
jsonsl.c \
|
|
||||||
list.c \
|
|
||||||
log.c \
|
|
||||||
magnet.c \
|
|
||||||
makemeta.c \
|
|
||||||
metainfo.c \
|
|
||||||
natpmp.c \
|
|
||||||
net.c \
|
|
||||||
peer-io.c \
|
|
||||||
peer-mgr.c \
|
|
||||||
peer-msgs.c \
|
|
||||||
platform.c \
|
|
||||||
platform-quota.c \
|
|
||||||
port-forwarding.c \
|
|
||||||
ptrarray.c \
|
|
||||||
quark.c \
|
|
||||||
resume.c \
|
|
||||||
rpcimpl.c \
|
|
||||||
rpc-server.c \
|
|
||||||
session.c \
|
|
||||||
session-id.c \
|
|
||||||
stats.c \
|
|
||||||
torrent.c \
|
|
||||||
torrent-ctor.c \
|
|
||||||
torrent-magnet.c \
|
|
||||||
tr-assert.c \
|
|
||||||
tr-dht.c \
|
|
||||||
tr-lpd.c \
|
|
||||||
tr-udp.c \
|
|
||||||
tr-utp.c \
|
|
||||||
tr-getopt.c \
|
|
||||||
trevent.c \
|
|
||||||
upnp.c \
|
|
||||||
utils.c \
|
|
||||||
variant.c \
|
|
||||||
variant-benc.c \
|
|
||||||
variant-json.c \
|
|
||||||
verify.c \
|
|
||||||
watchdir.c \
|
|
||||||
watchdir-generic.c \
|
|
||||||
web.c \
|
|
||||||
webseed.c \
|
|
||||||
wildmat.c
|
|
||||||
|
|
||||||
if USE_INOTIFY
|
|
||||||
libtransmission_a_SOURCES += watchdir-inotify.c
|
|
||||||
AM_CPPFLAGS += -DWITH_INOTIFY
|
|
||||||
endif
|
|
||||||
|
|
||||||
if USE_KQUEUE
|
|
||||||
libtransmission_a_SOURCES += watchdir-kqueue.c
|
|
||||||
AM_CPPFLAGS += -DWITH_KQUEUE
|
|
||||||
endif
|
|
||||||
|
|
||||||
if WIN32
|
|
||||||
libtransmission_a_SOURCES += file-win32.c subprocess-win32.c watchdir-win32.c
|
|
||||||
else
|
|
||||||
libtransmission_a_SOURCES += file-posix.c subprocess-posix.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
if CRYPTO_USE_OPENSSL
|
|
||||||
libtransmission_a_SOURCES += crypto-utils-openssl.c
|
|
||||||
endif
|
|
||||||
if CRYPTO_USE_CYASSL
|
|
||||||
libtransmission_a_SOURCES += crypto-utils-cyassl.c
|
|
||||||
if CYASSL_IS_WOLFSSL
|
|
||||||
AM_CPPFLAGS += -DCYASSL_IS_WOLFSSL
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
if CRYPTO_USE_POLARSSL
|
|
||||||
libtransmission_a_SOURCES += crypto-utils-polarssl.c
|
|
||||||
if POLARSSL_IS_MBEDTLS
|
|
||||||
AM_CPPFLAGS += -DPOLARSSL_IS_MBEDTLS
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
noinst_HEADERS = \
|
|
||||||
announcer.h \
|
|
||||||
announcer-common.h \
|
|
||||||
bandwidth.h \
|
|
||||||
bitfield.h \
|
|
||||||
blocklist.h \
|
|
||||||
cache.h \
|
|
||||||
clients.h \
|
|
||||||
ConvertUTF.h \
|
|
||||||
crypto.h \
|
|
||||||
crypto-utils.h \
|
|
||||||
completion.h \
|
|
||||||
error.h \
|
|
||||||
error-types.h \
|
|
||||||
fdlimit.h \
|
|
||||||
file.h \
|
|
||||||
handshake.h \
|
|
||||||
history.h \
|
|
||||||
inout.h \
|
|
||||||
jsonsl.c \
|
|
||||||
jsonsl.h \
|
|
||||||
list.h \
|
|
||||||
log.h \
|
|
||||||
magnet.h \
|
|
||||||
makemeta.h \
|
|
||||||
metainfo.h \
|
|
||||||
natpmp_local.h \
|
|
||||||
net.h \
|
|
||||||
peer-common.h \
|
|
||||||
peer-io.h \
|
|
||||||
peer-mgr.h \
|
|
||||||
peer-msgs.h \
|
|
||||||
peer-socket.h \
|
|
||||||
platform.h \
|
|
||||||
platform-quota.h \
|
|
||||||
port-forwarding.h \
|
|
||||||
ptrarray.h \
|
|
||||||
quark.h \
|
|
||||||
resume.h \
|
|
||||||
rpcimpl.h \
|
|
||||||
rpc-server.h \
|
|
||||||
session.h \
|
|
||||||
session-id.h \
|
|
||||||
stats.h \
|
|
||||||
subprocess.h \
|
|
||||||
torrent.h \
|
|
||||||
torrent-magnet.h \
|
|
||||||
tr-getopt.h \
|
|
||||||
transmission.h \
|
|
||||||
tr-assert.h \
|
|
||||||
tr-dht.h \
|
|
||||||
tr-macros.h \
|
|
||||||
tr-udp.h \
|
|
||||||
tr-utp.h \
|
|
||||||
tr-lpd.h \
|
|
||||||
trevent.h \
|
|
||||||
upnp.h \
|
|
||||||
utils.h \
|
|
||||||
variant.h \
|
|
||||||
variant-common.h \
|
|
||||||
verify.h \
|
|
||||||
version.h \
|
|
||||||
watchdir.h \
|
|
||||||
watchdir-common.h \
|
|
||||||
web.h \
|
|
||||||
webseed.h
|
|
||||||
|
|
||||||
noinst_PROGRAMS = $(TESTS)
|
|
||||||
|
|
||||||
apps_ldadd = \
|
|
||||||
./libtransmission.a \
|
|
||||||
@LIBUPNP_LIBS@ \
|
|
||||||
@LIBNATPMP_LIBS@ \
|
|
||||||
@INTLLIBS@ \
|
|
||||||
@DHT_LIBS@ \
|
|
||||||
@LIBB64_LIBS@ \
|
|
||||||
@LIBUTP_LIBS@ \
|
|
||||||
@LIBCURL_LIBS@ \
|
|
||||||
@LIBEVENT_LIBS@ \
|
|
||||||
@CRYPTO_LIBS@ \
|
|
||||||
@PTHREAD_LIBS@ \
|
|
||||||
@ZLIB_LIBS@ \
|
|
||||||
${LIBM}
|
|
||||||
|
|
|
@ -1,208 +0,0 @@
|
||||||
# URL: http://autoconf-archive.cryp.to/acx_pthread.html
|
|
||||||
# Author: Steven G. Johnson <stevenj@alum.mit.edu>
|
|
||||||
# Revised: 2007-07-29
|
|
||||||
#
|
|
||||||
# Copyright © 2007 Steven G. Johnson <stevenj@alum.mit.edu>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
|
|
||||||
|
|
||||||
AC_DEFUN([ACX_PTHREAD], [
|
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
||||||
AC_LANG_SAVE
|
|
||||||
AC_LANG_C
|
|
||||||
acx_pthread_ok=no
|
|
||||||
|
|
||||||
# We used to check for pthread.h first, but this fails if pthread.h
|
|
||||||
# requires special compiler flags (e.g. on True64 or Sequent).
|
|
||||||
# It gets checked for in the link test anyway.
|
|
||||||
|
|
||||||
# First of all, check if the user has set any of the PTHREAD_LIBS,
|
|
||||||
# etcetera environment variables, and if threads linking works using
|
|
||||||
# them:
|
|
||||||
if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
|
|
||||||
save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
|
||||||
save_LIBS="$LIBS"
|
|
||||||
LIBS="$PTHREAD_LIBS $LIBS"
|
|
||||||
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
|
|
||||||
AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
|
|
||||||
AC_MSG_RESULT($acx_pthread_ok)
|
|
||||||
if test x"$acx_pthread_ok" = xno; then
|
|
||||||
PTHREAD_LIBS=""
|
|
||||||
PTHREAD_CFLAGS=""
|
|
||||||
fi
|
|
||||||
LIBS="$save_LIBS"
|
|
||||||
CFLAGS="$save_CFLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We must check for the threads library under a number of different
|
|
||||||
# names; the ordering is very important because some systems
|
|
||||||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
|
||||||
# libraries is broken (non-POSIX).
|
|
||||||
|
|
||||||
# Create a list of thread flags to try. Items starting with a "-" are
|
|
||||||
# C compiler flags, and other items are library names, except for "none"
|
|
||||||
# which indicates that we try without any flags at all, and "pthread-config"
|
|
||||||
# which is a program returning the flags for the Pth emulation library.
|
|
||||||
|
|
||||||
acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
|
|
||||||
|
|
||||||
# The ordering *is* (sometimes) important. Some notes on the
|
|
||||||
# individual items follow:
|
|
||||||
|
|
||||||
# pthreads: AIX (must check this before -lpthread)
|
|
||||||
# none: in case threads are in libc; should be tried before -Kthread and
|
|
||||||
# other compiler flags to prevent continual compiler warnings
|
|
||||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
|
||||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
|
||||||
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
|
||||||
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
|
|
||||||
# -pthreads: Solaris/gcc
|
|
||||||
# -mthreads: Mingw32/gcc, Lynx/gcc
|
|
||||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
|
||||||
# doesn't hurt to check since this sometimes defines pthreads too;
|
|
||||||
# also defines -D_REENTRANT)
|
|
||||||
# ... -mt is also the pthreads flag for HP/aCC
|
|
||||||
# pthread: Linux, etcetera
|
|
||||||
# --thread-safe: KAI C++
|
|
||||||
# pthread-config: use pthread-config program (for GNU Pth library)
|
|
||||||
|
|
||||||
case "${host_cpu}-${host_os}" in
|
|
||||||
*solaris*)
|
|
||||||
|
|
||||||
# On Solaris (at least, for some versions), libc contains stubbed
|
|
||||||
# (non-functional) versions of the pthreads routines, so link-based
|
|
||||||
# tests will erroneously succeed. (We need to link with -pthreads/-mt/
|
|
||||||
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
|
|
||||||
# a function called by this macro, so we could check for that, but
|
|
||||||
# who knows whether they'll stub that too in a future libc.) So,
|
|
||||||
# we'll just look for -pthreads and -lpthread first:
|
|
||||||
|
|
||||||
acx_pthread_flags="-pthreads pthread -mt -pthread $acx_pthread_flags"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test x"$acx_pthread_ok" = xno; then
|
|
||||||
for flag in $acx_pthread_flags; do
|
|
||||||
|
|
||||||
case $flag in
|
|
||||||
none)
|
|
||||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
|
||||||
;;
|
|
||||||
|
|
||||||
-*)
|
|
||||||
AC_MSG_CHECKING([whether pthreads work with $flag])
|
|
||||||
PTHREAD_CFLAGS="$flag"
|
|
||||||
;;
|
|
||||||
|
|
||||||
pthread-config)
|
|
||||||
AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
|
|
||||||
if test x"$acx_pthread_config" = xno; then continue; fi
|
|
||||||
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
|
||||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
AC_MSG_CHECKING([for the pthreads library -l$flag])
|
|
||||||
PTHREAD_LIBS="-l$flag"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
save_LIBS="$LIBS"
|
|
||||||
save_CFLAGS="$CFLAGS"
|
|
||||||
LIBS="$PTHREAD_LIBS $LIBS"
|
|
||||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
|
||||||
|
|
||||||
# Check for various functions. We must include pthread.h,
|
|
||||||
# since some functions may be macros. (On the Sequent, we
|
|
||||||
# need a special flag -Kthread to make this header compile.)
|
|
||||||
# We check for pthread_join because it is in -lpthread on IRIX
|
|
||||||
# while pthread_create is in libc. We check for pthread_attr_init
|
|
||||||
# due to DEC craziness with -lpthreads. We check for
|
|
||||||
# pthread_cleanup_push because it is one of the few pthread
|
|
||||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
|
||||||
# We try pthread_create on general principles.
|
|
||||||
AC_TRY_LINK([#include <pthread.h>],
|
|
||||||
[pthread_t th; pthread_join(th, 0);
|
|
||||||
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
|
||||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
|
||||||
[acx_pthread_ok=yes])
|
|
||||||
|
|
||||||
LIBS="$save_LIBS"
|
|
||||||
CFLAGS="$save_CFLAGS"
|
|
||||||
|
|
||||||
AC_MSG_RESULT($acx_pthread_ok)
|
|
||||||
if test "x$acx_pthread_ok" = xyes; then
|
|
||||||
break;
|
|
||||||
fi
|
|
||||||
|
|
||||||
PTHREAD_LIBS=""
|
|
||||||
PTHREAD_CFLAGS=""
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Various other checks:
|
|
||||||
if test "x$acx_pthread_ok" = xyes; then
|
|
||||||
save_LIBS="$LIBS"
|
|
||||||
LIBS="$PTHREAD_LIBS $LIBS"
|
|
||||||
save_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
|
||||||
|
|
||||||
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
|
|
||||||
AC_MSG_CHECKING([for joinable pthread attribute])
|
|
||||||
attr_name=unknown
|
|
||||||
for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
|
|
||||||
AC_TRY_LINK([#include <pthread.h>], [int attr=$attr; return attr;],
|
|
||||||
[attr_name=$attr; break])
|
|
||||||
done
|
|
||||||
AC_MSG_RESULT($attr_name)
|
|
||||||
if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
|
|
||||||
AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
|
|
||||||
[Define to necessary symbol if this constant
|
|
||||||
uses a non-standard name on your system.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([if more special flags are required for pthreads])
|
|
||||||
flag=no
|
|
||||||
case "${host_cpu}-${host_os}" in
|
|
||||||
*-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
|
|
||||||
*solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
|
|
||||||
esac
|
|
||||||
AC_MSG_RESULT(${flag})
|
|
||||||
if test "x$flag" != xno; then
|
|
||||||
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LIBS="$save_LIBS"
|
|
||||||
CFLAGS="$save_CFLAGS"
|
|
||||||
|
|
||||||
# More AIX lossage: must compile with xlc_r or cc_r
|
|
||||||
if test x"$GCC" != xyes; then
|
|
||||||
AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC})
|
|
||||||
else
|
|
||||||
PTHREAD_CC=$CC
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
PTHREAD_CC="$CC"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(PTHREAD_LIBS)
|
|
||||||
AC_SUBST(PTHREAD_CFLAGS)
|
|
||||||
AC_SUBST(PTHREAD_CC)
|
|
||||||
|
|
||||||
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
|
||||||
if test x"$acx_pthread_ok" = xyes; then
|
|
||||||
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
|
|
||||||
:
|
|
||||||
else
|
|
||||||
acx_pthread_ok=no
|
|
||||||
$2
|
|
||||||
fi
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
])dnl ACX_PTHREAD
|
|
||||||
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
# ===========================================================================
|
|
||||||
# http://autoconf-archive.cryp.to/check_ssl.html
|
|
||||||
# ===========================================================================
|
|
||||||
#
|
|
||||||
# SYNOPSIS
|
|
||||||
#
|
|
||||||
# CHECK_SSL
|
|
||||||
#
|
|
||||||
# DESCRIPTION
|
|
||||||
#
|
|
||||||
# This macro will check various standard spots for OpenSSL including a
|
|
||||||
# user-supplied directory. The user uses '--with-ssl' or
|
|
||||||
# '--with-ssl=/path/to/ssl' as arguments to configure.
|
|
||||||
#
|
|
||||||
# If OpenSSL is found the include directory gets added to CFLAGS and
|
|
||||||
# CXXFLAGS as well as '-DHAVE_SSL', '-lssl' & '-lcrypto' get added to
|
|
||||||
# LIBS, and the libraries location gets added to LDFLAGS. Finally
|
|
||||||
# 'HAVE_SSL' gets set to 'yes' for use in your Makefile.in I use it like
|
|
||||||
# so (valid for gmake):
|
|
||||||
#
|
|
||||||
# HAVE_SSL = @HAVE_SSL@
|
|
||||||
# ifeq ($(HAVE_SSL),yes)
|
|
||||||
# SRCS+= @srcdir@/my_file_that_needs_ssl.c
|
|
||||||
# endif
|
|
||||||
#
|
|
||||||
# For bsd 'bmake' use:
|
|
||||||
#
|
|
||||||
# .if ${HAVE_SSL} == "yes"
|
|
||||||
# SRCS+= @srcdir@/my_file_that_needs_ssl.c
|
|
||||||
# .endif
|
|
||||||
#
|
|
||||||
# LAST MODIFICATION
|
|
||||||
#
|
|
||||||
# 2008-04-12
|
|
||||||
#
|
|
||||||
# COPYLEFT
|
|
||||||
#
|
|
||||||
# Copyright (c) 2008 Mark Ethan Trostler <trostler@juniper.net>
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
|
|
||||||
AC_DEFUN([CHECK_SSL],
|
|
||||||
[
|
|
||||||
AC_MSG_CHECKING([for OpenSSL])
|
|
||||||
|
|
||||||
for dir in $with_ssl /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr; do
|
|
||||||
ssldir="$dir"
|
|
||||||
if test -f "$dir/include/openssl/ssl.h"; then
|
|
||||||
found_ssl="yes";
|
|
||||||
OPENSSL_CFLAGS="-I$ssldir/include";
|
|
||||||
break;
|
|
||||||
fi
|
|
||||||
if test -f "$dir/include/ssl.h"; then
|
|
||||||
found_ssl="yes";
|
|
||||||
OPENSSL_CFLAGS="-I$ssldir/include";
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if test x_$found_ssl != x_yes; then
|
|
||||||
AC_MSG_ERROR([Cannot locate ssl])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([$ssldir])
|
|
||||||
OPENSSL_LIBS="-L$ssldir/lib -lssl -lcrypto";
|
|
||||||
fi
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
AC_SUBST(OPENSSL_CFLAGS)
|
|
||||||
AC_SUBST(OPENSSL_LIBS)
|
|
|
@ -1,398 +0,0 @@
|
||||||
# Copyright (C) 1995-2002 Free Software Foundation, Inc.
|
|
||||||
# Copyright (C) 2001-2003,2004 Red Hat, Inc.
|
|
||||||
#
|
|
||||||
# This file is free software, distributed under the terms of the GNU
|
|
||||||
# General Public License. As a special exception to the GNU General
|
|
||||||
# Public License, this file may be distributed as part of a program
|
|
||||||
# that contains a configuration script generated by Autoconf, under
|
|
||||||
# the same distribution terms as the rest of that program.
|
|
||||||
#
|
|
||||||
# This file can be copied and used freely without restrictions. It can
|
|
||||||
# be used in projects which are not available under the GNU Public License
|
|
||||||
# but which still want to provide support for the GNU gettext functionality.
|
|
||||||
#
|
|
||||||
# Macro to add for using GNU gettext.
|
|
||||||
# Ulrich Drepper <drepper@cygnus.com>, 1995, 1996
|
|
||||||
#
|
|
||||||
# Modified to never use included libintl.
|
|
||||||
# Owen Taylor <otaylor@redhat.com>, 12/15/1998
|
|
||||||
#
|
|
||||||
# Major rework to remove unused code
|
|
||||||
# Owen Taylor <otaylor@redhat.com>, 12/11/2002
|
|
||||||
#
|
|
||||||
# Added better handling of ALL_LINGUAS from GNU gettext version
|
|
||||||
# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
|
|
||||||
#
|
|
||||||
# Modified to require ngettext
|
|
||||||
# Matthias Clasen <mclasen@redhat.com> 08/06/2004
|
|
||||||
#
|
|
||||||
# We need this here as well, since someone might use autoconf-2.5x
|
|
||||||
# to configure GLib then an older version to configure a package
|
|
||||||
# using AM_GLIB_GNU_GETTEXT
|
|
||||||
AC_PREREQ(2.53)
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl We go to great lengths to make sure that aclocal won't
|
|
||||||
dnl try to pull in the installed version of these macros
|
|
||||||
dnl when running aclocal in the glib directory.
|
|
||||||
dnl
|
|
||||||
m4_copy_force([AC_DEFUN],[glib_DEFUN])
|
|
||||||
m4_copy_force([AC_REQUIRE],[glib_REQUIRE])
|
|
||||||
dnl
|
|
||||||
dnl At the end, if we're not within glib, we'll define the public
|
|
||||||
dnl definitions in terms of our private definitions.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
# GLIB_LC_MESSAGES
|
|
||||||
#--------------------
|
|
||||||
glib_DEFUN([GLIB_LC_MESSAGES],
|
|
||||||
[AC_CHECK_HEADERS([locale.h])
|
|
||||||
if test $ac_cv_header_locale_h = yes; then
|
|
||||||
AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
|
|
||||||
[AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
|
|
||||||
am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
|
|
||||||
if test $am_cv_val_LC_MESSAGES = yes; then
|
|
||||||
AC_DEFINE(HAVE_LC_MESSAGES, 1,
|
|
||||||
[Define if your <locale.h> file defines LC_MESSAGES.])
|
|
||||||
fi
|
|
||||||
fi])
|
|
||||||
|
|
||||||
# GLIB_PATH_PROG_WITH_TEST
|
|
||||||
#----------------------------
|
|
||||||
dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
|
|
||||||
dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
|
|
||||||
glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
|
|
||||||
[# Extract the first word of "$2", so it can be a program name with args.
|
|
||||||
set dummy $2; ac_word=[$]2
|
|
||||||
AC_MSG_CHECKING([for $ac_word])
|
|
||||||
AC_CACHE_VAL(ac_cv_path_$1,
|
|
||||||
[case "[$]$1" in
|
|
||||||
/*)
|
|
||||||
ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
|
||||||
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
|
||||||
test -z "$ac_dir" && ac_dir=.
|
|
||||||
if test -f $ac_dir/$ac_word; then
|
|
||||||
if [$3]; then
|
|
||||||
ac_cv_path_$1="$ac_dir/$ac_word"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
IFS="$ac_save_ifs"
|
|
||||||
dnl If no 4th arg is given, leave the cache variable unset,
|
|
||||||
dnl so AC_PATH_PROGS will keep looking.
|
|
||||||
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
|
||||||
])dnl
|
|
||||||
;;
|
|
||||||
esac])dnl
|
|
||||||
$1="$ac_cv_path_$1"
|
|
||||||
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
|
|
||||||
AC_MSG_RESULT([$]$1)
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
fi
|
|
||||||
AC_SUBST($1)dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
# GLIB_WITH_NLS
|
|
||||||
#-----------------
|
|
||||||
glib_DEFUN([GLIB_WITH_NLS],
|
|
||||||
dnl NLS is obligatory
|
|
||||||
[USE_NLS=yes
|
|
||||||
AC_SUBST(USE_NLS)
|
|
||||||
|
|
||||||
gt_cv_have_gettext=no
|
|
||||||
|
|
||||||
CATOBJEXT=NONE
|
|
||||||
XGETTEXT=:
|
|
||||||
INTLLIBS=
|
|
||||||
|
|
||||||
AC_CHECK_HEADER(libintl.h,
|
|
||||||
[gt_cv_func_dgettext_libintl="no"
|
|
||||||
libintl_extra_libs=""
|
|
||||||
|
|
||||||
#
|
|
||||||
# First check in libc
|
|
||||||
#
|
|
||||||
AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
|
|
||||||
[AC_TRY_LINK([
|
|
||||||
#include <libintl.h>
|
|
||||||
],
|
|
||||||
[return !ngettext ("","", 1)],
|
|
||||||
gt_cv_func_ngettext_libc=yes,
|
|
||||||
gt_cv_func_ngettext_libc=no)
|
|
||||||
])
|
|
||||||
|
|
||||||
if test "$gt_cv_func_ngettext_libc" = "yes" ; then
|
|
||||||
AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
|
|
||||||
[AC_TRY_LINK([
|
|
||||||
#include <libintl.h>
|
|
||||||
],
|
|
||||||
[return !dgettext ("","")],
|
|
||||||
gt_cv_func_dgettext_libc=yes,
|
|
||||||
gt_cv_func_dgettext_libc=no)
|
|
||||||
])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$gt_cv_func_ngettext_libc" = "yes" ; then
|
|
||||||
AC_CHECK_FUNCS(bind_textdomain_codeset)
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# If we don't have everything we want, check in libintl
|
|
||||||
#
|
|
||||||
if test "$gt_cv_func_dgettext_libc" != "yes" \
|
|
||||||
|| test "$gt_cv_func_ngettext_libc" != "yes" \
|
|
||||||
|| test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
|
|
||||||
|
|
||||||
AC_CHECK_LIB(intl, bindtextdomain,
|
|
||||||
[AC_CHECK_LIB(intl, ngettext,
|
|
||||||
[AC_CHECK_LIB(intl, dgettext,
|
|
||||||
gt_cv_func_dgettext_libintl=yes)])])
|
|
||||||
|
|
||||||
if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
|
|
||||||
AC_MSG_CHECKING([if -liconv is needed to use gettext])
|
|
||||||
AC_MSG_RESULT([])
|
|
||||||
AC_CHECK_LIB(intl, ngettext,
|
|
||||||
[AC_CHECK_LIB(intl, dcgettext,
|
|
||||||
[gt_cv_func_dgettext_libintl=yes
|
|
||||||
libintl_extra_libs=-liconv],
|
|
||||||
:,-liconv)],
|
|
||||||
:,-liconv)
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# If we found libintl, then check in it for bind_textdomain_codeset();
|
|
||||||
# we'll prefer libc if neither have bind_textdomain_codeset(),
|
|
||||||
# and both have dgettext and ngettext
|
|
||||||
#
|
|
||||||
if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
|
|
||||||
glib_save_LIBS="$LIBS"
|
|
||||||
LIBS="$LIBS -lintl $libintl_extra_libs"
|
|
||||||
unset ac_cv_func_bind_textdomain_codeset
|
|
||||||
AC_CHECK_FUNCS(bind_textdomain_codeset)
|
|
||||||
LIBS="$glib_save_LIBS"
|
|
||||||
|
|
||||||
if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
|
|
||||||
gt_cv_func_dgettext_libc=no
|
|
||||||
else
|
|
||||||
if test "$gt_cv_func_dgettext_libc" = "yes" \
|
|
||||||
&& test "$gt_cv_func_ngettext_libc" = "yes"; then
|
|
||||||
gt_cv_func_dgettext_libintl=no
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$gt_cv_func_dgettext_libc" = "yes" \
|
|
||||||
|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
|
||||||
gt_cv_have_gettext=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$gt_cv_func_dgettext_libintl" = "yes"; then
|
|
||||||
INTLLIBS="-lintl $libintl_extra_libs"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$gt_cv_have_gettext" = "yes"; then
|
|
||||||
AC_DEFINE(HAVE_GETTEXT,1,
|
|
||||||
[Define if the GNU gettext() function is already present or preinstalled.])
|
|
||||||
GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
|
|
||||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
|
|
||||||
if test "$MSGFMT" != "no"; then
|
|
||||||
glib_save_LIBS="$LIBS"
|
|
||||||
LIBS="$LIBS $INTLLIBS"
|
|
||||||
AC_CHECK_FUNCS(dcgettext)
|
|
||||||
AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
|
|
||||||
GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
|
|
||||||
[test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
|
|
||||||
AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
|
|
||||||
return _nl_msg_cat_cntr],
|
|
||||||
[CATOBJEXT=.gmo
|
|
||||||
DATADIRNAME=share],
|
|
||||||
[case $host in
|
|
||||||
*-*-solaris*)
|
|
||||||
dnl On Solaris, if bind_textdomain_codeset is in libc,
|
|
||||||
dnl GNU format message catalog is always supported,
|
|
||||||
dnl since both are added to the libc all together.
|
|
||||||
dnl Hence, we'd like to go with DATADIRNAME=share and
|
|
||||||
dnl and CATOBJEXT=.gmo in this case.
|
|
||||||
AC_CHECK_FUNC(bind_textdomain_codeset,
|
|
||||||
[CATOBJEXT=.gmo
|
|
||||||
DATADIRNAME=share],
|
|
||||||
[CATOBJEXT=.mo
|
|
||||||
DATADIRNAME=lib])
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
CATOBJEXT=.mo
|
|
||||||
DATADIRNAME=lib
|
|
||||||
;;
|
|
||||||
esac])
|
|
||||||
LIBS="$glib_save_LIBS"
|
|
||||||
INSTOBJEXT=.mo
|
|
||||||
else
|
|
||||||
gt_cv_have_gettext=no
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
if test "$gt_cv_have_gettext" = "yes" ; then
|
|
||||||
AC_DEFINE(ENABLE_NLS, 1,
|
|
||||||
[always defined to indicate that i18n is enabled])
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Test whether we really found GNU xgettext.
|
|
||||||
if test "$XGETTEXT" != ":"; then
|
|
||||||
dnl If it is not GNU xgettext we define it as : so that the
|
|
||||||
dnl Makefiles still can work.
|
|
||||||
if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
|
|
||||||
: ;
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT(
|
|
||||||
[found xgettext program is not GNU xgettext; ignore it])
|
|
||||||
XGETTEXT=":"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We need to process the po/ directory.
|
|
||||||
POSUB=po
|
|
||||||
|
|
||||||
AC_OUTPUT_COMMANDS(
|
|
||||||
[case "$CONFIG_FILES" in *po/Makefile.in*)
|
|
||||||
sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
|
|
||||||
esac])
|
|
||||||
|
|
||||||
dnl These rules are solely for the distribution goal. While doing this
|
|
||||||
dnl we only have to keep exactly one list of the available catalogs
|
|
||||||
dnl in configure.in.
|
|
||||||
for lang in $ALL_LINGUAS; do
|
|
||||||
GMOFILES="$GMOFILES $lang.gmo"
|
|
||||||
POFILES="$POFILES $lang.po"
|
|
||||||
done
|
|
||||||
|
|
||||||
dnl Make all variables we use known to autoconf.
|
|
||||||
AC_SUBST(CATALOGS)
|
|
||||||
AC_SUBST(CATOBJEXT)
|
|
||||||
AC_SUBST(DATADIRNAME)
|
|
||||||
AC_SUBST(GMOFILES)
|
|
||||||
AC_SUBST(INSTOBJEXT)
|
|
||||||
AC_SUBST(INTLLIBS)
|
|
||||||
AC_SUBST(PO_IN_DATADIR_TRUE)
|
|
||||||
AC_SUBST(PO_IN_DATADIR_FALSE)
|
|
||||||
AC_SUBST(POFILES)
|
|
||||||
AC_SUBST(POSUB)
|
|
||||||
])
|
|
||||||
|
|
||||||
# AM_GLIB_GNU_GETTEXT
|
|
||||||
# -------------------
|
|
||||||
# Do checks necessary for use of gettext. If a suitable implementation
|
|
||||||
# of gettext is found in either in libintl or in the C library,
|
|
||||||
# it will set INTLLIBS to the libraries needed for use of gettext
|
|
||||||
# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
|
|
||||||
# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
|
|
||||||
# on various variables needed by the Makefile.in.in installed by
|
|
||||||
# glib-gettextize.
|
|
||||||
dnl
|
|
||||||
glib_DEFUN([GLIB_GNU_GETTEXT],
|
|
||||||
[AC_REQUIRE([AC_PROG_CC])dnl
|
|
||||||
AC_REQUIRE([AC_HEADER_STDC])dnl
|
|
||||||
|
|
||||||
GLIB_LC_MESSAGES
|
|
||||||
GLIB_WITH_NLS
|
|
||||||
|
|
||||||
if test "$gt_cv_have_gettext" = "yes"; then
|
|
||||||
if test "x$ALL_LINGUAS" = "x"; then
|
|
||||||
LINGUAS=
|
|
||||||
else
|
|
||||||
AC_MSG_CHECKING(for catalogs to be installed)
|
|
||||||
NEW_LINGUAS=
|
|
||||||
for presentlang in $ALL_LINGUAS; do
|
|
||||||
useit=no
|
|
||||||
if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
|
|
||||||
desiredlanguages="$LINGUAS"
|
|
||||||
else
|
|
||||||
desiredlanguages="$ALL_LINGUAS"
|
|
||||||
fi
|
|
||||||
for desiredlang in $desiredlanguages; do
|
|
||||||
# Use the presentlang catalog if desiredlang is
|
|
||||||
# a. equal to presentlang, or
|
|
||||||
# b. a variant of presentlang (because in this case,
|
|
||||||
# presentlang can be used as a fallback for messages
|
|
||||||
# which are not translated in the desiredlang catalog).
|
|
||||||
case "$desiredlang" in
|
|
||||||
"$presentlang"*) useit=yes;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
if test $useit = yes; then
|
|
||||||
NEW_LINGUAS="$NEW_LINGUAS $presentlang"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
LINGUAS=$NEW_LINGUAS
|
|
||||||
AC_MSG_RESULT($LINGUAS)
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl Construct list of names of catalog files to be constructed.
|
|
||||||
if test -n "$LINGUAS"; then
|
|
||||||
for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
|
|
||||||
dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
|
|
||||||
dnl Try to locate is.
|
|
||||||
MKINSTALLDIRS=
|
|
||||||
if test -n "$ac_aux_dir"; then
|
|
||||||
MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
|
|
||||||
fi
|
|
||||||
if test -z "$MKINSTALLDIRS"; then
|
|
||||||
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
|
|
||||||
fi
|
|
||||||
AC_SUBST(MKINSTALLDIRS)
|
|
||||||
|
|
||||||
dnl Generate list of files to be processed by xgettext which will
|
|
||||||
dnl be included in po/Makefile.
|
|
||||||
test -d po || mkdir po
|
|
||||||
if test "x$srcdir" != "x."; then
|
|
||||||
if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
|
|
||||||
posrcprefix="$srcdir/"
|
|
||||||
else
|
|
||||||
posrcprefix="../$srcdir/"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
posrcprefix="../"
|
|
||||||
fi
|
|
||||||
rm -f po/POTFILES
|
|
||||||
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
|
|
||||||
< $srcdir/po/POTFILES.in > po/POTFILES
|
|
||||||
])
|
|
||||||
|
|
||||||
# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
|
|
||||||
# -------------------------------
|
|
||||||
# Define VARIABLE to the location where catalog files will
|
|
||||||
# be installed by po/Makefile.
|
|
||||||
glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
|
|
||||||
[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
|
|
||||||
glib_save_prefix="$prefix"
|
|
||||||
glib_save_exec_prefix="$exec_prefix"
|
|
||||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
|
||||||
test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
|
||||||
if test "x$CATOBJEXT" = "x.mo" ; then
|
|
||||||
localedir=`eval echo "${libdir}/locale"`
|
|
||||||
else
|
|
||||||
localedir=`eval echo "${datadir}/locale"`
|
|
||||||
fi
|
|
||||||
prefix="$glib_save_prefix"
|
|
||||||
exec_prefix="$glib_save_exec_prefix"
|
|
||||||
AC_DEFINE_UNQUOTED($1, "$localedir",
|
|
||||||
[Define the location where the catalogs will be installed])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Now the definitions that aclocal will find
|
|
||||||
dnl
|
|
||||||
ifdef(glib_configure_in,[],[
|
|
||||||
AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
|
|
||||||
AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
|
|
||||||
])dnl
|
|
157
m4/pkg.m4
157
m4/pkg.m4
|
@ -1,157 +0,0 @@
|
||||||
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
|
||||||
#
|
|
||||||
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation; either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but
|
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
# General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
|
||||||
# distribute this file as part of a program that contains a
|
|
||||||
# configuration script generated by Autoconf, you may include it under
|
|
||||||
# the same distribution terms that you use for the rest of that program.
|
|
||||||
|
|
||||||
# PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
|
||||||
# ----------------------------------
|
|
||||||
AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
|
||||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
|
||||||
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
|
|
||||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
|
|
||||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
|
||||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
|
||||||
fi
|
|
||||||
if test -n "$PKG_CONFIG"; then
|
|
||||||
_pkg_min_version=m4_default([$1], [0.9.0])
|
|
||||||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
|
||||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
PKG_CONFIG=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi[]dnl
|
|
||||||
])# PKG_PROG_PKG_CONFIG
|
|
||||||
|
|
||||||
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
|
||||||
#
|
|
||||||
# Check to see whether a particular set of modules exists. Similar
|
|
||||||
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
|
|
||||||
# this or PKG_CHECK_MODULES is called, or make sure to call
|
|
||||||
# PKG_CHECK_EXISTS manually
|
|
||||||
# --------------------------------------------------------------
|
|
||||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
|
||||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
|
||||||
if test -n "$PKG_CONFIG" && \
|
|
||||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
|
||||||
m4_ifval([$2], [$2], [:])
|
|
||||||
m4_ifvaln([$3], [else
|
|
||||||
$3])dnl
|
|
||||||
fi])
|
|
||||||
|
|
||||||
|
|
||||||
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
|
||||||
# ---------------------------------------------
|
|
||||||
m4_define([_PKG_CONFIG],
|
|
||||||
[if test -n "$PKG_CONFIG"; then
|
|
||||||
if test -n "$$1"; then
|
|
||||||
pkg_cv_[]$1="$$1"
|
|
||||||
else
|
|
||||||
PKG_CHECK_EXISTS([$3],
|
|
||||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
|
|
||||||
[pkg_failed=yes])
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
pkg_failed=untried
|
|
||||||
fi[]dnl
|
|
||||||
])# _PKG_CONFIG
|
|
||||||
|
|
||||||
# _PKG_SHORT_ERRORS_SUPPORTED
|
|
||||||
# -----------------------------
|
|
||||||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
|
||||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
|
||||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
|
||||||
_pkg_short_errors_supported=yes
|
|
||||||
else
|
|
||||||
_pkg_short_errors_supported=no
|
|
||||||
fi[]dnl
|
|
||||||
])# _PKG_SHORT_ERRORS_SUPPORTED
|
|
||||||
|
|
||||||
|
|
||||||
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
|
||||||
# [ACTION-IF-NOT-FOUND])
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Note that if there is a possibility the first call to
|
|
||||||
# PKG_CHECK_MODULES might not happen, you should be sure to include an
|
|
||||||
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# --------------------------------------------------------------
|
|
||||||
AC_DEFUN([PKG_CHECK_MODULES],
|
|
||||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
|
||||||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
|
||||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
|
||||||
|
|
||||||
pkg_failed=no
|
|
||||||
AC_MSG_CHECKING([for $1])
|
|
||||||
|
|
||||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
|
||||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
|
||||||
|
|
||||||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
|
||||||
and $1[]_LIBS to avoid the need to call pkg-config.
|
|
||||||
See the pkg-config man page for more details.])
|
|
||||||
|
|
||||||
if test $pkg_failed = yes; then
|
|
||||||
_PKG_SHORT_ERRORS_SUPPORTED
|
|
||||||
if test $_pkg_short_errors_supported = yes; then
|
|
||||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
|
|
||||||
else
|
|
||||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
|
|
||||||
fi
|
|
||||||
# Put the nasty error message in config.log where it belongs
|
|
||||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
|
||||||
|
|
||||||
ifelse([$4], , [AC_MSG_ERROR(dnl
|
|
||||||
[Package requirements ($2) were not met:
|
|
||||||
|
|
||||||
$$1_PKG_ERRORS
|
|
||||||
|
|
||||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
|
||||||
installed software in a non-standard prefix.
|
|
||||||
|
|
||||||
_PKG_TEXT
|
|
||||||
])],
|
|
||||||
[AC_MSG_RESULT([no])
|
|
||||||
$4])
|
|
||||||
elif test $pkg_failed = untried; then
|
|
||||||
ifelse([$4], , [AC_MSG_FAILURE(dnl
|
|
||||||
[The pkg-config script could not be found or is too old. Make sure it
|
|
||||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
|
||||||
path to pkg-config.
|
|
||||||
|
|
||||||
_PKG_TEXT
|
|
||||||
|
|
||||||
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
|
|
||||||
[$4])
|
|
||||||
else
|
|
||||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
|
||||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
ifelse([$3], , :, [$3])
|
|
||||||
fi[]dnl
|
|
||||||
])# PKG_CHECK_MODULES
|
|
|
@ -1,207 +0,0 @@
|
||||||
EXTRA_DIST = \
|
|
||||||
Credits.rtf \
|
|
||||||
AboutWindow.xib \
|
|
||||||
BlocklistStatusWindow.xib \
|
|
||||||
FileRenameSheetController.xib \
|
|
||||||
FilterBar.xib \
|
|
||||||
InfoFileView.xib \
|
|
||||||
InfoPeersView.xib \
|
|
||||||
InfoTrackersView.xib \
|
|
||||||
InfoWindow.xib \
|
|
||||||
MessageWindow.xib \
|
|
||||||
StatsWindow.xib \
|
|
||||||
StatusBar.xib \
|
|
||||||
URLSheetWindow.xib \
|
|
||||||
Defaults.plist \
|
|
||||||
Info.plist \
|
|
||||||
Transmission_Prefix.pch \
|
|
||||||
Sparkle.framework \
|
|
||||||
sparkle_dsa_pub.pem \
|
|
||||||
TransmissionHelp \
|
|
||||||
QuickLookPlugin \
|
|
||||||
VDKQueue \
|
|
||||||
Images \
|
|
||||||
da.lproj \
|
|
||||||
de.lproj \
|
|
||||||
en.lproj \
|
|
||||||
es.lproj \
|
|
||||||
fr.lproj \
|
|
||||||
it.lproj \
|
|
||||||
nl.lproj \
|
|
||||||
pt_PT.lproj \
|
|
||||||
ru.lproj \
|
|
||||||
tr.lproj \
|
|
||||||
AboutWindowController.h \
|
|
||||||
AboutWindowController.m \
|
|
||||||
AddMagnetWindowController.h \
|
|
||||||
AddMagnetWindowController.m \
|
|
||||||
AddWindowController.h \
|
|
||||||
AddWindowController.m \
|
|
||||||
Badger.h \
|
|
||||||
Badger.m \
|
|
||||||
BadgeView.h \
|
|
||||||
BadgeView.m \
|
|
||||||
BlocklistDownloader.h \
|
|
||||||
BlocklistDownloader.m \
|
|
||||||
BlocklistDownloaderViewController.h \
|
|
||||||
BlocklistDownloaderViewController.m \
|
|
||||||
BlocklistScheduler.h \
|
|
||||||
BlocklistScheduler.m \
|
|
||||||
BonjourController.h \
|
|
||||||
BonjourController.m \
|
|
||||||
ButtonToolbarItem.h \
|
|
||||||
ButtonToolbarItem.m \
|
|
||||||
ColorTextField.h \
|
|
||||||
ColorTextField.m \
|
|
||||||
Controller.h \
|
|
||||||
Controller.m \
|
|
||||||
CreatorWindowController.h \
|
|
||||||
CreatorWindowController.m \
|
|
||||||
DragOverlayView.h \
|
|
||||||
DragOverlayView.m \
|
|
||||||
DragOverlayWindow.h \
|
|
||||||
DragOverlayWindow.m \
|
|
||||||
ExpandedPathToIconTransformer.h \
|
|
||||||
ExpandedPathToIconTransformer.m \
|
|
||||||
ExpandedPathToPathTransformer.h \
|
|
||||||
ExpandedPathToPathTransformer.m \
|
|
||||||
FileRenameSheetController.h \
|
|
||||||
FileRenameSheetController.m \
|
|
||||||
FileListNode.h \
|
|
||||||
FileListNode.m \
|
|
||||||
FileNameCell.h \
|
|
||||||
FileNameCell.m \
|
|
||||||
FileOutlineController.h \
|
|
||||||
FileOutlineController.m \
|
|
||||||
FileOutlineView.h \
|
|
||||||
FileOutlineView.m \
|
|
||||||
FilePriorityCell.h \
|
|
||||||
FilePriorityCell.m \
|
|
||||||
FilterBarController.h \
|
|
||||||
FilterBarController.m \
|
|
||||||
FilterBarView.h \
|
|
||||||
FilterBarView.m \
|
|
||||||
FilterButton.h \
|
|
||||||
FilterButton.m \
|
|
||||||
GlobalOptionsPopoverViewController.h \
|
|
||||||
GlobalOptionsPopoverViewController.m \
|
|
||||||
GroupsController.h \
|
|
||||||
GroupsController.m \
|
|
||||||
GroupsPrefsController.h \
|
|
||||||
GroupsPrefsController.m \
|
|
||||||
GroupToolbarItem.h \
|
|
||||||
GroupToolbarItem.m \
|
|
||||||
InfoTabButtonBack.h \
|
|
||||||
InfoTabButtonBack.m \
|
|
||||||
InfoTabButtonCell.h \
|
|
||||||
InfoTabButtonCell.m \
|
|
||||||
InfoTabMatrix.h \
|
|
||||||
InfoTabMatrix.m \
|
|
||||||
InfoTextField.h \
|
|
||||||
InfoTextField.m \
|
|
||||||
InfoActivityViewController.h \
|
|
||||||
InfoActivityViewController.m \
|
|
||||||
InfoFileViewController.h \
|
|
||||||
InfoFileViewController.m \
|
|
||||||
InfoGeneralViewController.h \
|
|
||||||
InfoGeneralViewController.m \
|
|
||||||
InfoOptionsViewController.h \
|
|
||||||
InfoOptionsViewController.m \
|
|
||||||
InfoPeersViewController.h \
|
|
||||||
InfoPeersViewController.m \
|
|
||||||
InfoTrackersViewController.h \
|
|
||||||
InfoTrackersViewController.m \
|
|
||||||
InfoViewController.h \
|
|
||||||
InfoWindowController.h \
|
|
||||||
InfoWindowController.m \
|
|
||||||
main.m \
|
|
||||||
MessageWindowController.h \
|
|
||||||
MessageWindowController.m \
|
|
||||||
NSApplicationAdditions.h \
|
|
||||||
NSApplicationAdditions.m \
|
|
||||||
NSImageAdditions.h \
|
|
||||||
NSImageAdditions.m \
|
|
||||||
NSMutableArrayAdditions.h \
|
|
||||||
NSMutableArrayAdditions.m \
|
|
||||||
NSStringAdditions.h \
|
|
||||||
NSStringAdditions.m \
|
|
||||||
PeerProgressIndicatorCell.h \
|
|
||||||
PeerProgressIndicatorCell.m \
|
|
||||||
PeerTableView.h \
|
|
||||||
PeerTableView.m \
|
|
||||||
PiecesView.h \
|
|
||||||
PiecesView.m \
|
|
||||||
PortChecker.h \
|
|
||||||
PortChecker.m \
|
|
||||||
PredicateEditorRowTemplateAny.h \
|
|
||||||
PredicateEditorRowTemplateAny.m \
|
|
||||||
PrefsController.h \
|
|
||||||
PrefsController.m \
|
|
||||||
PrefsWindow.h \
|
|
||||||
PrefsWindow.m \
|
|
||||||
ProgressGradients.h \
|
|
||||||
ProgressGradients.m \
|
|
||||||
ShareToolbarItem.h \
|
|
||||||
ShareToolbarItem.m \
|
|
||||||
ShareTorrentFileHelper.h \
|
|
||||||
ShareTorrentFileHelper.m \
|
|
||||||
StatsWindowController.h \
|
|
||||||
StatsWindowController.m \
|
|
||||||
StatusBarController.h \
|
|
||||||
StatusBarController.m \
|
|
||||||
StatusBarView.h \
|
|
||||||
StatusBarView.m \
|
|
||||||
ToolbarSegmentedCell.h \
|
|
||||||
ToolbarSegmentedCell.m \
|
|
||||||
TorrentCell.h \
|
|
||||||
TorrentCell.m \
|
|
||||||
TorrentGroup.h \
|
|
||||||
TorrentGroup.m \
|
|
||||||
Torrent.h \
|
|
||||||
Torrent.m \
|
|
||||||
TorrentTableView.h \
|
|
||||||
TorrentTableView.m \
|
|
||||||
TrackerCell.h \
|
|
||||||
TrackerCell.m \
|
|
||||||
TrackerNode.h \
|
|
||||||
TrackerNode.m \
|
|
||||||
TrackerTableView.h \
|
|
||||||
TrackerTableView.m \
|
|
||||||
URLSheetWindowController.h \
|
|
||||||
URLSheetWindowController.m \
|
|
||||||
WebSeedTableView.h \
|
|
||||||
WebSeedTableView.m
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
rm -rf `find $(distdir)/ -type d -name .svn`
|
|
||||||
rm -rf `find $(distdir)/ -type d -name .deps`
|
|
||||||
|
|
||||||
if BUILD_MAC
|
|
||||||
# Use Xcode do make the actual build
|
|
||||||
all:
|
|
||||||
@(cd .. && xcodebuild -alltargets -activeconfiguration | grep -v "^$$")
|
|
||||||
clean-local:
|
|
||||||
@(cd .. && xcodebuild -alltargets -activeconfiguration clean | grep -v "^$$")
|
|
||||||
endif
|
|
||||||
|
|
||||||
define PACKAGE_RULE1
|
|
||||||
$(RM) tmp "Transmission $(VERSION_PACKAGE)" \
|
|
||||||
Transmission-$(VERSION_PACKAGE).dmg
|
|
||||||
mkdir -p tmp
|
|
||||||
cp -R macosx/Transmission.app tmp/
|
|
||||||
endef
|
|
||||||
define PACKAGE_RULE2
|
|
||||||
mv tmp "Transmission $(VERSION_PACKAGE)"
|
|
||||||
hdiutil create -format UDZO -imagekey zlib-level=9 -srcfolder \
|
|
||||||
"Transmission $(VERSION_PACKAGE)" Transmission-$(VERSION_PACKAGE).dmg
|
|
||||||
rm -rf "Transmission $(VERSION_PACKAGE)"
|
|
||||||
endef
|
|
||||||
|
|
||||||
package:
|
|
||||||
$(PACKAGE_RULE1)
|
|
||||||
$(PACKAGE_RULE2)
|
|
||||||
|
|
||||||
package-release:
|
|
||||||
$(PACKAGE_RULE1)
|
|
||||||
strip -S tmp/Transmission.app/Contents/MacOS/Transmission
|
|
||||||
$(PACKAGE_RULE2)
|
|
|
@ -1,5 +0,0 @@
|
||||||
DHT_LIBS = @DHT_LIBS_QT@
|
|
||||||
LIBB64_LIBS = @LIBB64_LIBS_QT@
|
|
||||||
LIBUTP_LIBS = @LIBUTP_LIBS_QT@
|
|
||||||
LIBUPNP_LIBS = @LIBUPNP_LIBS_QT@
|
|
||||||
LIBNATPMP_LIBS = @LIBNATPMP_LIBS_QT@
|
|
128
qt/qtr.pro
128
qt/qtr.pro
|
@ -1,128 +0,0 @@
|
||||||
TARGET = transmission-qt
|
|
||||||
NAME = "Transmission"
|
|
||||||
DESCRIPTION = "Transmission: a fast, easy, and free BitTorrent client"
|
|
||||||
VERSION = 2.81
|
|
||||||
LICENSE = "GPL"
|
|
||||||
|
|
||||||
target.path = /bin
|
|
||||||
INSTALLS += target
|
|
||||||
|
|
||||||
unix: INSTALLS += man
|
|
||||||
man.path = /share/man/man1/
|
|
||||||
man.files = transmission-qt.1
|
|
||||||
|
|
||||||
CONFIG += qt thread link_pkgconfig c++1z warn_on
|
|
||||||
QT += network dbus
|
|
||||||
win32:QT += winextras
|
|
||||||
PKGCONFIG = fontconfig libcurl openssl libevent
|
|
||||||
|
|
||||||
greaterThan(QT_MAJOR_VERSION, 4) {
|
|
||||||
QT += widgets
|
|
||||||
}
|
|
||||||
|
|
||||||
DEFINES += QT_NO_CAST_FROM_ASCII ENABLE_DBUS_INTEROP
|
|
||||||
win32:DEFINES += QT_DBUS
|
|
||||||
|
|
||||||
TRANSMISSION_TOP = ..
|
|
||||||
|
|
||||||
include(config.pri)
|
|
||||||
|
|
||||||
INCLUDEPATH = $${EVENT_TOP}/include $${INCLUDEPATH}
|
|
||||||
INCLUDEPATH += $${TRANSMISSION_TOP}
|
|
||||||
LIBS += $${TRANSMISSION_TOP}/libtransmission/libtransmission.a
|
|
||||||
LIBS += $${LIBUTP_LIBS}
|
|
||||||
LIBS += $${DHT_LIBS}
|
|
||||||
LIBS += $${LIBB64_LIBS}
|
|
||||||
LIBS += $${LIBUPNP_LIBS}
|
|
||||||
LIBS += $${LIBNATPMP_LIBS}
|
|
||||||
unix: LIBS += -L$${EVENT_TOP}/lib -lz -lrt
|
|
||||||
win32:LIBS += -levent-2.0 -lws2_32 -lintl
|
|
||||||
win32:LIBS += -lidn -liconv -lwldap32 -liphlpapi
|
|
||||||
|
|
||||||
TRANSLATIONS += translations/transmission_de.ts \
|
|
||||||
translations/transmission_en.ts \
|
|
||||||
translations/transmission_es.ts \
|
|
||||||
translations/transmission_eu.ts \
|
|
||||||
translations/transmission_fr.ts \
|
|
||||||
translations/transmission_hu.ts \
|
|
||||||
translations/transmission_id.ts \
|
|
||||||
translations/transmission_it_IT.ts \
|
|
||||||
translations/transmission_ka.ts \
|
|
||||||
translations/transmission_kk.ts \
|
|
||||||
translations/transmission_ko.ts \
|
|
||||||
translations/transmission_lt.ts \
|
|
||||||
translations/transmission_nl.ts \
|
|
||||||
translations/transmission_pl.ts \
|
|
||||||
translations/transmission_pt_BR.ts \
|
|
||||||
translations/transmission_pt_PT.ts \
|
|
||||||
translations/transmission_ru.ts \
|
|
||||||
translations/transmission_sv.ts \
|
|
||||||
translations/transmission_tr.ts \
|
|
||||||
translations/transmission_uk.ts \
|
|
||||||
translations/transmission_zh_CN.ts
|
|
||||||
|
|
||||||
FORMS += AboutDialog.ui \
|
|
||||||
DetailsDialog.ui \
|
|
||||||
LicenseDialog.ui \
|
|
||||||
MainWindow.ui \
|
|
||||||
MakeDialog.ui \
|
|
||||||
MakeProgressDialog.ui \
|
|
||||||
OptionsDialog.ui \
|
|
||||||
PrefsDialog.ui \
|
|
||||||
RelocateDialog.ui \
|
|
||||||
SessionDialog.ui \
|
|
||||||
StatsDialog.ui
|
|
||||||
RESOURCES += application.qrc
|
|
||||||
win32|macx:RESOURCES += icons/Faenza/Faenza.qrc
|
|
||||||
SOURCES += AboutDialog.cc \
|
|
||||||
AddData.cc \
|
|
||||||
Application.cc \
|
|
||||||
ColumnResizer.cc \
|
|
||||||
DBusInteropHelper.cc \
|
|
||||||
DetailsDialog.cc \
|
|
||||||
FaviconCache.cc \
|
|
||||||
FileTreeDelegate.cc \
|
|
||||||
FileTreeItem.cc \
|
|
||||||
FileTreeModel.cc \
|
|
||||||
FileTreeView.cc \
|
|
||||||
FilterBar.cc \
|
|
||||||
FilterBarComboBox.cc \
|
|
||||||
FilterBarComboBoxDelegate.cc \
|
|
||||||
Filters.cc \
|
|
||||||
Formatter.cc \
|
|
||||||
FreeSpaceLabel.cc \
|
|
||||||
IconCache.cc \
|
|
||||||
IconToolButton.cc \
|
|
||||||
InteropHelper.cc \
|
|
||||||
InteropObject.cc \
|
|
||||||
LicenseDialog.cc \
|
|
||||||
MainWindow.cc \
|
|
||||||
MakeDialog.cc \
|
|
||||||
OptionsDialog.cc \
|
|
||||||
PathButton.cc \
|
|
||||||
Prefs.cc \
|
|
||||||
PrefsDialog.cc \
|
|
||||||
RelocateDialog.cc \
|
|
||||||
RpcClient.cc \
|
|
||||||
RpcQueue.cc \
|
|
||||||
Session.cc \
|
|
||||||
SessionDialog.cc \
|
|
||||||
SqueezeLabel.cc \
|
|
||||||
StatsDialog.cc \
|
|
||||||
StyleHelper.cc \
|
|
||||||
Torrent.cc \
|
|
||||||
TorrentDelegate.cc \
|
|
||||||
TorrentDelegateMin.cc \
|
|
||||||
TorrentFilter.cc \
|
|
||||||
TorrentModel.cc \
|
|
||||||
TorrentView.cc \
|
|
||||||
TrackerDelegate.cc \
|
|
||||||
TrackerModel.cc \
|
|
||||||
TrackerModelFilter.cc \
|
|
||||||
Utils.cc \
|
|
||||||
VariantHelpers.cc \
|
|
||||||
WatchDir.cc
|
|
||||||
HEADERS += $$replace(SOURCES, .cc, .h)
|
|
||||||
HEADERS += BaseDialog.h CustomVariantType.h Speed.h Typedefs.h
|
|
||||||
|
|
||||||
win32:RC_FILE = qtr.rc
|
|
|
@ -1,7 +0,0 @@
|
||||||
SUBDIRS = \
|
|
||||||
gtest \
|
|
||||||
libtransmission
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
CMakeLists.txt
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
check_LTLIBRARIES = \
|
|
||||||
libgtest.la \
|
|
||||||
libgtest_main.la
|
|
||||||
|
|
||||||
GTEST_DIR = $(top_srcdir)/third-party/googletest
|
|
||||||
|
|
||||||
GOOGLE_TEST_INCLUDES = \
|
|
||||||
-I$(top_srcdir)/third-party/googletest/googletest/include \
|
|
||||||
-I$(top_srcdir)/third-party/googletest/googletest
|
|
||||||
|
|
||||||
libgtest_la_SOURCES = \
|
|
||||||
$(GTEST_DIR)/googletest/src/gtest-all.cc
|
|
||||||
|
|
||||||
libgtest_la_LDFLAGS = \
|
|
||||||
-pthread
|
|
||||||
|
|
||||||
libgtest_la_CPPFLAGS = \
|
|
||||||
$(GOOGLE_TEST_INCLUDES)
|
|
||||||
|
|
||||||
libgtest_main_la_SOURCES = \
|
|
||||||
$(GTEST_DIR)/googletest/src/gtest_main.cc
|
|
||||||
|
|
||||||
libgtest_main_la_CPPFLAGS = \
|
|
||||||
$(GOOGLE_TEST_INCLUDES)
|
|
||||||
|
|
||||||
libgtest_main_la_LIBADD = \
|
|
||||||
$(top_builddir)/tests/gtest/libgtest.la
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
CMakeLists.txt
|
|
|
@ -1,93 +0,0 @@
|
||||||
#check_PROGRAMS = gtest
|
|
||||||
#
|
|
||||||
#gtest_SOURCES = gtest.cpp
|
|
||||||
#gtest_LDADD = libgtest.la
|
|
||||||
#gtest_LDFLAGS = -pthread
|
|
||||||
#
|
|
||||||
#gtest_CPPFLAGS = \
|
|
||||||
# -I$(top_srcdir)/googletest/googletest/include \
|
|
||||||
# -I$(top_srcdir)/googletest/googletest \
|
|
||||||
# -pthread
|
|
||||||
|
|
||||||
AM_CPPFLAGS = \
|
|
||||||
-std=gnu++17 \
|
|
||||||
-D__TRANSMISSION__ \
|
|
||||||
@LIBEVENT_CFLAGS@ \
|
|
||||||
@LIBCURL_CFLAGS@ \
|
|
||||||
-I$(top_srcdir)/third-party/googletest/googletest/include \
|
|
||||||
-I$(top_srcdir)/libtransmission \
|
|
||||||
-I$(srcdir) \
|
|
||||||
-pthread
|
|
||||||
|
|
||||||
LDADD = \
|
|
||||||
$(top_builddir)/tests/gtest/libgtest_main.la \
|
|
||||||
$(top_builddir)/tests/gtest/libgtest.la \
|
|
||||||
$(top_builddir)/libtransmission/libtransmission.a \
|
|
||||||
@LIBUPNP_LIBS@ \
|
|
||||||
@LIBNATPMP_LIBS@ \
|
|
||||||
@DHT_LIBS@ \
|
|
||||||
@LIBB64_LIBS@ \
|
|
||||||
@LIBUTP_LIBS@ \
|
|
||||||
@GTK_LIBS@ \
|
|
||||||
@LIBAPPINDICATOR_LIBS@ \
|
|
||||||
@LIBEVENT_LIBS@ \
|
|
||||||
@LIBCURL_LIBS@ \
|
|
||||||
@CRYPTO_LIBS@ \
|
|
||||||
@ZLIB_LIBS@ \
|
|
||||||
@PTHREAD_LIBS@ \
|
|
||||||
${LIBM}
|
|
||||||
|
|
||||||
TESTS = \
|
|
||||||
test_bitfield \
|
|
||||||
test_blocklist \
|
|
||||||
test_clients \
|
|
||||||
test_crypto \
|
|
||||||
test_error \
|
|
||||||
test_file \
|
|
||||||
test_getopt \
|
|
||||||
test_history \
|
|
||||||
test_json \
|
|
||||||
test_magnet \
|
|
||||||
test_makemeta \
|
|
||||||
test_metainfo \
|
|
||||||
test_move \
|
|
||||||
test_peer_msgs \
|
|
||||||
test_quark \
|
|
||||||
test_rename \
|
|
||||||
test_rpc \
|
|
||||||
test_session \
|
|
||||||
test_subprocess \
|
|
||||||
test_utils \
|
|
||||||
test_variant \
|
|
||||||
test_watchdir
|
|
||||||
|
|
||||||
check_PROGRAMS = $(TESTS)
|
|
||||||
|
|
||||||
test_bitfield_SOURCES = bitfield-test.cc
|
|
||||||
test_blocklist_SOURCES = blocklist-test.cc
|
|
||||||
test_clients_SOURCES = clients-test.cc
|
|
||||||
test_crypto_SOURCES = crypto-test.cc
|
|
||||||
test_error_SOURCES = error-test.cc
|
|
||||||
test_file_SOURCES = file-test.cc
|
|
||||||
test_getopt_SOURCES = getopt-test.cc
|
|
||||||
test_history_SOURCES = history-test.cc
|
|
||||||
test_json_SOURCES = json-test.cc
|
|
||||||
test_magnet_SOURCES = magnet-test.cc
|
|
||||||
test_makemeta_SOURCES = makemeta-test.cc
|
|
||||||
test_metainfo_SOURCES = metainfo-test.cc
|
|
||||||
test_move_SOURCES = move-test.cc
|
|
||||||
test_peer_msgs_SOURCES = peer-msgs-test.cc
|
|
||||||
test_quark_SOURCES = quark-test.cc
|
|
||||||
test_rename_SOURCES = rename-test.cc
|
|
||||||
test_rpc_SOURCES = rpc-test.cc
|
|
||||||
test_session_SOURCES = session-test.cc
|
|
||||||
test_subprocess_SOURCES = subprocess-test.cc
|
|
||||||
test_utils_SOURCES = utils-test.cc
|
|
||||||
test_variant_SOURCES = variant-test.cc
|
|
||||||
test_watchdir_SOURCES = watchdir-test.cc
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
CMakeLists.txt \
|
|
||||||
subprocess-test.cmd \
|
|
||||||
crypto-test-ref.h \
|
|
||||||
test-fixtures.h
|
|
|
@ -1,30 +0,0 @@
|
||||||
if BUILD_DHT
|
|
||||||
DHT_DIR = dht
|
|
||||||
endif
|
|
||||||
if BUILD_B64
|
|
||||||
B64_DIR = libb64
|
|
||||||
endif
|
|
||||||
if BUILD_UTP
|
|
||||||
UTP_DIR = libutp
|
|
||||||
endif
|
|
||||||
if BUILD_MINIUPNP
|
|
||||||
MINIUPNP_DIR = miniupnpc
|
|
||||||
endif
|
|
||||||
if BUILD_NATPMP
|
|
||||||
NATPMP_DIR = libnatpmp
|
|
||||||
endif
|
|
||||||
|
|
||||||
SUBDIRS = \
|
|
||||||
$(DHT_DIR) \
|
|
||||||
$(B64_DIR) \
|
|
||||||
$(NATPMP_DIR) \
|
|
||||||
$(MINIUPNP_DIR) \
|
|
||||||
$(UTP_DIR)
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
curl \
|
|
||||||
googletest \
|
|
||||||
libevent \
|
|
||||||
openssl \
|
|
||||||
macosx-libevent-config.h \
|
|
||||||
macosx-libevent-event-config.h
|
|
|
@ -1,67 +0,0 @@
|
||||||
%define name transmission
|
|
||||||
%define version @VERSION@
|
|
||||||
%define release 1
|
|
||||||
|
|
||||||
Summary: Transmission BitTorrent Client
|
|
||||||
Name: %{name}
|
|
||||||
Version: %{version}
|
|
||||||
Release: %{release}
|
|
||||||
License: MIT
|
|
||||||
Group: Applications/Internet
|
|
||||||
URL: https://transmissionbt.com/
|
|
||||||
Epoch: 1
|
|
||||||
Source0: %{name}-%{version}.tar.bz2
|
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
|
||||||
|
|
||||||
# MANDATORY for libtransmission
|
|
||||||
BuildRequires: curl-devel >= @CURL_MINIMUM@
|
|
||||||
BuildRequires: libevent-devel >= @LIBEVENT_MINIMUM@
|
|
||||||
BuildRequires: openssl-devel >= @OPENSSL_MINIMUM@
|
|
||||||
Requires: curl >= @CURL_MINIMUM@
|
|
||||||
Requires: libevent >= @LIBEVENT_MINIMUM@
|
|
||||||
Requires: openssl >= @OPENSSL_MINIMUM@
|
|
||||||
# MANDATORY for the gtk+ client
|
|
||||||
BuildRequires: glib2-devel >= @GLIB_MINIMUM@
|
|
||||||
BuildRequires: gtk2-devel >= @GTK_MINIMUM@
|
|
||||||
Requires: glib2 >= @GLIB_MINIMUM@
|
|
||||||
Requires: gtk2 >= @GTK_MINIMUM@
|
|
||||||
|
|
||||||
Provides: %{name}
|
|
||||||
|
|
||||||
%description
|
|
||||||
A fast and easy BitTorrent client
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
%build
|
|
||||||
%configure --program-prefix=""
|
|
||||||
make CFLAGS="$RPM_OPT_FLAGS"
|
|
||||||
%install
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install
|
|
||||||
%find_lang %{name}-gtk
|
|
||||||
%clean
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc AUTHORS NEWS.md README.md
|
|
||||||
%attr(755,root,root) %{_bindir}/%{name}*
|
|
||||||
%{_datadir}/applications/%{name}-gtk.desktop
|
|
||||||
%{_datadir}/pixmaps/*
|
|
||||||
%{_datadir}/icons/*
|
|
||||||
%{_datadir}/%{name}/web/*
|
|
||||||
%{_datadir}/man/man1/%{name}*
|
|
||||||
%{_datadir}/locale/*
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
|
|
||||||
* Wed Jan 13 2010 Charles Kerr <charles@charleskerr.com>
|
|
||||||
- made the GConf dependency explicit
|
|
||||||
- annotated the Depends section to show which libraries are optional
|
|
||||||
* Thu Mar 5 2009 Gijs <info@bsnw.nl>
|
|
||||||
- fixed %files section
|
|
||||||
- added Source0
|
|
||||||
* Wed Jul 18 2006 Charles Kerr <charles@charleskerr.com>
|
|
||||||
- first draft at a spec file, cribbed from Pan's spec file
|
|
|
@ -26,7 +26,7 @@ if [ -n "$JENKINS_URL" ] && [ -n "$GIT_COMMIT" ]; then
|
||||||
vcs_revision=$GIT_COMMIT
|
vcs_revision=$GIT_COMMIT
|
||||||
elif [ -n "$TEAMCITY_PROJECT_NAME" ] && [ -n "$BUILD_VCS_NUMBER" ]; then
|
elif [ -n "$TEAMCITY_PROJECT_NAME" ] && [ -n "$BUILD_VCS_NUMBER" ]; then
|
||||||
vcs_revision=$BUILD_VCS_NUMBER
|
vcs_revision=$BUILD_VCS_NUMBER
|
||||||
elif [ -d ".git" ] && type git > /dev/null 2>&1; then
|
elif [ -e ".git" ] && type git > /dev/null 2>&1; then
|
||||||
vcs_revision=$(git rev-list --max-count=1 HEAD)
|
vcs_revision=$(git rev-list --max-count=1 HEAD)
|
||||||
elif [ -f "$vcs_revision_file" ]; then
|
elif [ -f "$vcs_revision_file" ]; then
|
||||||
vcs_revision=$(cat "$vcs_revision_file")
|
vcs_revision=$(cat "$vcs_revision_file")
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
AM_CPPFLAGS = -I@top_srcdir@
|
|
||||||
|
|
||||||
AM_CFLAGS = \
|
|
||||||
@LIBEVENT_CFLAGS@ \
|
|
||||||
@LIBCURL_CFLAGS@ \
|
|
||||||
@ZLIB_CFLAGS@ \
|
|
||||||
@PTHREAD_CFLAGS@
|
|
||||||
|
|
||||||
bin_PROGRAMS = \
|
|
||||||
transmission-create \
|
|
||||||
transmission-edit \
|
|
||||||
transmission-remote \
|
|
||||||
transmission-show
|
|
||||||
|
|
||||||
transmission_create_SOURCES = create.c
|
|
||||||
transmission_edit_SOURCES = edit.c
|
|
||||||
transmission_remote_SOURCES = remote.c
|
|
||||||
transmission_show_SOURCES = show.c
|
|
||||||
|
|
||||||
noinst_HEADERS = \
|
|
||||||
units.h
|
|
||||||
|
|
||||||
dist_man_MANS = \
|
|
||||||
transmission-create.1 \
|
|
||||||
transmission-edit.1 \
|
|
||||||
transmission-remote.1 \
|
|
||||||
transmission-show.1
|
|
||||||
|
|
||||||
transmission_create_LDADD = \
|
|
||||||
$(top_builddir)/libtransmission/libtransmission.a \
|
|
||||||
@LIBUPNP_LIBS@ \
|
|
||||||
@LIBNATPMP_LIBS@ \
|
|
||||||
@INTLLIBS@ \
|
|
||||||
@DHT_LIBS@ \
|
|
||||||
@LIBB64_LIBS@ \
|
|
||||||
@LIBUTP_LIBS@ \
|
|
||||||
@LIBEVENT_LIBS@ \
|
|
||||||
@LIBCURL_LIBS@ \
|
|
||||||
@CRYPTO_LIBS@ \
|
|
||||||
@ZLIB_LIBS@ \
|
|
||||||
@PTHREAD_LIBS@ \
|
|
||||||
${LIBM}
|
|
||||||
transmission_edit_LDADD = $(transmission_create_LDADD)
|
|
||||||
transmission_remote_LDADD = $(transmission_create_LDADD)
|
|
||||||
transmission_show_LDADD = $(transmission_create_LDADD)
|
|
|
@ -1,11 +0,0 @@
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
|
|
||||||
dist_data_DATA = \
|
|
||||||
index.html \
|
|
||||||
LICENSE
|
|
||||||
|
|
||||||
SUBDIRS = \
|
|
||||||
images \
|
|
||||||
style \
|
|
||||||
javascript
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
dist_data_DATA = \
|
|
||||||
favicon.ico \
|
|
||||||
favicon.png \
|
|
||||||
webclip-icon.png
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
|
|
||||||
dist_data_DATA = \
|
|
||||||
common.js \
|
|
||||||
dialog.js \
|
|
||||||
file-row.js \
|
|
||||||
formatter.js \
|
|
||||||
inspector.js \
|
|
||||||
main.js \
|
|
||||||
notifications.js \
|
|
||||||
polyfill.js \
|
|
||||||
prefs-dialog.js \
|
|
||||||
remote.js \
|
|
||||||
torrent.js \
|
|
||||||
torrent-row.js \
|
|
||||||
transmission.js
|
|
||||||
|
|
||||||
SUBDIRS = \
|
|
||||||
jquery
|
|
|
@ -1,8 +0,0 @@
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
|
|
||||||
dist_data_DATA = \
|
|
||||||
jquery-ui.min.js \
|
|
||||||
jquery-migrate.min.js \
|
|
||||||
jquery.min.js \
|
|
||||||
jquery.ui-contextmenu.min.js \
|
|
||||||
jquery.transmenu.min.js
|
|
|
@ -1,4 +0,0 @@
|
||||||
SUBDIRS = \
|
|
||||||
jqueryui \
|
|
||||||
transmission
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
SUBDIRS = images
|
|
||||||
|
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
dist_data_DATA = jquery-ui.min.css
|
|
|
@ -1,15 +0,0 @@
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
dist_data_DATA = \
|
|
||||||
ui-bg_flat_0_aaaaaa_40x100.png \
|
|
||||||
ui-bg_flat_75_ffffff_40x100.png \
|
|
||||||
ui-bg_glass_55_fbf9ee_1x400.png \
|
|
||||||
ui-bg_glass_65_ffffff_1x400.png \
|
|
||||||
ui-bg_glass_75_dadada_1x400.png \
|
|
||||||
ui-bg_glass_75_e6e6e6_1x400.png \
|
|
||||||
ui-bg_glass_95_fef1ec_1x400.png \
|
|
||||||
ui-bg_highlight-soft_75_cccccc_1x100.png \
|
|
||||||
ui-icons_222222_256x240.png \
|
|
||||||
ui-icons_2e83ff_256x240.png \
|
|
||||||
ui-icons_454545_256x240.png \
|
|
||||||
ui-icons_888888_256x240.png \
|
|
||||||
ui-icons_cd0a0a_256x240.png
|
|
|
@ -1,10 +0,0 @@
|
||||||
SUBDIRS = images
|
|
||||||
|
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
dist_data_DATA = \
|
|
||||||
common.css \
|
|
||||||
mobile.css
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
common.scss \
|
|
||||||
mobile.scss
|
|
|
@ -1,31 +0,0 @@
|
||||||
SUBDIRS = buttons
|
|
||||||
|
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
dist_data_DATA = \
|
|
||||||
arrow-down.png \
|
|
||||||
arrow-up.png \
|
|
||||||
blue-turtle.png \
|
|
||||||
compact.png \
|
|
||||||
file-priority-high.png \
|
|
||||||
file-priority-low.png \
|
|
||||||
file-priority-normal.png \
|
|
||||||
filter_bar.png \
|
|
||||||
filter_icon.png \
|
|
||||||
inspector-files.png \
|
|
||||||
inspector-info.png \
|
|
||||||
inspector-peers.png \
|
|
||||||
inspector-trackers.png \
|
|
||||||
lock_icon.png \
|
|
||||||
logo.png \
|
|
||||||
progress.png \
|
|
||||||
settings.png \
|
|
||||||
toolbar-close.png \
|
|
||||||
toolbar-folder.png \
|
|
||||||
toolbar-info.png \
|
|
||||||
toolbar-pause.png \
|
|
||||||
toolbar-start.png \
|
|
||||||
toolbar-pause-all.png \
|
|
||||||
toolbar-start-all.png \
|
|
||||||
turtle.png \
|
|
||||||
wrench.png
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
|
|
||||||
|
|
||||||
dist_data_DATA = \
|
|
||||||
torrent_buttons.png
|
|
Loading…
Reference in New Issue