| local compressed_flags = <include>.. <define>HAVE_ZLIB ; |
| local compressed_deps = /top//z ; |
| if [ test_library "bz2" ] && [ test_header "bzlib.h" ] { |
| external-lib bz2 ; |
| compressed_flags += <define>HAVE_BZLIB ; |
| compressed_deps += bz2 ; |
| } |
| if [ test_library "lzma" ] && [ test_header "lzma.h" ] { |
| external-lib lzma ; |
| compressed_flags += <define>HAVE_XZLIB ; |
| compressed_deps += lzma ; |
| } |
| |
| #rt is needed for clock_gettime on linux. But it's already included with threading=multi |
| lib rt ; |
| |
| obj read_compressed.o : read_compressed.cc : $(compressed_flags) ; |
| alias read_compressed : read_compressed.o $(compressed_deps) ; |
| obj read_compressed_test.o : read_compressed_test.cc /top//boost_unit_test_framework : $(compressed_flags) ; |
| obj file_piece_test.o : file_piece_test.cc /top//boost_unit_test_framework : $(compressed_flags) ; |
| |
| fakelib parallel_read : parallel_read.cc : <threading>multi:<source>/top//boost_thread <threading>multi:<define>WITH_THREADS : : <include>.. ; |
| |
| fakelib kenutil : bit_packing.cc ersatz_progress.cc exception.cc file.cc file_piece.cc mmap.cc murmur_hash.cc parallel_read pool.cc read_compressed scoped.cc string_piece.cc usage.cc double-conversion//double-conversion : <include>.. <os>LINUX,<threading>single:<source>rt : : <include>.. ; |
| |
| exe cat_compressed : cat_compressed_main.cc kenutil ; |
| |
| alias programs : cat_compressed ; |
| |
| import testing ; |
| |
| run file_piece_test.o kenutil /top//boost_unit_test_framework : : file_piece.cc ; |
| for local t in [ glob *_test.cc : file_piece_test.cc read_compressed_test.cc ] { |
| local name = [ MATCH "(.*)\.cc" : $(t) ] ; |
| unit-test $(name) : $(t) kenutil /top//boost_unit_test_framework /top//boost_system ; |
| } |