summaryrefslogtreecommitdiffstats
path: root/third_party/mach_override/BUILD.gn
blob: 61af526645e5ee0dd2fa3b4798b384e89016a1c8 (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
62
63
# Copyright (c) 2013 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.

assert(is_mac || is_ios)

config("libudis86_warnings") {
  cflags = [
    # syn.c contains a switch with an assert(false) in a default:
    # block.  In release builds, the function is missing a return.
    "-Wno-return-type",

    # Fires once in decode.c.
    "-Wno-sometimes-uninitialized",
  ]
}

static_library("libudis86") {
  sources = [
    "libudis86/decode.c",
    "libudis86/decode.h",
    "libudis86/extern.h",
    "libudis86/input.c",
    "libudis86/input.h",
    "libudis86/itab.c",
    "libudis86/itab.h",
    "libudis86/syn-att.c",
    "libudis86/syn-intel.c",
    "libudis86/syn.c",
    "libudis86/syn.h",
    "libudis86/types.h",
    "libudis86/udint.h",
    "libudis86/udis86.c",
    "udis86.h",
  ]
  defines = [
    "HAVE_ASSERT_H",
    "HAVE_STRING_H",
  ]

  configs -= [
    "//build/config/compiler:chromium_code",

    # For UD_ASSERT(!"message");
   "//build/config/clang:extra_warnings",
  ]
  configs += [
    "//build/config/compiler:no_chromium_code",

    # Must be after no_chromium_code for warning flags to be ordered correctly.
    ":libudis86_warnings",
  ]
}

static_library("mach_override") {
  sources = [
    "mach_override.c",
    "mach_override.h",
  ]
  deps = [
    ":libudis86",
  ]
}