summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/aix/BUILD.gn
blob: 9079f6f53e702d1fefe281023d5a563f340fcbe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/sanitizers/sanitizers.gni")
import("//build/toolchain/toolchain.gni")

# This is included by reference in the //build/config/compiler config that
# is applied to all targets. It is here to separate out the logic.

config("compiler") {
  # These flags are shared between the C compiler and linker.
  defines = [
    "_LINUX_SOURCE_COMPAT=1",
    "__STDC_FORMAT_MACROS",
    "_ALL_SOURCE=1",
  ]

  cflags = [
    "-Wall",
    "-Wno-unused-parameter",
    "-pthread",
    "-Wmissing-field-initializers",
    "-Wno-uninitialized",
    "-mcpu=power5+",
    "-mfprnd",
    "-mno-popcntb",
    "-maix64",
    "-fdata-sections",
    "-ffunction-sections",
    "-O3",

    # "-Werror"
    # We need to find a way to fix the TOC warnings if we want to enable this.
  ]

  cflags_cc = [
    "-fno-rtti",
    "-fno-exceptions",
    "-Wno-narrowing",
    "-Wno-non-virtual-dtor",
  ]

  ldflags = [
    "-pthread",
    "-maix64",
    "-Wl,-bbigtoc",
  ]

  if (is_component_build) {
    cflags += [
      "-fpic",
    ]
    ldflags += [
      "-Wl,-brtl",
      # -bnoipath so that only names of .so objects are stored in loader
      # section, excluding leading "./"
      "-Wl,-bnoipath",
    ]
  }
}