Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d80a9988 authored by Tao Bao's avatar Tao Bao
Browse files

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
parent 5ffc038b
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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
+44 −20
Original line number Diff line number Diff line
@@ -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)
+1 −1
Original line number Diff line number Diff line
@@ -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"
+1 −1
Original line number Diff line number Diff line
@@ -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"
+1 −1
Original line number Diff line number Diff line
@@ -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);
Loading