blob: 59c52117ebcaa1228f8d392bbfaa227f68dd2fd3 [file] [log] [blame]
Colin Crossfe6064a2016-08-30 13:49:26 -07001//
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
Igor Murashkin2bb70d32017-02-06 10:34:14 -080023cc_binary { // Do not use art_cc_binary because HOST_PREFER_32_BIT is incompatible with genrule.
Colin Crossfe6064a2016-08-30 13:49:26 -070024 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}
Igor Murashkin2bb70d32017-02-06 10:34:14 -080037
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}