Fix the improper use of LOCAL_WHOLE_STATIC_LIBRARIES.
If two libraries both use LOCAL_WHOLE_STATIC_LIBRARIES and include a same library, there would be linking errors when generating a shared library (or executable) that depends on the two libraries both. Also clean up Android.mk files. Remove the "LOCAL_MODULE_TAGS := eng" line for the updater module. The module will then default to "optional" which won't be built until needed. Change-Id: I3ec227109b8aa744b7568e7f82f575aae3fe0e6f
This commit is contained in:
parent
5ffc038be6
commit
d80a99883d
10 changed files with 102 additions and 60 deletions
|
@ -14,18 +14,20 @@
|
|||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# libfusesideload (static library)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := fuse_sideload.cpp
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter
|
||||
LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
|
||||
|
||||
LOCAL_MODULE := libfusesideload
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libcutils libc libmincrypt
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
# recovery (static executable)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
|
@ -102,7 +104,8 @@ endif
|
|||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
# All the APIs for testing
|
||||
# libverifier (static library)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_MODULE := libverifier
|
||||
|
|
|
@ -14,59 +14,83 @@
|
|||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# libapplypatch (static library)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_SRC_FILES := applypatch.cpp bspatch.cpp freecache.cpp imgpatch.cpp utils.cpp
|
||||
LOCAL_SRC_FILES := \
|
||||
applypatch.cpp \
|
||||
bspatch.cpp \
|
||||
freecache.cpp \
|
||||
imgpatch.cpp \
|
||||
utils.cpp
|
||||
LOCAL_MODULE := libapplypatch
|
||||
LOCAL_MODULE_TAGS := eng
|
||||
LOCAL_C_INCLUDES += bootable/recovery
|
||||
LOCAL_STATIC_LIBRARIES += libbase libotafault libmtdutils libcrypto_static libbz libz
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/include \
|
||||
bootable/recovery
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
||||
LOCAL_STATIC_LIBRARIES += \
|
||||
libotafault \
|
||||
libmtdutils \
|
||||
libbase \
|
||||
libcrypto_static \
|
||||
libbz \
|
||||
libz
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
# libimgpatch (static library)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
|
||||
LOCAL_MODULE := libimgpatch
|
||||
LOCAL_C_INCLUDES += bootable/recovery
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/include \
|
||||
bootable/recovery
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
||||
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
ifeq ($(HOST_OS),linux)
|
||||
# libimgpatch (host static library)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
|
||||
LOCAL_MODULE := libimgpatch
|
||||
LOCAL_C_INCLUDES += bootable/recovery
|
||||
LOCAL_MODULE_HOST_OS := linux
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/include \
|
||||
bootable/recovery
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
||||
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
|
||||
|
||||
include $(BUILD_HOST_STATIC_LIBRARY)
|
||||
endif # HOST_OS == linux
|
||||
|
||||
# applypatch (executable)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_SRC_FILES := main.cpp
|
||||
LOCAL_MODULE := applypatch
|
||||
LOCAL_C_INCLUDES += bootable/recovery
|
||||
LOCAL_STATIC_LIBRARIES += libapplypatch libbase libotafault libmtdutils libcrypto_static libbz libedify
|
||||
LOCAL_STATIC_LIBRARIES += \
|
||||
libapplypatch \
|
||||
libbase \
|
||||
libedify \
|
||||
libotafault \
|
||||
libminzip \
|
||||
libmtdutils \
|
||||
libcrypto_static \
|
||||
libbz
|
||||
LOCAL_SHARED_LIBRARIES += libz libcutils libc
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
# imgdiff (host static executable)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_SRC_FILES := imgdiff.cpp utils.cpp bsdiff.cpp
|
||||
LOCAL_MODULE := imgdiff
|
||||
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
||||
LOCAL_C_INCLUDES += external/zlib external/bzip2
|
||||
LOCAL_STATIC_LIBRARIES += libz libbz
|
||||
|
||||
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
||||
include $(BUILD_HOST_EXECUTABLE)
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include <android-base/strings.h>
|
||||
|
||||
#include "openssl/sha.h"
|
||||
#include "applypatch.h"
|
||||
#include "applypatch/applypatch.h"
|
||||
#include "mtdutils/mtdutils.h"
|
||||
#include "edify/expr.h"
|
||||
#include "ota_io.h"
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <bzlib.h>
|
||||
|
||||
#include "openssl/sha.h"
|
||||
#include "applypatch.h"
|
||||
#include "applypatch/applypatch.h"
|
||||
|
||||
void ShowBSDiffLicense() {
|
||||
puts("The bsdiff library used herein is:\n"
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include <android-base/parseint.h>
|
||||
#include <android-base/stringprintf.h>
|
||||
|
||||
#include "applypatch.h"
|
||||
#include "applypatch/applypatch.h"
|
||||
|
||||
static int EliminateOpenFiles(std::set<std::string>* files) {
|
||||
std::unique_ptr<DIR, decltype(&closedir)> d(opendir("/proc"), closedir);
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
#include "zlib.h"
|
||||
#include "openssl/sha.h"
|
||||
#include "applypatch.h"
|
||||
#include "applypatch/applypatch.h"
|
||||
#include "imgdiff.h"
|
||||
#include "utils.h"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "applypatch.h"
|
||||
#include "applypatch/applypatch.h"
|
||||
#include "edify/expr.h"
|
||||
#include "openssl/sha.h"
|
||||
|
||||
|
|
|
@ -14,29 +14,34 @@
|
|||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# otafault (static library)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
otafault_static_libs := \
|
||||
libminzip \
|
||||
libz \
|
||||
libselinux \
|
||||
libz
|
||||
|
||||
LOCAL_SRC_FILES := config.cpp ota_io.cpp
|
||||
LOCAL_MODULE_TAGS := eng
|
||||
LOCAL_MODULE := libotafault
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_C_INCLUDES := bootable/recovery
|
||||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := $(otafault_static_libs)
|
||||
LOCAL_STATIC_LIBRARIES := $(otafault_static_libs)
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
# otafault_test (static executable)
|
||||
# ===============================
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := config.cpp ota_io.cpp test.cpp
|
||||
LOCAL_MODULE_TAGS := tests
|
||||
LOCAL_MODULE := otafault_test
|
||||
LOCAL_STATIC_LIBRARIES := $(otafault_static_libs)
|
||||
LOCAL_STATIC_LIBRARIES := \
|
||||
libotafault \
|
||||
$(otafault_static_libs)
|
||||
LOCAL_C_INCLUDES := bootable/recovery
|
||||
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
||||
|
||||
|
|
|
@ -14,26 +14,50 @@
|
|||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
updater_src_files := \
|
||||
install.cpp \
|
||||
blockimg.cpp \
|
||||
updater.cpp
|
||||
|
||||
#
|
||||
# Build a statically-linked binary to include in OTA packages
|
||||
#
|
||||
# updater (static executable)
|
||||
# ===============================
|
||||
# Build a statically-linked binary to include in OTA packages.
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# Build only in eng, so we don't end up with a copy of this in /system
|
||||
# on user builds. (TODO: find a better way to build device binaries
|
||||
# needed only for OTA packages.)
|
||||
LOCAL_MODULE_TAGS := eng
|
||||
updater_src_files := \
|
||||
install.cpp \
|
||||
blockimg.cpp \
|
||||
updater.cpp
|
||||
|
||||
LOCAL_CLANG := true
|
||||
|
||||
LOCAL_SRC_FILES := $(updater_src_files)
|
||||
|
||||
LOCAL_STATIC_LIBRARIES += libfec libfec_rs libext4_utils_static libsquashfs_utils libcrypto_static
|
||||
LOCAL_STATIC_LIBRARIES += \
|
||||
$(TARGET_RECOVERY_UPDATER_LIBS) \
|
||||
$(TARGET_RECOVERY_UPDATER_EXTRA_LIBS) \
|
||||
libfec \
|
||||
libfec_rs \
|
||||
libext4_utils_static \
|
||||
libsquashfs_utils \
|
||||
libcrypto_static \
|
||||
libapplypatch \
|
||||
libbase \
|
||||
libotafault \
|
||||
libedify \
|
||||
libmtdutils \
|
||||
libminzip \
|
||||
libz \
|
||||
libbz \
|
||||
libcutils \
|
||||
liblog \
|
||||
libselinux
|
||||
|
||||
tune2fs_static_libraries := \
|
||||
libext2_com_err \
|
||||
libext2_blkid \
|
||||
libext2_quota \
|
||||
libext2_uuid_static \
|
||||
libext2_e2p \
|
||||
libext2fs
|
||||
|
||||
LOCAL_STATIC_LIBRARIES += \
|
||||
libtune2fs \
|
||||
$(tune2fs_static_libraries)
|
||||
|
||||
ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
|
||||
LOCAL_CFLAGS += -DUSE_EXT4
|
||||
|
@ -44,20 +68,6 @@ LOCAL_STATIC_LIBRARIES += \
|
|||
libz
|
||||
endif
|
||||
|
||||
LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UPDATER_LIBS) $(TARGET_RECOVERY_UPDATER_EXTRA_LIBS)
|
||||
LOCAL_STATIC_LIBRARIES += libapplypatch libbase libotafault libedify libmtdutils libminzip libz
|
||||
LOCAL_STATIC_LIBRARIES += libbz
|
||||
LOCAL_STATIC_LIBRARIES += libcutils liblog libc
|
||||
LOCAL_STATIC_LIBRARIES += libselinux
|
||||
tune2fs_static_libraries := \
|
||||
libext2_com_err \
|
||||
libext2_blkid \
|
||||
libext2_quota \
|
||||
libext2_uuid_static \
|
||||
libext2_e2p \
|
||||
libext2fs
|
||||
LOCAL_STATIC_LIBRARIES += libtune2fs $(tune2fs_static_libraries)
|
||||
|
||||
LOCAL_C_INCLUDES += external/e2fsprogs/misc
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
|
||||
|
||||
|
|
Loading…
Reference in a new issue