diff options
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/gbuild/LinkTarget.mk | 14 | ||||
-rw-r--r-- | solenv/gbuild/StaticLibrary.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/platform/WNT_INTEL_MSC.mk | 3 |
3 files changed, 18 insertions, 1 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 57b3a70d1e25..ba91d4ae4ff6 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -1047,6 +1047,12 @@ define gb_LinkTarget_add_generated_cobjects $(foreach obj,$(2),$(call gb_LinkTarget_add_generated_c_object,$(1),$(obj),$(3),$(4))) endef +#only useful for building x64 libraries on windows +define gb_LinkTarget_add_x64_generated_cobjects +$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_c_object,$(1),$(obj),$(3),$(4))) +$(foreach obj,$(2),$(eval $(call gb_GenCObject_get_target,$(obj)) : COBJECT_X64 := YES)) +endef + define gb_LinkTarget_add_generated_cxxobjects $(foreach obj,$(2),$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(obj),$(3))) endef @@ -1155,6 +1161,14 @@ $(call gb_LinkTarget_get_external_headers_target,$(1)) :| $(call gb_UnpackedTarb endef +# Use artifacts from ExternalProject (i. e. configure) of an external project +# example in expat: StaticLibrary depends on ExternalProject outcome +define gb_LinkTarget_use_external_project +$(call gb_LinkTarget_get_external_headers_target,$(1)) :| $(call gb_ExternalProject_get_target,$(2)) + +endef + + # this forwards to functions that must be defined in RepositoryExternal.mk. # $(eval $(call gb_LinkTarget_use_external,library,external)) define gb_LinkTarget_use_external diff --git a/solenv/gbuild/StaticLibrary.mk b/solenv/gbuild/StaticLibrary.mk index e1e0fc51e066..4c68af6e82e5 100644 --- a/solenv/gbuild/StaticLibrary.mk +++ b/solenv/gbuild/StaticLibrary.mk @@ -82,6 +82,7 @@ $(eval $(foreach method,\ add_x64_generated_exception_objects \ add_noexception_objects \ add_generated_cobjects \ + add_x64_generated_cobjects \ add_generated_cxxobjects \ add_generated_exception_objects \ add_cflags \ @@ -114,6 +115,7 @@ $(eval $(foreach method,\ use_package \ use_packages \ use_unpacked \ + use_external_project \ use_static_libraries \ add_sdi_headers \ set_warnings_not_errors \ diff --git a/solenv/gbuild/platform/WNT_INTEL_MSC.mk b/solenv/gbuild/platform/WNT_INTEL_MSC.mk index 1b618aa326b3..c8f99025c88a 100644 --- a/solenv/gbuild/platform/WNT_INTEL_MSC.mk +++ b/solenv/gbuild/platform/WNT_INTEL_MSC.mk @@ -267,7 +267,7 @@ $(call gb_Output_announce,$(2).c,$(true),C ,3) $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) $(dir $(4)) && \ unset INCLUDE && \ - $(gb_CC) \ + $(if $(filter YES,$(COBJECT_X64)), $(CXX_X64_BINARY), $(gb_CC)) \ $(DEFS) \ $(if $(filter Library,$(TARGETTYPE)),$(gb_COMPILER_LTOFLAGS)) \ $(T_CFLAGS) \ @@ -276,6 +276,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(gb_COMPILERDEPFLAGS) \ -I$(dir $(3)) \ $(INCLUDE) \ + $(if $(filter YES,$(COBJECT_X64)), -U_X86_ -D_AMD64_,) \ -c $(3) \ -Fo$(1)) $(call gb_create_deps,$(4),$(1),$(3)) endef |