OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
| 5 config("libudis86_warnings") { |
| 6 if (is_clang) { |
| 7 cflags = [ |
| 8 # syn.c contains a switch with an assert(false) in a default: |
| 9 # block. In release builds, the function is missing a return. |
| 10 "-Wno-return-type", |
| 11 |
| 12 # Fires once in decode.c. |
| 13 "-Wno-sometimes-uninitialized", |
| 14 ] |
| 15 } |
| 16 } |
| 17 |
5 static_library("libudis86") { | 18 static_library("libudis86") { |
6 sources = [ | 19 sources = [ |
7 "libudis86/decode.c", | 20 "libudis86/decode.c", |
8 "libudis86/decode.h", | 21 "libudis86/decode.h", |
9 "libudis86/extern.h", | 22 "libudis86/extern.h", |
10 "libudis86/input.c", | 23 "libudis86/input.c", |
11 "libudis86/input.h", | 24 "libudis86/input.h", |
12 "libudis86/itab.c", | 25 "libudis86/itab.c", |
13 "libudis86/itab.h", | 26 "libudis86/itab.h", |
14 "libudis86/syn-att.c", | 27 "libudis86/syn-att.c", |
15 "libudis86/syn-intel.c", | 28 "libudis86/syn-intel.c", |
16 "libudis86/syn.c", | 29 "libudis86/syn.c", |
17 "libudis86/syn.h", | 30 "libudis86/syn.h", |
18 "libudis86/types.h", | 31 "libudis86/types.h", |
19 "libudis86/udint.h", | 32 "libudis86/udint.h", |
20 "libudis86/udis86.c", | 33 "libudis86/udis86.c", |
21 "udis86.h", | 34 "udis86.h", |
22 ] | 35 ] |
23 defines = [ | 36 defines = [ |
24 "HAVE_ASSERT_H", | 37 "HAVE_ASSERT_H", |
25 "HAVE_STRING_H", | 38 "HAVE_STRING_H", |
26 ] | 39 ] |
27 | 40 |
28 # syn.c doesn't specify a return value when it issues an assertion. | 41 # syn.c doesn't specify a return value when it issues an assertion. |
29 cflags = [ "-Wno-return-type" ] | 42 cflags = [ "-Wno-return-type" ] |
30 | 43 |
31 configs -= [ "//build/config/compiler:chromium_code" ] | 44 configs -= [ "//build/config/compiler:chromium_code" ] |
32 configs += [ "//build/config/compiler:no_chromium_code" ] | 45 configs += [ |
| 46 "//build/config/compiler:no_chromium_code", |
| 47 |
| 48 # Must be after no_chromium_code for warning flags to be ordered correctly. |
| 49 ":libudis86_warnings", |
| 50 ] |
33 | 51 |
34 if (is_clang) { | 52 if (is_clang) { |
35 # For UD_ASSERT(!"message"); | 53 # For UD_ASSERT(!"message"); |
36 configs -= [ "//build/config/clang:extra_warnings" ] | 54 configs -= [ "//build/config/clang:extra_warnings" ] |
37 } | 55 } |
38 } | 56 } |
39 | 57 |
40 static_library("mach_override") { | 58 static_library("mach_override") { |
41 sources = [ | 59 sources = [ |
42 "mach_override.c", | 60 "mach_override.c", |
43 "mach_override.h", | 61 "mach_override.h", |
44 ] | 62 ] |
45 deps = [ | 63 deps = [ |
46 ":libudis86", | 64 ":libudis86", |
47 ] | 65 ] |
48 } | 66 } |
OLD | NEW |