[PATCH] gbuild: MSVC: only re-link libraries if exported symbols cha...

Michael Stahl (via Code Review) gerrit at gerrit.libreoffice.org
Thu Apr 25 16:06:18 PDT 2013


Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/3612

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/12/3612/1

gbuild: MSVC: only re-link libraries if exported symbols change

Implement commit 3213cd54b76bc80a6f0516aac75a48ff3b2ad67c
for MSVC.  Not sure what the extra "Summary" section at the end
of the output does, and whether it would make sense to filter it.

Change-Id: I874abec0e8bb8d1ec2894fd6e94bc78b48e384e1
---
M solenv/gbuild/platform/com_MSC_class.mk
1 file changed, 8 insertions(+), 0 deletions(-)



diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index 94db603..536a44f 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -215,6 +215,14 @@
 	$(if $(DLLTARGET),; if [ ! -f $(DLLTARGET) ]; then rm -f $(1) && false; fi) \
 	$(if $(filter Library,$(TARGETTYPE)),&& if [ -f $(DLLTARGET).manifest ]; then mt.exe $(MTFLAGS) -nologo -manifest $(DLLTARGET).manifest -outputresource:$(DLLTARGET)\;2 && touch -r $(1) $(DLLTARGET).manifest $(DLLTARGET); fi) \
 	$(if $(filter Executable,$(TARGETTYPE)),&& if [ -f $(1).manifest ]; then mt.exe $(MTFLAGS) -nologo -manifest $(1).manifest -outputresource:$(1)\;1 && touch -r $(1) $(1).manifest; fi) \
+	$(if $(filter Library,$(TARGETTYPE)),&& \
+		echo $(notdir $(DLLTARGET)) > $(1).exports.tmp && \
+		$(if $(filter YES,$(LIBRARY_X64)),$(LINK_X64_BINARY),$(gb_LINK)) \
+			-dump -exports $(1) >> $(1).exports.tmp && \
+		if cmp -s $(1).exports.tmp $(1).exports; \
+			then rm $(1).exports.tmp; \
+			else mv $(1).exports.tmp $(1).exports; touch -r $(1) $(1).exports; \
+		fi) \
 	; exit $$RC)
 endef
 

-- 
To view, visit https://gerrit.libreoffice.org/3612
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I874abec0e8bb8d1ec2894fd6e94bc78b48e384e1
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Michael Stahl <mstahl at redhat.com>



More information about the LibreOffice mailing list