This is an automated email from the ASF dual-hosted git repository.

truckman pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 7a50e16  Fix incorrect gbuild usage that can cause intermittent 
parallel build failures.
7a50e16 is described below

commit 7a50e16f1d47cf9b54d012c17bef715ca3b060c8
Author: Don Lewis <truck...@apache.org>
AuthorDate: Fri Oct 4 09:29:16 2019 -0700

    Fix incorrect gbuild usage that can cause intermittent parallel build 
failures.
    
    There was some misuse of gbuild that was causing make rules to be added
    that had solver/*/*/workdir/ExternalHeaders/Library and
    solver/*/*/workdir/ExternalHeaders/Library listed as dependencies.
    If these directories did not exist, then a pattern match rule intended
    to create files under the
    solver/*/*/workdir/ExternalHeaders/{Library,StaticLibrary} directories
    would be triggered.  The recipe for that rule would then
      mkdir -p solver/*/*/workdir/ExternalHeaders
    and then
      touch solver/*/*/workdir/ExternalHeaders/{Library,StaticLibrary}
    creating it as a plain file.  A subsequent make rule would
    unconditionally
      mkdir -p solver/*/*/workdir/ExternalHeaders/{Library,StaticLibrary}
    and fail.
    
    Fix the incorrect gbuild usage and add some sanity checks to gbuild
    to catch the problem closer to the source and more deterministically.
---
 main/codemaker/Executable_cppumaker.mk     | 4 ++--
 main/codemaker/Executable_javamaker.mk     | 4 ++--
 main/codemaker/StaticLibrary_codemaker.mk  | 2 +-
 main/codemaker/StaticLibrary_commoncpp.mk  | 2 +-
 main/codemaker/StaticLibrary_commonjava.mk | 2 +-
 main/jvmfwk/Executable_javaldx.mk          | 2 +-
 main/registry/Executable_checksingleton.mk | 2 +-
 main/registry/Executable_rdbedit.mk        | 2 +-
 main/registry/Executable_regcompare.mk     | 2 +-
 main/registry/Executable_regmerge.mk       | 2 +-
 main/registry/Executable_regview.mk        | 2 +-
 main/solenv/gbuild/LinkTarget.mk           | 2 ++
 12 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/main/codemaker/Executable_cppumaker.mk 
b/main/codemaker/Executable_cppumaker.mk
index b876b68..63c9bc2 100644
--- a/main/codemaker/Executable_cppumaker.mk
+++ b/main/codemaker/Executable_cppumaker.mk
@@ -25,9 +25,9 @@ $(eval $(call gb_Executable_Executable,cppumaker))
 
 $(eval $(call gb_Executable_set_targettype_gui,cppumaker,NO))
 
-$(eval $(call gb_StaticLibrary_add_package_headers,cppumaker,codemaker_inc))
+$(eval $(call gb_Executable_add_package_headers,cppumaker,codemaker_inc))
 
