Loading core/binary.mk +9 −3 Original line number Diff line number Diff line Loading @@ -19,7 +19,11 @@ include $(BUILD_SYSTEM)/use_lld_setup.mk # supply that, for example, when building libc itself. ifdef LOCAL_IS_HOST_MODULE ifeq ($(LOCAL_SYSTEM_SHARED_LIBRARIES),none) ifdef USE_HOST_MUSL my_system_shared_libraries := libc_musl else my_system_shared_libraries := endif else my_system_shared_libraries := $(LOCAL_SYSTEM_SHARED_LIBRARIES) endif Loading Loading @@ -348,11 +352,13 @@ my_ldlibs := $(filter $(my_allowed_ldlibs),$(my_ldlibs)) else # LOCAL_IS_HOST_MODULE # Add -ldl, -lpthread, -lm and -lrt to host builds to match the default behavior of # device builds ifndef USE_HOST_MUSL my_ldlibs += -ldl -lpthread -lm ifneq ($(HOST_OS),darwin) my_ldlibs += -lrt endif endif endif ifneq ($(LOCAL_SDK_VERSION),) my_all_ndk_libraries := $(NDK_KNOWN_LIBS) Loading core/config.mk +0 −8 Original line number Diff line number Diff line Loading @@ -1054,14 +1054,6 @@ endif # PRODUCT_USE_DYNAMIC_PARTITIONS BOARD_PREBUILT_HIDDENAPI_DIR ?= .KATI_READONLY := BOARD_PREBUILT_HIDDENAPI_DIR ifdef USE_HOST_MUSL ifneq (,$(or $(BUILD_BROKEN_USES_BUILD_HOST_EXECUTABLE),\ $(BUILD_BROKEN_USES_BUILD_HOST_SHARED_LIBRARY),\ $(BUILD_BROKEN_USES_BUILD_HOST_STATIC_LIBRARY))) $(error USE_HOST_MUSL can't be set when native host builds are enabled in Make with BUILD_BROKEN_USES_BUILD_HOST_*) endif endif # ############################################################### # Set up final options. # ############################################################### Loading core/definitions.mk +6 −0 Original line number Diff line number Diff line Loading @@ -2121,6 +2121,7 @@ $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ ) \ $(PRIVATE_LDFLAGS) \ $(PRIVATE_CRTBEGIN) \ $(PRIVATE_ALL_OBJECTS) \ -Wl,--whole-archive \ $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ Loading @@ -2129,8 +2130,10 @@ $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_ALL_STATIC_LIBRARIES) \ $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \ $(if $(filter true,$(NATIVE_COVERAGE)),$(PRIVATE_HOST_LIBPROFILE_RT)) \ $(PRIVATE_LIBCRT_BUILTINS) \ $(PRIVATE_ALL_SHARED_LIBRARIES) \ -o $@ \ $(PRIVATE_CRTEND) \ $(PRIVATE_LDLIBS) endef endif Loading Loading @@ -2264,6 +2267,7 @@ endef ifneq ($(HOST_CUSTOM_LD_COMMAND),true) define transform-host-o-to-executable-inner $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_CRTBEGIN) \ $(PRIVATE_ALL_OBJECTS) \ -Wl,--whole-archive \ $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ Loading @@ -2272,6 +2276,7 @@ $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_ALL_STATIC_LIBRARIES) \ $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \ $(if $(filter true,$(NATIVE_COVERAGE)),$(PRIVATE_HOST_LIBPROFILE_RT)) \ $(PRIVATE_LIBCRT_BUILTINS) \ $(PRIVATE_ALL_SHARED_LIBRARIES) \ $(foreach path,$(PRIVATE_RPATHS), \ -Wl,-rpath,\$$ORIGIN/$(path)) \ Loading @@ -2280,6 +2285,7 @@ $(hide) $(PRIVATE_CXX_LINK) \ ) \ $(PRIVATE_LDFLAGS) \ -o $@ \ $(PRIVATE_CRTEND) \ $(PRIVATE_LDLIBS) endef endif Loading core/host_executable_internal.mk +15 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,21 @@ $(LOCAL_BUILT_MODULE): PRIVATE_RPATHS := ../$(my_libdir) $(my_libdir) endif my_libdir := my_crtbegin := my_crtend := my_libcrt_builtins := ifdef USE_HOST_MUSL my_crtbegin := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtbegin_dynamic) my_crtend := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtend) my_libcrt_builtins := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBCRT_BUILTINS) $(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS += -Wl,--no-dynamic-linker endif $(LOCAL_BUILT_MODULE): PRIVATE_CRTBEGIN := $(my_crtbegin) $(LOCAL_BUILT_MODULE): PRIVATE_CRTEND := $(my_crtend) $(LOCAL_BUILT_MODULE): PRIVATE_LIBCRT_BUILTINS := $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): $(my_crtbegin) $(my_crtend) $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(CLANG_CXX) $(transform-host-o-to-executable) Loading core/host_shared_library_internal.mk +11 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,17 @@ include $(BUILD_SYSTEM)/binary.mk my_host_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBPROFILE_RT) $(LOCAL_BUILT_MODULE): PRIVATE_HOST_LIBPROFILE_RT := $(my_host_libprofile_rt) ifdef USE_HOST_MUSL my_crtbegin := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtbegin_so) my_crtend := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtend_so) my_libcrt_builtins := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBCRT_BUILTINS) endif $(LOCAL_BUILT_MODULE): PRIVATE_CRTBEGIN := $(my_crtbegin) $(LOCAL_BUILT_MODULE): PRIVATE_CRTEND := $(my_crtend) $(LOCAL_BUILT_MODULE): PRIVATE_LIBCRT_BUILTINS := $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): $(my_crtbegin) $(my_crtend) $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): \ $(all_objects) \ $(all_libraries) \ Loading Loading
core/binary.mk +9 −3 Original line number Diff line number Diff line Loading @@ -19,7 +19,11 @@ include $(BUILD_SYSTEM)/use_lld_setup.mk # supply that, for example, when building libc itself. ifdef LOCAL_IS_HOST_MODULE ifeq ($(LOCAL_SYSTEM_SHARED_LIBRARIES),none) ifdef USE_HOST_MUSL my_system_shared_libraries := libc_musl else my_system_shared_libraries := endif else my_system_shared_libraries := $(LOCAL_SYSTEM_SHARED_LIBRARIES) endif Loading Loading @@ -348,11 +352,13 @@ my_ldlibs := $(filter $(my_allowed_ldlibs),$(my_ldlibs)) else # LOCAL_IS_HOST_MODULE # Add -ldl, -lpthread, -lm and -lrt to host builds to match the default behavior of # device builds ifndef USE_HOST_MUSL my_ldlibs += -ldl -lpthread -lm ifneq ($(HOST_OS),darwin) my_ldlibs += -lrt endif endif endif ifneq ($(LOCAL_SDK_VERSION),) my_all_ndk_libraries := $(NDK_KNOWN_LIBS) Loading
core/config.mk +0 −8 Original line number Diff line number Diff line Loading @@ -1054,14 +1054,6 @@ endif # PRODUCT_USE_DYNAMIC_PARTITIONS BOARD_PREBUILT_HIDDENAPI_DIR ?= .KATI_READONLY := BOARD_PREBUILT_HIDDENAPI_DIR ifdef USE_HOST_MUSL ifneq (,$(or $(BUILD_BROKEN_USES_BUILD_HOST_EXECUTABLE),\ $(BUILD_BROKEN_USES_BUILD_HOST_SHARED_LIBRARY),\ $(BUILD_BROKEN_USES_BUILD_HOST_STATIC_LIBRARY))) $(error USE_HOST_MUSL can't be set when native host builds are enabled in Make with BUILD_BROKEN_USES_BUILD_HOST_*) endif endif # ############################################################### # Set up final options. # ############################################################### Loading
core/definitions.mk +6 −0 Original line number Diff line number Diff line Loading @@ -2121,6 +2121,7 @@ $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ ) \ $(PRIVATE_LDFLAGS) \ $(PRIVATE_CRTBEGIN) \ $(PRIVATE_ALL_OBJECTS) \ -Wl,--whole-archive \ $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ Loading @@ -2129,8 +2130,10 @@ $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_ALL_STATIC_LIBRARIES) \ $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \ $(if $(filter true,$(NATIVE_COVERAGE)),$(PRIVATE_HOST_LIBPROFILE_RT)) \ $(PRIVATE_LIBCRT_BUILTINS) \ $(PRIVATE_ALL_SHARED_LIBRARIES) \ -o $@ \ $(PRIVATE_CRTEND) \ $(PRIVATE_LDLIBS) endef endif Loading Loading @@ -2264,6 +2267,7 @@ endef ifneq ($(HOST_CUSTOM_LD_COMMAND),true) define transform-host-o-to-executable-inner $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_CRTBEGIN) \ $(PRIVATE_ALL_OBJECTS) \ -Wl,--whole-archive \ $(PRIVATE_ALL_WHOLE_STATIC_LIBRARIES) \ Loading @@ -2272,6 +2276,7 @@ $(hide) $(PRIVATE_CXX_LINK) \ $(PRIVATE_ALL_STATIC_LIBRARIES) \ $(if $(PRIVATE_GROUP_STATIC_LIBRARIES),-Wl$(comma)--end-group) \ $(if $(filter true,$(NATIVE_COVERAGE)),$(PRIVATE_HOST_LIBPROFILE_RT)) \ $(PRIVATE_LIBCRT_BUILTINS) \ $(PRIVATE_ALL_SHARED_LIBRARIES) \ $(foreach path,$(PRIVATE_RPATHS), \ -Wl,-rpath,\$$ORIGIN/$(path)) \ Loading @@ -2280,6 +2285,7 @@ $(hide) $(PRIVATE_CXX_LINK) \ ) \ $(PRIVATE_LDFLAGS) \ -o $@ \ $(PRIVATE_CRTEND) \ $(PRIVATE_LDLIBS) endef endif Loading
core/host_executable_internal.mk +15 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,21 @@ $(LOCAL_BUILT_MODULE): PRIVATE_RPATHS := ../$(my_libdir) $(my_libdir) endif my_libdir := my_crtbegin := my_crtend := my_libcrt_builtins := ifdef USE_HOST_MUSL my_crtbegin := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtbegin_dynamic) my_crtend := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtend) my_libcrt_builtins := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBCRT_BUILTINS) $(LOCAL_BUILT_MODULE): PRIVATE_LDFLAGS += -Wl,--no-dynamic-linker endif $(LOCAL_BUILT_MODULE): PRIVATE_CRTBEGIN := $(my_crtbegin) $(LOCAL_BUILT_MODULE): PRIVATE_CRTEND := $(my_crtend) $(LOCAL_BUILT_MODULE): PRIVATE_LIBCRT_BUILTINS := $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): $(my_crtbegin) $(my_crtend) $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): $(all_objects) $(all_libraries) $(CLANG_CXX) $(transform-host-o-to-executable) Loading
core/host_shared_library_internal.mk +11 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,17 @@ include $(BUILD_SYSTEM)/binary.mk my_host_libprofile_rt := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBPROFILE_RT) $(LOCAL_BUILT_MODULE): PRIVATE_HOST_LIBPROFILE_RT := $(my_host_libprofile_rt) ifdef USE_HOST_MUSL my_crtbegin := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtbegin_so) my_crtend := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)HOST_OBJECT_libc_musl_crtend_so) my_libcrt_builtins := $($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)LIBCRT_BUILTINS) endif $(LOCAL_BUILT_MODULE): PRIVATE_CRTBEGIN := $(my_crtbegin) $(LOCAL_BUILT_MODULE): PRIVATE_CRTEND := $(my_crtend) $(LOCAL_BUILT_MODULE): PRIVATE_LIBCRT_BUILTINS := $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): $(my_crtbegin) $(my_crtend) $(my_libcrt_builtins) $(LOCAL_BUILT_MODULE): \ $(all_objects) \ $(all_libraries) \ Loading