| // |
| // Copyright (C) 2014 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| // |
| |
| // Build a "data" binary which will hold all the symbol values that will be parsed by the other scripts. |
| // |
| // Builds are for host only, target-specific define generation is possibly but is trickier and would need extra tooling. |
| // |
| // In the future we may wish to parameterize this on (32,64)x(read_barrier,no_read_barrier). |
| |
| cc_binary { // Do not use art_cc_binary because HOST_PREFER_32_BIT is incompatible with genrule. |
| name: "cpp-define-generator-data", |
| host_supported: true, |
| device_supported: false, |
| defaults: [ |
| "art_debug_defaults", |
| "art_defaults", |
| ], |
| include_dirs: ["art/runtime"], |
| srcs: ["main.cc"], |
| shared_libs: [ |
| "libbase", |
| ], |
| } |
| |
| // Note: See $OUT_DIR/soong/build.ninja |
| // For the exact filename that this generates to run make command on just |
| // this rule later. |
| genrule { |
| name: "cpp-define-generator-asm-support", |
| out: ["asm_support_gen.h"], |
| tools: ["cpp-define-generator-data"], |
| tool_files: ["verify-asm-support"], |
| cmd: "$(location verify-asm-support) --quiet \"$(location cpp-define-generator-data)\" \"$(out)\"" |
| } |