-$(eval $(call 
gb_Library_add_precompiled_header,cppumaker,$(SRCDIR)/commoncpp/inc/pch/precompiled_cppumaker))
+$(eval $(call 
gb_Executable_add_precompiled_header,cppumaker,$(SRCDIR)/commoncpp/inc/pch/precompiled_cppumaker))
 
 $(eval $(call gb_Executable_set_include,cppumaker,\
        $$(INCLUDE) \
diff --git a/main/codemaker/Executable_javamaker.mk 
b/main/codemaker/Executable_javamaker.mk
index af180d8..22aae81 100644
--- a/main/codemaker/Executable_javamaker.mk
+++ b/main/codemaker/Executable_javamaker.mk
@@ -25,9 +25,9 @@ $(eval $(call gb_Executable_Executable,javamaker))
 
 $(eval $(call gb_Executable_set_targettype_gui,javamaker,NO))
 
-$(eval $(call gb_StaticLibrary_add_package_headers,javamaker,codemaker_inc))
+$(eval $(call gb_Executable_add_package_headers,javamaker,codemaker_inc))
 
-$(eval $(call 
gb_Library_add_precompiled_header,javamaker,$(SRCDIR)/commoncpp/inc/pch/precompiled_javamaker))
+$(eval $(call 
gb_Executable,javamaker,$(SRCDIR)/commoncpp/inc/pch/precompiled_javamaker))
 
 $(eval $(call gb_Executable_set_include,javamaker,\
        $$(INCLUDE) \
diff --git a/main/codemaker/StaticLibrary_codemaker.mk 
b/main/codemaker/StaticLibrary_codemaker.mk
index f55d2e8..2af9b28 100644
--- a/main/codemaker/StaticLibrary_codemaker.mk
+++ b/main/codemaker/StaticLibrary_codemaker.mk
@@ -25,7 +25,7 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,codemaker))
 
 $(eval $(call gb_StaticLibrary_add_package_headers,codemaker,codemaker_inc))
 
-$(eval $(call 
gb_Library_add_precompiled_header,codemaker,$(SRCDIR)/codemaker/inc/pch/precompiled_codemaker))
+$(eval $(call 
gb_StaticLibrary_add_precompiled_header,codemaker,$(SRCDIR)/codemaker/inc/pch/precompiled_codemaker))
 
 #$(eval $(call gb_StaticLibrary_add_api,codemaker,\
 #      udkapi \
diff --git a/main/codemaker/StaticLibrary_commoncpp.mk 
b/main/codemaker/StaticLibrary_commoncpp.mk
index a8d7e9f..e580ff8 100644
--- a/main/codemaker/StaticLibrary_commoncpp.mk
+++ b/main/codemaker/StaticLibrary_commoncpp.mk
@@ -25,7 +25,7 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,commoncpp))
 
 $(eval $(call gb_StaticLibrary_add_package_headers,commoncpp,codemaker_inc))
 
-$(eval $(call 
gb_Library_add_precompiled_header,commoncpp,$(SRCDIR)/commoncpp/inc/pch/precompiled_commoncpp))
+$(eval $(call 
gb_StaticLibrary_add_precompiled_header,commoncpp,$(SRCDIR)/commoncpp/inc/pch/precompiled_commoncpp))
 
 #$(eval $(call gb_StaticLibrary_add_api,commoncpp,\
 #      udkapi \
diff --git a/main/codemaker/StaticLibrary_commonjava.mk 
b/main/codemaker/StaticLibrary_commonjava.mk
index c25a532..6763f84 100644
--- a/main/codemaker/StaticLibrary_commonjava.mk
+++ b/main/codemaker/StaticLibrary_commonjava.mk
@@ -25,7 +25,7 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,commonjava))
 
 $(eval $(call gb_StaticLibrary_add_package_headers,commonjava,codemaker_inc))
 
-$(eval $(call 
gb_Library_add_precompiled_header,commonjava,$(SRCDIR)/commonjava/inc/pch/precompiled_commonjava))
+$(eval $(call 
gb_StaticLibrary_add_precompiled_header,commonjava,$(SRCDIR)/commonjava/inc/pch/precompiled_commonjava))
 
 #$(eval $(call gb_StaticLibrary_add_api,commonjava,\
 #      udkapi \
diff --git a/main/jvmfwk/Executable_javaldx.mk 
b/main/jvmfwk/Executable_javaldx.mk
index cfae9ae..04d6422 100644
--- a/main/jvmfwk/Executable_javaldx.mk
+++ b/main/jvmfwk/Executable_javaldx.mk
@@ -23,7 +23,7 @@
 
 $(eval $(call gb_Executable_Executable,javaldx))
 
