blob: 4b1e93f25bce762c47574ebaa669e2d33e9764c3 [file] [log] [blame]
Marat Dukhan0a312192015-08-22 17:46:29 -04001#!/usr/bin/env python
2
Marat Dukhan616cbde2017-02-10 18:22:45 -05003
4import confu
5parser = confu.standard_parser("pthreadpool configuration script")
Marat Dukhan0a312192015-08-22 17:46:29 -04006
7
Marat Dukhan616cbde2017-02-10 18:22:45 -05008def main(args):
9 options = parser.parse_args(args)
10 build = confu.Build.from_options(options)
Marat Dukhan0a312192015-08-22 17:46:29 -040011
Marat Dukhan616cbde2017-02-10 18:22:45 -050012 build.export_cpath("include", ["pthreadpool.h"])
Marat Dukhan0a312192015-08-22 17:46:29 -040013
Marat Dukhan616cbde2017-02-10 18:22:45 -050014 with build.options(source_dir="src", extra_include_dirs="src", deps=build.deps.fxdiv):
15 build.static_library("pthreadpool", build.cc("pthreadpool.c"))
Marat Dukhan0a312192015-08-22 17:46:29 -040016
Marat Dukhan616cbde2017-02-10 18:22:45 -050017 with build.options(source_dir="test", deps=[build, build.deps.googletest]):
18 build.unittest("pthreadpool-test", build.cxx("pthreadpool.cc"))
Marat Dukhan0a312192015-08-22 17:46:29 -040019
Marat Dukhaneecec4d2017-03-05 03:36:41 -050020 with build.options(source_dir="bench", deps=[build, build.deps.googlebenchmark]):
21 build.benchmark("latency-bench", build.cxx("latency.cc"))
22 build.benchmark("throughput-bench", build.cxx("throughput.cc"))
23
Marat Dukhan616cbde2017-02-10 18:22:45 -050024 return build
Marat Dukhan0a312192015-08-22 17:46:29 -040025
26
27if __name__ == "__main__":
Marat Dukhan616cbde2017-02-10 18:22:45 -050028 import sys
29 main(sys.argv[1:]).generate()