From 6b28af30fb3c0e766ba14c99a77086d6085f34da Mon Sep 17 00:00:00 2001 From: Tom Cherry Date: Tue, 16 Apr 2019 15:18:52 -0700 Subject: [PATCH] Remove TARGET_ROOT_OUT_SBIN / TARGET_ROOT_OUT_SBIN_UNSTRIPPED /sbin was traditionally used for static binaries on the ramdisk for Android, but now everything is a shared binary, so this directory is empty and we do not want to encourage creation of new libraries in this directory. Bug: 73660730 Test: build Change-Id: Ia82d892adfffb6fa325d0c570ae7999e7bb28dc2 --- core/build-system.html | 12 ++++-------- core/config.mk | 2 ++ core/envsetup.mk | 4 ---- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/core/build-system.html b/core/build-system.html index 3a11a477d..cc242d9b6 100644 --- a/core/build-system.html +++ b/core/build-system.html @@ -516,8 +516,8 @@ LOCAL_MODULE_RELATIVE_PATH := hw example the root filesystem instead of in /system, add these lines to your Android.mk:

-LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT_SBIN)
-LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
+LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
+LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
 

For executables and libraries, you need to specify a LOCAL_UNSTRIPPED_PATH location if you specified a @@ -527,9 +527,6 @@ the unstripped executables so GDB can find the symbols. LOCAL_MODULE_RELATIVE_PATH.

Look in core/envsetup.mk for all of the variables defining places to build things.

-

FYI: If you're installing an executable to /sbin, you probably also want to -set LOCAL_FORCE_STATIC_EXCUTABLE := true in your Android.mk, which -will force the linker to only accept static libraries.

Android.mk variables

@@ -685,8 +682,7 @@ installed when a given app is installed.

LOCAL_FORCE_STATIC_EXECUTABLE

If your executable should be linked statically, set LOCAL_FORCE_STATIC_EXECUTABLE:=true. There is a very short -list of libraries that we have in static form (currently only libc). This is -really only used for executables in /sbin on the root filesystem.

+list of libraries that we have in static form (currently only libc).

LOCAL_GENERATED_SOURCES

Files that you add to LOCAL_GENERATED_SOURCES will be @@ -812,7 +808,7 @@ them with the directory name:

LOCAL_STATIC_LIBRARIES

These are the static libraries that you want to include in your module. Mostly, we use shared libraries, but there are a couple of places, like -executables in sbin and host executables where we use static libraries instead. +host executables where we use static libraries instead.

LOCAL_STATIC_LIBRARIES := \
    libutils \
    libtinyxml diff --git a/core/config.mk b/core/config.mk index 3788721e1..b5fe8661d 100644 --- a/core/config.mk +++ b/core/config.mk @@ -93,6 +93,8 @@ $(KATI_obsolete_var \ $(KATI_obsolete_var DIST_DIR dist_goal,Use dist-for-goals instead. See $(CHANGES_URL)#dist) $(KATI_obsolete_var TARGET_ANDROID_FILESYSTEM_CONFIG_H,Use TARGET_FS_CONFIG_GEN instead) $(KATI_deprecated_var USER,Use BUILD_USERNAME instead. See $(CHANGES_URL)#USER) +$(KATI_obsolete_var TARGET_ROOT_OUT_SBIN,/sbin has been removed, use /system/bin instead) +$(KATI_obsolete_var TARGET_ROOT_OUT_SBIN_UNSTRIPPED,/sbin has been removed, use /system/bin instead) # This is marked as obsolete in envsetup.mk after reading the BoardConfig.mk $(KATI_deprecate_export It is a global setting. See $(CHANGES_URL)#export_keyword) diff --git a/core/envsetup.mk b/core/envsetup.mk index f4be2c73f..7b9033422 100644 --- a/core/envsetup.mk +++ b/core/envsetup.mk @@ -825,7 +825,6 @@ TARGET_OUT_EXECUTABLES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/bin TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/lib TARGET_OUT_VENDOR_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/$(TARGET_COPY_OUT_VENDOR)/lib TARGET_ROOT_OUT_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED) -TARGET_ROOT_OUT_SBIN_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/sbin TARGET_ROOT_OUT_BIN_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/bin TARGET_OUT_COVERAGE := $(PRODUCT_OUT)/coverage .KATI_READONLY := \ @@ -834,7 +833,6 @@ TARGET_OUT_COVERAGE := $(PRODUCT_OUT)/coverage TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED \ TARGET_OUT_VENDOR_SHARED_LIBRARIES_UNSTRIPPED \ TARGET_ROOT_OUT_UNSTRIPPED \ - TARGET_ROOT_OUT_SBIN_UNSTRIPPED \ TARGET_ROOT_OUT_BIN_UNSTRIPPED \ TARGET_OUT_COVERAGE @@ -843,13 +841,11 @@ TARGET_RAMDISK_OUT_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED) TARGET_ROOT_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ROOT) TARGET_ROOT_OUT_BIN := $(TARGET_ROOT_OUT)/bin -TARGET_ROOT_OUT_SBIN := $(TARGET_ROOT_OUT)/sbin TARGET_ROOT_OUT_ETC := $(TARGET_ROOT_OUT)/etc TARGET_ROOT_OUT_USR := $(TARGET_ROOT_OUT)/usr .KATI_READONLY := \ TARGET_ROOT_OUT \ TARGET_ROOT_OUT_BIN \ - TARGET_ROOT_OUT_SBIN \ TARGET_ROOT_OUT_ETC \ TARGET_ROOT_OUT_USR