summaryrefslogtreecommitdiffstats
path: root/core/shared_library.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2014-01-16 12:36:34 -0800
committerYing Wang <wangying@google.com>2014-01-24 13:35:30 -0800
commit4d2cc665eafb16ffe20b4ec8b2b2fc3a55f6f6ae (patch)
tree6634db5eaa47f605d43d106db5201a122440f8a4 /core/shared_library.mk
parent6ef6519170742bf3d56e17d04194e9cb0ecdead7 (diff)
downloadbuild-4d2cc665eafb16ffe20b4ec8b2b2fc3a55f6f6ae.zip
build-4d2cc665eafb16ffe20b4ec8b2b2fc3a55f6f6ae.tar.gz
build-4d2cc665eafb16ffe20b4ec8b2b2fc3a55f6f6ae.tar.bz2
Set up rules to build shared libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion of shared_library_internal.mk. Intermediate fils of libfoo of the 2nd arch will be built into $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/ and the built libfoo.so will be in $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib. Bug: 11654773 Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
Diffstat (limited to 'core/shared_library.mk')
-rw-r--r--core/shared_library.mk82
1 files changed, 12 insertions, 70 deletions
diff --git a/core/shared_library.mk b/core/shared_library.mk
index bf83c0c..d0d1a51 100644
--- a/core/shared_library.mk
+++ b/core/shared_library.mk
@@ -1,75 +1,17 @@
-###########################################################
-## Standard rules for building a normal shared library.
-##
-## Additional inputs from base_rules.make:
-## None.
-##
-## LOCAL_MODULE_SUFFIX will be set for you.
-###########################################################
+include $(BUILD_SYSTEM)/shared_library_internal.mk
-ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
-LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-endif
-ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
-LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
-endif
-ifneq ($(strip $(OVERRIDE_BUILT_MODULE_PATH)),)
-$(error $(LOCAL_PATH): Illegal use of OVERRIDE_BUILT_MODULE_PATH)
-endif
-ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),)
-$(error $(LOCAL_PATH): Cannot set module stem for a library)
-endif
-
-$(call target-shared-library-hook)
-
-skip_build_from_source :=
-ifdef LOCAL_PREBUILT_MODULE_FILE
-ifeq (,$(call if-build-from-source,$(LOCAL_MODULE),$(LOCAL_PATH)))
-include $(BUILD_PREBUILT)
-skip_build_from_source := true
-endif
-endif
-
-ifndef skip_build_from_source
+ifdef TARGET_2ND_ARCH
-# Put the built targets of all shared libraries in a common directory
-# to simplify the link line.
-OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
+OVERRIDE_BUILT_MODULE_PATH :=
+LOCAL_BUILT_MODULE :=
+LOCAL_INSTALLED_MODULE :=
+LOCAL_MODULE_STEM :=
+LOCAL_BUILT_MODULE_STEM :=
+LOCAL_INSTALLED_MODULE_STEM :=
+LOCAL_INTERMEDIATE_TARGETS :=
-include $(BUILD_SYSTEM)/dynamic_binary.mk
+LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX)
+include $(BUILD_SYSTEM)/shared_library_internal.mk
+LOCAL_2ND_ARCH_VAR_PREFIX :=
-# Define PRIVATE_ variables from global vars
-my_target_global_ld_dirs := $(TARGET_GLOBAL_LD_DIRS)
-ifeq ($(LOCAL_CLANG),true)
-my_target_global_ldflags := $(CLANG_TARGET_GLOBAL_LDFLAGS)
-else
-my_target_global_ldflags := $(TARGET_GLOBAL_LDFLAGS)
endif
-my_target_fdo_lib := $(TARGET_FDO_LIB)
-my_target_libgcc := $(TARGET_LIBGCC)
-my_target_crtbegin_so_o := $(TARGET_CRTBEGIN_SO_O)
-my_target_crtend_so_o := $(TARGET_CRTEND_SO_O)
-ifdef LOCAL_SDK_VERSION
-# Make sure the prebuilt NDK paths are put ahead of the TARGET_GLOBAL_LD_DIRS,
-# so we don't have race condition when the system libraries (such as libc, libstdc++) are also built in the tree.
-my_target_global_ld_dirs := \
- $(addprefix -L, $(patsubst %/,%,$(dir $(my_ndk_stl_shared_lib_fullpath))) \
- $(my_ndk_version_root)/usr/lib) \
- $(my_target_global_ld_dirs)
-my_target_global_ldflags := $(my_ndk_stl_shared_lib) $(my_target_global_ldflags)
-my_target_crtbegin_so_o := $(wildcard $(my_ndk_version_root)/usr/lib/crtbegin_so.o)
-my_target_crtend_so_o := $(wildcard $(my_ndk_version_root)/usr/lib/crtend_so.o)
-endif
-$(linked_module): PRIVATE_TARGET_GLOBAL_LD_DIRS := $(my_target_global_ld_dirs)
-$(linked_module): PRIVATE_TARGET_GLOBAL_LDFLAGS := $(my_target_global_ldflags)
-$(linked_module): PRIVATE_TARGET_FDO_LIB := $(my_target_fdo_lib)
-$(linked_module): PRIVATE_TARGET_LIBGCC := $(my_target_libgcc)
-$(linked_module): PRIVATE_TARGET_CRTBEGIN_SO_O := $(my_target_crtbegin_so_o)
-$(linked_module): PRIVATE_TARGET_CRTEND_SO_O := $(my_target_crtend_so_o)
-
-$(linked_module): $(all_objects) $(all_libraries) \
- $(LOCAL_ADDITIONAL_DEPENDENCIES) \
- $(my_target_crtbegin_so_o) $(my_target_crtend_so_o)
- $(transform-o-to-shared-lib)
-
-endif # skip_build_from_source