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:
Mike Gelfand 2020-10-13 03:15:19 +03:00 committed by GitHub
parent 32add75f0e
commit 4c7153fa48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
37 changed files with 39 additions and 2892 deletions

5
.gitignore vendored
View File

@ -1,4 +1,3 @@
/.depend
/REVISION
/beta
/build
@ -6,17 +5,13 @@ Transmission.xcodeproj/*.mode*
Transmission.xcodeproj/*.pbxuser
Transmission.xcodeproj/*.xcworkspace
Transmission.xcodeproj/xcuserdata
cli/.depend
cli/transmissioncli
daemon/.depend
daemon/transmission-daemon
daemon/transmission-proxy
daemon/transmission-remote
gtk/.depend
gtk/defines.h
gtk/transmission-gtk
libtransmission/*.a
libtransmission/.depend
libtransmission/version.h
macosx/Info.plist
macosx/Transmission.app

View File

@ -61,7 +61,7 @@ endif()
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)
endif()
@ -659,11 +659,13 @@ if(MSVC AND ENABLE_DAEMON AND ENABLE_QT AND ENABLE_UTILS AND WITH_CRYPTO STREQUA
add_subdirectory(dist/msi)
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_IGNORE_FILES
\\\\.git
)
if(NOT TR_STABLE_RELEASE)
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
@ -675,7 +677,7 @@ if(GIT_FOUND)
OUTPUT_VARIABLE TR_GIT_ROOT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(TR_GIT_ROOT)
if(TR_GIT_ROOT AND IS_DIRECTORY "${TR_GIT_ROOT}/.git")
configure_file(
"${CMAKE_SOURCE_DIR}/extras/pre-commit"
"${TR_GIT_ROOT}/.git/hooks/pre-commit"
@ -689,8 +691,8 @@ if(GIT_FOUND)
COMMAND "${CMAKE_SOURCE_DIR}/format/format.sh" --all
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
)
endif(TR_GIT_ROOT)
endif()
unset(TR_GIT_ROOT)
endif(GIT_FOUND)
endif()
include(CPack)

View File

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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()

View File

@ -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}
"

View File

@ -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

View File

@ -1,2 +0,0 @@
EXTRA_DIST = rpc-spec.txt \
send-email-when-torrent-done.sh

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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

View File

@ -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)

View File

@ -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
View File

@ -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

View File

@ -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)

View File

@ -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@

View File

@ -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

View File

@ -1,7 +0,0 @@
SUBDIRS = \
gtest \
libtransmission
EXTRA_DIST = \
CMakeLists.txt

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -26,7 +26,7 @@ if [ -n "$JENKINS_URL" ] && [ -n "$GIT_COMMIT" ]; then
vcs_revision=$GIT_COMMIT
elif [ -n "$TEAMCITY_PROJECT_NAME" ] && [ -n "$BUILD_VCS_NUMBER" ]; then
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)
elif [ -f "$vcs_revision_file" ]; then
vcs_revision=$(cat "$vcs_revision_file")

View 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)

View File

@ -1,11 +0,0 @@
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
dist_data_DATA = \
index.html \
LICENSE
SUBDIRS = \
images \
style \
javascript

View File

@ -1,6 +0,0 @@
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
dist_data_DATA = \
favicon.ico \
favicon.png \
webclip-icon.png

View File

@ -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

View File

@ -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

View File

@ -1,4 +0,0 @@
SUBDIRS = \
jqueryui \
transmission

View File

@ -1,4 +0,0 @@
SUBDIRS = images
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
dist_data_DATA = jquery-ui.min.css

View File

@ -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

View File

@ -1,10 +0,0 @@
SUBDIRS = images
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
dist_data_DATA = \
common.css \
mobile.css
EXTRA_DIST = \
common.scss \
mobile.scss

View File

@ -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

View File

@ -1,4 +0,0 @@
datadir = ${datarootdir}/${PACKAGE_NAME}/${subdir}
dist_data_DATA = \
torrent_buttons.png