blob: 7538f7d176440df852b56b756518b90f832604f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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 : [ glob *.cc : parallel_read.cc read_compressed.cc *_main.cc *_test.cc ] read_compressed parallel_read double-conversion//double-conversion : <include>.. <os>LINUX,<threading>single:<source>rt : : <include>.. ;
exe cat_compressed : cat_compressed_main.cc kenutil ;
#Does not install this
exe probing_hash_table_benchmark : probing_hash_table_benchmark_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_filesystem /top//boost_system ;
}
build-project stream ;
|