Home | History | Annotate | Download | only in libdexfile
      1 //
      2 // Copyright (C) 2011 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 cc_defaults {
     18     name: "libdexfile_defaults",
     19     defaults: ["art_defaults"],
     20     host_supported: true,
     21     srcs: [
     22         "dex/compact_dex_file.cc",
     23         "dex/compact_offset_table.cc",
     24         "dex/descriptors_names.cc",
     25         "dex/dex_file.cc",
     26         "dex/dex_file_exception_helpers.cc",
     27         "dex/dex_file_layout.cc",
     28         "dex/dex_file_loader.cc",
     29         "dex/dex_file_tracking_registrar.cc",
     30         "dex/dex_file_verifier.cc",
     31         "dex/dex_instruction.cc",
     32         "dex/modifiers.cc",
     33         "dex/primitive.cc",
     34         "dex/standard_dex_file.cc",
     35         "dex/utf.cc",
     36     ],
     37 
     38     target: {
     39         android: {
     40             static_libs: [
     41                 "libziparchive",
     42                 "libz",
     43             ],
     44             shared_libs: [
     45                 "libutils",
     46             ],
     47         },
     48         host: {
     49             shared_libs: [
     50                 "libziparchive",
     51                 "libz",
     52             ],
     53         },
     54     },
     55     generated_sources: ["dexfile_operator_srcs"],
     56     shared_libs: [
     57         // Important note: relying on libartbase's header_lib is perfectly acceptable.
     58         // However, relying on the libartbase shared library introduces further, possibly cyclic,
     59 	// dependencies for clients outside of ART.
     60         "liblog",
     61         // For common macros.
     62         "libbase",
     63         "libz",
     64     ],
     65     header_libs: [
     66         "art_libartbase_headers",
     67     ],
     68     export_include_dirs: ["."],
     69     export_shared_lib_headers: [
     70         "libbase",
     71     ],
     72     export_header_lib_headers: [
     73         "art_libartbase_headers",
     74     ],
     75 }
     76 
     77 gensrcs {
     78     name: "dexfile_operator_srcs",
     79     cmd: "$(location generate_operator_out) art/libdexfile $(in) > $(out)",
     80     tools: ["generate_operator_out"],
     81     srcs: [
     82         "dex/dex_file.h",
     83         "dex/dex_file_layout.h",
     84         "dex/dex_instruction.h",
     85         "dex/dex_instruction_utils.h",
     86         "dex/invoke_type.h",
     87         "dex/method_reference.h",
     88     ],
     89     output_extension: "operator_out.cc",
     90 }
     91 
     92 art_cc_library {
     93     name: "libdexfile",
     94     defaults: ["libdexfile_defaults"],
     95     // Leave the symbols in the shared library so that stack unwinders can
     96     // produce meaningful name resolution.
     97     strip: {
     98         keep_symbols: true,
     99     },
    100 }
    101 
    102 art_cc_library {
    103     name: "libdexfiled",
    104     defaults: [
    105         "art_debug_defaults",
    106         "libdexfile_defaults",
    107     ],
    108 }
    109 
    110 art_cc_test {
    111     name: "art_libdexfile_tests",
    112     defaults: [
    113         "art_gtest_defaults",
    114     ],
    115     srcs: [
    116         "dex/code_item_accessors_test.cc",
    117         "dex/compact_dex_file_test.cc",
    118         "dex/compact_offset_table_test.cc",
    119         "dex/descriptors_names_test.cc",
    120         "dex/test_dex_file_builder_test.cc",
    121         "dex/dex_file_loader_test.cc",
    122         "dex/dex_file_verifier_test.cc",
    123         "dex/dex_instruction_test.cc",
    124         "dex/primitive_test.cc",
    125         "dex/string_reference_test.cc",
    126         "dex/utf_test.cc",
    127     ],
    128     shared_libs: [
    129         "libbacktrace",
    130         "libziparchive",
    131     ],
    132     include_dirs: [
    133         "external/zlib",
    134     ],
    135 }
    136