#This Jamfile requires boost-build v2 to build. import modules ; import os ; import errors ; BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ; ECHO "BOOST_ROOT =" $(BOOST_ROOT) ; ECHO "OS =" [ os.name ] ; if ! $(BOOST_ROOT) { errors.user-error "BOOST_ROOT must be set to your boost installation path." ; } use-project /boost : $(BOOST_ROOT) ; project torrent : requirements ./include ./include/libtorrent ./zlib $(BOOST_ROOT) release:NDEBUG debug:TORRENT_DHT_VERBOSE_LOGGING BOOST_ALL_NO_LIB _FILE_OFFSET_BITS=64 BOOST_THREAD_USE_LIB /boost/thread//boost_thread #/static /boost/filesystem//boost_filesystem #/static /boost/date_time//boost_date_time #/static multi msvc:_WIN32_WINNT=0x0500 # WIN32 makes sure the win32 socket api is used # instead of win16 msvc:WIN32 # without WIN32_LEAN_AND_MEAN there will be conflicts between # winsock.h and winsock2.h msvc:WIN32_LEAN_AND_MEAN # these compiler settings just makes the compiler standard conforming msvc:/Zc:wchar_t msvc:/Zc:forScope # this should be defined when libtorrent is built as # a dll. It will make sure the functions and classes # are exported (GCC 4 and msvc) shared:TORRENT_BUILDING_SHARED : usage-requirements ./include $(BOOST_ROOT) release:NDEBUG debug:TORRENT_DHT_VERBOSE_LOGGING BOOST_ALL_NO_LIB shared:TORRENT_LINKING_SHARED ; SOURCES = allocate_resources.cpp alert.cpp entry.cpp escape_string.cpp file.cpp identify_client.cpp ip_filter.cpp peer_connection.cpp bt_peer_connection.cpp web_peer_connection.cpp piece_picker.cpp policy.cpp session.cpp stat.cpp storage.cpp torrent.cpp torrent_handle.cpp torrent_info.cpp tracker_manager.cpp http_tracker_connection.cpp udp_tracker_connection.cpp sha1.cpp kademlia/closest_nodes.cpp kademlia/dht_tracker.cpp kademlia/node.cpp kademlia/refresh.cpp kademlia/rpc_manager.cpp kademlia/find_data.cpp kademlia/node_id.cpp kademlia/routing_table.cpp kademlia/traversal_algorithm.cpp ; ZLIB_SOURCES = adler32.c compress.c crc32.c deflate.c gzio.c infback.c inffast.c inflate.c inftrees.c trees.c uncompr.c zutil.c ; LIBS = ; # some windows specific settings if [ os.name ] = NT { lib wsock32 : : wsock32.lib ; LIBS += wsock32 ; } variant release_vlog : release : TORRENT_VERBOSE_LOGGING ; variant release_log : release : TORRENT_LOGGING ; variant debug_vlog : debug : TORRENT_VERBOSE_LOGGING ; variant debug_log : debug : TORRENT_LOGGING ; lib torrent : src/$(SOURCES) zlib/$(ZLIB_SOURCES) $(LIBS) ;