Header library to remove dependence on runtime/

Add a new header library to remove libdexfile and others' dependence on
runtime (typically runtime/base) includes in libdexfile.  Also a small step
to tease dexlayout and profman away from relying on these as well.

Bug: 22322814
Test: make -j 50 checkbuild
      make -j 50 test-art-host-gtest

Change-Id: I38e2fe399a75f4bc6318c77a71954c00ea73ec2b
diff --git a/compiler/debug/dwarf/debug_abbrev_writer.h b/compiler/debug/dwarf/debug_abbrev_writer.h
index 0fc843c..cccca25 100644
--- a/compiler/debug/dwarf/debug_abbrev_writer.h
+++ b/compiler/debug/dwarf/debug_abbrev_writer.h
@@ -22,10 +22,10 @@
 #include <unordered_map>
 
 #include "base/casts.h"
+#include "base/leb128.h"
 #include "base/stl_util.h"
 #include "debug/dwarf/dwarf_constants.h"
 #include "debug/dwarf/writer.h"
-#include "leb128.h"
 
 namespace art {
 namespace dwarf {
diff --git a/compiler/debug/dwarf/debug_info_entry_writer.h b/compiler/debug/dwarf/debug_info_entry_writer.h
index 85f021e..89d16f2 100644
--- a/compiler/debug/dwarf/debug_info_entry_writer.h
+++ b/compiler/debug/dwarf/debug_info_entry_writer.h
@@ -21,11 +21,11 @@
 #include <unordered_map>
 
 #include "base/casts.h"
+#include "base/leb128.h"
 #include "debug/dwarf/debug_abbrev_writer.h"
 #include "debug/dwarf/dwarf_constants.h"
 #include "debug/dwarf/expression.h"
 #include "debug/dwarf/writer.h"
-#include "leb128.h"
 
 namespace art {
 namespace dwarf {
diff --git a/compiler/debug/dwarf/writer.h b/compiler/debug/dwarf/writer.h
index afeb980..c09d97a 100644
--- a/compiler/debug/dwarf/writer.h
+++ b/compiler/debug/dwarf/writer.h
@@ -23,7 +23,7 @@
 #include <android-base/logging.h>
 
 #include "base/bit_utils.h"
-#include "leb128.h"
+#include "base/leb128.h"
 
 namespace art {
 namespace dwarf {
diff --git a/compiler/dex/verification_results.h b/compiler/dex/verification_results.h
index d19e993..9e4192a 100644
--- a/compiler/dex/verification_results.h
+++ b/compiler/dex/verification_results.h
@@ -23,9 +23,9 @@
 #include "base/dchecked_vector.h"
 #include "base/macros.h"
 #include "base/mutex.h"
+#include "base/safe_map.h"
 #include "class_reference.h"
 #include "method_reference.h"
-#include "safe_map.h"
 #include "utils/atomic_dex_ref_map.h"
 
 namespace art {
diff --git a/compiler/dex/verified_method.h b/compiler/dex/verified_method.h
index 2ed17f1..ecbeed3 100644
--- a/compiler/dex/verified_method.h
+++ b/compiler/dex/verified_method.h
@@ -20,9 +20,9 @@
 #include <vector>
 
 #include "base/mutex.h"
+#include "base/safe_map.h"
 #include "dex/dex_file.h"
 #include "method_reference.h"
-#include "safe_map.h"
 
 namespace art {
 
diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h
index 2b524a3..a3bb4ec 100644
--- a/compiler/driver/compiler_driver.h
+++ b/compiler/driver/compiler_driver.h
@@ -29,6 +29,7 @@
 #include "base/array_ref.h"
 #include "base/bit_utils.h"
 #include "base/mutex.h"
+#include "base/safe_map.h"
 #include "base/timing_logger.h"
 #include "class_reference.h"
 #include "class_status.h"
@@ -39,7 +40,6 @@
 #include "driver/compiled_method_storage.h"
 #include "method_reference.h"
 #include "os.h"
-#include "safe_map.h"
 #include "thread_pool.h"
 #include "utils/atomic_dex_ref_map.h"
 #include "utils/dex_cache_arrays_layout.h"
diff --git a/compiler/exception_test.cc b/compiler/exception_test.cc
index f00fe63..f582341 100644
--- a/compiler/exception_test.cc
+++ b/compiler/exception_test.cc
@@ -19,6 +19,7 @@
 #include "base/arena_allocator.h"
 #include "base/callee_save_type.h"
 #include "base/enums.h"
+#include "base/leb128.h"
 #include "class_linker.h"
 #include "common_runtime_test.h"
 #include "dex/code_item_accessors-inl.h"
@@ -27,7 +28,6 @@
 #include "dex/dex_file_exception_helpers.h"
 #include "gtest/gtest.h"
 #include "handle_scope-inl.h"
-#include "leb128.h"
 #include "mirror/class-inl.h"
 #include "mirror/object-inl.h"
 #include "mirror/object_array-inl.h"
diff --git a/compiler/jni/quick/calling_convention.h b/compiler/jni/quick/calling_convention.h
index be0bd72..e256ce6 100644
--- a/compiler/jni/quick/calling_convention.h
+++ b/compiler/jni/quick/calling_convention.h
@@ -20,8 +20,8 @@
 #include "base/arena_object.h"
 #include "base/array_ref.h"
 #include "base/enums.h"
+#include "dex/primitive.h"
 #include "handle_scope.h"
-#include "primitive.h"
 #include "thread.h"
 #include "utils/managed_register.h"
 
diff --git a/compiler/linker/arm/relative_patcher_arm_base.h b/compiler/linker/arm/relative_patcher_arm_base.h
index 4c2be1e..b0064d1 100644
--- a/compiler/linker/arm/relative_patcher_arm_base.h
+++ b/compiler/linker/arm/relative_patcher_arm_base.h
@@ -20,9 +20,9 @@
 #include <deque>
 #include <vector>
 
+#include "base/safe_map.h"
 #include "linker/relative_patcher.h"
 #include "method_reference.h"
-#include "safe_map.h"
 
 namespace art {
 namespace linker {
diff --git a/compiler/linker/elf_builder.h b/compiler/linker/elf_builder.h
index 9fb4b18..a5f6099 100644
--- a/compiler/linker/elf_builder.h
+++ b/compiler/linker/elf_builder.h
@@ -24,9 +24,9 @@
 #include "base/array_ref.h"
 #include "base/bit_utils.h"
 #include "base/casts.h"
+#include "base/leb128.h"
 #include "base/unix_file/fd_file.h"
 #include "elf_utils.h"
-#include "leb128.h"
 #include "linker/error_delaying_output_stream.h"
 
 namespace art {
diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc
index 01155dc..ff59173 100644
--- a/compiler/optimizing/code_generator.cc
+++ b/compiler/optimizing/code_generator.cc
@@ -43,6 +43,7 @@
 #include "base/bit_utils.h"
 #include "base/bit_utils_iterator.h"
 #include "base/casts.h"
+#include "base/leb128.h"
 #include "bytecode_utils.h"
 #include "class_linker.h"
 #include "compiled_method.h"
@@ -52,7 +53,6 @@
 #include "graph_visualizer.h"
 #include "intern_table.h"
 #include "intrinsics.h"
-#include "leb128.h"
 #include "mirror/array-inl.h"
 #include "mirror/object_array-inl.h"
 #include "mirror/object_reference.h"
diff --git a/compiler/optimizing/data_type-inl.h b/compiler/optimizing/data_type-inl.h
index e2cf7a8..94807e8 100644
--- a/compiler/optimizing/data_type-inl.h
+++ b/compiler/optimizing/data_type-inl.h
@@ -18,7 +18,7 @@
 #define ART_COMPILER_OPTIMIZING_DATA_TYPE_INL_H_
 
 #include "data_type.h"
-#include "primitive.h"
+#include "dex/primitive.h"
 
 namespace art {
 
diff --git a/compiler/optimizing/data_type_test.cc b/compiler/optimizing/data_type_test.cc
index ca137b7..8fea22b 100644
--- a/compiler/optimizing/data_type_test.cc
+++ b/compiler/optimizing/data_type_test.cc
@@ -20,7 +20,7 @@
 
 #include "base/array_ref.h"
 #include "base/macros.h"
-#include "primitive.h"
+#include "dex/primitive.h"
 
 namespace art {
 
diff --git a/compiler/utils/atomic_dex_ref_map.h b/compiler/utils/atomic_dex_ref_map.h
index 3474e16..cabd79e 100644
--- a/compiler/utils/atomic_dex_ref_map.h
+++ b/compiler/utils/atomic_dex_ref_map.h
@@ -17,9 +17,10 @@
 #ifndef ART_COMPILER_UTILS_ATOMIC_DEX_REF_MAP_H_
 #define ART_COMPILER_UTILS_ATOMIC_DEX_REF_MAP_H_
 
+#include "atomic.h"
 #include "base/dchecked_vector.h"
+#include "base/safe_map.h"
 #include "dex/dex_file_reference.h"
-#include "safe_map.h"
 
 namespace art {