Merge changes from topic "libedify-header" am: abade5af15 am: 28e8a2c43a
am: eaf3e895fe

Change-Id: Ib25565ad20dd7ba2a22671b317a63ee68a38f404
diff --git a/Android.bp b/Android.bp
index 99ca3a4..4c66c42 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,5 +1,6 @@
 subdirs = [
     "bootloader_message",
+    "edify",
     "otafault",
     "otautil",
 ]
diff --git a/Android.mk b/Android.mk
index ac72bac..b40e23d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -261,7 +261,6 @@
 include \
     $(LOCAL_PATH)/applypatch/Android.mk \
     $(LOCAL_PATH)/boot_control/Android.mk \
-    $(LOCAL_PATH)/edify/Android.mk \
     $(LOCAL_PATH)/minadbd/Android.mk \
     $(LOCAL_PATH)/minui/Android.mk \
     $(LOCAL_PATH)/tests/Android.mk \
diff --git a/applypatch/Android.mk b/applypatch/Android.mk
index db72e8e..05d9370 100644
--- a/applypatch/Android.mk
+++ b/applypatch/Android.mk
@@ -29,6 +29,7 @@
     bootable/recovery
 LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
 LOCAL_STATIC_LIBRARIES := \
+    libedify \
     libotafault \
     libbase \
     libcrypto \
@@ -116,6 +117,7 @@
     libapplypatch \
     libedify \
     libotafault \
+    libotautil \
     libbspatch \
     libbase \
     libziparchive \
diff --git a/edify/Android.bp b/edify/Android.bp
new file mode 100644
index 0000000..42947eb
--- /dev/null
+++ b/edify/Android.bp
@@ -0,0 +1,45 @@
+// Copyright (C) 2017 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.
+
+cc_library_static {
+    name: "libedify",
+
+    host_supported: true,
+
+    srcs: [
+        "expr.cpp",
+        "lexer.ll",
+        "parser.yy",
+    ],
+
+    cflags: [
+        "-Wall",
+        "-Werror",
+        "-Wno-deprecated-register",
+        "-Wno-unused-parameter",
+    ],
+
+    export_include_dirs: [
+        "include",
+    ],
+
+    local_include_dirs: [
+        "include",
+    ],
+
+    static_libs: [
+        "libbase",
+        "libotautil",
+    ],
+}
diff --git a/edify/Android.mk b/edify/Android.mk
deleted file mode 100644
index fbf2b1b..0000000
--- a/edify/Android.mk
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2009 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.
-
-LOCAL_PATH := $(call my-dir)
-
-edify_src_files := \
-    lexer.ll \
-    parser.yy \
-    expr.cpp
-
-#
-# Build the device-side library (static library)
-#
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(edify_src_files)
-
-LOCAL_CFLAGS := -Wall -Werror
-LOCAL_CPPFLAGS := -Wno-unused-parameter
-LOCAL_CPPFLAGS += -Wno-deprecated-register
-LOCAL_MODULE := libedify
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-LOCAL_STATIC_LIBRARIES += libbase
-
-include $(BUILD_STATIC_LIBRARY)
-
-#
-# Build the host-side library (static library)
-#
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(edify_src_files)
-
-LOCAL_CFLAGS := -Wall -Werror
-LOCAL_CPPFLAGS := -Wno-unused-parameter
-LOCAL_CPPFLAGS += -Wno-deprecated-register
-LOCAL_MODULE := libedify
-LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
-LOCAL_STATIC_LIBRARIES += libbase
-
-include $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/edify/expr.cpp b/edify/expr.cpp
index 403162d..1b8623f 100644
--- a/edify/expr.cpp
+++ b/edify/expr.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "expr.h"
+#include "edify/expr.h"
 
 #include <stdarg.h>
 #include <stdio.h>
@@ -31,7 +31,7 @@
 #include <android-base/stringprintf.h>
 #include <android-base/strings.h>
 
-#include "error_code.h"
+#include "otautil/error_code.h"
 
 // Functions should:
 //
diff --git a/edify/expr.h b/edify/include/edify/expr.h
similarity index 98%
rename from edify/expr.h
rename to edify/include/edify/expr.h
index 3282802..770d1cf 100644
--- a/edify/expr.h
+++ b/edify/include/edify/expr.h
@@ -23,7 +23,7 @@
 #include <string>
 #include <vector>
 
-// Forward declaration to avoid including "error_code.h".
+// Forward declaration to avoid including "otautil/error_code.h".
 enum ErrorCode : int;
 enum CauseCode : int;
 
diff --git a/edify/lexer.ll b/edify/lexer.ll
index cb45943..4e04003 100644
--- a/edify/lexer.ll
+++ b/edify/lexer.ll
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <string>
 
-#include "expr.h"
+#include "edify/expr.h"
 #include "yydefs.h"
 #include "parser.h"
 
diff --git a/edify/parser.yy b/edify/parser.yy
index b1685eb..bd2e010 100644
--- a/edify/parser.yy
+++ b/edify/parser.yy
@@ -25,7 +25,7 @@
 
 #include <android-base/macros.h>
 
-#include "expr.h"
+#include "edify/expr.h"
 #include "yydefs.h"
 #include "parser.h"
 
