Mercurial
view seobeo/BUILD @ 124:dbf14f84d51c
Refactor Seobeo and mrjunejune build files so it works.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Thu, 08 Jan 2026 07:31:32 -0800 |
| parents | 7b1719fa918c |
| children | f236c895604e |
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_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_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.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.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.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"], 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.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"], 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", visibility = ["//visibility:public"], )