xref: /aosp_15_r20/external/skia/include/config/linkopts.bzl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker"""
2*c8dee2aaSAndroid Build Coastguard WorkerTHIS IS THE EXTERNAL-ONLY VERSION OF THIS FILE. G3 HAS ITS OWN.
3*c8dee2aaSAndroid Build Coastguard Worker
4*c8dee2aaSAndroid Build Coastguard WorkerThis file contains flags for the C++ linker, referred to by Bazel as linkopts.
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard WorkerNow that we have a modular build, this file could maybe go away and folded into our toolchains.
7*c8dee2aaSAndroid Build Coastguard Worker
8*c8dee2aaSAndroid Build Coastguard Worker"""
9*c8dee2aaSAndroid Build Coastguard Worker
10*c8dee2aaSAndroid Build Coastguard WorkerCORE_LINKOPTS = select({
11*c8dee2aaSAndroid Build Coastguard Worker    "@platforms//os:android": [
12*c8dee2aaSAndroid Build Coastguard Worker        "-landroid",
13*c8dee2aaSAndroid Build Coastguard Worker        "-ldl",
14*c8dee2aaSAndroid Build Coastguard Worker        "-llog",  # Provides __android_log_vprint, needed by //src/ports/SkDebug_android.cpp.
15*c8dee2aaSAndroid Build Coastguard Worker    ],
16*c8dee2aaSAndroid Build Coastguard Worker    "//conditions:default": [],
17*c8dee2aaSAndroid Build Coastguard Worker})
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard WorkerOPT_LEVEL = select({
20*c8dee2aaSAndroid Build Coastguard Worker    "//bazel/common_config_settings:debug_build": [],
21*c8dee2aaSAndroid Build Coastguard Worker    "//bazel/common_config_settings:fast_build_linux": [
22*c8dee2aaSAndroid Build Coastguard Worker        "-Wl,--strip-debug",
23*c8dee2aaSAndroid Build Coastguard Worker    ],
24*c8dee2aaSAndroid Build Coastguard Worker    "//bazel/common_config_settings:fast_build_mac": [],
25*c8dee2aaSAndroid Build Coastguard Worker    "//bazel/common_config_settings:release_build_mac": [
26*c8dee2aaSAndroid Build Coastguard Worker        "-dead_strip",
27*c8dee2aaSAndroid Build Coastguard Worker    ],
28*c8dee2aaSAndroid Build Coastguard Worker    "//bazel/common_config_settings:release_build_linux": [
29*c8dee2aaSAndroid Build Coastguard Worker        "-Wl,--gc-sections",
30*c8dee2aaSAndroid Build Coastguard Worker        "-Wl,--strip-all",
31*c8dee2aaSAndroid Build Coastguard Worker    ],
32*c8dee2aaSAndroid Build Coastguard Worker    "//conditions:default": [],
33*c8dee2aaSAndroid Build Coastguard Worker})
34*c8dee2aaSAndroid Build Coastguard Worker
35*c8dee2aaSAndroid Build Coastguard WorkerDEFAULT_LINKOPTS = CORE_LINKOPTS + OPT_LEVEL
36