diff --git a/install.cpp b/install.cpp
index 74d1a68..d058931 100644
--- a/install.cpp
+++ b/install.cpp
@@ -49,9 +49,9 @@
 #include <ziparchive/zip_archive.h>
 
 #include "common.h"
-#include "error_code.h"
 #include "otautil/SysUtil.h"
 #include "otautil/ThermalUtil.h"
+#include "otautil/error_code.h"
 #include "private/install.h"
 #include "roots.h"
 #include "ui.h"
diff --git a/otautil/Android.bp b/otautil/Android.bp
index 9cde7ba..5905ba6 100644
--- a/otautil/Android.bp
+++ b/otautil/Android.bp
@@ -15,6 +15,8 @@
 cc_library_static {
     name: "libotautil",
 
+    host_supported: true,
+
     srcs: [
         "SysUtil.cpp",
         "DirUtil.cpp",
diff --git a/error_code.h b/otautil/include/otautil/error_code.h
similarity index 98%
rename from error_code.h
rename to otautil/include/otautil/error_code.h
index 26b9bb4..b0ff42d 100644
--- a/error_code.h
+++ b/otautil/include/otautil/error_code.h
@@ -75,4 +75,4 @@
   kUncryptBlockDeviceFindError,
 };
 
-#endif // _ERROR_CODE_H_
+#endif  // _ERROR_CODE_H_
diff --git a/recovery.cpp b/recovery.cpp
index 4dc5b54..243ee4a 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -61,13 +61,13 @@
 #include "adb_install.h"
 #include "common.h"
 #include "device.h"
-#include "error_code.h"
 #include "fuse_sdcard_provider.h"
 #include "fuse_sideload.h"
 #include "install.h"
 #include "minadbd/minadbd.h"
 #include "minui/minui.h"
 #include "otautil/DirUtil.h"
+#include "otautil/error_code.h"
 #include "roots.h"
 #include "rotate_logs.h"
 #include "screen_ui.h"
diff --git a/tests/component/updater_test.cpp b/tests/component/updater_test.cpp
index 2a0575a..e35870d 100644
--- a/tests/component/updater_test.cpp
+++ b/tests/component/updater_test.cpp
@@ -39,8 +39,8 @@
 
 #include "common/test_constants.h"
 #include "edify/expr.h"
-#include "error_code.h"
 #include "otautil/SysUtil.h"
+#include "otautil/error_code.h"
 #include "print_sha1.h"
 #include "updater/blockimg.h"
 #include "updater/install.h"
diff --git a/uncrypt/Android.mk b/uncrypt/Android.mk
index a3b0ca9..601f927 100644
--- a/uncrypt/Android.mk
+++ b/uncrypt/Android.mk
@@ -17,10 +17,10 @@
 include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := uncrypt.cpp
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/..
 LOCAL_MODULE := uncrypt
 LOCAL_STATIC_LIBRARIES := \
     libbootloader_message \
+    libotautil \
     libbase \
     liblog \
     libfs_mgr \
diff --git a/uncrypt/uncrypt.cpp b/uncrypt/uncrypt.cpp
index 7a2ccbc..645faad 100644
--- a/uncrypt/uncrypt.cpp
+++ b/uncrypt/uncrypt.cpp
@@ -116,7 +116,7 @@
 #include <cutils/sockets.h>
 #include <fs_mgr.h>
 
-#include "error_code.h"
+#include "otautil/error_code.h"
 
 static constexpr int WINDOW_SIZE = 5;
 static constexpr int FIBMAP_RETRY_LIMIT = 3;
diff --git a/updater/blockimg.cpp b/updater/blockimg.cpp
index 696cddf..0f83644 100644
--- a/updater/blockimg.cpp
+++ b/updater/blockimg.cpp
@@ -50,8 +50,8 @@
 #include <ziparchive/zip_archive.h>
 
 #include "edify/expr.h"
-#include "error_code.h"
 #include "otafault/ota_io.h"
+#include "otautil/error_code.h"
 #include "print_sha1.h"
 #include "rangeset.h"
 #include "updater/install.h"
diff --git a/updater/install.cpp b/updater/install.cpp
index fc085d5..01210f5 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -57,10 +57,10 @@
 #include <ziparchive/zip_archive.h>
 
 #include "edify/expr.h"
-#include "error_code.h"
 #include "mounts.h"
 #include "otafault/ota_io.h"
 #include "otautil/DirUtil.h"
+#include "otautil/error_code.h"
 #include "print_sha1.h"
 #include "tune2fs.h"
 #include "updater/updater.h"
diff --git a/updater/updater.cpp b/updater/updater.cpp
index 309c309..f55a0d3 100644
--- a/updater/updater.cpp
+++ b/updater/updater.cpp
@@ -31,10 +31,10 @@
 #include <ziparchive/zip_archive.h>
 
 #include "edify/expr.h"
-#include "error_code.h"
 #include "otafault/config.h"
 #include "otautil/DirUtil.h"
 #include "otautil/SysUtil.h"
+#include "otautil/error_code.h"
 #include "updater/blockimg.h"
 #include "updater/install.h"