|  | // Copyright (C) 2016 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. | 
|  |  | 
|  | art_cc_defaults { | 
|  | name: "libart-dexlayout-defaults", | 
|  | defaults: ["art_defaults"], | 
|  | host_supported: true, | 
|  | srcs: [ | 
|  | "compact_dex_writer.cc", | 
|  | "dexlayout.cc", | 
|  | "dex_ir.cc", | 
|  | "dex_ir_builder.cc", | 
|  | "dex_verify.cc", | 
|  | "dex_visualize.cc", | 
|  | "dex_writer.cc", | 
|  | ], | 
|  | export_include_dirs: ["."], | 
|  | target: { | 
|  | android: { | 
|  | shared_libs: [ | 
|  | "libartpalette", | 
|  | "libbase", | 
|  | ], | 
|  | }, | 
|  | not_windows: { | 
|  | shared_libs: [ | 
|  | "libartpalette", | 
|  | "libbase", | 
|  | ], | 
|  | }, | 
|  | windows: { | 
|  | cflags: ["-Wno-thread-safety"], | 
|  | static_libs: [ | 
|  | "libartpalette", | 
|  | "libbase", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | shared_libs: ["libz"], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "libart-dexlayout_static_base_defaults", | 
|  | whole_static_libs: [ | 
|  | "libbase", | 
|  | "libz", | 
|  | ], | 
|  | } | 
|  |  | 
|  | art_cc_library { | 
|  | name: "libart-dexlayout", | 
|  | defaults: [ | 
|  | "libart-dexlayout-defaults", | 
|  | "dex2oat-pgo-defaults", | 
|  | ], | 
|  | target: { | 
|  | android: { | 
|  | lto: { | 
|  | thin: true, | 
|  | }, | 
|  | shared_libs: [ | 
|  | "libartbase", | 
|  | "libdexfile", | 
|  | "libprofile", | 
|  | ], | 
|  | }, | 
|  | not_windows: { | 
|  | shared_libs: [ | 
|  | "libartbase", | 
|  | "libdexfile", | 
|  | "libprofile", | 
|  | ], | 
|  | }, | 
|  | windows: { | 
|  | enabled: true, | 
|  | shared: { | 
|  | enabled: false, | 
|  | }, | 
|  | static_libs: [ | 
|  | "libartbase", | 
|  | "libdexfile", | 
|  | "libprofile", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | apex_available: [ | 
|  | "com.android.art", | 
|  | "com.android.art.debug", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "libart-dexlayout_static_defaults", | 
|  | defaults: [ | 
|  | "libart-dexlayout_static_base_defaults", | 
|  | "libartbase_static_defaults", | 
|  | "libdexfile_static_defaults", | 
|  | "libprofile_static_defaults", | 
|  | ], | 
|  | whole_static_libs: ["libart-dexlayout"], | 
|  | } | 
|  |  | 
|  | art_cc_library { | 
|  | name: "libartd-dexlayout", | 
|  | defaults: [ | 
|  | "libart-dexlayout-defaults", | 
|  | "art_debug_defaults", | 
|  | ], | 
|  | target: { | 
|  | android: { | 
|  | shared_libs: [ | 
|  | "libartbased", | 
|  | "libdexfiled", | 
|  | "libprofiled", | 
|  | ], | 
|  | }, | 
|  | not_windows: { | 
|  | shared_libs: [ | 
|  | "libartbased", | 
|  | "libdexfiled", | 
|  | "libprofiled", | 
|  | ], | 
|  | }, | 
|  | windows: { | 
|  | static_libs: [ | 
|  | "libartbased", | 
|  | "libdexfiled", | 
|  | "libprofiled", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | apex_available: [ | 
|  | "com.android.art.debug", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "libartd-dexlayout_static_defaults", | 
|  | defaults: [ | 
|  | "libart-dexlayout_static_base_defaults", | 
|  | "libartbased_static_defaults", | 
|  | "libdexfiled_static_defaults", | 
|  | "libprofiled_static_defaults", | 
|  | ], | 
|  | whole_static_libs: ["libartd-dexlayout"], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "dexlayout-defaults", | 
|  | defaults: ["art_defaults"], | 
|  | host_supported: true, | 
|  | shared_libs: [ | 
|  | "libbase", | 
|  | ], | 
|  | } | 
|  |  | 
|  | art_cc_binary { | 
|  | name: "dexlayout", | 
|  | defaults: ["dexlayout-defaults"], | 
|  | srcs: ["dexlayout_main.cc"], | 
|  | shared_libs: [ | 
|  | "libdexfile", | 
|  | "libprofile", | 
|  | "libartbase", | 
|  | "libart-dexlayout", | 
|  | ], | 
|  | apex_available: [ | 
|  | "com.android.art", | 
|  | "com.android.art.debug", | 
|  | ], | 
|  | } | 
|  |  | 
|  | art_cc_binary { | 
|  | name: "dexlayouts", | 
|  | defaults: [ | 
|  | "dexlayout-defaults", | 
|  | "libart-dexlayout_static_defaults", | 
|  | "libprofile_static_defaults", | 
|  | "libdexfile_static_defaults", | 
|  | "libartbase_static_defaults", | 
|  | ], | 
|  | srcs: ["dexlayout_main.cc"], | 
|  | host_supported: true, | 
|  | device_supported: false, | 
|  | target: { | 
|  | darwin: { | 
|  | enabled: false, | 
|  | }, | 
|  | windows: { | 
|  | enabled: true, | 
|  | cflags: ["-Wno-thread-safety"], | 
|  | }, | 
|  | }, | 
|  | } | 
|  |  | 
|  | art_cc_binary { | 
|  | name: "dexlayoutd", | 
|  | defaults: [ | 
|  | "art_debug_defaults", | 
|  | "dexlayout-defaults", | 
|  | ], | 
|  | srcs: ["dexlayout_main.cc"], | 
|  | shared_libs: [ | 
|  | "libdexfiled", | 
|  | "libprofiled", | 
|  | "libartbased", | 
|  | "libartd-dexlayout", | 
|  | ], | 
|  | apex_available: [ | 
|  | "com.android.art.debug", | 
|  | ], | 
|  | } | 
|  |  | 
|  | art_cc_test { | 
|  | name: "art_dexlayout_tests", | 
|  | defaults: ["art_gtest_defaults"], | 
|  | shared_libs: [ | 
|  | "libprofiled", | 
|  | "libartd-dexlayout", | 
|  | ], | 
|  | data: [ | 
|  | ":art-gtest-jars-ManyMethods", | 
|  | ], | 
|  | srcs: ["dexlayout_test.cc"], | 
|  | target: { | 
|  | host: { | 
|  | required: [ | 
|  | "dexdump", | 
|  | "dexlayoutd", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | } | 
|  |  | 
|  | art_cc_binary { | 
|  | name: "dexdiag", | 
|  | defaults: ["art_defaults"], | 
|  | host_supported: true, | 
|  | srcs: ["dexdiag.cc"], | 
|  | cflags: ["-Wall"], | 
|  | shared_libs: [ | 
|  | "libart", | 
|  | "libdexfile", | 
|  | "libartbase", | 
|  | "libart-dexlayout", | 
|  | "libbase", | 
|  | ], | 
|  | target: { | 
|  | android: { | 
|  | shared_libs: [ | 
|  | "libmeminfo", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | apex_available: [ | 
|  | "com.android.art", | 
|  | "com.android.art.debug", | 
|  | ], | 
|  | } | 
|  |  | 
|  | art_cc_test { | 
|  | name: "art_dexdiag_tests", | 
|  | host_supported: true, | 
|  | defaults: [ | 
|  | "art_gtest_defaults", | 
|  | ], | 
|  | srcs: ["dexdiag_test.cc"], | 
|  | target: { | 
|  | host: { | 
|  | required: ["dexdiag"], | 
|  | }, | 
|  | }, | 
|  | } |