#!/usr/bin/env python import confu parser = confu.standard_parser("pthreadpool configuration script") def main(args): options = parser.parse_args(args) build = confu.Build.from_options(options) build.export_cpath("include", ["pthreadpool.h"]) with build.options(source_dir="src", extra_include_dirs="src", deps=build.deps.fxdiv): sources = ["threadpool-legacy.c"] if build.target.is_emscripten: sources.append("threadpool-shim.c") else: sources.append("threadpool-pthreads.c") build.static_library("pthreadpool", [build.cc(src) for src in sources]) with build.options(source_dir="test", deps=[build, build.deps.googletest]): build.unittest("pthreadpool-test", build.cxx("pthreadpool.cc")) with build.options(source_dir="bench", deps=[build, build.deps.googlebenchmark]): build.benchmark("latency-bench", build.cxx("latency.cc")) build.benchmark("throughput-bench", build.cxx("throughput.cc")) return build if __name__ == "__main__": import sys main(sys.argv[1:]).generate()