Mercurial
diff third_party/wrk/BUILD @ 186:8cf4ec5e2191 hg-web
Fixed merge conflict.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Fri, 23 Jan 2026 22:38:59 -0800 |
| parents | 94705b5986b3 |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/third_party/wrk/BUILD Fri Jan 23 22:38:59 2026 -0800 @@ -0,0 +1,118 @@ +load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") + +package(default_visibility = ["//visibility:public"]) + +# Generate version.c +genrule( + name = "version_gen", + outs = ["version.c"], + cmd = """echo 'const char *VERSION = "4.2.0";' > $@""", +) + +# Generate bytecode.c from wrk.lua using luajit +genrule( + name = "bytecode_gen", + srcs = ["src/wrk.lua"], + outs = ["bytecode.c"], + cmd = """ + LUAJIT_BIN=$(execpath //third_party/luajit:luajit_bin) + LUAJIT_DIR=$${LUAJIT_BIN%/bin/luajit} + LUA_PATH="$${LUAJIT_DIR}/share/luajit-2.1/?.lua;;" $${LUAJIT_BIN} -b $< $@ + """, + local = True, + tools = ["//third_party/luajit:luajit_bin"], +) + +cc_library( + name = "wrk_lib", + srcs = [ + "src/ae.c", + "src/aprintf.c", + "src/http_parser.c", + "src/net.c", + "src/script.c", + "src/ssl.c", + "src/stats.c", + "src/units.c", + "src/zmalloc.c", + ":bytecode_gen", + ":version_gen", + ], + hdrs = [ + "src/ae.h", + "src/aprintf.h", + "src/atomicvar.h", + "src/config.h", + "src/http_parser.h", + "src/main.h", + "src/net.h", + "src/script.h", + "src/ssl.h", + "src/stats.h", + "src/units.h", + "src/wrk.h", + "src/zmalloc.h", + ], + textual_hdrs = [ + "src/ae_epoll.c", + "src/ae_evport.c", + "src/ae_kqueue.c", + "src/ae_select.c", + ], + copts = [ + "-std=c99", + "-Wall", + "-O2", + "-D_REENTRANT", + ] + select({ + "@platforms//os:linux": [ + "-D_POSIX_C_SOURCE=200112L", + "-D_BSD_SOURCE", + "-D_DEFAULT_SOURCE", + ], + "@platforms//os:freebsd": [ + "-D_DECLARE_C99_LDBL_MATH", + ], + "//conditions:default": [], + }), + includes = ["src"], + deps = [ + "//third_party/luajit:luajit", + "@openssl//:crypto", + "@openssl//:ssl", + ], + alwayslink = True, +) + +cc_binary( + name = "wrk", + srcs = ["src/wrk.c"], + copts = [ + "-std=c99", + "-Wall", + "-O2", + "-D_REENTRANT", + ] + select({ + "@platforms//os:linux": [ + "-D_POSIX_C_SOURCE=200112L", + "-D_BSD_SOURCE", + "-D_DEFAULT_SOURCE", + ], + "@platforms//os:freebsd": [ + "-D_DECLARE_C99_LDBL_MATH", + ], + "//conditions:default": [], + }), + includes = ["src"], + linkopts = [ + "-lm", + "-lpthread", + "-rdynamic", + ] + select({ + "@platforms//os:linux": [ + "-ldl", + ], + "//conditions:default": [], + }), + deps = [":wrk_lib"], +)