diff seobeo/BUILD @ 7:114cad94008f

[Seobeo] Updated to support thread and edge server calls.
author June Park <parkjune1995@gmail.com>
date Mon, 29 Sep 2025 17:00:38 -0700
parents 1e61008b9980
children f33d9ff8b6e8
line wrap: on
line diff
--- a/seobeo/BUILD	Mon Sep 29 16:00:44 2025 -0700
+++ b/seobeo/BUILD	Mon Sep 29 17:00:38 2025 -0700
@@ -1,12 +1,14 @@
 load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
 
-alias(
-  name = "seobeo",
-  actual = select({
-    "@platforms//os:osx": ":seobeo_example_mac",
-  }),
-  visibility = ["//visibility:public"],
+config_setting(
+  name        = "macos",
+  constraint_values = ["@platforms//os:osx"],
+)
+
+config_setting(
+  name        = "linux",
+  constraint_values = ["@platforms//os:linux"],
 )
 
 filegroup(
@@ -18,35 +20,55 @@
   name = "seobeo_headers",
   srcs = [
     "seobeo.h",
-    "seobeo_internal.h"
+    "seobeo_internal.h",
   ],
   visibility = ["//visibility:public"],
 )
 
 cc_binary(
-  name = "seobeo_example_mac",
+  name = "seobeo_example",
   srcs = ["main.c"],
-  deps = [":seobeo_non_window"],
-  data = glob(["pages/**"]),
+  deps = [":seobeo"],
+  data = [":pages_files"],
+)
+
+alias(
+  name   = "seobeo",
+  actual = select({
+    ":macos":  ":seobeo_macos",
+    ":linux":  ":seobeo_linux",
+    "//conditions:default": ":seobeo_linux",
+  }),
+  visibility = ["//visibility:public"],
+)
+
+cc_library(
+  name = "seobeo_macos",
+  srcs = [
+    "s_linux_network.c",
+    "s_web.c",
+    "os/s_macos_edge.c",
+  ],
+  hdrs = [":seobeo_headers"],
+  deps = ["//dowa:dowa"],
   target_compatible_with = [
-      "@platforms//os:osx",
+    "@platforms//os:osx",
   ],
   visibility = ["//visibility:public"],
 )
 
 cc_library(
-  name = "seobeo_non_window",
+  name = "seobeo_linux",
   srcs = [
     "s_linux_network.c",
     "s_web.c",
+    "os/s_linux_edge.c",
   ],
+  hdrs = [":seobeo_headers"],
   deps = ["//dowa:dowa"],
-  hdrs = [
-    "seobeo.h",
-    "seobeo_internal.h"
-  ],
   target_compatible_with = [
-      "@platforms//os:osx",
+    "@platforms//os:linux",
   ],
   visibility = ["//visibility:public"],
 )
+