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

Commit 2d6e79d2 authored by Dan Willemsen's avatar Dan Willemsen Committed by Gerrit Code Review
Browse files

Merge "Add LLNDK support for the VNDK"

parents 6cb177f1 ffa3258f
Loading
Loading
Loading
Loading
+33 −30
Original line number Original line Diff line number Diff line
@@ -80,9 +80,8 @@ endif
my_ndk_sysroot :=
my_ndk_sysroot :=
my_ndk_sysroot_include :=
my_ndk_sysroot_include :=
my_ndk_sysroot_lib :=
my_ndk_sysroot_lib :=
ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
ifneq ($(LOCAL_SDK_VERSION),)
  ifdef LOCAL_IS_HOST_MODULE
  ifdef LOCAL_IS_HOST_MODULE
    # LOCAL_USE_VNDK is checked in local_vndk.mk
    $(error $(LOCAL_PATH): LOCAL_SDK_VERSION cannot be used in host module)
    $(error $(LOCAL_PATH): LOCAL_SDK_VERSION cannot be used in host module)
  endif
  endif


@@ -111,14 +110,10 @@ ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
  # missing API levels to existing ones where necessary, but we're not doing
  # missing API levels to existing ones where necessary, but we're not doing
  # that for the generated libraries. Clip the API level to the minimum where
  # that for the generated libraries. Clip the API level to the minimum where
  # appropriate.
  # appropriate.
  ifdef LOCAL_USE_VNDK
    my_ndk_api := current
  else
  my_ndk_api := $(LOCAL_SDK_VERSION)
  my_ndk_api := $(LOCAL_SDK_VERSION)
  ifneq ($(my_ndk_api),current)
  ifneq ($(my_ndk_api),current)
    my_ndk_api := $(call math_max,$(my_ndk_api),$(my_min_sdk_version))
    my_ndk_api := $(call math_max,$(my_ndk_api),$(my_min_sdk_version))
  endif
  endif
  endif


  my_ndk_api_def := $(my_ndk_api)
  my_ndk_api_def := $(my_ndk_api)
  my_ndk_hist_api := $(my_ndk_api)
  my_ndk_hist_api := $(my_ndk_api)
@@ -165,7 +160,6 @@ ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
  my_built_ndk_libs := $(my_ndk_platform_dir)/usr/$(my_ndk_libdir_name)
  my_built_ndk_libs := $(my_ndk_platform_dir)/usr/$(my_ndk_libdir_name)
  my_ndk_sysroot_lib := $(my_ndk_sysroot)/usr/$(my_ndk_libdir_name)
  my_ndk_sysroot_lib := $(my_ndk_sysroot)/usr/$(my_ndk_libdir_name)


  ifndef LOCAL_USE_VNDK
  # The bionic linker now has support for packed relocations and gnu style
  # The bionic linker now has support for packed relocations and gnu style
  # hashes (which are much faster!), but shipping to older devices requires
  # hashes (which are much faster!), but shipping to older devices requires
  # the old style hash. Fortunately, we can build with both and it'll work
  # the old style hash. Fortunately, we can build with both and it'll work
@@ -178,7 +172,6 @@ ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)


  # We don't want to expose the relocation packer to the NDK just yet.
  # We don't want to expose the relocation packer to the NDK just yet.
  LOCAL_PACK_MODULE_RELOCATIONS := false
  LOCAL_PACK_MODULE_RELOCATIONS := false
  endif


  # Set up the NDK stl variant. Starting from NDK-r5 the c++ stl resides in a separate location.
  # Set up the NDK stl variant. Starting from NDK-r5 the c++ stl resides in a separate location.
  # See ndk/docs/CPLUSPLUS-SUPPORT.html
  # See ndk/docs/CPLUSPLUS-SUPPORT.html
@@ -186,7 +179,6 @@ ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
  my_ndk_stl_shared_lib_fullpath :=
  my_ndk_stl_shared_lib_fullpath :=
  my_ndk_stl_static_lib :=
  my_ndk_stl_static_lib :=
  my_ndk_cpp_std_version :=
  my_ndk_cpp_std_version :=
  ifndef LOCAL_USE_VNDK
  my_cpu_variant := $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)CPU_ABI)
  my_cpu_variant := $(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)CPU_ABI)
  ifeq (mips32r6,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH_VARIANT))
  ifeq (mips32r6,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH_VARIANT))
    my_cpu_variant := mips32r6
    my_cpu_variant := mips32r6
@@ -275,6 +267,9 @@ ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
  endif
  endif
  endif
  endif
endif
endif

ifneq ($(LOCAL_USE_VNDK),)
  my_cflags += -D__ANDROID_API__=__ANDROID_API_FUTURE__
endif
endif


