solenv/bin/concat-deps.c                |    5 ++
 solenv/gbuild/Library.mk                |    1 
 solenv/gbuild/LinkTarget.mk             |   63 ++++++++++++++++++++++++++++++--
 solenv/gbuild/TargetLocations.mk        |    2 +
 solenv/gbuild/platform/com_MSC_class.mk |    1 
 5 files changed, 70 insertions(+), 2 deletions(-)

New commits:
commit 6d1d4ebb8b5b1fc753f5cb3439703705ffcff270
Author: Michael Stahl <mst...@redhat.com>
Date:   Fri Nov 24 01:09:58 2017 +0100

    tdf#113787: gbuild: fix the version of cli_cppuhelper assembly
    
    There is one usage of gb_Library_add_generated_cxxclrobjects in
    the entire repo, and regrettably generated C++/CLR objects
    weren't actually implemented in the new build system, so the
    assembly.cxx with its generated version number was simply ignored.
    
    (cherry picked from commit bb9413907cd7bea0feadb7e4e3d44d5078fe5a26)
    
    Change-Id: I2d40de12da58361891a9d405280e06bf5fc23e01
    Reviewed-on: https://gerrit.libreoffice.org/45221
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index 88144465eda7..b0b0e13d86b1 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -1082,6 +1082,11 @@ off_t size;
                     created_line = generate_phony_line(src_relative, "o");
                     rc = generate_phony_file(fn, created_line);
                 }
+                else if(strncmp(src_relative, "GenCxxClrObject/", 16) == 0)
+                {
+                    created_line = generate_phony_line(src_relative, "o");
+                    rc = generate_phony_file(fn, created_line);
+                }
                 else
                 {
                     fprintf(stderr, "no magic for %s(%s) in %s\n", fn, 
src_relative, work_dir);
diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk
index 18640d6437d4..77851c1bc129 100644
--- a/solenv/gbuild/Library.mk
+++ b/solenv/gbuild/Library.mk
@@ -177,6 +177,7 @@ $(eval $(foreach method,\
        add_objcxxobjects \
        add_cxxclrobject \
        add_cxxclrobjects \
+       add_generated_cxxclrobjects \
        add_asmobject \
        add_asmobjects \
        add_exception_objects \
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 5d192df299cb..f04e375c8cda 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -173,9 +173,9 @@ endef
 # Overview of dependencies and tasks of LinkTarget
 #
 # target                      task                         depends on
-# LinkTarget                  linking                      AsmObject CObject 
CxxObject GenCObject GenCxxObject ObjCObject ObjCxxObject CxxClrObject
+# LinkTarget                  linking                      AsmObject CObject 
CxxObject GenCObject GenCxxObject ObjCObject ObjCxxObject CxxClrObject 
GenCxxClrObject
 #                                                          LinkTarget/headers
-# LinkTarget/dep              joined dep file              AsmObject/dep 
CObject/dep CxxObject/dep GenCObject/dep GenCxxObject/dep ObjCObject/dep 
ObjCxxObject/dep CxxClrObject/dep
+# LinkTarget/dep              joined dep file              AsmObject/dep 
CObject/dep CxxObject/dep GenCObject/dep GenCxxObject/dep ObjCObject/dep 
ObjCxxObject/dep CxxClrObject/dep GenCxxClrObject/dep
 #                                                          | LinkTarget/headers
 # LinkTarget/headers          all headers available
 #                             including own generated
@@ -189,6 +189,8 @@ endef
 # ObjCObject                  objective c compile          | LinkTarget/headers
 # ObjCxxObject                objective c++ compile        | LinkTarget/headers
 # CxxClrObject                C++ CLR compile              | LinkTarget/headers
+# GenCxxClrObject             C++ CLR compile from         | LinkTarget/headers
+#                              generated source
 #
 # AsmObject                   asm compile                  | LinkTarget
 #
@@ -199,6 +201,7 @@ endef
 # ObjCObject/dep            dependencies
 # ObjCxxObject/dep            dependencies
 # CxxClrObject/dep            dependencies
+# GenCxxClrObject/dep         dependencies
 # AsmObject/dep               dependencies
 
 # LinkTarget/headers means gb_LinkTarget_get_headers_target etc.
@@ -350,6 +353,28 @@ $(call gb_GenCxxObject_get_dep_target,%) :
 endif
 
 
+# GenCxxClrObject class
+
+gb_GenCxxClrObject_get_source = 
$(WORKDIR)/$(1).$(gb_LinkTarget_CXX_SUFFIX_$(call 
gb_LinkTarget__get_workdir_linktargetname,$(2)))
+
+$(call gb_GenCxxClrObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET)
+       $(call gb_Output_announce,$(subst 
$(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),$(true),CLR,3)
+       test -f $(GEN_CXXCLR_SOURCE) || (echo "Missing generated source file 
$(GEN_CXXCLR_SOURCE)" && false)
+       $(call gb_CObject__command_pattern,$@,$(T_CXXCLRFLAGS) 
$(T_CXXCLRFLAGS_APPEND),$(GEN_CXXCLR_SOURCE),$(call 
gb_GenCxxClrObject_get_dep_target,$*),$(COMPILER_PLUGINS))
+
+ifeq ($(gb_FULLDEPS),$(true))
+$(dir $(call gb_GenCxxClrObject_get_dep_target,%)).dir :
+       $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
+
+$(dir $(call gb_GenCxxClrObject_get_dep_target,%))%/.dir :
+       $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
+
+$(call gb_GenCxxClrObject_get_dep_target,%) :
+       $(if $(wildcard $@),touch $@)
+
+endif
+
+
 # YaccTarget class
 
 # XXX: This is more complicated than necessary, but we cannot just use
@@ -532,6 +557,8 @@ $(WORKDIR)/Clean/LinkTarget/% :
                $(foreach object,$(GENCOBJECTS),$(call 
gb_GenCObject_get_dep_target,$(object))) \
                $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_target,$(object))) \
                $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_dep_target,$(object))) \
+               $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_target,$(object))) \
+               $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_dep_target,$(object))) \
                $(call gb_LinkTarget_get_target,$(LINKTARGET)) \
                $(call gb_LinkTarget_get_dep_target,$(LINKTARGET)) \
                $(call gb_LinkTarget_get_headers_target,$(LINKTARGET)) \
