OSDN Git Service

Add toybox_vendor for treble products
authorSandeep Patil <sspatil@google.com>
Wed, 12 Apr 2017 21:53:55 +0000 (14:53 -0700)
committerSandeep Patil <sspatil@google.com>
Thu, 13 Apr 2017 20:37:26 +0000 (13:37 -0700)
Make the executable static so it doesn't have links back to /system and
build it only for treble products.

Bug: 36463595
Test: toybox_vendor and its symlinks are installed in /vendor and
      working on sailfish

Change-Id: I1f5c8ba6b7f243a163cbefbfe76d1b098d31fcd8
Signed-off-by: Sandeep Patil <sspatil@google.com>
Android.mk

index 551cce7..3a9e12a 100644 (file)
@@ -401,6 +401,37 @@ LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf toybox $(TARGE
 
 include $(BUILD_EXECUTABLE)
 
+ifeq ($(PRODUCT_FULL_TREBLE),true)
+############################################
+# static version to be installed in /vendor
+#
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(common_SRC_FILES)
+
+LOCAL_CFLAGS := $(common_CFLAGS)
+
+LOCAL_CLANG := true
+
+LOCAL_STATIC_LIBRARIES := liblog libcutils libselinux libcrypto libm libc
+
+# libc++_static is needed by static liblog
+LOCAL_CXX_STL := libc++_static
+
+LOCAL_VENDOR_MODULE := true
+
+LOCAL_MODULE := toybox_vendor
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_FORCE_STATIC_EXECUTABLE := true
+
+# Install the symlinks.
+LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf ${LOCAL_MODULE} $(TARGET_OUT_VENDOR_EXECUTABLES)/$(t);)
+
+include $(BUILD_EXECUTABLE)
+endif
+
 ############################################
 # static version to be installed in recovery