Mercurial
view seobeo/BUILD @ 212:84826b3c655b
[MrJuneJune] Forgot to add assets.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Sun, 15 Feb 2026 21:38:36 -0800 |
| parents | 71ad34a8bc9a |
| children |
line wrap: on
line source
load("@rules_cc//cc:cc_library.bzl", "cc_library") # File group filegroup( name = "seobeo_hdrs", srcs = [ "seobeo.h", "seobeo_internal.h", "snapshot_creator.h", ], visibility = ["//visibility:public"], ) # Minimal TCP/SSL handling only (no HTTP, no WebSocket) alias( name = "seobeo_min", actual = select({ "//config:macos": ":seobeo_min_macos", "//config:linux": ":seobeo_min_linux", "//conditions:default": ":seobeo_min_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_min_macos", srcs = [ "s_network.c", "s_logging.c", "s_ssl.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_min_linux", srcs = [ "s_network.c", "s_logging.c", "s_ssl.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # TCP Server with HTTP (no WebSocket, no SSL) alias( name = "seobeo_tcp_server", actual = select({ "//config:macos": ":seobeo_tcp_server_macos", "//config:linux": ":seobeo_tcp_server_linux", "//conditions:default": ":seobeo_tcp_server_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_server_macos", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", ], defines = ["SEOBEO_NO_SSL"], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_server_linux", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", ], defines = ["SEOBEO_NO_SSL"], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # TCP Server with HTTP + WebSocket alias( name = "seobeo_tcp_server_ws", actual = select({ "//config:macos": ":seobeo_tcp_server_ws_macos", "//config:linux": ":seobeo_tcp_server_ws_linux", "//conditions:default": ":seobeo_tcp_server_ws_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_server_ws_macos", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_websocket_common.c", "s_websocket_server.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER"], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_server_ws_linux", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_websocket_common.c", "s_websocket_server.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER"], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # TCP Client with HTTP alias( name = "seobeo_tcp_client", actual = select({ "//config:macos": ":seobeo_tcp_client_macos", "//config:linux": ":seobeo_tcp_client_linux", "//conditions:default": ":seobeo_tcp_client_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_client_macos", srcs = [ "s_network.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "snapshot_creator.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_client_linux", srcs = [ "s_network.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "snapshot_creator.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # TCP Client with HTTP + WebSocket alias( name = "seobeo_tcp_client_ws", actual = select({ "//config:macos": ":seobeo_tcp_client_ws_macos", "//config:linux": ":seobeo_tcp_client_ws_linux", "//conditions:default": ":seobeo_tcp_client_ws_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_client_ws_macos", srcs = [ "s_network.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "s_websocket_common.c", "s_websocket.c", "snapshot_creator.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_client_ws_linux", srcs = [ "s_network.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "s_websocket_common.c", "s_websocket.c", "snapshot_creator.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # All combined only used this if you don't want to deal with imports and what not... alias( name = "seobeo", actual = select({ "//config:macos": ":seobeo_macos", "//config:linux": ":seobeo_linux", "//conditions:default": ":seobeo_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_macos", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "s_websocket_common.c", "s_websocket.c", "s_websocket_server.c", "snapshot_creator.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER", "SEOBEO_ENABLE_DEBUG"], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_linux", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "s_websocket_common.c", "s_websocket.c", "s_websocket_server.c", "snapshot_creator.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER", "SEOBEO_ENABLE_DEBUG"], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # Names I often use alias( name = "seobeo_server", actual = ":seobeo_tcp_server", visibility = ["//visibility:public"], ) alias( name = "seobeo_client", actual = ":seobeo_tcp_client_ws", visibility = ["//visibility:public"], ) # ============================================================================ # Debug Builds (with SEOBEO_ENABLE_DEBUG defined) # ============================================================================ # TCP Server with HTTP + WebSocket (DEBUG) alias( name = "seobeo_tcp_server_ws_debug", actual = select({ "//config:macos": ":seobeo_tcp_server_ws_debug_macos", "//config:linux": ":seobeo_tcp_server_ws_debug_linux", "//conditions:default": ":seobeo_tcp_server_ws_debug_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_server_ws_debug_macos", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_websocket_common.c", "s_websocket_server.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER", "SEOBEO_ENABLE_DEBUG"], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_tcp_server_ws_debug_linux", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_websocket_common.c", "s_websocket_server.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER", "SEOBEO_ENABLE_DEBUG"], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # All combined (DEBUG) alias( name = "seobeo_debug", actual = select({ "//config:macos": ":seobeo_debug_macos", "//config:linux": ":seobeo_debug_linux", "//conditions:default": ":seobeo_debug_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_debug_macos", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "s_websocket_common.c", "s_websocket.c", "s_websocket_server.c", "snapshot_creator.c", "os/s_macos_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER", "SEOBEO_ENABLE_DEBUG"], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_debug_linux", srcs = [ "s_network.c", "s_web.c", "s_logging.c", "s_ssl.c", "s_http_client.c", "s_websocket_common.c", "s_websocket.c", "s_websocket_server.c", "snapshot_creator.c", "os/s_linux_edge.c", ], hdrs = [":seobeo_hdrs"], deps = [ "//dowa:dowa", "@openssl//:ssl", ], defines = ["SEOBEO_WEBSOCKET_SERVER", "SEOBEO_ENABLE_DEBUG"], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], ) # ============================================================================ # Testing Utilities # ============================================================================ # Testing library with snapshot and test generation tools alias( name = "seobeo_test", actual = select({ "//config:macos": ":seobeo_test_macos", "//config:linux": ":seobeo_test_linux", "//conditions:default": ":seobeo_test_linux", }), visibility = ["//visibility:public"], ) cc_library( name = "seobeo_test_macos", srcs = [ "snapshot_creator.c", ], hdrs = [ "snapshot_creator.h", ], deps = [ ":seobeo_tcp_client_macos", ], target_compatible_with = [ "@platforms//os:osx", ], visibility = ["//visibility:public"], ) cc_library( name = "seobeo_test_linux", srcs = [ "snapshot_creator.c", ], hdrs = [ "snapshot_creator.h", ], deps = [ ":seobeo_tcp_client_linux", ], target_compatible_with = [ "@platforms//os:linux", ], visibility = ["//visibility:public"], )