Mercurial
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 159:05cf9467a1c3 | 160:948de3f54cea |
|---|---|
| 1 load("@rules_cc//cc:defs.bzl", "cc_library") | |
| 2 | |
| 3 package(default_visibility = ["//visibility:public"]) | |
| 4 | |
| 5 # Common source files for all platforms | |
| 6 COMMON_SRCS = [ | |
| 7 "src/fs-poll.c", | |
| 8 "src/idna.c", | |
| 9 "src/inet.c", | |
| 10 "src/random.c", | |
| 11 "src/strscpy.c", | |
| 12 "src/strtok.c", | |
| 13 "src/thread-common.c", | |
| 14 "src/threadpool.c", | |
| 15 "src/timer.c", | |
| 16 "src/uv-common.c", | |
| 17 "src/uv-data-getter-setters.c", | |
| 18 "src/version.c", | |
| 19 ] | |
| 20 | |
| 21 # Unix common source files | |
| 22 UNIX_SRCS = [ | |
| 23 "src/unix/async.c", | |
| 24 "src/unix/core.c", | |
| 25 "src/unix/dl.c", | |
| 26 "src/unix/fs.c", | |
| 27 "src/unix/getaddrinfo.c", | |
| 28 "src/unix/getnameinfo.c", | |
| 29 "src/unix/loop-watcher.c", | |
| 30 "src/unix/loop.c", | |
| 31 "src/unix/pipe.c", | |
| 32 "src/unix/poll.c", | |
| 33 "src/unix/process.c", | |
| 34 "src/unix/random-devurandom.c", | |
| 35 "src/unix/signal.c", | |
| 36 "src/unix/stream.c", | |
| 37 "src/unix/tcp.c", | |
| 38 "src/unix/thread.c", | |
| 39 "src/unix/tty.c", | |
| 40 "src/unix/udp.c", | |
| 41 ] | |
| 42 | |
| 43 # macOS/Darwin specific sources | |
| 44 DARWIN_SRCS = [ | |
| 45 "src/unix/bsd-ifaddrs.c", | |
| 46 "src/unix/darwin.c", | |
| 47 "src/unix/darwin-proctitle.c", | |
| 48 "src/unix/fsevents.c", | |
| 49 "src/unix/kqueue.c", | |
| 50 "src/unix/proctitle.c", | |
| 51 "src/unix/random-getentropy.c", | |
| 52 ] | |
| 53 | |
| 54 # Linux specific sources | |
| 55 LINUX_SRCS = [ | |
| 56 "src/unix/linux.c", | |
| 57 "src/unix/procfs-exepath.c", | |
| 58 "src/unix/proctitle.c", | |
| 59 "src/unix/random-getrandom.c", | |
| 60 "src/unix/random-sysctl-linux.c", | |
| 61 ] | |
| 62 | |
| 63 # Windows specific sources | |
| 64 WIN_SRCS = [ | |
| 65 "src/win/async.c", | |
| 66 "src/win/core.c", | |
| 67 "src/win/detect-wakeup.c", | |
| 68 "src/win/dl.c", | |
| 69 "src/win/error.c", | |
| 70 "src/win/fs.c", | |
| 71 "src/win/fs-event.c", | |
| 72 "src/win/getaddrinfo.c", | |
| 73 "src/win/getnameinfo.c", | |
| 74 "src/win/handle.c", | |
| 75 "src/win/loop-watcher.c", | |
| 76 "src/win/pipe.c", | |
| 77 "src/win/poll.c", | |
| 78 "src/win/process.c", | |
| 79 "src/win/process-stdio.c", | |
| 80 "src/win/signal.c", | |
| 81 "src/win/snprintf.c", | |
| 82 "src/win/stream.c", | |
| 83 "src/win/tcp.c", | |
| 84 "src/win/thread.c", | |
| 85 "src/win/tty.c", | |
| 86 "src/win/udp.c", | |
| 87 "src/win/util.c", | |
| 88 "src/win/winapi.c", | |
| 89 "src/win/winsock.c", | |
| 90 ] | |
| 91 | |
| 92 COMMON_HDRS = glob(["include/**/*.h"]) + glob(["src/*.h"]) + glob(["src/unix/*.h"]) + glob(["src/win/*.h"]) | |
| 93 | |
| 94 cc_library( | |
| 95 name = "libuv", | |
| 96 srcs = COMMON_SRCS + select({ | |
| 97 "@platforms//os:macos": UNIX_SRCS + DARWIN_SRCS, | |
| 98 "@platforms//os:linux": UNIX_SRCS + LINUX_SRCS, | |
| 99 "@platforms//os:windows": WIN_SRCS, | |
| 100 }), | |
| 101 hdrs = COMMON_HDRS, | |
| 102 includes = ["include", "src"], | |
| 103 local_defines = select({ | |
| 104 "@platforms//os:macos": [ | |
| 105 "_DARWIN_UNLIMITED_SELECT=1", | |
| 106 "_DARWIN_USE_64_BIT_INODE=1", | |
| 107 "_FILE_OFFSET_BITS=64", | |
| 108 "_LARGEFILE_SOURCE", | |
| 109 ], | |
| 110 "@platforms//os:linux": [ | |
| 111 "_GNU_SOURCE", | |
| 112 "_POSIX_C_SOURCE=200112", | |
| 113 "_FILE_OFFSET_BITS=64", | |
| 114 "_LARGEFILE_SOURCE", | |
| 115 ], | |
| 116 "@platforms//os:windows": [ | |
| 117 "WIN32_LEAN_AND_MEAN", | |
| 118 "_WIN32_WINNT=0x0A00", | |
| 119 "_CRT_DECLARE_NONSTDC_NAMES=0", | |
| 120 ], | |
| 121 }), | |
| 122 linkopts = select({ | |
| 123 "@platforms//os:macos": ["-lpthread"], | |
| 124 "@platforms//os:linux": ["-lpthread", "-ldl", "-lrt", "-lm"], | |
| 125 "@platforms//os:windows": [ | |
| 126 "-lpsapi", | |
| 127 "-luser32", | |
| 128 "-ladvapi32", | |
| 129 "-liphlpapi", | |
| 130 "-luserenv", | |
| 131 "-lws2_32", | |
| 132 "-ldbghelp", | |
| 133 "-lole32", | |
| 134 "-lshell32", | |
| 135 ], | |
| 136 }), | |
| 137 copts = select({ | |
| 138 "@platforms//os:windows": [], | |
| 139 "//conditions:default": [ | |
| 140 "-fno-strict-aliasing", | |
| 141 "-Wno-unused-parameter", | |
| 142 ], | |
| 143 }), | |
| 144 ) |