On Mon, 2011-08-22 at 23:37 +0200, Cor Nouws wrote:
ERROR: error 65280 occurred while making
/home/cono/src/git/libo_core/rsc/prj
/home/cono/src/git/libo_core/xmloff/prj
Well, firstly these don't really include the actual error, but I'm going
to guess that its very likely the problem is header files that used to
exist, got removed, and whose references in .cxx files also got removed
correctly, but there are stale dependencies that still depend on the
removed headers. Even if this isn't the problem here, is such a common
problem that its generally the case.
So.. I suggest we add -MP to our gcc dependency generation, that makes
extra fake rules for each dependency so that a missing header is
considered "ok", i.e. http://www.makelinux.net/make3/make3-CHP-8-SECT-3
and (also attached) patch from
https://bugs.freedesktop.org/show_bug.cgi?id=40099
Testing here shows that it allows a rebuild to survive a removed header
and rebuild without annoying halt and spew, so the problem "just goes
away". Bigger dependencies I guess, but I think its worth a lot to just
be able to "make".
Unless someone knows a good reason why this is a really stupid idea I'll
push it later today. Non-gcc platforms might be able to hack up the same
sort of support with the sed example from the make book above.
C.
diff --git a/solenv/gbuild/platform/ios.mk b/solenv/gbuild/platform/ios.mk
index 1039497..4a93587 100644
--- a/solenv/gbuild/platform/ios.mk
+++ b/solenv/gbuild/platform/ios.mk
@@ -147,7 +147,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE))
endef
@@ -166,7 +166,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
@@ -184,7 +184,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
@@ -201,7 +201,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(call gb_ObjCObject_get_target,$(2)) \
- -MF $(call gb_ObjCObject_get_dep_target,$(2)) \
+ -MP -MF $(call gb_ObjCObject_get_dep_target,$(2)) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 5f9fe9e..1c62144 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -176,7 +176,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE))
endef
@@ -195,7 +195,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
@@ -213,7 +213,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
@@ -230,7 +230,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(call gb_ObjCObject_get_target,$(2)) \
- -MF $(call gb_ObjCObject_get_dep_target,$(2)) \
+ -MP -MF $(call gb_ObjCObject_get_dep_target,$(2)) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk
index 74276dd..35975e4 100644
--- a/solenv/gbuild/platform/unxgcc.mk
+++ b/solenv/gbuild/platform/unxgcc.mk
@@ -199,7 +199,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE))
endef
@@ -218,7 +218,7 @@ $(call gb_Helper_abbreviate_dirs,\
-c $(3) \
-o $(1) \
-MMD -MT $(1) \
- -MF $(4) \
+ -MP -MF $(4) \
-I$(dir $(3)) \
$(INCLUDE_STL) $(INCLUDE))
endef
@@ -240,7 +240,7 @@ $(call gb_Helper_abbreviate_dirs,\
# -c $(3) \
# -o $(1) \
# -MMD -MT $(1) \
- # -MF $(4) \
+ # -MP -MF $(4) \
# -I$(dir $(3)) \
# $(INCLUDE))
endef
Context
- [Libreoffice] build errors on Ubuntu · Cor Nouws
- [Libreoffice] [PATCH] build dependencies, removing headers and getting away with it. (was build errors on Ubuntu) · Caolán McNamara
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.