Browse Source

2007-11-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

	Added ifdef and some modifications to compile without 
BitTorrent,
	Metalink, MessageDigest
	support.
	* src/PieceHashCheckIntegrityEntry.cc
	* src/MetalinkEntry.h
	* src/version_usage.cc
	* src/main.cc
	* src/DownloadEngine.{h, cc}
	* src/Metalink2RequestGroup.cc
	* src/Peer.cc
	* src/RequestGroup.cc
	* src/MetalinkHelper.cc
	* test/DefaultPieceStorageTest.cc
	* test/MetalinkPostDownloadHandlerTest.cc
	* test/Metalink2RequestGroupTest.cc

	Hide TOTAL SPD when all downloads complete.
	* src/ConsoleStatCalc.cc

	Log target system information.
	* src/main.cc
Tatsuhiro Tsujikawa 18 năm trước cách đây
mục cha
commit
a31dbb5804

+ 24 - 0
ChangeLog

@@ -1,3 +1,27 @@
+2007-11-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
+
+	Added ifdef and some modifications to compile without BitTorrent,
+	Metalink, MessageDigest
+	support.
+	* src/PieceHashCheckIntegrityEntry.cc
+	* src/MetalinkEntry.h
+	* src/version_usage.cc
+	* src/main.cc
+	* src/DownloadEngine.{h, cc}
+	* src/Metalink2RequestGroup.cc
+	* src/Peer.cc
+	* src/RequestGroup.cc
+	* src/MetalinkHelper.cc
+	* test/DefaultPieceStorageTest.cc
+	* test/MetalinkPostDownloadHandlerTest.cc
+	* test/Metalink2RequestGroupTest.cc
+
+	Hide TOTAL SPD when all downloads complete.
+	* src/ConsoleStatCalc.cc
+
+	Log target system information.
+	* src/main.cc
+	
 2007-11-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Now --metalink-location accepts a comma-deliminated list of locations.

+ 0 - 1
TODO

@@ -58,4 +58,3 @@
 -- remaining issues to be implemented for 0.12.0 release
 * Update man page
 * Update translation
-* Test configuration(without torrent/messagedigest/ssh etc)

+ 3 - 0
config.h.in

@@ -415,6 +415,9 @@
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
+/* Define target-type */
+#undef TARGET
+
 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
 #undef TIME_WITH_SYS_TIME
 

+ 8 - 0
configure

@@ -2598,6 +2598,12 @@ case "$target" in
 		;;
 esac
 
+
+cat >>confdefs.h <<_ACEOF
+#define TARGET "$target"
+_ACEOF
+
+
 # Set localedir
 localedir=${datadir}/locale
 
@@ -5832,6 +5838,7 @@ else
 fi
 
 else
+    enable_bittorrent=no
 
 
 if false; then
@@ -5861,6 +5868,7 @@ else
 fi
 
 else
+    enable_metalink=no
 
 
 if false; then

+ 4 - 0
configure.ac

@@ -17,6 +17,8 @@ case "$target" in
 		;;
 esac
 
+AC_DEFINE_UNQUOTED([TARGET], ["$target"], [Define target-type])
+
 # Set localedir
 localedir=${datadir}/locale
 AC_SUBST(localedir)
@@ -91,6 +93,7 @@ if test "x$enable_bittorrent" = "xyes" && test "x$enable_message_digest" = "xyes
     AC_DEFINE([ENABLE_BITTORRENT], [1], [Define to 1 if BitTorrent support is enabled.])
     AM_CONDITIONAL([ENABLE_BITTORRENT], true)
 else
+    enable_bittorrent=no
     AM_CONDITIONAL([ENABLE_BITTORRENT], false)
 fi
 
@@ -98,6 +101,7 @@ if test "x$have_libxml2" = "xyes" && test "x$enable_metalink" = "xyes"; then
     AC_DEFINE([ENABLE_METALINK], [1], [Define to 1 if Metalink support is enabled.])
     AM_CONDITIONAL([ENABLE_METALINK], true)
 else
+    enable_metalink=no
     AM_CONDITIONAL([ENABLE_METALINK], false)
 fi
 

+ 2 - 1
src/ConsoleStatCalc.cc

@@ -116,7 +116,8 @@ ConsoleStatCalc::calculateStat(const RequestGroupManHandle& requestGroupMan,
     }
   }
 
