diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index dae113895c1a..f7fa86bbec6f 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -745,13 +745,14 @@ $$(call gb_Output_error,\ gb_LinkTarget_add_linked_static_libs: use gb_LinkTarget_use_static_libraries instead.) endef +# for a StaticLibrary, dependent libraries are not actually linked in define gb_LinkTarget_use_static_libraries ifneq (,$$(filter-out $(gb_StaticLibrary_KNOWNLIBS),$(2))) $$(eval $$(call gb_Output_info, currently known static libraries are: $(sort $(gb_StaticLibrary_KNOWNLIBS)),ALL)) $$(eval $$(call gb_Output_error,Cannot link against static library/libraries $$(filter-out $(gb_StaticLibrary_KNOWNLIBS),$(2)). Static libraries must be registered in Repository.mk)) endif -$(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS += $(2) +$(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS += $(if $(filter-out StaticLibrary,$(TARGETTYPE)),$(2)) $(call gb_LinkTarget_get_target,$(1)) : $$(foreach lib,$(2),$$(call gb_StaticLibrary_get_target,$$(lib))) $(call gb_LinkTarget_get_external_headers_target,$(1)) : \ diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk index dd972fdba4be..12834d8a7815 100644 --- a/solenv/gbuild/StaticLibrary.mk +++ b/solenv/gbuild/StaticLibrary.mk @@ -125,6 +125,7 @@ $(eval $(foreach method,\ use_package \ use_packages \ use_unpacked \ + use_static_libraries \ add_sdi_headers \ set_warnings_not_errors \ set_generated_cxx_suffix \