• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//
2// Copyright (C) 2014 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17// Build a "data" binary which will hold all the symbol values that will be parsed by the other scripts.
18//
19// Builds are for host only, target-specific define generation is possibly but is trickier and would need extra tooling.
20//
21// In the future we may wish to parameterize this on (32,64)x(read_barrier,no_read_barrier).
22
23cc_binary {  // Do not use art_cc_binary because HOST_PREFER_32_BIT is incompatible with genrule.
24    name: "cpp-define-generator-data",
25    host_supported: true,
26    device_supported: false,
27    defaults: [
28        "art_debug_defaults",
29        "art_defaults",
30    ],
31    include_dirs: ["art/runtime"],
32    srcs: ["main.cc"],
33    shared_libs: [
34        "libbase",
35    ],
36}
37
38// Note: See $OUT_DIR/soong/build.ninja
39// For the exact filename that this generates to run make command on just
40// this rule later.
41genrule {
42  name: "cpp-define-generator-asm-support",
43  out: ["asm_support_gen.h"],
44  tools: ["cpp-define-generator-data"],
45  tool_files: ["verify-asm-support"],
46  cmd: "$(location verify-asm-support) --quiet \"$(location cpp-define-generator-data)\" \"$(out)\""
47}
48