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:
@@ -14,18 +14,20 @@
|
|||||||
|
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
# libfusesideload (static library)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_SRC_FILES := fuse_sideload.cpp
|
LOCAL_SRC_FILES := fuse_sideload.cpp
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter
|
LOCAL_CFLAGS := -O2 -g -DADB_HOST=0 -Wall -Wno-unused-parameter
|
||||||
LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
|
LOCAL_CFLAGS += -D_XOPEN_SOURCE -D_GNU_SOURCE
|
||||||
|
|
||||||
LOCAL_MODULE := libfusesideload
|
LOCAL_MODULE := libfusesideload
|
||||||
|
|
||||||
LOCAL_STATIC_LIBRARIES := libcutils libc libmincrypt
|
LOCAL_STATIC_LIBRARIES := libcutils libc libmincrypt
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
# recovery (static executable)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_SRC_FILES := \
|
LOCAL_SRC_FILES := \
|
||||||
@@ -102,7 +104,8 @@ endif
|
|||||||
|
|
||||||
include $(BUILD_EXECUTABLE)
|
include $(BUILD_EXECUTABLE)
|
||||||
|
|
||||||
# All the APIs for testing
|
# libverifier (static library)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_MODULE := libverifier
|
LOCAL_MODULE := libverifier
|
||||||
|
|||||||
@@ -14,59 +14,83 @@
|
|||||||
|
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
# libapplypatch (static library)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_CLANG := true
|
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 := libapplypatch
|
||||||
LOCAL_MODULE_TAGS := eng
|
LOCAL_MODULE_TAGS := eng
|
||||||
LOCAL_C_INCLUDES += bootable/recovery
|
LOCAL_C_INCLUDES += \
|
||||||
LOCAL_STATIC_LIBRARIES += libbase libotafault libmtdutils libcrypto_static libbz libz
|
$(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)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
# libimgpatch (static library)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
|
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
|
||||||
LOCAL_MODULE := libimgpatch
|
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_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
||||||
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
|
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
|
||||||
|
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
ifeq ($(HOST_OS),linux)
|
# libimgpatch (host static library)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
|
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
|
||||||
LOCAL_MODULE := libimgpatch
|
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_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
||||||
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
|
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
|
||||||
|
|
||||||
include $(BUILD_HOST_STATIC_LIBRARY)
|
include $(BUILD_HOST_STATIC_LIBRARY)
|
||||||
endif # HOST_OS == linux
|
|
||||||
|
|
||||||
|
# applypatch (executable)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_SRC_FILES := main.cpp
|
LOCAL_SRC_FILES := main.cpp
|
||||||
LOCAL_MODULE := applypatch
|
LOCAL_MODULE := applypatch
|
||||||
LOCAL_C_INCLUDES += bootable/recovery
|
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
|
LOCAL_SHARED_LIBRARIES += libz libcutils libc
|
||||||
|
|
||||||
include $(BUILD_EXECUTABLE)
|
include $(BUILD_EXECUTABLE)
|
||||||
|
|
||||||
|
# imgdiff (host static executable)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_SRC_FILES := imgdiff.cpp utils.cpp bsdiff.cpp
|
LOCAL_SRC_FILES := imgdiff.cpp utils.cpp bsdiff.cpp
|
||||||
LOCAL_MODULE := imgdiff
|
LOCAL_MODULE := imgdiff
|
||||||
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
|
||||||
LOCAL_C_INCLUDES += external/zlib external/bzip2
|
|
||||||
LOCAL_STATIC_LIBRARIES += libz libbz
|
LOCAL_STATIC_LIBRARIES += libz libbz
|
||||||
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
||||||
include $(BUILD_HOST_EXECUTABLE)
|
include $(BUILD_HOST_EXECUTABLE)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
#include <android-base/strings.h>
|
#include <android-base/strings.h>
|
||||||
|
|
||||||
#include "openssl/sha.h"
|
#include "openssl/sha.h"
|
||||||
#include "applypatch.h"
|
#include "applypatch/applypatch.h"
|
||||||
#include "mtdutils/mtdutils.h"
|
#include "mtdutils/mtdutils.h"
|
||||||
#include "edify/expr.h"
|
#include "edify/expr.h"
|
||||||
#include "ota_io.h"
|
#include "ota_io.h"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
#include <bzlib.h>
|
#include <bzlib.h>
|
||||||
|
|
||||||
#include "openssl/sha.h"
|
#include "openssl/sha.h"
|
||||||
#include "applypatch.h"
|
#include "applypatch/applypatch.h"
|
||||||
|
|
||||||
void ShowBSDiffLicense() {
|
void ShowBSDiffLicense() {
|
||||||
puts("The bsdiff library used herein is:\n"
|
puts("The bsdiff library used herein is:\n"
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
#include <android-base/parseint.h>
|
#include <android-base/parseint.h>
|
||||||
#include <android-base/stringprintf.h>
|
#include <android-base/stringprintf.h>
|
||||||
|
|
||||||
#include "applypatch.h"
|
#include "applypatch/applypatch.h"
|
||||||
|
|
||||||
static int EliminateOpenFiles(std::set<std::string>* files) {
|
static int EliminateOpenFiles(std::set<std::string>* files) {
|
||||||
std::unique_ptr<DIR, decltype(&closedir)> d(opendir("/proc"), closedir);
|
std::unique_ptr<DIR, decltype(&closedir)> d(opendir("/proc"), closedir);
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#include "zlib.h"
|
#include "zlib.h"
|
||||||
#include "openssl/sha.h"
|
#include "openssl/sha.h"
|
||||||
#include "applypatch.h"
|
#include "applypatch/applypatch.h"
|
||||||
#include "imgdiff.h"
|
#include "imgdiff.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "applypatch.h"
|
#include "applypatch/applypatch.h"
|
||||||
#include "edify/expr.h"
|
#include "edify/expr.h"
|
||||||
#include "openssl/sha.h"
|
#include "openssl/sha.h"
|
||||||
|
|
||||||
|
|||||||
@@ -14,29 +14,34 @@
|
|||||||
|
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
# otafault (static library)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
otafault_static_libs := \
|
otafault_static_libs := \
|
||||||
libminzip \
|
libminzip \
|
||||||
libz \
|
|
||||||
libselinux \
|
libselinux \
|
||||||
|
libz
|
||||||
|
|
||||||
LOCAL_SRC_FILES := config.cpp ota_io.cpp
|
LOCAL_SRC_FILES := config.cpp ota_io.cpp
|
||||||
LOCAL_MODULE_TAGS := eng
|
|
||||||
LOCAL_MODULE := libotafault
|
LOCAL_MODULE := libotafault
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
LOCAL_C_INCLUDES := bootable/recovery
|
LOCAL_C_INCLUDES := bootable/recovery
|
||||||
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
|
||||||
LOCAL_WHOLE_STATIC_LIBRARIES := $(otafault_static_libs)
|
LOCAL_STATIC_LIBRARIES := $(otafault_static_libs)
|
||||||
|
|
||||||
include $(BUILD_STATIC_LIBRARY)
|
include $(BUILD_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
# otafault_test (static executable)
|
||||||
|
# ===============================
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_SRC_FILES := config.cpp ota_io.cpp test.cpp
|
LOCAL_SRC_FILES := config.cpp ota_io.cpp test.cpp
|
||||||
LOCAL_MODULE_TAGS := tests
|
LOCAL_MODULE_TAGS := tests
|
||||||
LOCAL_MODULE := otafault_test
|
LOCAL_MODULE := otafault_test
|
||||||
LOCAL_STATIC_LIBRARIES := $(otafault_static_libs)
|
LOCAL_STATIC_LIBRARIES := \
|
||||||
|
libotafault \
|
||||||
|
$(otafault_static_libs)
|
||||||
LOCAL_C_INCLUDES := bootable/recovery
|
LOCAL_C_INCLUDES := bootable/recovery
|
||||||
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
||||||
|
|
||||||
|
|||||||
@@ -14,26 +14,50 @@
|
|||||||
|
|
||||||
LOCAL_PATH := $(call my-dir)
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
# updater (static executable)
|
||||||
|
# ===============================
|
||||||
|
# Build a statically-linked binary to include in OTA packages.
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
updater_src_files := \
|
updater_src_files := \
|
||||||
install.cpp \
|
install.cpp \
|
||||||
blockimg.cpp \
|
blockimg.cpp \
|
||||||
updater.cpp
|
updater.cpp
|
||||||
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
LOCAL_CLANG := true
|
LOCAL_CLANG := true
|
||||||
|
|
||||||
LOCAL_SRC_FILES := $(updater_src_files)
|
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)
|
ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
|
||||||
LOCAL_CFLAGS += -DUSE_EXT4
|
LOCAL_CFLAGS += -DUSE_EXT4
|
||||||
@@ -44,20 +68,6 @@ LOCAL_STATIC_LIBRARIES += \
|
|||||||
libz
|
libz
|
||||||
endif
|
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 += external/e2fsprogs/misc
|
||||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
|
LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user