view third_party/wrk/BUILD @ 203:92a57bd716c1

removed unused file
author MrJuneJune <me@mrjunejune.com>
date Sun, 15 Feb 2026 09:13:09 -0800
parents 94705b5986b3
children
line wrap: on
line source

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"],
)