-  if(requestGroupMan->countRequestGroup() > 1) {
+  if(requestGroupMan->countRequestGroup() > 1 &&
+     !requestGroupMan->downloadFinished()) {
     TransferStat stat = requestGroupMan->calculateStat();
     cout << " "
 	 << "[TOTAL SPD:"

+ 1 - 6
src/DownloadEngine.cc

@@ -39,9 +39,7 @@
 #include "RequestGroup.h"
 #include "RequestGroupMan.h"
 #include "FileAllocationMan.h"
-#ifdef ENABLE_MESSAGE_DIGEST
 #include "CheckIntegrityMan.h"
-#endif // ENABLE_MESSAGE_DIGEST
 #include "Util.h"
 #include "LogFactory.h"
 #include "TimeA2.h"
@@ -84,11 +82,8 @@ DownloadEngine::DownloadEngine():logger(LogFactory::getInstance()),
 				 _haltRequested(false),
 				 noWait(false),
 				 _requestGroupMan(0),
-				 _fileAllocationMan(0)
-#ifdef ENABLE_MESSAGE_DIGEST
-				,
+				 _fileAllocationMan(0),
 				 _checkIntegrityMan(0)
-#endif // ENABLE_MESSAGE_DIGEST
 {}
 
 DownloadEngine::~DownloadEngine() {

+ 0 - 4
src/DownloadEngine.h

@@ -51,10 +51,8 @@ class FileAllocationMan;
 extern typedef SharedHandle<FileAllocationMan> FileAllocationManHandle;
 class StatCalc;
 extern typedef SharedHandle<StatCalc> StatCalcHandle;
-#ifdef ENABLE_MESSAGE_DIGEST
 class CheckIntegrityMan;
 extern typedef SharedHandle<CheckIntegrityMan> CheckIntegrityManHandle;
-#endif // ENABLE_MESSAGE_DIGEST
 
 class SocketEntry {
 public:
@@ -128,9 +126,7 @@ public:
   Commands commands;
   RequestGroupManHandle _requestGroupMan;
   FileAllocationManHandle _fileAllocationMan;
-#ifdef ENABLE_MESSAGE_DIGEST
   CheckIntegrityManHandle _checkIntegrityMan;
-#endif // ENABLE_MESSAGE_DIGEST
   const Option* option;
   
   DownloadEngine();

+ 17 - 16
src/Makefile.am

@@ -113,6 +113,8 @@ SRCS =  Socket.h\
 	AlphaNumberDecorator.h\
 	TimeBasedCommand.cc TimeBasedCommand.h\
 	AutoSaveCommand.cc AutoSaveCommand.h\
+	PieceStorage.h\
+	DefaultPieceStorage.cc DefaultPieceStorage.h\
 	UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h\
 	StatCalc.h\
 	ConsoleStatCalc.cc ConsoleStatCalc.h\
@@ -125,19 +127,28 @@ SRCS =  Socket.h\
 	SingleFileAllocationIterator.cc SingleFileAllocationIterator.h\
 	PostDownloadHandler.cc PostDownloadHandler.h\
 	HaveEraseCommand.cc HaveEraseCommand.h\
-	Piece.cc Piece.h
+	Piece.cc Piece.h\
+	CheckIntegrityMan.cc CheckIntegrityMan.h\
+	CheckIntegrityEntry.cc CheckIntegrityEntry.h\
+	PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\
+	StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
+	IteratableValidator.h\
+	DiskAdaptor.cc DiskAdaptor.h\
+	AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
+	CopyDiskAdaptor.cc CopyDiskAdaptor.h\
+	DirectDiskAdaptor.cc DirectDiskAdaptor.h\
+	MultiDiskAdaptor.cc MultiDiskAdaptor.h\
+	Peer.cc Peer.h\
+	BtRegistry.cc BtRegistry.h\
+	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
+	PeerConnection.cc PeerConnection.h
 #	debug_new.cpp
 
 if ENABLE_MESSAGE_DIGEST
 SRCS += IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\
 	IteratableChecksumValidator.cc IteratableChecksumValidator.h\
-	IteratableValidator.h\
 	CheckIntegrityCommand.cc CheckIntegrityCommand.h\
-	CheckIntegrityEntry.cc CheckIntegrityEntry.h\
-	PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\
-	StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
 	ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h\
-	CheckIntegrityMan.cc CheckIntegrityMan.h\
 	messageDigest.cc messageDigest.h\
 	MessageDigestHelper.cc MessageDigestHelper.h
 endif # ENABLE_MESSAGE_DIGEST
@@ -150,7 +161,6 @@ SRCS += MetaEntry.h\
 	MetaFileUtil.cc MetaFileUtil.h\
 	MetaEntryVisitor.h\
 	ShaVisitor.cc ShaVisitor.h\
-	PeerConnection.cc PeerConnection.h\
 	PeerMessageUtil.cc PeerMessageUtil.h\
 	PeerAbstractCommand.cc PeerAbstractCommand.h\
 	PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
@@ -160,11 +170,6 @@ SRCS += MetaEntry.h\
 	RequestSlot.cc RequestSlot.h\
 	Directory.cc Directory.h\
 	TrackerWatcherCommand.cc TrackerWatcherCommand.h\
-	DiskAdaptor.cc DiskAdaptor.h\
-	AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
-	CopyDiskAdaptor.cc CopyDiskAdaptor.h\
-	DirectDiskAdaptor.cc DirectDiskAdaptor.h\
-	MultiDiskAdaptor.cc MultiDiskAdaptor.h\
 	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
 	PeerChokeCommand.cc PeerChokeCommand.h\
 	SeedCriteria.h\
@@ -180,12 +185,9 @@ SRCS += MetaEntry.h\
 	AnnounceList.h AnnounceList.cc\
 	BtContext.h\
 	DefaultBtContext.cc DefaultBtContext.h\
-	PieceStorage.h\
-	DefaultPieceStorage.cc DefaultPieceStorage.h\
 	DefaultPeerStorage.cc DefaultPeerStorage.h\
 	BtAnnounce.h\
 	DefaultBtAnnounce.cc DefaultBtAnnounce.h\
-	BtRegistry.cc BtRegistry.h\
 	BtRuntime.h\
 	BtContextAwareCommand.cc BtContextAwareCommand.h\
 	BtMessage.h\
@@ -241,7 +243,6 @@ SRCS += MetaEntry.h\
 	BtSetup.cc BtSetup.h\
 	BtFileAllocationEntry.cc BtFileAllocationEntry.h\
 	BtPostDownloadHandler.cc BtPostDownloadHandler.h\
-	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
 	BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h
 endif # ENABLE_BITTORRENT
 

+ 66 - 72
src/Makefile.in

@@ -42,13 +42,8 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 #	debug_new.cpp
 @ENABLE_MESSAGE_DIGEST_TRUE@am__append_1 = IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\
 @ENABLE_MESSAGE_DIGEST_TRUE@	IteratableChecksumValidator.cc IteratableChecksumValidator.h\
-@ENABLE_MESSAGE_DIGEST_TRUE@	IteratableValidator.h\
 @ENABLE_MESSAGE_DIGEST_TRUE@	CheckIntegrityCommand.cc CheckIntegrityCommand.h\
-@ENABLE_MESSAGE_DIGEST_TRUE@	CheckIntegrityEntry.cc CheckIntegrityEntry.h\
-@ENABLE_MESSAGE_DIGEST_TRUE@	PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\
-@ENABLE_MESSAGE_DIGEST_TRUE@	StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
 @ENABLE_MESSAGE_DIGEST_TRUE@	ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h\
-@ENABLE_MESSAGE_DIGEST_TRUE@	CheckIntegrityMan.cc CheckIntegrityMan.h\
 @ENABLE_MESSAGE_DIGEST_TRUE@	messageDigest.cc messageDigest.h\
 @ENABLE_MESSAGE_DIGEST_TRUE@	MessageDigestHelper.cc MessageDigestHelper.h
 
@@ -59,7 +54,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 @ENABLE_BITTORRENT_TRUE@	MetaFileUtil.cc MetaFileUtil.h\
 @ENABLE_BITTORRENT_TRUE@	MetaEntryVisitor.h\
 @ENABLE_BITTORRENT_TRUE@	ShaVisitor.cc ShaVisitor.h\
-@ENABLE_BITTORRENT_TRUE@	PeerConnection.cc PeerConnection.h\
 @ENABLE_BITTORRENT_TRUE@	PeerMessageUtil.cc PeerMessageUtil.h\
 @ENABLE_BITTORRENT_TRUE@	PeerAbstractCommand.cc PeerAbstractCommand.h\
 @ENABLE_BITTORRENT_TRUE@	PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
@@ -69,11 +63,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 @ENABLE_BITTORRENT_TRUE@	RequestSlot.cc RequestSlot.h\
 @ENABLE_BITTORRENT_TRUE@	Directory.cc Directory.h\
 @ENABLE_BITTORRENT_TRUE@	TrackerWatcherCommand.cc TrackerWatcherCommand.h\
-@ENABLE_BITTORRENT_TRUE@	DiskAdaptor.cc DiskAdaptor.h\
-@ENABLE_BITTORRENT_TRUE@	AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
-@ENABLE_BITTORRENT_TRUE@	CopyDiskAdaptor.cc CopyDiskAdaptor.h\
-@ENABLE_BITTORRENT_TRUE@	DirectDiskAdaptor.cc DirectDiskAdaptor.h\
-@ENABLE_BITTORRENT_TRUE@	MultiDiskAdaptor.cc MultiDiskAdaptor.h\
 @ENABLE_BITTORRENT_TRUE@	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
 @ENABLE_BITTORRENT_TRUE@	PeerChokeCommand.cc PeerChokeCommand.h\
 @ENABLE_BITTORRENT_TRUE@	SeedCriteria.h\
@@ -89,12 +78,9 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 @ENABLE_BITTORRENT_TRUE@	AnnounceList.h AnnounceList.cc\
 @ENABLE_BITTORRENT_TRUE@	BtContext.h\
 @ENABLE_BITTORRENT_TRUE@	DefaultBtContext.cc DefaultBtContext.h\
-@ENABLE_BITTORRENT_TRUE@	PieceStorage.h\
-@ENABLE_BITTORRENT_TRUE@	DefaultPieceStorage.cc DefaultPieceStorage.h\
 @ENABLE_BITTORRENT_TRUE@	DefaultPeerStorage.cc DefaultPeerStorage.h\
 @ENABLE_BITTORRENT_TRUE@	BtAnnounce.h\
 @ENABLE_BITTORRENT_TRUE@	DefaultBtAnnounce.cc DefaultBtAnnounce.h\
-@ENABLE_BITTORRENT_TRUE@	BtRegistry.cc BtRegistry.h\
 @ENABLE_BITTORRENT_TRUE@	BtRuntime.h\
 @ENABLE_BITTORRENT_TRUE@	BtContextAwareCommand.cc BtContextAwareCommand.h\
 @ENABLE_BITTORRENT_TRUE@	BtMessage.h\
@@ -150,7 +136,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
 @ENABLE_BITTORRENT_TRUE@	BtSetup.cc BtSetup.h\
 @ENABLE_BITTORRENT_TRUE@	BtFileAllocationEntry.cc BtFileAllocationEntry.h\
 @ENABLE_BITTORRENT_TRUE@	BtPostDownloadHandler.cc BtPostDownloadHandler.h\
-@ENABLE_BITTORRENT_TRUE@	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
 @ENABLE_BITTORRENT_TRUE@	BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h
 
 @ENABLE_METALINK_TRUE@am__append_3 = Metalinker.cc Metalinker.h\
@@ -262,7 +247,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 	ParameterizedStringParser.cc ParameterizedStringParser.h \
 	FixedWidthNumberDecorator.h NumberDecorator.h \
 	AlphaNumberDecorator.h TimeBasedCommand.cc TimeBasedCommand.h \
-	AutoSaveCommand.cc AutoSaveCommand.h \
+	AutoSaveCommand.cc AutoSaveCommand.h PieceStorage.h \
+	DefaultPieceStorage.cc DefaultPieceStorage.h \
 	UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h \
 	StatCalc.h ConsoleStatCalc.cc ConsoleStatCalc.h \
 	TransferStat.cc TransferStat.h Dependency.h \
@@ -271,49 +257,51 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 	FileAllocationIterator.h SingleFileAllocationIterator.cc \
 	SingleFileAllocationIterator.h PostDownloadHandler.cc \
 	PostDownloadHandler.h HaveEraseCommand.cc HaveEraseCommand.h \
-	Piece.cc Piece.h IteratableChunkChecksumValidator.cc \
+	Piece.cc Piece.h CheckIntegrityMan.cc CheckIntegrityMan.h \
+	CheckIntegrityEntry.cc CheckIntegrityEntry.h \
+	PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h \
+	StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h \
+	IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \
+	AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \
+	CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \
+	DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \
+	Peer.cc Peer.h BtRegistry.cc BtRegistry.h \
+	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
+	PeerConnection.cc PeerConnection.h \
+	IteratableChunkChecksumValidator.cc \
 	IteratableChunkChecksumValidator.h \
 	IteratableChecksumValidator.cc IteratableChecksumValidator.h \
-	IteratableValidator.h CheckIntegrityCommand.cc \
-	CheckIntegrityCommand.h CheckIntegrityEntry.cc \
-	CheckIntegrityEntry.h PieceHashCheckIntegrityEntry.cc \
-	PieceHashCheckIntegrityEntry.h StreamCheckIntegrityEntry.cc \
-	StreamCheckIntegrityEntry.h ChecksumCheckIntegrityEntry.cc \
-	ChecksumCheckIntegrityEntry.h CheckIntegrityMan.cc \
-	CheckIntegrityMan.h messageDigest.cc messageDigest.h \
-	MessageDigestHelper.cc MessageDigestHelper.h MetaEntry.h \
-	Data.cc Data.h Dictionary.cc Dictionary.h List.cc List.h \
-	MetaFileUtil.cc MetaFileUtil.h MetaEntryVisitor.h \
-	ShaVisitor.cc ShaVisitor.h PeerConnection.cc PeerConnection.h \
+	CheckIntegrityCommand.cc CheckIntegrityCommand.h \
+	ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h \
+	messageDigest.cc messageDigest.h MessageDigestHelper.cc \
+	MessageDigestHelper.h MetaEntry.h Data.cc Data.h Dictionary.cc \
+	Dictionary.h List.cc List.h MetaFileUtil.cc MetaFileUtil.h \
+	MetaEntryVisitor.h ShaVisitor.cc ShaVisitor.h \
 	PeerMessageUtil.cc PeerMessageUtil.h PeerAbstractCommand.cc \
 	PeerAbstractCommand.h PeerInitiateConnectionCommand.cc \
 	PeerInitiateConnectionCommand.h PeerInteractionCommand.cc \
-	PeerInteractionCommand.h Peer.cc Peer.h PeerListenCommand.cc \
+	PeerInteractionCommand.h PeerListenCommand.cc \
 	PeerListenCommand.h RequestSlot.cc RequestSlot.h Directory.cc \
 	Directory.h TrackerWatcherCommand.cc TrackerWatcherCommand.h \
-	DiskAdaptor.cc DiskAdaptor.h AbstractSingleDiskAdaptor.cc \
-	AbstractSingleDiskAdaptor.h CopyDiskAdaptor.cc \
-	CopyDiskAdaptor.h DirectDiskAdaptor.cc DirectDiskAdaptor.h \
-	MultiDiskAdaptor.cc MultiDiskAdaptor.h ByteArrayDiskWriter.cc \
-	ByteArrayDiskWriter.h PeerChokeCommand.cc PeerChokeCommand.h \
-	SeedCriteria.h TimeSeedCriteria.h ShareRatioSeedCriteria.h \
+	ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \
+	PeerChokeCommand.cc PeerChokeCommand.h SeedCriteria.h \
+	TimeSeedCriteria.h ShareRatioSeedCriteria.h \
 	UnionSeedCriteria.h SeedCheckCommand.cc SeedCheckCommand.h \
 	PeerListProcessor.h DefaultPeerListProcessor.cc \
 	DefaultPeerListProcessor.h CompactPeerListProcessor.cc \
 	CompactPeerListProcessor.h DelegatingPeerListProcessor.cc \
 	DelegatingPeerListProcessor.h AnnounceTier.h AnnounceList.h \
 	AnnounceList.cc BtContext.h DefaultBtContext.cc \
-	DefaultBtContext.h PieceStorage.h DefaultPieceStorage.cc \
-	DefaultPieceStorage.h DefaultPeerStorage.cc \
-	DefaultPeerStorage.h BtAnnounce.h DefaultBtAnnounce.cc \
-	DefaultBtAnnounce.h BtRegistry.cc BtRegistry.h BtRuntime.h \
-	BtContextAwareCommand.cc BtContextAwareCommand.h BtMessage.h \
-	AbstractBtMessage.h SimpleBtMessage.cc SimpleBtMessage.h \
-	BtAllowedFastMessage.cc BtAllowedFastMessage.h \
-	BtBitfieldMessage.cc BtBitfieldMessage.h BtCancelMessage.cc \
-	BtCancelMessage.h BtChokeMessage.cc BtChokeMessage.h \
-	BtHaveAllMessage.cc BtHaveAllMessage.h BtHaveMessage.cc \
-	BtHaveMessage.h BtHaveNoneMessage.cc BtHaveNoneMessage.h \
+	DefaultBtContext.h DefaultPeerStorage.cc DefaultPeerStorage.h \
+	BtAnnounce.h DefaultBtAnnounce.cc DefaultBtAnnounce.h \
+	BtRuntime.h BtContextAwareCommand.cc BtContextAwareCommand.h \
+	BtMessage.h AbstractBtMessage.h SimpleBtMessage.cc \
+	SimpleBtMessage.h BtAllowedFastMessage.cc \
+	BtAllowedFastMessage.h BtBitfieldMessage.cc \
+	BtBitfieldMessage.h BtCancelMessage.cc BtCancelMessage.h \
+	BtChokeMessage.cc BtChokeMessage.h BtHaveAllMessage.cc \
+	BtHaveAllMessage.h BtHaveMessage.cc BtHaveMessage.h \
+	BtHaveNoneMessage.cc BtHaveNoneMessage.h \
 	BtInterestedMessage.cc BtInterestedMessage.h \
 	BtKeepAliveMessage.cc BtKeepAliveMessage.h \
 	BtNotInterestedMessage.cc BtNotInterestedMessage.h \
@@ -342,7 +330,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 	PeerReceiveHandshakeCommand.h BtSetup.cc BtSetup.h \
 	BtFileAllocationEntry.cc BtFileAllocationEntry.h \
 	BtPostDownloadHandler.cc BtPostDownloadHandler.h \
-	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
 	BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h Metalinker.cc \
 	Metalinker.h MetalinkEntry.cc MetalinkEntry.h \
 	MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
@@ -357,18 +344,13 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 @ENABLE_MESSAGE_DIGEST_TRUE@am__objects_1 = IteratableChunkChecksumValidator.$(OBJEXT) \
 @ENABLE_MESSAGE_DIGEST_TRUE@	IteratableChecksumValidator.$(OBJEXT) \
 @ENABLE_MESSAGE_DIGEST_TRUE@	CheckIntegrityCommand.$(OBJEXT) \
-@ENABLE_MESSAGE_DIGEST_TRUE@	CheckIntegrityEntry.$(OBJEXT) \
-@ENABLE_MESSAGE_DIGEST_TRUE@	PieceHashCheckIntegrityEntry.$(OBJEXT) \
-@ENABLE_MESSAGE_DIGEST_TRUE@	StreamCheckIntegrityEntry.$(OBJEXT) \
 @ENABLE_MESSAGE_DIGEST_TRUE@	ChecksumCheckIntegrityEntry.$(OBJEXT) \
-@ENABLE_MESSAGE_DIGEST_TRUE@	CheckIntegrityMan.$(OBJEXT) \
 @ENABLE_MESSAGE_DIGEST_TRUE@	messageDigest.$(OBJEXT) \
 @ENABLE_MESSAGE_DIGEST_TRUE@	MessageDigestHelper.$(OBJEXT)
 @ENABLE_BITTORRENT_TRUE@am__objects_2 = Data.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	Dictionary.$(OBJEXT) List.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	MetaFileUtil.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	ShaVisitor.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	PeerConnection.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerMessageUtil.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerAbstractCommand.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerInitiateConnectionCommand.$(OBJEXT) \
@@ -378,11 +360,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 @ENABLE_BITTORRENT_TRUE@	RequestSlot.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	Directory.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	TrackerWatcherCommand.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	DiskAdaptor.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	AbstractSingleDiskAdaptor.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	CopyDiskAdaptor.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	DirectDiskAdaptor.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	MultiDiskAdaptor.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	ByteArrayDiskWriter.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerChokeCommand.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	SeedCheckCommand.$(OBJEXT) \
@@ -391,10 +368,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 @ENABLE_BITTORRENT_TRUE@	DelegatingPeerListProcessor.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	AnnounceList.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultBtContext.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	DefaultPieceStorage.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultPeerStorage.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultBtAnnounce.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	BtRegistry.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtContextAwareCommand.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	SimpleBtMessage.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtAllowedFastMessage.$(OBJEXT) \
@@ -425,7 +400,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
 @ENABLE_BITTORRENT_TRUE@	BtSetup.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtFileAllocationEntry.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtPostDownloadHandler.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	MultiFileAllocationIterator.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtCheckIntegrityEntry.$(OBJEXT)
 @ENABLE_METALINK_TRUE@am__objects_3 = Metalinker.$(OBJEXT) \
 @ENABLE_METALINK_TRUE@	MetalinkEntry.$(OBJEXT) \
@@ -487,15 +461,23 @@ am__objects_12 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
 	Platform.$(OBJEXT) PStringSegment.$(OBJEXT) \
 	PStringBuildVisitor.$(OBJEXT) \
 	ParameterizedStringParser.$(OBJEXT) TimeBasedCommand.$(OBJEXT) \
-	AutoSaveCommand.$(OBJEXT) UnknownLengthPieceStorage.$(OBJEXT) \
-	ConsoleStatCalc.$(OBJEXT) TransferStat.$(OBJEXT) \
-	DefaultBtProgressInfoFile.$(OBJEXT) \
+	AutoSaveCommand.$(OBJEXT) DefaultPieceStorage.$(OBJEXT) \
+	UnknownLengthPieceStorage.$(OBJEXT) ConsoleStatCalc.$(OBJEXT) \
+	TransferStat.$(OBJEXT) DefaultBtProgressInfoFile.$(OBJEXT) \
 	SingleFileAllocationIterator.$(OBJEXT) \
 	PostDownloadHandler.$(OBJEXT) HaveEraseCommand.$(OBJEXT) \
-	Piece.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
-	$(am__objects_3) $(am__objects_4) $(am__objects_5) \
-	$(am__objects_6) $(am__objects_7) $(am__objects_8) \
-	$(am__objects_9) $(am__objects_10) $(am__objects_11)
+	Piece.$(OBJEXT) CheckIntegrityMan.$(OBJEXT) \
+	CheckIntegrityEntry.$(OBJEXT) \
+	PieceHashCheckIntegrityEntry.$(OBJEXT) \
+	StreamCheckIntegrityEntry.$(OBJEXT) DiskAdaptor.$(OBJEXT) \
+	AbstractSingleDiskAdaptor.$(OBJEXT) CopyDiskAdaptor.$(OBJEXT) \
+	DirectDiskAdaptor.$(OBJEXT) MultiDiskAdaptor.$(OBJEXT) \
+	Peer.$(OBJEXT) BtRegistry.$(OBJEXT) \
+	MultiFileAllocationIterator.$(OBJEXT) PeerConnection.$(OBJEXT) \
+	$(am__objects_1) $(am__objects_2) $(am__objects_3) \
+	$(am__objects_4) $(am__objects_5) $(am__objects_6) \
+	$(am__objects_7) $(am__objects_8) $(am__objects_9) \
+	$(am__objects_10) $(am__objects_11)
 am_libaria2c_a_OBJECTS = $(am__objects_12)
 libaria2c_a_OBJECTS = $(am_libaria2c_a_OBJECTS)
 am__installdirs = "$(DESTDIR)$(bindir)"
@@ -757,7 +739,8 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \
 	ParameterizedStringParser.cc ParameterizedStringParser.h \
 	FixedWidthNumberDecorator.h NumberDecorator.h \
 	AlphaNumberDecorator.h TimeBasedCommand.cc TimeBasedCommand.h \
-	AutoSaveCommand.cc AutoSaveCommand.h \
+	AutoSaveCommand.cc AutoSaveCommand.h PieceStorage.h \
+	DefaultPieceStorage.cc DefaultPieceStorage.h \
 	UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h \
 	StatCalc.h ConsoleStatCalc.cc ConsoleStatCalc.h \
 	TransferStat.cc TransferStat.h Dependency.h \
@@ -766,10 +749,21 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \
 	FileAllocationIterator.h SingleFileAllocationIterator.cc \
 	SingleFileAllocationIterator.h PostDownloadHandler.cc \
 	PostDownloadHandler.h HaveEraseCommand.cc HaveEraseCommand.h \
-	Piece.cc Piece.h $(am__append_1) $(am__append_2) \
-	$(am__append_3) $(am__append_4) $(am__append_5) \
-	$(am__append_6) $(am__append_7) $(am__append_8) \
-	$(am__append_9) $(am__append_10) $(am__append_11)
+	Piece.cc Piece.h CheckIntegrityMan.cc CheckIntegrityMan.h \
+	CheckIntegrityEntry.cc CheckIntegrityEntry.h \
+	PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h \
+	StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h \
+	IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \
+	AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \
+	CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \
+	DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \
+	Peer.cc Peer.h BtRegistry.cc BtRegistry.h \
+	MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
+	PeerConnection.cc PeerConnection.h $(am__append_1) \
+	$(am__append_2) $(am__append_3) $(am__append_4) \
+	$(am__append_5) $(am__append_6) $(am__append_7) \
+	$(am__append_8) $(am__append_9) $(am__append_10) \
+	$(am__append_11)
 noinst_LIBRARIES = libaria2c.a
 libaria2c_a_SOURCES = $(SRCS)
 aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\

+ 13 - 3
src/Metalink2RequestGroup.cc

@@ -40,9 +40,11 @@
 #include "Xml2MetalinkProcessor.h"
 #include "Util.h"
 #include "message.h"
-#include "BtDependency.h"
 #include "SingleFileDownloadContext.h"
 #include "MetalinkHelper.h"
+#ifdef ENABLE_BITTORRENT
+# include "BtDependency.h"
+#endif // ENABLE_BITTORRENT
 
 Metalink2RequestGroup::Metalink2RequestGroup(const Option* option):_option(option), _logger(LogFactory::getInstance()) {}
 
@@ -130,6 +132,7 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
     MetalinkResources::iterator itr = find_if(entry->resources.begin(),
 					      entry->resources.end(),
 					      FindBitTorrentUrl());
+#ifdef ENABLE_BITTORRENT
     RequestGroupHandle torrentRg = 0;
     // there is torrent entry
     if(itr != entry->resources.end()) {
@@ -145,6 +148,7 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
       torrentRg->clearPostDowloadHandler();
       groups.push_back(torrentRg);
     }
+#endif // ENABLE_BITTORRENT
     entry->reorderResourcesByPreference();
     Strings uris;
     for_each(entry->resources.begin(), entry->resources.end(),
@@ -153,17 +157,22 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
     // If piece hash is specified in the metalink,
     // make segment size equal to piece hash size.
     int32_t pieceLength;
+#ifdef ENABLE_MESSAGE_DIGEST
     if(entry->chunkChecksum.isNull()) {
       pieceLength = _option->getAsInt(PREF_SEGMENT_SIZE);
     } else {
       pieceLength = entry->chunkChecksum->getChecksumLength();
     }
+#else
+    pieceLength = _option->getAsInt(PREF_SEGMENT_SIZE);
+#endif // ENABLE_MESSAGE_DIGEST
     SingleFileDownloadContextHandle dctx =
       new SingleFileDownloadContext(pieceLength,
 				    entry->getLength(),
 				    "",
 				    entry->file->getPath());
     dctx->setDir(_option->get(PREF_DIR));
+#ifdef ENABLE_MESSAGE_DIGEST
     if(entry->chunkChecksum.isNull()) {
       if(!entry->checksum.isNull()) {
 	dctx->setChecksum(entry->checksum->getMessageDigest());
@@ -173,18 +182,19 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
       dctx->setPieceHashes(entry->chunkChecksum->getChecksums());
       dctx->setPieceHashAlgo(entry->chunkChecksum->getAlgo());
     }
-
+#endif // ENABLE_MESSAGE_DIGEST
     rg->setDownloadContext(dctx);
     rg->setHintTotalLength(entry->getLength());
     rg->setNumConcurrentCommand(entry->maxConnections < 0 ?
 				_option->getAsInt(PREF_METALINK_SERVERS) :
 				min<int32_t>(_option->getAsInt(PREF_METALINK_SERVERS), entry->maxConnections));
 
+#ifdef ENABLE_BITTORRENT
     // Inject depenency between rg and torrentRg here if torrentRg.isNull() == false
     if(!torrentRg.isNull()) {
       rg->dependsOn(new BtDependency(rg, torrentRg, _option));
     }
-
+#endif // ENABLE_BITTORRENT
     groups.push_back(rg);
   }
   return groups;

+ 2 - 2
src/MetalinkEntry.h

@@ -37,10 +37,10 @@
 
 #include "common.h"
 #include "MetalinkResource.h"
-#include "Checksum.h"
 #include "FileEntry.h"
 #ifdef ENABLE_MESSAGE_DIGEST
-#include "ChunkChecksum.h"
+# include "Checksum.h"
+# include "ChunkChecksum.h"
 #endif // ENABLE_MESSAGE_DIGEST
 #include <deque>
 

+ 1 - 0
src/MetalinkHelper.cc

@@ -38,6 +38,7 @@
 #include "Xml2MetalinkProcessor.h"
 #include "Metalinker.h"
 #include "prefs.h"
+#include "DlAbortEx.h"
 
 MetalinkHelper::MetalinkHelper() {}
 

+ 7 - 1
src/Peer.cc

@@ -35,7 +35,9 @@
 #include "Peer.h"
 #include "BitfieldManFactory.h"
 #include "Util.h"
-#include "MessageDigestHelper.h"
+#ifdef ENABLE_MESSAGE_DIGEST
+# include "MessageDigestHelper.h"
+#endif // ENABLE_MESSAGE_DIGEST
 
 Peer::Peer(string ipaddr, int32_t port, int32_t pieceLength, int64_t totalLength):
   ipaddr(ipaddr),
@@ -51,7 +53,11 @@ Peer::Peer(string ipaddr, int32_t port, int32_t pieceLength, int64_t totalLength
   this->bitfield = BitfieldManFactory::getFactoryInstance()->
     createBitfieldMan(pieceLength, totalLength);
   string idSeed = ipaddr+":"+Util::itos(port);
+#ifdef ENABLE_MESSAGE_DIGEST
   id = MessageDigestHelper::digestString("sha1", idSeed);
+#else
+  id = idSeed;
+#endif // ENABLE_MESSAGE_DIGEST
 }
 
 void Peer::reconfigure(int32_t pieceLength, int64_t totalLength)

+ 0 - 4
src/Peer.h

@@ -37,13 +37,9 @@
 
 #include "common.h"
 #include "BitfieldMan.h"
-#include "SharedHandle.h"
 #include "PeerStat.h"
 #include "TimeA2.h"
 #include <string.h>
-#include <string>
-
-using namespace std;
 
 #define PEER_ID_LENGTH 20
 #define DEFAULT_LATENCY 1500

+ 2 - 0
src/PieceHashCheckIntegrityEntry.cc

@@ -54,8 +54,10 @@ bool PieceHashCheckIntegrityEntry::isValidationReady()
 
 void PieceHashCheckIntegrityEntry::initValidator()
 {
+#ifdef ENABLE_MESSAGE_DIGEST
   IteratableChunkChecksumValidatorHandle validator =
     new IteratableChunkChecksumValidator(_requestGroup->getDownloadContext(),
 					 _requestGroup->getPieceStorage());
   _validator = validator;
+#endif // ENABLE_MESSAGE_DIGEST
 }

+ 7 - 2
src/RequestGroup.cc

@@ -56,13 +56,14 @@
 #include "DlAbortEx.h"
 #include "DownloadFailureException.h"
 #include "RequestGroupMan.h"
+#include "DefaultBtProgressInfoFile.h"
+#include "DefaultPieceStorage.h"
+#include "PostDownloadHandler.h"
 #ifdef ENABLE_MESSAGE_DIGEST
 # include "CheckIntegrityCommand.h"
 #endif // ENABLE_MESSAGE_DIGEST
 #ifdef ENABLE_BITTORRENT
 # include "BtCheckIntegrityEntry.h"
-# include "DefaultPieceStorage.h"
-# include "DefaultBtProgressInfoFile.h"
 # include "DefaultPeerStorage.h"
 # include "DefaultBtAnnounce.h"
 # include "BtSetup.h"
@@ -584,8 +585,12 @@ RequestGroups RequestGroup::postDownloadProcessing()
 
 void RequestGroup::initializePostDownloadHandler()
 {
+#ifdef ENABLE_BITTORRENT
   _postDownloadHandlers.push_back(new BtPostDownloadHandler(_option));
+#endif // ENABLE_BITTORRENT
+#ifdef ENABLE_METALINK
   _postDownloadHandlers.push_back(new MetalinkPostDownloadHandler(_option));
+#endif // ENABLE_METALINK
 }
 
 Strings RequestGroup::getUris() const

+ 5 - 1
src/main.cc

@@ -115,6 +115,7 @@ RequestGroupHandle createRequestGroup(const Option* op, const Strings& uris,
 
 extern Option* option_processing(int argc, char* const argv[]);
 
+#ifdef ENABLE_BITTORRENT
 void downloadBitTorrent(Option* op, const Strings& uri)
 {
   Strings nargs;
@@ -141,7 +142,9 @@ void downloadBitTorrent(Option* op, const Strings& uri)
   groups.push_back(rg);
   MultiUrlRequestInfo(groups, op).execute();
 }
+#endif // ENABLE_BITTORRENT
 
+#ifdef ENABLE_METALINK
 void downloadMetalink(Option* op)
 {
   RequestGroups groups = Metalink2RequestGroup(op).generate(op->get(PREF_METALINK_FILE));
@@ -150,6 +153,7 @@ void downloadMetalink(Option* op)
   }
   MultiUrlRequestInfo(groups, op).execute();
 }
+#endif // ENABLE_METALINK
 
 void downloadUriList(Option* op)
 {
@@ -250,7 +254,7 @@ int main(int argc, char* argv[]) {
   int32_t exitStatus = EXIT_SUCCESS;
   try {
     Logger* logger = LogFactory::getInstance();
-    logger->info("%s %s", PACKAGE, PACKAGE_VERSION);
+    logger->info("%s %s %s", PACKAGE, PACKAGE_VERSION, TARGET);
     logger->info(MSG_LOGGING_STARTED);
 
     AuthConfigFactoryHandle authConfigFactory = new AuthConfigFactory(op);

+ 3 - 1
src/version_usage.cc

@@ -34,7 +34,9 @@
 /* copyright --> */
 #include "common.h"
 #include "FeatureConfig.h"
-#include "messageDigest.h"
+#ifdef ENABLE_MESSAGE_DIGEST
+# include "messageDigest.h"
+#endif // ENABLE_MESSAGE_DIGEST
 
 void showVersion() {
   cout << PACKAGE << _(" version ") << PACKAGE_VERSION << endl;

+ 1 - 1
test/DefaultPieceStorageTest.cc

@@ -38,7 +38,7 @@ public:
   }
 
   void setUp() {
-    btContext = BtContextHandle(new DefaultBtContext());
+    btContext = new DefaultBtContext();
     btContext->load("test.torrent");
     peer = PeerHandle(new Peer("192.168.0.1", 6889,
 			       btContext->getPieceLength(),

+ 4 - 4
test/Makefile.am

@@ -4,7 +4,6 @@ aria2c_SOURCES = AllTest.cc\
 	a2functionalTest.cc\
 	FileEntryTest.cc\
 	PieceTest.cc\
-	DefaultPieceStorageTest.cc\
 	SegmentTest.cc\
 	GrowSegmentTest.cc\
 	SingleFileAllocationIteratorTest.cc\
@@ -42,7 +41,9 @@ aria2c_SOURCES = AllTest.cc\
 	DefaultDiskWriterTest.cc\
 	FeatureConfigTest.cc\
 	SpeedCalcTest.cc\
-	FixedNumberRandomizer.h
+	FixedNumberRandomizer.h\
+	MultiDiskAdaptorTest.cc\
+	MultiFileAllocationIteratorTest.cc
 
 if ENABLE_MESSAGE_DIGEST
 aria2c_SOURCES += MessageDigestHelperTest.cc\
@@ -68,6 +69,7 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\
 	BtRequestMessageTest.cc\
 	BtSuggestPieceMessageTest.cc\
 	BtUnchokeMessageTest.cc\
+	DefaultPieceStorageTest.cc\
 	DefaultBtAnnounceTest.cc\
 	DefaultBtContextTest.cc\
 	DefaultBtMessageDispatcherTest.cc\
@@ -84,13 +86,11 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\
 	DictionaryTest.cc\
 	ListTest.cc\
 	MetaFileUtilTest.cc\
-	MultiDiskAdaptorTest.cc\
 	ByteArrayDiskWriterTest.cc\
 	PeerTest.cc\
 	PeerMessageUtilTest.cc\
 	ShareRatioSeedCriteriaTest.cc\
 	BtRegistryTest.cc\
-	MultiFileAllocationIteratorTest.cc\
 	BtDependencyTest.cc\
 	BtPostDownloadHandlerTest.cc\
 	TimeSeedCriteriaTest.cc

+ 20 - 22
test/Makefile.in

@@ -58,6 +58,7 @@ check_PROGRAMS = $(am__EXEEXT_1)
 @ENABLE_BITTORRENT_TRUE@	BtRequestMessageTest.cc\
 @ENABLE_BITTORRENT_TRUE@	BtSuggestPieceMessageTest.cc\
 @ENABLE_BITTORRENT_TRUE@	BtUnchokeMessageTest.cc\
+@ENABLE_BITTORRENT_TRUE@	DefaultPieceStorageTest.cc\
 @ENABLE_BITTORRENT_TRUE@	DefaultBtAnnounceTest.cc\
 @ENABLE_BITTORRENT_TRUE@	DefaultBtContextTest.cc\
 @ENABLE_BITTORRENT_TRUE@	DefaultBtMessageDispatcherTest.cc\
@@ -74,13 +75,11 @@ check_PROGRAMS = $(am__EXEEXT_1)
 @ENABLE_BITTORRENT_TRUE@	DictionaryTest.cc\
 @ENABLE_BITTORRENT_TRUE@	ListTest.cc\
 @ENABLE_BITTORRENT_TRUE@	MetaFileUtilTest.cc\
-@ENABLE_BITTORRENT_TRUE@	MultiDiskAdaptorTest.cc\
 @ENABLE_BITTORRENT_TRUE@	ByteArrayDiskWriterTest.cc\
 @ENABLE_BITTORRENT_TRUE@	PeerTest.cc\
 @ENABLE_BITTORRENT_TRUE@	PeerMessageUtilTest.cc\
 @ENABLE_BITTORRENT_TRUE@	ShareRatioSeedCriteriaTest.cc\
 @ENABLE_BITTORRENT_TRUE@	BtRegistryTest.cc\
-@ENABLE_BITTORRENT_TRUE@	MultiFileAllocationIteratorTest.cc\
 @ENABLE_BITTORRENT_TRUE@	BtDependencyTest.cc\
 @ENABLE_BITTORRENT_TRUE@	BtPostDownloadHandlerTest.cc\
 @ENABLE_BITTORRENT_TRUE@	TimeSeedCriteriaTest.cc
@@ -114,9 +113,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 am__EXEEXT_1 = aria2c$(EXEEXT)
 am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
-	FileEntryTest.cc PieceTest.cc DefaultPieceStorageTest.cc \
-	SegmentTest.cc GrowSegmentTest.cc \
-	SingleFileAllocationIteratorTest.cc \
+	FileEntryTest.cc PieceTest.cc SegmentTest.cc \
+	GrowSegmentTest.cc SingleFileAllocationIteratorTest.cc \
 	DefaultBtProgressInfoFileTest.cc \
 	SingleFileDownloadContextTest.cc RequestGroupTest.cc \
 	PStringBuildVisitorTest.cc ParameterizedStringParserTest.cc \
@@ -131,7 +129,8 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
 	HttpResponseTest.cc SharedHandleTest.cc ChunkedEncodingTest.cc \
 	FileTest.cc OptionTest.cc Base64Test.cc \
 	DefaultDiskWriterTest.cc FeatureConfigTest.cc SpeedCalcTest.cc \
-	FixedNumberRandomizer.h MessageDigestHelperTest.cc \
+	FixedNumberRandomizer.h MultiDiskAdaptorTest.cc \
+	MultiFileAllocationIteratorTest.cc MessageDigestHelperTest.cc \
 	IteratableChunkChecksumValidatorTest.cc \
 	IteratableChecksumValidatorTest.cc BtAllowedFastMessageTest.cc \
 	BtBitfieldMessageTest.cc BtCancelMessageTest.cc \
@@ -142,17 +141,16 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
 	BtPieceMessageTest.cc BtPortMessageTest.cc \
 	BtRejectMessageTest.cc BtRequestMessageTest.cc \
 	BtSuggestPieceMessageTest.cc BtUnchokeMessageTest.cc \
-	DefaultBtAnnounceTest.cc DefaultBtContextTest.cc \
-	DefaultBtMessageDispatcherTest.cc \
+	DefaultPieceStorageTest.cc DefaultBtAnnounceTest.cc \
+	DefaultBtContextTest.cc DefaultBtMessageDispatcherTest.cc \
 	DefaultBtRequestFactoryTest.cc MockBtMessage.h \
 	MockBtMessageDispatcher.h MockBtMessageFactory.h \
 	ShaVisitorTest.cc DefaultPeerListProcessorTest.cc \
 	AnnounceListTest.cc DefaultPeerStorageTest.cc \
 	MockPeerStorage.h DataTest.cc DictionaryTest.cc ListTest.cc \
-	MetaFileUtilTest.cc MultiDiskAdaptorTest.cc \
-	ByteArrayDiskWriterTest.cc PeerTest.cc PeerMessageUtilTest.cc \
-	ShareRatioSeedCriteriaTest.cc BtRegistryTest.cc \
-	MultiFileAllocationIteratorTest.cc BtDependencyTest.cc \
+	MetaFileUtilTest.cc ByteArrayDiskWriterTest.cc PeerTest.cc \
+	PeerMessageUtilTest.cc ShareRatioSeedCriteriaTest.cc \
+	BtRegistryTest.cc BtDependencyTest.cc \
 	BtPostDownloadHandlerTest.cc TimeSeedCriteriaTest.cc \
 	MetalinkerTest.cc MetalinkEntryTest.cc \
 	Xml2MetalinkProcessorTest.cc Metalink2RequestGroupTest.cc \
@@ -179,6 +177,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
 @ENABLE_BITTORRENT_TRUE@	BtRequestMessageTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtSuggestPieceMessageTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtUnchokeMessageTest.$(OBJEXT) \
+@ENABLE_BITTORRENT_TRUE@	DefaultPieceStorageTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultBtAnnounceTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultBtContextTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	DefaultBtMessageDispatcherTest.$(OBJEXT) \
@@ -191,13 +190,11 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
 @ENABLE_BITTORRENT_TRUE@	DictionaryTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	ListTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	MetaFileUtilTest.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	MultiDiskAdaptorTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	ByteArrayDiskWriterTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	PeerMessageUtilTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	ShareRatioSeedCriteriaTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtRegistryTest.$(OBJEXT) \
-@ENABLE_BITTORRENT_TRUE@	MultiFileAllocationIteratorTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtDependencyTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	BtPostDownloadHandlerTest.$(OBJEXT) \
 @ENABLE_BITTORRENT_TRUE@	TimeSeedCriteriaTest.$(OBJEXT)
@@ -209,8 +206,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
 @ENABLE_METALINK_TRUE@	MetalinkHelperTest.$(OBJEXT)
 am_aria2c_OBJECTS = AllTest.$(OBJEXT) a2functionalTest.$(OBJEXT) \
 	FileEntryTest.$(OBJEXT) PieceTest.$(OBJEXT) \
-	DefaultPieceStorageTest.$(OBJEXT) SegmentTest.$(OBJEXT) \
-	GrowSegmentTest.$(OBJEXT) \
+	SegmentTest.$(OBJEXT) GrowSegmentTest.$(OBJEXT) \
 	SingleFileAllocationIteratorTest.$(OBJEXT) \
 	DefaultBtProgressInfoFileTest.$(OBJEXT) \
 	SingleFileDownloadContextTest.$(OBJEXT) \
@@ -231,8 +227,9 @@ am_aria2c_OBJECTS = AllTest.$(OBJEXT) a2functionalTest.$(OBJEXT) \
 	SharedHandleTest.$(OBJEXT) ChunkedEncodingTest.$(OBJEXT) \
 	FileTest.$(OBJEXT) OptionTest.$(OBJEXT) Base64Test.$(OBJEXT) \
 	DefaultDiskWriterTest.$(OBJEXT) FeatureConfigTest.$(OBJEXT) \
-	SpeedCalcTest.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
-	$(am__objects_3)
+	SpeedCalcTest.$(OBJEXT) MultiDiskAdaptorTest.$(OBJEXT) \
+	MultiFileAllocationIteratorTest.$(OBJEXT) $(am__objects_1) \
+	$(am__objects_2) $(am__objects_3)
 aria2c_OBJECTS = $(am_aria2c_OBJECTS)
 am__DEPENDENCIES_1 =
 aria2c_DEPENDENCIES = ../src/libaria2c.a $(am__DEPENDENCIES_1)
@@ -420,8 +417,8 @@ target_os = @target_os@
 target_vendor = @target_vendor@
 TESTS = aria2c
 aria2c_SOURCES = AllTest.cc a2functionalTest.cc FileEntryTest.cc \
-	PieceTest.cc DefaultPieceStorageTest.cc SegmentTest.cc \
-	GrowSegmentTest.cc SingleFileAllocationIteratorTest.cc \
+	PieceTest.cc SegmentTest.cc GrowSegmentTest.cc \
+	SingleFileAllocationIteratorTest.cc \
 	DefaultBtProgressInfoFileTest.cc \
 	SingleFileDownloadContextTest.cc RequestGroupTest.cc \
 	PStringBuildVisitorTest.cc ParameterizedStringParserTest.cc \
@@ -436,8 +433,9 @@ aria2c_SOURCES = AllTest.cc a2functionalTest.cc FileEntryTest.cc \
 	HttpResponseTest.cc SharedHandleTest.cc ChunkedEncodingTest.cc \
 	FileTest.cc OptionTest.cc Base64Test.cc \
 	DefaultDiskWriterTest.cc FeatureConfigTest.cc SpeedCalcTest.cc \
-	FixedNumberRandomizer.h $(am__append_1) $(am__append_2) \
-	$(am__append_3)
+	FixedNumberRandomizer.h MultiDiskAdaptorTest.cc \
+	MultiFileAllocationIteratorTest.cc $(am__append_1) \
+	$(am__append_2) $(am__append_3)
 
 #aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64
 #aria2c_LDFLAGS = ${CPPUNIT_LIBS}

+ 11 - 0
test/Metalink2RequestGroupTest.cc

@@ -39,9 +39,11 @@ void Metalink2RequestGroupTest::testGenerate()
     SingleFileDownloadContextHandle dctx = rg->getDownloadContext();
     CPPUNIT_ASSERT(!dctx.isNull());
     CPPUNIT_ASSERT_EQUAL((int64_t)0, dctx->getTotalLength());
+#ifdef ENABLE_MESSAGE_DIGEST
     CPPUNIT_ASSERT_EQUAL(string("sha1"), dctx->getChecksumHashAlgo());
     CPPUNIT_ASSERT_EQUAL(string("a96cf3f0266b91d87d5124cf94326422800b627d"),
 			 dctx->getChecksum());
+#endif // ENABLE_MESSAGE_DIGEST
   }
   // second file
   {
@@ -50,13 +52,16 @@ void Metalink2RequestGroupTest::testGenerate()
     CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
     SingleFileDownloadContextHandle dctx = rg->getDownloadContext();
     CPPUNIT_ASSERT(!dctx.isNull());
+#ifdef ENABLE_MESSAGE_DIGEST
     CPPUNIT_ASSERT_EQUAL(string("sha1"), dctx->getPieceHashAlgo());
     CPPUNIT_ASSERT_EQUAL((size_t)2, dctx->getPieceHashes().size());
     CPPUNIT_ASSERT_EQUAL((int32_t)262144, dctx->getPieceLength());
     CPPUNIT_ASSERT_EQUAL(string(""), dctx->getChecksumHashAlgo());
     CPPUNIT_ASSERT_EQUAL(string(""), dctx->getChecksum());
+#endif // ENABLE_MESSAGE_DIGEST
   }
 
+#ifdef ENABLE_BITTORRENT
   // fifth file <- downloading .torrent file
   {
     RequestGroupHandle rg = groups[4];
@@ -67,9 +72,15 @@ void Metalink2RequestGroupTest::testGenerate()
     SingleFileDownloadContextHandle dctx = rg->getDownloadContext();
     CPPUNIT_ASSERT(!dctx.isNull());
   }
+#endif // ENABLE_BITTORRENT
+
   // sixth file <- depends on thrid file
   {
+#ifdef ENABLE_BITTORRENT
     RequestGroupHandle rg = groups[5];
+#else
+    RequestGroupHandle rg = groups[4];
+#endif // ENABLE_BITTORRENT
     Strings uris = rg->getUris();
     CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
     CPPUNIT_ASSERT_EQUAL(string("http://host/torrent-http.integrated"), uris[0]);

+ 4 - 0
test/MetalinkPostDownloadHandlerTest.cc

@@ -34,5 +34,9 @@ void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
   Option op;
   MetalinkPostDownloadHandler handler(&op);
   RequestGroups groups = handler.getNextRequestGroups("test.xml");
+#ifdef ENABLE_BITTORRENT
   CPPUNIT_ASSERT_EQUAL((size_t)6/* 5 + 1 torrent file download */, groups.size());
+#else
+  CPPUNIT_ASSERT_EQUAL((size_t)5, groups.size());
+#endif // ENABLE_BITTORRENT
 }