Small tool to benchmark webservers
https://redmine.lighttpd.net/projects/weighttp/wiki
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.8 KiB
68 lines
1.8 KiB
#! /usr/bin/env python |
|
# encoding: utf-8 |
|
|
|
""" |
|
* weighttp - a lightweight and simple webserver benchmarking tool |
|
* |
|
* Author: |
|
* Copyright (c) 2009-2011 Thomas Porzelt |
|
* |
|
* License: |
|
* MIT, see COPYING file |
|
""" |
|
|
|
import Options |
|
|
|
# the following two variables are used by the target "waf dist" |
|
VERSION='0.3' |
|
APPNAME='weighttp' |
|
|
|
# these variables are mandatory ('/' are converted automatically) |
|
srcdir = '.' |
|
blddir = 'build' |
|
|
|
|
|
def set_options(opt): |
|
opt.tool_options('compiler_cc') |
|
|
|
# ./waf configure options |
|
#opt.add_option('--with-xyz', action='store_true', help='with xyz', dest = 'xyz', default = False) |
|
|
|
|
|
def configure(conf): |
|
conf.env['CCFLAGS'] += [ |
|
'-std=gnu99', '-Wall', '-Wshadow', '-W', '-pedantic', '-g', '-g2', '-O2', '-Wmissing-declarations', |
|
'-Wdeclaration-after-statement', '-Wno-pointer-sign', '-Wcast-align', '-Winline', '-Wsign-compare', |
|
'-Wnested-externs', '-Wpointer-arith', '-Wbad-function-cast', '-Wmissing-prototypes', |
|
'-fPIC', '-fno-strict-aliasing', |
|
] |
|
|
|
conf.check_tool('compiler_cc') |
|
|
|
# check for libev |
|
conf.check(lib='ev', uselib_store='ev', mandatory=True) |
|
conf.check(header_name='ev.h', uselib='ev', mandatory=True) |
|
|
|
# check for libpthread |
|
conf.check(lib='pthread', uselib_store='pthread', mandatory=True) |
|
conf.check(header_name='pthread.h', uselib='pthread', mandatory=True) |
|
|
|
# check for needed headers |
|
conf.check(header_name='unistd.h') |
|
conf.check(header_name='stdint.h') |
|
conf.check(header_name='fcntl.h') |
|
conf.check(header_name='inttypes.h') |
|
|
|
# check for needed functions |
|
#conf.check(function_name='writev', header_name='sys/uio.h', define_name='HAVE_WRITEV') |
|
|
|
|
|
def build(bld): |
|
bld.new_task_gen( |
|
features = 'cc cprogram', |
|
source = ['src/client.c', 'src/weighttp.c', 'src/worker.c'], |
|
defines = ['PACKAGE_VERSION="' + VERSION + '"'], |
|
includes = '.', |
|
uselib = 'ev pthread', |
|
target = 'weighttp' |
|
)
|
|
|