annotate third_party/raylib/raylib.bzl @ 54:b3e82d22f961

[PostDog] Initial commit BROKEN
author June Park <parkjune1995@gmail.com>
date Fri, 19 Dec 2025 13:58:52 -0800
parents a58a663dae68
children ccb42d5bf8fd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
1 def raylib_binary(
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
2 name,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
3 srcs,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
4 deps = [],
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
5 deps_macos = [],
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
6 deps_linux = [],
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
7 linkopts_macos = [
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
8 "-framework CoreVideo",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
9 "-framework IOKit",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
10 "-framework Cocoa",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
11 "-framework GLUT",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
12 "-framework OpenGL",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
13 ],
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
14 linkopts_linux = [
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
15 "-lGL",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
16 "-lm",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
17 "-lpthread",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
18 "-ldl",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
19 "-lrt",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
20 "-lX11",
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
21 ]):
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
22 """
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
23 Raylib specific cross platform rules.
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
24
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
25 Args:
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
26 name: The logical name of the binary (alias).
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
27 srcs: List of source files (common).
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
28 deps: Mutual dependency.
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
29 deps_macos: Extra deps for macOS.
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
30 deps_linux: Extra deps for Linux.
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
31 linkopts_macos: Extra linkopts for macOS.
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
32 linkopts_linux: Extra linkopts for Linux.
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
33 """
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
34
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
35 macos_bin = name + "_macos"
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
36 linux_bin = name + "_linux"
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
37
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
38 native.cc_binary(
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
39 name = macos_bin,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
40 srcs = srcs,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
41 deps = deps + deps_macos,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
42 linkopts = linkopts_macos,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
43 )
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
44
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
45 native.cc_binary(
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
46 name = linux_bin,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
47 srcs = srcs,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
48 deps = deps + deps_linux,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
49 linkopts = linkopts_linux,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
50 )
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
51
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
52 native.alias(
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
53 name = name,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
54 actual = select({
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
55 "//config:macos": ":" + macos_bin,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
56 "//config:linux": ":" + linux_bin,
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
57 "//conditions:default": ":" + linux_bin, # fallback
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
58 }),
a58a663dae68 [Sori] Making a simple game.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
59 )