remove the old make system, move version.sh to macosx/
This commit is contained in:
parent
b48967245d
commit
4491e68a4f
|
@ -19,6 +19,4 @@ libtransmission/version.h
|
|||
macosx/English.lproj/*~.nib
|
||||
macosx/Info.plist
|
||||
macosx/Transmission.app
|
||||
mk/config.mk
|
||||
mk/version.mk
|
||||
po/*.mo
|
||||
|
|
|
@ -27,7 +27,6 @@ EXTRA_DIST = \
|
|||
AUTHORS \
|
||||
LICENSE \
|
||||
README \
|
||||
mk \
|
||||
intltool-extract.in \
|
||||
intltool-merge.in \
|
||||
intltool-update.in
|
||||
|
|
|
@ -1413,7 +1413,7 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "sh mk/version.sh";
|
||||
shellScript = "sh macosx/version.sh";
|
||||
};
|
||||
BE75C3510C729EE100DBEFE0 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
EXTRA_DIST = \
|
||||
version.sh \
|
||||
Sparkle.framework \
|
||||
CTGradient \
|
||||
UKKQueue \
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
default all clean install package package-release:
|
||||
@gmake $@
|
38
mk/Makefile
38
mk/Makefile
|
@ -1,38 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include mk/common.mk
|
||||
|
||||
default: all
|
||||
|
||||
# Before we do anything else, make sure we have config.mk and an
|
||||
# updated version.mk
|
||||
|
||||
required: mk/config.mk mk/version.mk
|
||||
mk/config.mk:
|
||||
@echo "Please run ./configure first."
|
||||
@false
|
||||
mk/version.mk: FORCE
|
||||
@echo "Checking SVN revision..."
|
||||
@./version.sh
|
||||
FORCE:
|
||||
|
||||
# Now call the Makefile that'll really build
|
||||
# OS X has its special Makefile that wraps to Xcode
|
||||
|
||||
-include mk/config.mk
|
||||
ifneq ($(SYSTEM),Darwin)
|
||||
MAKEARGS += -f mk/default.mk
|
||||
else
|
||||
MAKEARGS += -f mk/osx.mk
|
||||
endif
|
||||
|
||||
all: required
|
||||
@$(MAKE) $(MAKEARGS) all
|
||||
clean: required
|
||||
@$(MAKE) $(MAKEARGS) clean
|
||||
install: all
|
||||
@$(MAKE) $(MAKEARGS) install
|
||||
package: all
|
||||
@$(MAKE) $(MAKEARGS) package
|
||||
package-release: all
|
||||
@$(MAKE) $(MAKEARGS) package-release
|
36
mk/beos.mk
36
mk/beos.mk
|
@ -1,36 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include ../mk/config.mk
|
||||
include ../mk/common.mk
|
||||
|
||||
SRCS = TRApplication.cpp TRWindow.cpp TRTransfer.cpp \
|
||||
TRPrefsWindow.cpp TRInfoWindow.cpp
|
||||
OBJS = $(SRCS:%.cpp=%.o)
|
||||
|
||||
CXXFLAGS += -I.. -IlibPrefs
|
||||
LDLIBS += ../libtransmission/libtransmission.a
|
||||
CXXFLAGS += -IlibPrefs
|
||||
LDFLAGS += -lbe -ltracker
|
||||
LDLIBS += libPrefs/libPrefs.a
|
||||
|
||||
Transmission: $(OBJS) ../libtransmission/libtransmission.a Transmission.rsrc
|
||||
$(LINK_RULE_CXX)
|
||||
$(XRES_RULE)
|
||||
$(MIMESET_RULE)
|
||||
|
||||
%.o: %.cpp ../mk/config.mk ../mk/common.mk ../mk/beos.mk
|
||||
$(CXX_RULE)
|
||||
|
||||
clean:
|
||||
@echo "Clean Transmission"
|
||||
@$(RM) Transmission
|
||||
@echo "Clean $(OBJS)"
|
||||
@$(RM) $(OBJS)
|
||||
|
||||
.depend: $(SRCS) ../mk/config.mk ../mk/common.mk ../mk/beos.mk
|
||||
$(DEP_RULE_CXX)
|
||||
|
||||
install:
|
||||
@true
|
||||
|
||||
-include .depend
|
35
mk/cli.mk
35
mk/cli.mk
|
@ -1,35 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include ../mk/config.mk
|
||||
include ../mk/common.mk
|
||||
|
||||
SRCS = transmissioncli.c
|
||||
OBJS = $(SRCS:%.c=%.o)
|
||||
|
||||
CFLAGS += -I..
|
||||
LDLIBS += ../libtransmission/libtransmission.a
|
||||
|
||||
transmissioncli: $(OBJS) ../libtransmission/libtransmission.a
|
||||
$(LINK_RULE)
|
||||
|
||||
%.o: %.c ../mk/config.mk ../mk/common.mk ../mk/cli.mk
|
||||
$(CC_RULE)
|
||||
|
||||
clean:
|
||||
@echo "Clean transmissioncli"
|
||||
@$(RM) transmissioncli
|
||||
@echo "Clean $(OBJS)"
|
||||
@$(RM) $(OBJS)
|
||||
|
||||
.depend: $(SRCS) ../mk/config.mk ../mk/common.mk ../mk/cli.mk
|
||||
$(DEP_RULE)
|
||||
|
||||
install: install-bin install-man
|
||||
|
||||
install-bin: transmissioncli
|
||||
$(INSTALL_BIN_RULE)
|
||||
|
||||
install-man: transmissioncli.1
|
||||
$(INSTALL_MAN_RULE)
|
||||
|
||||
-include .depend
|
125
mk/common.mk
125
mk/common.mk
|
@ -1,125 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
TMPCFLAGS = -g -Wall -W -O3 -funroll-loops -D_FILE_OFFSET_BITS=64 \
|
||||
-D_LARGEFILE_SOURCE -D_GNU_SOURCE \
|
||||
-DSYS_$(shell echo $(SYSTEM) | tr a-z A-Z)
|
||||
TMPCXXFLAGS = $(TMPCFLAGS)
|
||||
TMPLDFLAGS =
|
||||
|
||||
ifeq ($(SYSTEM),BeOS)
|
||||
TMPCXXFLAGS += -Wno-multichar
|
||||
ifeq ($(BEOS_NETSERVER),yes)
|
||||
TMPCFLAGS += -DBEOS_NETSERVER
|
||||
TMPLDFLAGS += -lnet
|
||||
else
|
||||
TMPLDFLAGS += -lbind -lsocket
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(PTHREAD),yes)
|
||||
ifneq ($(filter FreeBSD OpenBSD,$(SYSTEM)),)
|
||||
TMPCFLAGS += -pthread
|
||||
TMPLDFLAGS += -pthread
|
||||
else
|
||||
TMPLDFLAGS += -lpthread
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENSSL),yes)
|
||||
TMPCFLAGS += -DHAVE_OPENSSL
|
||||
TMPLDFLAGS += -lcrypto
|
||||
endif
|
||||
|
||||
CFLAGS := $(TMPCFLAGS) $(CFLAGS)
|
||||
CXXFLAGS := $(TMPCXXFLAGS) $(CXXFLAGS)
|
||||
LDFLAGS := $(TMPLDFLAGS) $(LDFLAGS)
|
||||
|
||||
#
|
||||
# Utils
|
||||
#
|
||||
|
||||
define DEP_RULE
|
||||
@echo "Checking dependencies..."
|
||||
@$(RM) .depend
|
||||
@$(foreach SRC, $(SRCS), $(CC) -MM $(SRC) $(CFLAGS) >> .depend;)
|
||||
endef
|
||||
|
||||
define DEP_RULE_CXX
|
||||
@echo "Checking dependencies..."
|
||||
@$(RM) .depend
|
||||
@$(foreach SRC, $(SRCS), $(CXX) -MM $(SRC) $(CXXFLAGS) >> .depend;)
|
||||
endef
|
||||
|
||||
define CC_RULE
|
||||
@echo "Cc $@"
|
||||
@CMD="$(CC) $(CFLAGS) -o $@ -c $<"; $$CMD || \
|
||||
( echo "Compile line for $@ was:"; echo $$CMD; false )
|
||||
endef
|
||||
|
||||
define CXX_RULE
|
||||
@echo "C++ $@"
|
||||
@CMD="$(CXX) $(CXXFLAGS) -o $@ -c $<"; $$CMD || \
|
||||
( echo "Compile line for $@ was:"; echo $$CMD; false )
|
||||
endef
|
||||
|
||||
define LINK_RULE
|
||||
@echo "Link $@"
|
||||
@CMD="$(CC) -o $@ $(OBJS) $(LDLIBS) $(LDFLAGS)"; $$CMD || \
|
||||
( echo "Compile line for $@ was:"; echo $$CMD; false )
|
||||
endef
|
||||
|
||||
define LINK_RULE_CXX
|
||||
@echo "Link $@"
|
||||
@CMD="$(CXX) -o $@ $(OBJS) $(LDLIBS) $(LDFLAGS)"; $$CMD || \
|
||||
( echo "Compile line for $@ was:"; echo $$CMD; false )
|
||||
endef
|
||||
|
||||
define MSGFMT_RULE
|
||||
@echo "Msgfmt $<"
|
||||
@msgfmt -f $< -o $@
|
||||
endef
|
||||
|
||||
define XRES_RULE
|
||||
@echo "Xres $@"
|
||||
@xres -o $@ $@.rsrc
|
||||
endef
|
||||
|
||||
define MIMESET_RULE
|
||||
@echo "Mimeset $@"
|
||||
@mimeset -f $@
|
||||
endef
|
||||
|
||||
define INSTALL_BIN_RULE
|
||||
@echo "Install $<"
|
||||
@$(MKDIR) $(DESTDIR)$(PREFIX)/bin
|
||||
@$(CP) $< $(DESTDIR)$(PREFIX)/bin/
|
||||
endef
|
||||
|
||||
define INSTALL_LOCALE_RULE
|
||||
@echo "Install $<"
|
||||
@$(MKDIR) $(DESTDIR)$(LOCALEDIR)/$*/LC_MESSAGES
|
||||
@$(CP) $< $(DESTDIR)$(LOCALEDIR)/$*/LC_MESSAGES/transmission-gtk.mo
|
||||
endef
|
||||
|
||||
define INSTALL_MAN_RULE
|
||||
@echo "Install $<"
|
||||
@$(MKDIR) $(DESTDIR)$(PREFIX)/man/man1
|
||||
@$(CP) $< $(DESTDIR)$(PREFIX)/man/man1/
|
||||
endef
|
||||
|
||||
define INSTALL_DESKTOP_RULE
|
||||
@echo "Install $<"
|
||||
@$(MKDIR) $(DESTDIR)$(PREFIX)/share/applications
|
||||
@$(CP) $< $(DESTDIR)$(PREFIX)/share/applications/
|
||||
endef
|
||||
|
||||
define INSTALL_ICON_RULE
|
||||
@echo "Install $<"
|
||||
@$(MKDIR) $(DESTDIR)$(PREFIX)/share/pixmaps
|
||||
@$(CP) $< $(DESTDIR)$(PREFIX)/share/pixmaps/
|
||||
endef
|
||||
|
||||
RM = rm -Rf
|
||||
CP = cp -f
|
||||
MKDIR = mkdir -p
|
||||
MAKEARGS = --no-print-directory
|
|
@ -1,542 +0,0 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# $Id$
|
||||
|
||||
#
|
||||
# Default settings
|
||||
#
|
||||
SYSTEM=
|
||||
BEOS_NETSERVER=no
|
||||
BEOS_OLDCC=no
|
||||
MATH=no
|
||||
PTHREAD=no
|
||||
OPENSSL=
|
||||
GTK=
|
||||
LIBEVENT=
|
||||
PREFIX=/usr/local
|
||||
CC="${CC-cc}"
|
||||
CFLAGS="${CFLAGS}"
|
||||
CXX="${CXX-c++}"
|
||||
CXXFLAGS="${CXXFLAGS}"
|
||||
LDFLAGS="${LDFLAGS}"
|
||||
VERBOSE=no
|
||||
|
||||
#
|
||||
# Functions
|
||||
#
|
||||
usage()
|
||||
{
|
||||
cat << EOF
|
||||
|
||||
Options:
|
||||
--disable-openssl Disable OpenSSL, use built-in SHA1 implementation
|
||||
--disable-gtk Don't build the GTK+ GUI
|
||||
--disable-daemon Don't build the daemon
|
||||
--prefix=PATH Installation path
|
||||
--verbose Display additional information for debugging
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
CFLAGS C compiler flags
|
||||
CXX C++ compiler command
|
||||
CXXFLAGS C++ compiler flags
|
||||
LDFLAGS linker flags
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
runcmd()
|
||||
{
|
||||
if [ "$VERBOSE" = yes ]
|
||||
then
|
||||
echo "$@" >&2
|
||||
"$@"
|
||||
else
|
||||
"$@" > /dev/null 2>&1
|
||||
fi
|
||||
return $!
|
||||
}
|
||||
|
||||
verbose()
|
||||
{
|
||||
if [ "$VERBOSE" = yes ]
|
||||
then
|
||||
echo "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
cc_test()
|
||||
{
|
||||
verbose cc_test
|
||||
cat > testconf.c <<EOF
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if ! runcmd $CC -o testconf testconf.c
|
||||
then
|
||||
rm -f testconf*
|
||||
echo "Could not find a working compiler"
|
||||
exit 1
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
openssl_test()
|
||||
{
|
||||
verbose openssl_test
|
||||
cat > testconf.c << EOF
|
||||
#include <stdio.h>
|
||||
#include <openssl/sha.h>
|
||||
int main()
|
||||
{
|
||||
SHA1( 0, 0, 0 );
|
||||
}
|
||||
EOF
|
||||
if runcmd $CC $CFLAGS $LDFLAGS -o testconf testconf.c -lcrypto
|
||||
then
|
||||
echo "yes"
|
||||
OPENSSL=yes
|
||||
else
|
||||
echo "missing, using built-in SHA1 implementation"
|
||||
OPENSSL=no
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
lm_test()
|
||||
{
|
||||
verbose lm_test
|
||||
cat > testconf.c << EOF
|
||||
int main()
|
||||
{
|
||||
return cos( 42 );
|
||||
}
|
||||
EOF
|
||||
if ! runcmd $CC -o testconf testconf.c
|
||||
then
|
||||
if runcmd $CC -o testconf testconf.c -lm
|
||||
then
|
||||
LDFLAGS="-lm $LDFLAGS"
|
||||
fi
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
lrintf_test()
|
||||
{
|
||||
verbose lrintf_test
|
||||
cat > testconf.c << EOF
|
||||
int main()
|
||||
{
|
||||
return ( lrintf( 3.14 ) != 3 );
|
||||
}
|
||||
EOF
|
||||
if runcmd $CC -o testconf testconf.c $LDFLAGS && runcmd ./testconf
|
||||
then
|
||||
CFLAGS="$CFLAGS -DHAVE_LRINTF"
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
strlcpy_test()
|
||||
{
|
||||
verbose strlcpy_test
|
||||
cat > testconf.c << EOF
|
||||
#include <string.h>
|
||||
int main()
|
||||
{
|
||||
char buf[] = "1234:p";
|
||||
strlcpy( buf, "foo", sizeof buf );
|
||||
return ( 0 == memcmp( buf, "foo\0:p", 6 ) ? 0 : 1 );
|
||||
}
|
||||
EOF
|
||||
if runcmd $CC -o testconf testconf.c && runcmd ./testconf
|
||||
then
|
||||
CFLAGS="$CFLAGS -DHAVE_STRLCPY"
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
strlcat_test()
|
||||
{
|
||||
verbose strlcat_test
|
||||
cat > testconf.c << EOF
|
||||
#include <string.h>
|
||||
int main()
|
||||
{
|
||||
char buf[] = "1234567:p";
|
||||
buf[0] = '\0';
|
||||
strlcat( buf, "foo", sizeof buf );
|
||||
strlcat( buf, "bar", sizeof buf );
|
||||
return ( 0 == memcmp( buf, "foobar\0:p", 6 ) ? 0 : 1 );
|
||||
}
|
||||
EOF
|
||||
if runcmd $CC -o testconf testconf.c && runcmd ./testconf
|
||||
then
|
||||
CFLAGS="$CFLAGS -DHAVE_STRLCAT"
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
asprintf_test()
|
||||
{
|
||||
verbose asprintf_test
|
||||
cat > testconf.c <<EOF
|
||||
#define _GNU_SOURCE
|
||||
#include <stdio.h>
|
||||
int main()
|
||||
{
|
||||
asprintf( NULL, NULL );
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if runcmd $CC -o testconf testconf.c
|
||||
then
|
||||
CFLAGS="$CFLAGS -DHAVE_ASPRINTF"
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
snprintf_test()
|
||||
{
|
||||
verbose snprintf_test
|
||||
cat > testconf.c <<EOF
|
||||
#include <stdio.h>
|
||||
int main()
|
||||
{
|
||||
char buf[] = "blueberry";
|
||||
return ( 6 != snprintf( buf, 4, "%s%s", "foo", "bar" ) ||
|
||||
0 != memcmp( buf, "foo\0berry", 9 ) );
|
||||
}
|
||||
EOF
|
||||
if ! runcmd $CC -o testconf testconf.c || ! runcmd ./testconf
|
||||
then
|
||||
echo "error: broken snprintf() found"
|
||||
exit 1
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
libgen_test()
|
||||
{
|
||||
verbose libgen_test
|
||||
cat > testconf.c << EOF
|
||||
#include <libgen.h>
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if [ "x$SYSTEM" != xBeOS ]; then
|
||||
if runcmd $CC -o testconf testconf.c
|
||||
then
|
||||
CFLAGS="$CFLAGS -DHAVE_DIRNAME -DHAVE_BASENAME"
|
||||
fi
|
||||
fi
|
||||
rm -f testconf*
|
||||
}
|
||||
|
||||
gettext_test()
|
||||
{
|
||||
verbose gettext_test
|
||||
cat > testconf.c <<EOF
|
||||
#include <libintl.h>
|
||||
int main()
|
||||
{
|
||||
gettext("");
|
||||
}
|
||||
EOF
|
||||
|
||||
if runcmd $CC $CFLAGS_GTK $LDFLAGS_GTK -o testconf testconf.c
|
||||
then
|
||||
rm -f testconf*
|
||||
return 0
|
||||
fi
|
||||
|
||||
for intl_testdir in $PREFIX/include \
|
||||
/usr/local/include /usr/X11R6/include /usr/pkg/include
|
||||
do
|
||||
if runcmd $CC $CFLAGS_GTK -I$intl_testdir $LDFLAGS_GTK -o testconf testconf.c
|
||||
then
|
||||
CFLAGS_GTK="$CFLAGS_GTK -I$intl_testdir"
|
||||
rm -f testconf*
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
rm -f testconf*
|
||||
return 1
|
||||
}
|
||||
|
||||
gtk_test()
|
||||
{
|
||||
verbose gtk_test
|
||||
if runcmd pkg-config gtk+-2.0
|
||||
then
|
||||
if runcmd pkg-config --exists gtk+-2.0 '>=' 2.6.0
|
||||
then
|
||||
cat > testconf.c << EOF
|
||||
#include <gtk/gtk.h>
|
||||
int main()
|
||||
{
|
||||
gtk_main();
|
||||
}
|
||||
EOF
|
||||
if runcmd $CC `pkg-config gtk+-2.0 --cflags --libs` -o testconf testconf.c
|
||||
then
|
||||
CFLAGS_GTK=`pkg-config gtk+-2.0 --cflags`
|
||||
LDFLAGS_GTK=`pkg-config gtk+-2.0 --libs`
|
||||
if gettext_test
|
||||
then
|
||||
echo "yes"
|
||||
GTK=yes
|
||||
LOCALEDIR="$PREFIX/share/locale"
|
||||
CFLAGS_GTK="$CFLAGS_GTK -DLOCALEDIR=\\"\""$LOCALEDIR\\"\"
|
||||
else
|
||||
echo "no (could not find gettext libintl.h)"
|
||||
GTK=no
|
||||
fi
|
||||
else
|
||||
echo "no"
|
||||
GTK=no
|
||||
fi
|
||||
rm -f testconf*
|
||||
else
|
||||
echo "no (2.6.0 or later is required)"
|
||||
GTK=no
|
||||
fi
|
||||
else
|
||||
echo "no"
|
||||
GTK=no
|
||||
fi
|
||||
}
|
||||
|
||||
libevent_test()
|
||||
{
|
||||
verbose libevent_test
|
||||
cat > testconf.c <<EOF
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <event.h>
|
||||
int main()
|
||||
{
|
||||
event_init();
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
|
||||
if runcmd $CC $CFLAGS -levent $LDFLAGS -o testconf testconf.c
|
||||
then
|
||||
LIBEVENT=yes
|
||||
LDFLAGS_EVENT="-levent"
|
||||
rm -f testconf*
|
||||
return 0
|
||||
fi
|
||||
|
||||
for event_testdir in $PREFIX /usr/local /usr/X11R6 /usr/pkg
|
||||
do
|
||||
if runcmd $CC $CFLAGS -I$event_testdir/include $LDFLAGS -levent \
|
||||
-L$event_testdir/lib -o testconf testconf.c
|
||||
then
|
||||
LIBEVENT=yes
|
||||
CFLAGS_EVENT="-I$event_testdir/include"
|
||||
LDFLAGS_EVENT="-levent -L$event_testdir/lib"
|
||||
rm -f testconf*
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
LIBEVENT=no
|
||||
rm -f testconf*
|
||||
return 1
|
||||
}
|
||||
|
||||
#
|
||||
# Parse options
|
||||
#
|
||||
while [ $# -ne 0 ]; do
|
||||
param=`expr "opt$1" : 'opt[^=]*=\(.*\)'`
|
||||
|
||||
case "x$1" in
|
||||
x--disable-openssl|x--without-openssl)
|
||||
OPENSSL=no
|
||||
;;
|
||||
x--disable-daemon|x--without-daemon)
|
||||
LIBEVENT=no
|
||||
;;
|
||||
x--disable-gtk|x--without-gtk)
|
||||
GTK=no
|
||||
;;
|
||||
x--prefix=*)
|
||||
PREFIX="$param"
|
||||
;;
|
||||
x--verbose)
|
||||
VERBOSE=yes
|
||||
;;
|
||||
x--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
#
|
||||
# System-specific flags
|
||||
#
|
||||
SYSTEM=`uname -s`
|
||||
case $SYSTEM in
|
||||
BeOS)
|
||||
RELEASE=`uname -r`
|
||||
case $RELEASE in
|
||||
6.*|5.0.4) # Zeta or R5 / BONE beta 7
|
||||
;;
|
||||
5.0*) # R5 / net_server
|
||||
BEOS_NETSERVER=yes
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported BeOS version"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
GCCVER=`$CC -dumpversion`
|
||||
case $GCCVER in
|
||||
2.95.3*|3*|4*)
|
||||
;;
|
||||
2.9*)
|
||||
BEOS_OLDCC=yes
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported gcc version"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
Darwin)
|
||||
# Make sure the Universal SDK is installed
|
||||
if [ ! -d /Developer/SDKs/MacOSX10.4u.sdk ]; then
|
||||
cat << EOF
|
||||
You need to install the Universal SDK in order to build Transmission:
|
||||
Get your Xcode CD or package
|
||||
Restart the install
|
||||
When it gets to "Installation Type", select "Customize"
|
||||
Select "Mac OS X 10.4 (Universal) SDK" under "Cross Development"
|
||||
Finish the install.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
PTHREAD=yes
|
||||
;;
|
||||
|
||||
FreeBSD|NetBSD|OpenBSD|Linux|skyos)
|
||||
PTHREAD=yes
|
||||
;;
|
||||
|
||||
CYGWIN*)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unsupported operating system"
|
||||
exit 1 ;;
|
||||
esac
|
||||
echo "System: $SYSTEM"
|
||||
|
||||
#
|
||||
# First things first, check to see if there's a compiler installed
|
||||
#
|
||||
cc_test
|
||||
|
||||
#
|
||||
# OpenSSL settings
|
||||
#
|
||||
echo -n "OpenSSL: "
|
||||
if [ "$OPENSSL" = no ]; then
|
||||
echo "disabled, using built-in SHA1 implementation"
|
||||
else
|
||||
openssl_test
|
||||
fi
|
||||
if [ "$OPENSSL" = no ] && [ "$BEOS_OLDCC" = yes ]; then
|
||||
echo "built-in SHA1 implementation not supported with your gcc version"
|
||||
echo "you must either install OpenSSL or gcc 2.95.3 or newer"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# GTK+ settings
|
||||
#
|
||||
echo -n "GTK+: "
|
||||
if [ "x$GTK" = xno ]; then
|
||||
echo "disabled"
|
||||
else
|
||||
gtk_test
|
||||
if [ "x$GTK" = xno ] && [ "x$SYSTEM" = xLinux ]; then
|
||||
cat <<EOF
|
||||
|
||||
*** GTK+ was not found, transmission-gtk will *NOT* be built. If you
|
||||
*** wish to use the graphical version of Transmission then you will
|
||||
*** need to install GTK+ headers and libraries. Try using your
|
||||
*** distribution's package management utility to find a package called
|
||||
*** libgtk2.0-dev, gtk2-devel, or something similar; then install it
|
||||
*** and re-run this script.
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# libevent settings
|
||||
#
|
||||
echo -n "Daemon: "
|
||||
if [ "$LIBEVENT" = no ]; then
|
||||
echo "disabled"
|
||||
else
|
||||
if libevent_test; then
|
||||
echo "yes"
|
||||
else
|
||||
echo "no (can't find libevent)"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Math functions
|
||||
#
|
||||
lm_test
|
||||
lrintf_test
|
||||
|
||||
#
|
||||
# String functions
|
||||
#
|
||||
strlcpy_test
|
||||
strlcat_test
|
||||
asprintf_test
|
||||
snprintf_test
|
||||
libgen_test
|
||||
|
||||
#
|
||||
# Generate config.mk
|
||||
#
|
||||
rm -f mk/config.mk
|
||||
cat > mk/config.mk << EOF
|
||||
SYSTEM = $SYSTEM
|
||||
PREFIX = $PREFIX
|
||||
LOCALEDIR = $LOCALEDIR
|
||||
BEOS_NETSERVER = $BEOS_NETSERVER
|
||||
PTHREAD = $PTHREAD
|
||||
OPENSSL = $OPENSSL
|
||||
GTK = $GTK
|
||||
DAEMON = $LIBEVENT
|
||||
CC = $CC
|
||||
CFLAGS = $CFLAGS
|
||||
CXX = $CXX
|
||||
CXXFLAGS = $CXXFLAGS
|
||||
LDFLAGS = $LDFLAGS
|
||||
CFLAGS_GTK = $CFLAGS_GTK
|
||||
LDFLAGS_GTK = $LDFLAGS_GTK
|
||||
CFLAGS_EVENT = $CFLAGS_EVENT
|
||||
LDFLAGS_EVENT = $LDFLAGS_EVENT
|
||||
EOF
|
||||
|
||||
echo
|
||||
echo "Now use GNU make to build Transmission."
|
||||
echo "It may be called 'make' or 'gmake' depending on your system."
|
||||
|
70
mk/daemon.mk
70
mk/daemon.mk
|
@ -1,70 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include ../mk/config.mk
|
||||
include ../mk/common.mk
|
||||
|
||||
COMSRCS = errors.c misc.c
|
||||
SRVSRCS = daemon.c server.c torrents.c
|
||||
CLISRCS = client.c remote.c
|
||||
PXYSRCS = proxy.c
|
||||
|
||||
COMOBJS = $(COMSRCS:%.c=%.o)
|
||||
SRVOBJS = $(SRVSRCS:%.c=%.o)
|
||||
CLIOBJS = $(CLISRCS:%.c=%.o)
|
||||
PXYOBJS = $(PXYSRCS:%.c=%.o)
|
||||
SRCS = $(COMSRCS) $(SRVSRCS) $(CLISRCS) $(PXYSRCS)
|
||||
|
||||
CFLAGS += $(CFLAGS_EVENT) -I..
|
||||
LDLIBS += ../libtransmission/libtransmission.a
|
||||
LDFLAGS += $(LDFLAGS_EVENT)
|
||||
|
||||
all: transmission-daemon transmission-remote transmission-proxy
|
||||
|
||||
transmission-daemon: OBJS = $(SRVOBJS) $(COMOBJS)
|
||||
transmission-daemon: $(LDLIBS) $(SRVOBJS) $(COMOBJS)
|
||||
$(LINK_RULE)
|
||||
|
||||
transmission-remote: OBJS = $(CLIOBJS) $(COMOBJS)
|
||||
transmission-remote: $(LDLIBS) $(CLIOBJS) $(COMOBJS)
|
||||
$(LINK_RULE)
|
||||
|
||||
transmission-proxy: OBJS = $(PXYOBJS) $(COMOBJS)
|
||||
transmission-proxy: $(LDLIBS) $(PXYOBJS) $(COMOBJS)
|
||||
$(LINK_RULE)
|
||||
|
||||
%.o: %.c ../mk/config.mk ../mk/common.mk ../mk/daemon.mk
|
||||
$(CC_RULE)
|
||||
|
||||
clean:
|
||||
@echo "Clean transmission-daemon"
|
||||
@echo "Clean transmission-remote"
|
||||
@echo "Clean transmission-proxy"
|
||||
@echo "Clean $(COMOBJS) $(SRVOBJS) $(CLIOBJS) $(PXYOBJS)"
|
||||
@$(RM) transmission-daemon transmission-remote
|
||||
@$(RM) $(COMOBJS) $(SRVOBJS) $(CLIOBJS) $(PXYOBJS)
|
||||
|
||||
.depend: $(SRCS) ../mk/config.mk ../mk/common.mk ../mk/daemon.mk
|
||||
$(DEP_RULE)
|
||||
|
||||
install: install.srv install.srv.man install.cli install.cli.man \
|
||||
install.pxy install.pxy.man
|
||||
|
||||
install.srv: transmission-daemon
|
||||
$(INSTALL_BIN_RULE)
|
||||
|
||||
install.srv.man: transmission-daemon.1
|
||||
$(INSTALL_MAN_RULE)
|
||||
|
||||
install.cli: transmission-remote
|
||||
$(INSTALL_BIN_RULE)
|
||||
|
||||
install.cli.man: transmission-remote.1
|
||||
$(INSTALL_MAN_RULE)
|
||||
|
||||
install.pxy: transmission-proxy
|
||||
$(INSTALL_BIN_RULE)
|
||||
|
||||
install.pxy.man: transmission-proxy.1
|
||||
$(INSTALL_MAN_RULE)
|
||||
|
||||
-include .depend
|
|
@ -1,71 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include mk/config.mk
|
||||
include mk/common.mk
|
||||
|
||||
TARGETS = .cli
|
||||
ifeq ($(GTK),yes)
|
||||
TARGETS += .gtk
|
||||
endif
|
||||
ifeq ($(DAEMON),yes)
|
||||
TARGETS += .daemon
|
||||
endif
|
||||
ifeq ($(SYSTEM),BeOS)
|
||||
TARGETS += .beos
|
||||
endif
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
.lib:
|
||||
@echo "* Building libtransmission"
|
||||
@$(MAKE) $(MAKEARGS) -C libtransmission -f ../mk/lib.mk
|
||||
|
||||
.cli: .lib
|
||||
@echo "* Building Transmission CLI client"
|
||||
@$(MAKE) $(MAKEARGS) -C cli -f ../mk/cli.mk
|
||||
|
||||
.gtk: .lib
|
||||
@echo "* Building Transmission GTK+ client"
|
||||
@$(MAKE) $(MAKEARGS) -C gtk -f ../mk/gtk.mk
|
||||
|
||||
.daemon: .lib
|
||||
@echo "* Building Transmission daemon client"
|
||||
@$(MAKE) $(MAKEARGS) -C daemon -f ../mk/daemon.mk
|
||||
|
||||
.beos: .lib
|
||||
@echo "* Building Transmission BeOS client"
|
||||
@$(MAKE) $(MAKEARGS) -C beos -f ../mk/beos.mk
|
||||
|
||||
install: all $(foreach SUB,$(TARGETS),.install$(SUB)) .install.misc
|
||||
|
||||
.install.cli: .cli
|
||||
@echo "* Installing Transmission CLI client"
|
||||
@$(MAKE) $(MAKEARGS) -C cli -f ../mk/cli.mk install
|
||||
|
||||
.install.gtk: .gtk
|
||||
@echo "* Installing Transmission GTK+ client"
|
||||
@$(MAKE) $(MAKEARGS) -C gtk -f ../mk/gtk.mk install
|
||||
|
||||
.install.daemon: .daemon
|
||||
@echo "* Installing Transmission daemon client"
|
||||
@$(MAKE) $(MAKEARGS) -C daemon -f ../mk/daemon.mk install
|
||||
|
||||
.install.beos:
|
||||
|
||||
.install.misc:
|
||||
@echo "* Installing Zsh completion file"
|
||||
@$(MKDIR) $(DESTDIR)$(PREFIX)/share/zsh/site-functions
|
||||
@$(CP) misc/transmissioncli.zsh $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_transmissioncli
|
||||
|
||||
clean:
|
||||
@$(MAKE) $(MAKEARGS) -C libtransmission -f ../mk/lib.mk clean
|
||||
@$(MAKE) $(MAKEARGS) -C cli -f ../mk/cli.mk clean
|
||||
ifeq ($(GTK),yes)
|
||||
@$(MAKE) $(MAKEARGS) -C gtk -f ../mk/gtk.mk clean
|
||||
endif
|
||||
ifeq ($(DAEMON),yes)
|
||||
@$(MAKE) $(MAKEARGS) -C daemon -f ../mk/daemon.mk clean
|
||||
endif
|
||||
ifeq ($(SYSTEM),BeOS)
|
||||
@$(MAKE) $(MAKEARGS) -C beos -f ../mk/beos.mk clean
|
||||
endif
|
53
mk/gtk.mk
53
mk/gtk.mk
|
@ -1,53 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include ../mk/config.mk
|
||||
include ../mk/common.mk
|
||||
|
||||
SRCS = actions.c conf.c dialogs.c hig.c io.c ipc.c main.c msgwin.c \
|
||||
makemeta-ui.c torrent-inspector.c tr_cell_renderer_progress.c \
|
||||
tr_core.c tr_icon.c tr_prefs.c tr_torrent.c tr_window.c util.c
|
||||
OBJS = $(SRCS:%.c=%.o)
|
||||
|
||||
CFLAGS += $(CFLAGS_GTK) -I..
|
||||
LDFLAGS += $(LDFLAGS_GTK)
|
||||
LDLIBS += ../libtransmission/libtransmission.a
|
||||
|
||||
all: transmission-gtk .po
|
||||
@true
|
||||
|
||||
transmission-gtk: $(OBJS) ../libtransmission/libtransmission.a
|
||||
$(LINK_RULE)
|
||||
|
||||
.po:
|
||||
@$(MAKE) $(MAKEARGS) -C po -f ../../mk/po.mk
|
||||
|
||||
%.o: %.c ../mk/config.mk ../mk/common.mk ../mk/gtk.mk
|
||||
$(CC_RULE)
|
||||
|
||||
clean:
|
||||
@echo "Clean transmission-gtk"
|
||||
@$(RM) transmission-gtk
|
||||
@echo "Clean $(OBJS)"
|
||||
@$(RM) $(OBJS)
|
||||
@$(MAKE) $(MAKEARGS) -C po -f ../../mk/po.mk clean
|
||||
|
||||
.depend: $(SRCS) ../mk/config.mk ../mk/common.mk ../mk/gtk.mk
|
||||
$(DEP_RULE)
|
||||
|
||||
install: transmission-gtk man.install desktop.install icon.install .po
|
||||
$(INSTALL_BIN_RULE)
|
||||
@$(MAKE) $(MAKEARGS) -C po -f ../../mk/po.mk install
|
||||
|
||||
desktop.install: transmission-gtk.desktop
|
||||
$(INSTALL_DESKTOP_RULE)
|
||||
|
||||
icon.install: transmission.png
|
||||
$(INSTALL_ICON_RULE)
|
||||
|
||||
man.install: transmission-gtk.1
|
||||
$(INSTALL_MAN_RULE)
|
||||
|
||||
morepot: $(SRCS)
|
||||
xgettext --output=po/transmission-gtk.pot --from-code=UTF-8 --add-comments --keyword=_ --keyword=N_ $^
|
||||
|
||||
-include .depend
|
57
mk/lib.mk
57
mk/lib.mk
|
@ -1,57 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include ../mk/config.mk
|
||||
include ../mk/common.mk
|
||||
|
||||
SRCS = \
|
||||
basename.c \
|
||||
bencode.c \
|
||||
choking.c \
|
||||
clients.c \
|
||||
completion.c \
|
||||
dirname.c \
|
||||
fastresume.c \
|
||||
fdlimit.c \
|
||||
http.c \
|
||||
inout.c \
|
||||
ipcparse.c \
|
||||
list.c \
|
||||
makemeta.c \
|
||||
metainfo.c \
|
||||
natpmp.c \
|
||||
net.c \
|
||||
peer.c \
|
||||
platform.c \
|
||||
ratecontrol.c \
|
||||
sha1.c \
|
||||
shared.c \
|
||||
strlcat.c \
|
||||
strlcpy.c \
|
||||
torrent.c \
|
||||
tracker.c \
|
||||
transmission.c \
|
||||
upnp.c \
|
||||
utils.c \
|
||||
xml.c
|
||||
|
||||
OBJS = $(SRCS:%.c=%.o)
|
||||
|
||||
CFLAGS += -D__TRANSMISSION__
|
||||
|
||||
libtransmission.a: $(OBJS)
|
||||
@echo "Library $@"
|
||||
@ar ru $@ $(OBJS)
|
||||
@ranlib $@
|
||||
|
||||
%.o: %.c ../mk/config.mk ../mk/common.mk ../mk/cli.mk
|
||||
$(CC_RULE)
|
||||
|
||||
clean:
|
||||
@echo "Clean libtransmission.a"
|
||||
@echo "Clean $(OBJS)"
|
||||
@$(RM) libtransmission.a $(OBJS)
|
||||
|
||||
.depend: $(SRCS) ../mk/config.mk ../mk/common.mk ../mk/cli.mk
|
||||
$(DEP_RULE)
|
||||
|
||||
-include .depend
|
43
mk/osx.mk
43
mk/osx.mk
|
@ -1,43 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
#
|
||||
# Use Xcode do make the actual build
|
||||
#
|
||||
all:
|
||||
@xcodebuild -alltargets -activeconfiguration | grep -v "^$$"
|
||||
clean:
|
||||
@xcodebuild -alltargets -activeconfiguration clean | grep -v "^$$"
|
||||
|
||||
|
||||
#
|
||||
# Package generation
|
||||
# Check if this is a release or an SVN build
|
||||
#
|
||||
include mk/version.mk
|
||||
ifeq ($(STABLE_RELEASE),"yes")
|
||||
VERSION_PACKAGE = $(VERSION_STRING)
|
||||
else
|
||||
VERSION_PACKAGE = $(VERSION_STRING)-r$(VERSION_REVISION)
|
||||
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)
|
24
mk/po.mk
24
mk/po.mk
|
@ -1,24 +0,0 @@
|
|||
# $Id$
|
||||
|
||||
include ../../mk/config.mk
|
||||
include ../../mk/common.mk
|
||||
|
||||
POFILES = $(wildcard *.po)
|
||||
MOFILES = $(POFILES:%.po=%.mo)
|
||||
|
||||
all: $(MOFILES)
|
||||
@true
|
||||
|
||||
%.mo: %.po ../../mk/config.mk ../../mk/common.mk ../../mk/po.mk
|
||||
$(MSGFMT_RULE)
|
||||
|
||||
%.mo.install: %.mo
|
||||
$(INSTALL_LOCALE_RULE)
|
||||
|
||||
clean:
|
||||
@echo "Clean $(MOFILES)"
|
||||
@$(RM) $(MOFILES)
|
||||
|
||||
install: $(MOFILES) $(MOFILES:%.mo=%.mo.install)
|
||||
|
||||
-include .depend
|
Loading…
Reference in New Issue