@@ -557,6 +584,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(foreach object,$(ASMOBJECTS),$(call 
gb_AsmObject_get_dep_target,$(object)))\
                $(foreach object,$(GENCOBJECTS),$(call 
gb_GenCObject_get_dep_target,$(object))) \
                $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_dep_target,$(object))) \
+               $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_dep_target,$(object))) \
                ) && \
        $(call gb_Executable_get_command,concat-deps) $${RESPONSEFILE} > $(1)) 
&& \
        rm -f $${RESPONSEFILE}
@@ -574,6 +602,7 @@ TEMPFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
        $(foreach object,$(ASMOBJECTS),$(call 
gb_AsmObject_get_target,$(object))) \
        $(foreach object,$(GENCOBJECTS),$(call 
gb_GenCObject_get_target,$(object))) \
        $(foreach object,$(GENCXXOBJECTS),$(call 
gb_GenCxxObject_get_target,$(object))) \
+       $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_target,$(object))) \
        $(PCHOBJS)) && \
 $(if $(EXTRAOBJECTLISTS),cat $(EXTRAOBJECTLISTS) >> $${TEMPFILE} && ) \
 mv $${TEMPFILE} $(1)
@@ -716,6 +745,8 @@ $(call gb_LinkTarget_get_clean_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : GENCOBJECTS :=
 $(call gb_LinkTarget_get_clean_target,$(1)) \
 $(call gb_LinkTarget_get_target,$(1)) : GENCXXOBJECTS :=
+$(call gb_LinkTarget_get_clean_target,$(1)) \
+$(call gb_LinkTarget_get_target,$(1)) : GENCXXCLROBJECTS :=
 $(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS)
 $(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS_APPEND :=
 $(call gb_LinkTarget_get_target,$(1)) : T_CXXFLAGS := 
$$(gb_LinkTarget_CXXFLAGS)
@@ -765,6 +796,7 @@ $(call gb_LinkTarget_get_dep_target,$(1)) : CXXCLROBJECTS :=
 $(call gb_LinkTarget_get_dep_target,$(1)) : ASMOBJECTS :=
 $(call gb_LinkTarget_get_dep_target,$(1)) : GENCOBJECTS :=
 $(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS :=
+$(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXCLROBJECTS :=
 $(call gb_LinkTarget_get_dep_target,$(1)) : YACCOBJECTS :=
 endif
 
@@ -1226,6 +1258,28 @@ endif
 
 endef
 
+# call 
gb_LinkTarget_add_generated_cxxclrobject,linktarget,sourcefile,cxxclrflags,linktargetmakefilename
+define gb_LinkTarget_add_generated_cxxclrobject
+$(call gb_LinkTarget_get_target,$(1)) : GENCXXCLROBJECTS += $(2)
+$(call gb_LinkTarget_get_clean_target,$(1)) : GENCXXCLROBJECTS += $(2)
+
+$(call gb_LinkTarget_get_target,$(1)) : $(call 
gb_GenCxxClrObject_get_target,$(2))
+$(call gb_GenCxxClrObject_get_target,$(2)) : $(call 
gb_GenCxxClrObject_get_source,$(2),$(1))
+$(call gb_GenCxxClrObject_get_target,$(2)) : | $(call 
gb_LinkTarget_get_headers_target,$(1))
+$(call gb_GenCxxClrObject_get_target,$(2)) : T_CXXCLRFLAGS += $(call 
gb_LinkTarget__get_cxxclrflags,$(4)) $(3)
+$(call gb_GenCxxClrObject_get_target,$(2)) : \
+       OBJECTOWNER := $(call gb_Object__owner,$(2),$(1))
+$(call gb_GenCxxClrObject_get_target,$(2)) : GEN_CXXCLR_SOURCE := $(call 
gb_GenCxxClrObject_get_source,$(2),$(1))
+
+ifeq ($(gb_FULLDEPS),$(true))
+$(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXCLROBJECTS += $(2)
+$(call gb_LinkTarget_get_dep_target,$(1)) : $(call 
gb_GenCxxClrObject_get_dep_target,$(2))
+$(call gb_GenCxxClrObject_get_dep_target,$(2)) :| $(dir $(call 
gb_GenCxxClrObject_get_dep_target,$(2))).dir
+$(call gb_GenCxxClrObject_get_target,$(2)) :| $(dir $(call 
gb_GenCxxClrObject_get_dep_target,$(2))).dir
+endif
+
+endef
+
 # Add a bison grammar to the build.
 # call 
gb_LinkTarget_add_grammar,linktarget,yaccfile,linktargetmakefilename,cxxflags
 define gb_LinkTarget_add_grammar
@@ -1361,6 +1415,11 @@ define gb_LinkTarget_add_generated_exception_objects
 $(foreach obj,$(2),$(call 
gb_LinkTarget_add_generated_exception_object,$(1),$(obj),$(4)))
 endef
 
+# call 
gb_LinkTarget_add_generated_cxxclrobjects,linktarget,sourcefiles,cxxclrflags,linktargetmakefilename
+define gb_LinkTarget_add_generated_cxxclrobjects
+$(foreach obj,$(2),$(call 
gb_LinkTarget_add_generated_cxxclrobject,$(1),$(obj),$(3),$(4)))
+endef
+
 # call gb_LinkTarget_set_targettype,linktarget,targettype
 define gb_LinkTarget_set_targettype
 $(call gb_LinkTarget_get_target,$(1)) : TARGETTYPE := $(2)
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index 8ec6c4610ca3..53c4959843b7 100644
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -128,6 +128,7 @@ gb_Module_get_target = $(WORKDIR)/Module/$(1)
 gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
 gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
 gb_CxxClrObject_get_target = $(WORKDIR)/CxxClrObject/$(1).o
+gb_GenCxxClrObject_get_target = $(WORKDIR)/GenCxxClrObject/$(1).o
 gb_Pagein_get_target = $(WORKDIR)/Pagein/pagein-$(1)
 gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
 gb_Package_get_target = $(WORKDIR)/Package/$(1).filelist
@@ -317,6 +318,7 @@ $(eval $(call gb_Helper_make_dep_targets,\
        AsmObject \
        GenCObject \
        GenCxxObject \
+       GenCxxClrObject \
        SdiTarget \
        SrsPartTarget \
        SrsTarget \
diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index 3a04f54a741f..860f35200661 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -164,6 +164,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(foreach object,$(COBJECTS),$(call 
gb_CObject_get_target,$(object))) \
                $(foreach object,$(GENCOBJECTS),$(call 
gb_GenCObject_get_target,$(object))) \
                $(foreach object,$(CXXCLROBJECTS),$(call 
gb_CxxClrObject_get_target,$(object))) \
+               $(foreach object,$(GENCXXCLROBJECTS),$(call 
gb_GenCxxClrObject_get_target,$(object))) \
                $(foreach object,$(ASMOBJECTS),$(call 
gb_AsmObject_get_target,$(object))) \
                $(foreach extraobjectlist,$(EXTRAOBJECTLISTS),$(shell cat 
$(extraobjectlist))) \
                $(PCHOBJS) $(NATIVERES)) && \
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to