ifndef LOCAL_IS_HOST_MODULE
ifndef LOCAL_IS_HOST_MODULE
@@ -295,7 +290,7 @@ my_shared_libraries += $(patsubst -l%,lib%,$(filter-out $(my_allowed_ldlibs),$(m
my_ldlibs := $(filter $(my_allowed_ldlibs),$(my_ldlibs))
my_ldlibs := $(filter $(my_allowed_ldlibs),$(my_ldlibs))
endif
endif


ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
ifneq ($(LOCAL_SDK_VERSION),)
  my_all_ndk_libraries := \
  my_all_ndk_libraries := \
      $(NDK_MIGRATED_LIBS) $(addprefix lib,$(NDK_PREBUILT_SHARED_LIBRARIES))
      $(NDK_MIGRATED_LIBS) $(addprefix lib,$(NDK_PREBUILT_SHARED_LIBRARIES))
  my_ndk_shared_libraries := \
  my_ndk_shared_libraries := \
@@ -519,6 +514,15 @@ endif
###########################################################
###########################################################
my_asflags += -D__ASSEMBLY__
my_asflags += -D__ASSEMBLY__


###########################################################
## When compiling against the VNDK, use LL-NDK libraries
###########################################################
ifneq ($(LOCAL_USE_VNDK),)
  my_shared_libraries := $(foreach lib,$(my_shared_libraries),\
      $(if $(filter $(LLNDK_LIBRARIES),$(lib)),$(lib).llndk,$(lib)))
  my_system_shared_libraries := $(foreach lib,$(my_system_shared_libraries),\
      $(if $(filter $(LLNDK_LIBRARIES),$(lib)),$(lib).llndk,$(lib)))
endif


###########################################################
###########################################################
## Define PRIVATE_ variables from global vars
## Define PRIVATE_ variables from global vars
@@ -528,8 +532,7 @@ ifdef LOCAL_USE_VNDK
my_target_global_c_includes := \
my_target_global_c_includes := \
    $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)PROJECT_INCLUDES)
    $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)PROJECT_INCLUDES)
my_target_global_c_system_includes := \
my_target_global_c_system_includes := \
    $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)PROJECT_SYSTEM_INCLUDES) \
    $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)PROJECT_SYSTEM_INCLUDES)
    $(my_ndk_sysroot_include)
else ifdef LOCAL_SDK_VERSION
else ifdef LOCAL_SDK_VERSION
my_target_global_c_includes :=
my_target_global_c_includes :=
my_target_global_c_system_includes := $(my_ndk_stl_include_path) $(my_ndk_sysroot_include)
my_target_global_c_system_includes := $(my_ndk_stl_include_path) $(my_ndk_sysroot_include)
@@ -1326,7 +1329,7 @@ endif
## they may cusomize their install path with LOCAL_MODULE_PATH
## they may cusomize their install path with LOCAL_MODULE_PATH
##########################################################
##########################################################
# Get the list of INSTALLED libraries as module names.
# Get the list of INSTALLED libraries as module names.
ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
ifneq ($(LOCAL_SDK_VERSION),)
  installed_shared_library_module_names := \
  installed_shared_library_module_names := \
      $(my_shared_libraries)
      $(my_shared_libraries)
else
else
@@ -1499,7 +1502,7 @@ ALL_C_CPP_ETC_OBJECTS += $(all_objects)
so_suffix := $($(my_prefix)SHLIB_SUFFIX)
so_suffix := $($(my_prefix)SHLIB_SUFFIX)
a_suffix := $($(my_prefix)STATIC_LIB_SUFFIX)
a_suffix := $($(my_prefix)STATIC_LIB_SUFFIX)


ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
ifneq ($(LOCAL_SDK_VERSION),)
built_shared_libraries := \
built_shared_libraries := \
    $(addprefix $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \
    $(addprefix $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)OUT_INTERMEDIATE_LIBRARIES)/, \
      $(addsuffix $(so_suffix), \
      $(addsuffix $(so_suffix), \
@@ -1681,7 +1684,7 @@ my_ldflags := $(filter-out -l%,$(my_ldlib_flags))
# One last verification check for ldlibs
# One last verification check for ldlibs
ifndef LOCAL_IS_HOST_MODULE
ifndef LOCAL_IS_HOST_MODULE
my_allowed_ldlibs :=
my_allowed_ldlibs :=
ifneq ($(LOCAL_SDK_VERSION)$(LOCAL_USE_VNDK),)
ifneq ($(LOCAL_SDK_VERSION),)
  my_allowed_ldlibs := $(addprefix -l,$(NDK_PREBUILT_SHARED_LIBRARIES))
  my_allowed_ldlibs := $(addprefix -l,$(NDK_PREBUILT_SHARED_LIBRARIES))
endif
endif