-$(eval $(call gb_Library_add_package_headers,javaldx,jvmfwk_inc))
+$(eval $(call gb_Executable_add_package_headers,javaldx,jvmfwk_inc))
 
 $(eval $(call gb_Executable_set_include,javaldx,\
        $$(INCLUDE) \
diff --git a/main/registry/Executable_checksingleton.mk 
b/main/registry/Executable_checksingleton.mk
index 6167df9..f595eb4 100644
--- a/main/registry/Executable_checksingleton.mk
+++ b/main/registry/Executable_checksingleton.mk
@@ -23,7 +23,7 @@
 
 $(eval $(call gb_Executable_Executable,checksingleton))
 
-$(eval $(call gb_Library_add_package_headers,checksingleton,registry_inc))
+$(eval $(call gb_Executable_add_package_headers,checksingleton,registry_inc))
 
 $(eval $(call gb_Executable_set_include,checksingleton,\
        $$(INCLUDE) \
diff --git a/main/registry/Executable_rdbedit.mk 
b/main/registry/Executable_rdbedit.mk
index 8bf4a8a..55f2d4d 100644
--- a/main/registry/Executable_rdbedit.mk
+++ b/main/registry/Executable_rdbedit.mk
@@ -23,7 +23,7 @@
 
 $(eval $(call gb_Executable_Executable,rdbedit))
 
-$(eval $(call gb_Library_add_package_headers,rdbedit,registry_inc))
+$(eval $(call gb_Executable_add_package_headers,rdbedit,registry_inc))
 
 $(eval $(call gb_Executable_set_include,rdbedit,\
        $$(INCLUDE) \
diff --git a/main/registry/Executable_regcompare.mk 
b/main/registry/Executable_regcompare.mk
index ba289a8..25b4bbf 100644
--- a/main/registry/Executable_regcompare.mk
+++ b/main/registry/Executable_regcompare.mk
@@ -23,7 +23,7 @@
 
 $(eval $(call gb_Executable_Executable,regcompare))
 
-$(eval $(call gb_Library_add_package_headers,regcompare,registry_inc))
+$(eval $(call gb_Executable_add_package_headers,regcompare,registry_inc))
 
 $(eval $(call gb_Executable_set_include,regcompare,\
        $$(INCLUDE) \
diff --git a/main/registry/Executable_regmerge.mk 
b/main/registry/Executable_regmerge.mk
index 0fcb386..e5a47ac 100644
--- a/main/registry/Executable_regmerge.mk
+++ b/main/registry/Executable_regmerge.mk
@@ -23,7 +23,7 @@
 
 $(eval $(call gb_Executable_Executable,regmerge))
 
-$(eval $(call gb_Library_add_package_headers,regmerge,registry_inc))
+$(eval $(call gb_Executable_add_package_headers,regmerge,registry_inc))
 
 $(eval $(call gb_Executable_set_include,regmerge,\
        $$(INCLUDE) \
diff --git a/main/registry/Executable_regview.mk 
b/main/registry/Executable_regview.mk
index a90d857..f53e9cd 100644
--- a/main/registry/Executable_regview.mk
+++ b/main/registry/Executable_regview.mk
@@ -23,7 +23,7 @@
 
 $(eval $(call gb_Executable_Executable,regview))
 
-$(eval $(call gb_Library_add_package_headers,regview,registry_inc))
+$(eval $(call gb_Executable_add_package_headers,regview,registry_inc))
 
 $(eval $(call gb_Executable_set_include,regview,\
        $$(INCLUDE) \
diff --git a/main/solenv/gbuild/LinkTarget.mk b/main/solenv/gbuild/LinkTarget.mk
index c67c1c5..3d81f48 100644
--- a/main/solenv/gbuild/LinkTarget.mk
+++ b/main/solenv/gbuild/LinkTarget.mk
@@ -349,6 +349,7 @@ define gb_LinkTarget__get_external_headers_check
 ifneq ($$(SELF),$$*)
 $$(eval $$(call gb_Output_info,LinkTarget $$* not defined: Assuming headers to 
be there!,ALL))
 endif
+$$(if $$(findstring /,$$*), , $$(error 
gb_LinkTarget__get_external_headers_check trying to create $$@ as a plain file))
 $$@ : COMMAND := $$(call gb_Helper_abbreviate_dirs, mkdir -p $$(dir $$@) && 
touch $$@ && mkdir -p $(call gb_LinkTarget_get_target,)pdb/$$(dir $$*))
 
 endef
@@ -1009,6 +1010,7 @@ endef
 
 define gb_LinkTarget__add_internal_headers
 $(call gb_LinkTarget_get_headers_target,$(1)) : $(2)
+$(if $(word 2, $(strip $(subst /, $() $(),$(1)))), , $(error 
gb_LinkTarget__add_internal_headers passing top level directory $(1) to 
gb_LinkTarget_get_external_headers_target ))
 $(2) :|        $(call gb_LinkTarget_get_external_headers_target,$(1))
 
 endef

Reply via email to