Fix for LineageOS build

 * Match LineageOS cryptfs_hw location
 * Fallback to toybox if busybox is not persent, and warn about this

Change-Id: I5bc1399602f59f4d22827ff7e47acb901b1e33c6
diff --git a/Android.mk b/Android.mk
index 523cfec..1a4d1fb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -184,6 +184,23 @@
     LOCAL_ADDITIONAL_DEPENDENCIES += libhardware
 endif
 
+ifeq ($(wildcard external/busybox/Android.mk),)
+    TW_USE_TOOLBOX := true
+    $(warning **********************************)
+    $(warning * You're using toybox for TWRP,  *)
+    $(warning * some tools are not available,  *)
+    $(warning * busybox is highly recommended! *)
+    $(warning **********************************)
+endif
+
+ifeq ($(TARGET_HW_DISK_ENCRYPTION),true)
+    ifneq ($(wildcard vendor/qcom/opensource/cryptfs_hw/Android.mk),)
+        TARGET_CRYPTFS_HW_PATH ?= vendor/qcom/opensource/cryptfs_hw
+    else
+        TARGET_CRYPTFS_HW_PATH ?= device/qcom/common/cryptfs_hw
+    endif
+endif
+
 LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin
 
 #ifeq ($(TARGET_RECOVERY_UI_LIB),)
diff --git a/crypto/lollipop/Android.mk b/crypto/lollipop/Android.mk
index 6dc386a..8c2d5a0 100644
--- a/crypto/lollipop/Android.mk
+++ b/crypto/lollipop/Android.mk
@@ -10,11 +10,7 @@
 LOCAL_C_INCLUDES := external/openssl/include $(commands_recovery_local_path)/crypto/scrypt/lib/crypto
 
 ifeq ($(TARGET_HW_DISK_ENCRYPTION),true)
-    ifeq ($(TARGET_CRYPTFS_HW_PATH),)
-        LOCAL_C_INCLUDES += device/qcom/common/cryptfs_hw
-    else
-        LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH)
-    endif
+    LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH)
     LOCAL_SHARED_LIBRARIES += libcryptfs_hw
     LOCAL_CFLAGS += -DCONFIG_HW_DISK_ENCRYPTION
 endif
@@ -40,11 +36,7 @@
 LOCAL_C_INCLUDES := external/openssl/include $(commands_recovery_local_path)/crypto/scrypt/lib/crypto
 
 ifeq ($(TARGET_HW_DISK_ENCRYPTION),true)
-    ifeq ($(TARGET_CRYPTFS_HW_PATH),)
-        LOCAL_C_INCLUDES += device/qcom/common/cryptfs_hw
-    else
-        LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH)
-    endif
+    LOCAL_C_INCLUDES += $(TARGET_CRYPTFS_HW_PATH)
     LOCAL_SHARED_LIBRARIES += libcryptfs_hw
     LOCAL_CFLAGS += -DCONFIG_HW_DISK_ENCRYPTION
 endif
diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk
index 2a963f1..ec59e68 100644
--- a/prebuilt/Android.mk
+++ b/prebuilt/Android.mk
@@ -166,7 +166,11 @@
     RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libhardware.so
     RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libgpt_twrp.so
     ifeq ($(TARGET_HW_DISK_ENCRYPTION),true)
-        RELINK_SOURCE_FILES += $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/libcryptfs_hw.so
+        ifeq ($(TARGET_CRYPTFS_HW_PATH), vendor/qcom/opensource/cryptfs_hw)
+            RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libcryptfs_hw.so
+        else
+            RELINK_SOURCE_FILES += $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/libcryptfs_hw.so
+        endif
     endif
     # FBE files
     ifeq ($(TW_INCLUDE_CRYPTO_FBE), true)