Mercurial
diff third_party/libuv/BUILD @ 160:948de3f54cea
[ThirdParty] Added libuv
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Wed, 14 Jan 2026 19:39:52 -0800 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/third_party/libuv/BUILD Wed Jan 14 19:39:52 2026 -0800 @@ -0,0 +1,144 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + +package(default_visibility = ["//visibility:public"]) + +# Common source files for all platforms +COMMON_SRCS = [ + "src/fs-poll.c", + "src/idna.c", + "src/inet.c", + "src/random.c", + "src/strscpy.c", + "src/strtok.c", + "src/thread-common.c", + "src/threadpool.c", + "src/timer.c", + "src/uv-common.c", + "src/uv-data-getter-setters.c", + "src/version.c", +] + +# Unix common source files +UNIX_SRCS = [ + "src/unix/async.c", + "src/unix/core.c", + "src/unix/dl.c", + "src/unix/fs.c", + "src/unix/getaddrinfo.c", + "src/unix/getnameinfo.c", + "src/unix/loop-watcher.c", + "src/unix/loop.c", + "src/unix/pipe.c", + "src/unix/poll.c", + "src/unix/process.c", + "src/unix/random-devurandom.c", + "src/unix/signal.c", + "src/unix/stream.c", + "src/unix/tcp.c", + "src/unix/thread.c", + "src/unix/tty.c", + "src/unix/udp.c", +] + +# macOS/Darwin specific sources +DARWIN_SRCS = [ + "src/unix/bsd-ifaddrs.c", + "src/unix/darwin.c", + "src/unix/darwin-proctitle.c", + "src/unix/fsevents.c", + "src/unix/kqueue.c", + "src/unix/proctitle.c", + "src/unix/random-getentropy.c", +] + +# Linux specific sources +LINUX_SRCS = [ + "src/unix/linux.c", + "src/unix/procfs-exepath.c", + "src/unix/proctitle.c", + "src/unix/random-getrandom.c", + "src/unix/random-sysctl-linux.c", +] + +# Windows specific sources +WIN_SRCS = [ + "src/win/async.c", + "src/win/core.c", + "src/win/detect-wakeup.c", + "src/win/dl.c", + "src/win/error.c", + "src/win/fs.c", + "src/win/fs-event.c", + "src/win/getaddrinfo.c", + "src/win/getnameinfo.c", + "src/win/handle.c", + "src/win/loop-watcher.c", + "src/win/pipe.c", + "src/win/poll.c", + "src/win/process.c", + "src/win/process-stdio.c", + "src/win/signal.c", + "src/win/snprintf.c", + "src/win/stream.c", + "src/win/tcp.c", + "src/win/thread.c", + "src/win/tty.c", + "src/win/udp.c", + "src/win/util.c", + "src/win/winapi.c", + "src/win/winsock.c", +] + +COMMON_HDRS = glob(["include/**/*.h"]) + glob(["src/*.h"]) + glob(["src/unix/*.h"]) + glob(["src/win/*.h"]) + +cc_library( + name = "libuv", + srcs = COMMON_SRCS + select({ + "@platforms//os:macos": UNIX_SRCS + DARWIN_SRCS, + "@platforms//os:linux": UNIX_SRCS + LINUX_SRCS, + "@platforms//os:windows": WIN_SRCS, + }), + hdrs = COMMON_HDRS, + includes = ["include", "src"], + local_defines = select({ + "@platforms//os:macos": [ + "_DARWIN_UNLIMITED_SELECT=1", + "_DARWIN_USE_64_BIT_INODE=1", + "_FILE_OFFSET_BITS=64", + "_LARGEFILE_SOURCE", + ], + "@platforms//os:linux": [ + "_GNU_SOURCE", + "_POSIX_C_SOURCE=200112", + "_FILE_OFFSET_BITS=64", + "_LARGEFILE_SOURCE", + ], + "@platforms//os:windows": [ + "WIN32_LEAN_AND_MEAN", + "_WIN32_WINNT=0x0A00", + "_CRT_DECLARE_NONSTDC_NAMES=0", + ], + }), + linkopts = select({ + "@platforms//os:macos": ["-lpthread"], + "@platforms//os:linux": ["-lpthread", "-ldl", "-lrt", "-lm"], + "@platforms//os:windows": [ + "-lpsapi", + "-luser32", + "-ladvapi32", + "-liphlpapi", + "-luserenv", + "-lws2_32", + "-ldbghelp", + "-lole32", + "-lshell32", + ], + }), + copts = select({ + "@platforms//os:windows": [], + "//conditions:default": [ + "-fno-strict-aliasing", + "-Wno-unused-parameter", + ], + }), +)