[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] expand debugging options to provide tracing of call to $(eval an
From: |
Norbert Thiebaud |
Subject: |
[PATCH] expand debugging options to provide tracing of call to $(eval and $(call |
Date: |
Fri, 24 Jun 2011 19:48:55 -0500 |
At LibreOffice we are migrating our build system from a customized
dmake to gmake.
The design of the build system used involved a fairly intensive use of
$(eval and $(call to implement an 'Object-Oriented' kind of system.
This is nice when things works, but it is pretty hard to find bug in
the build system itself...
So, to help internally to debug these problems I wrote a patch based
on make 3.82, to add --debug=c and --debug=e which activate tracing
for $(call and $(eval respectively
the patch can be found at
http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/plain/misc_patches/make-3.82.lo_trace.patch?id=a4f03f17f42ded70e6a3c49cf4e9a90eaf3c12ca
In the spirit of 'pushing upstream', I submit this patch here, under
GPLv3+ terms.
Regards,
Norbert Thiebaud
Below is an example of output produced by this patch:
[...]
### call $(gb_Library_set_include) -->
### arg 0 for call $(gb_Library_set_include) is 'gb_Library_set_include'
### arg 1 for call $(gb_Library_set_include) is 'msword'
### arg 2 for call $(gb_Library_set_include) is '
-I/lo/libo/clone/writer/sw/source/core/inc
-I/lo/libo/clone/writer/sw/source/ui/inc
-I/lo/libo/clone/writer/sw/source/filter/inc
-I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
-I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
-I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
-I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
-I/lo/libo/solver/340/unxlngx6.pro/inc/sw '
### call $(gb_Library_get_linktargetname) -->
### arg 0 for call $(gb_Library_get_linktargetname) is
'gb_Library_get_linktargetname'
### arg 1 for call $(gb_Library_get_linktargetname) is 'msword'
### arg 2 for call $(gb_Library_get_linktargetname) is implicit
### call $(gb_Library_get_filename) -->
### arg 0 for call $(gb_Library_get_filename) is 'gb_Library_get_filename'
### arg 1 for call $(gb_Library_get_filename) is 'msword'
### arg 2 for call $(gb_Library_get_filename) is implicit
### call to $(gb_Library_get_filename) expended into
libmswordlo.so
### call $(gb_Library_get_filename) <--
### call to $(gb_Library_get_linktargetname) expended into
Library/libmswordlo.so
### call $(gb_Library_get_linktargetname) <--
### call $(gb_LinkTarget_set_include) -->
### arg 0 for call $(gb_LinkTarget_set_include) is
'gb_LinkTarget_set_include'
### arg 1 for call $(gb_LinkTarget_set_include) is 'Library/libmswordlo.so'
### arg 2 for call $(gb_LinkTarget_set_include) is '
-I/lo/libo/clone/writer/sw/source/core/inc
-I/lo/libo/clone/writer/sw/source/ui/inc
-I/lo/libo/clone/writer/sw/source/filter/inc
-I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
-I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
-I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
-I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
-I/lo/libo/solver/340/unxlngx6.pro/inc/sw '
### arg 3 for call $(gb_LinkTarget_set_include) is ''
### call $(gb_LinkTarget_get_headers_target) -->
### arg 0 for call $(gb_LinkTarget_get_headers_target) is
'gb_LinkTarget_get_headers_target'
### arg 1 for call $(gb_LinkTarget_get_headers_target) is
'Library/libmswordlo.so'
### arg 2 for call $(gb_LinkTarget_get_headers_target) is implicit
### arg 3 for call $(gb_LinkTarget_get_headers_target) is implicit
### call to $(gb_LinkTarget_get_headers_target) expended into
/lo/libo/solver/340/unxlngx6.pro/workdir/Headers/Library/libmswordlo.so
### call $(gb_LinkTarget_get_headers_target) <--
### call $(gb_LinkTarget_get_target) -->
### arg 0 for call $(gb_LinkTarget_get_target) is
'gb_LinkTarget_get_target'
### arg 1 for call $(gb_LinkTarget_get_target) is 'Library/libmswordlo.so'
### arg 2 for call $(gb_LinkTarget_get_target) is implicit
### arg 3 for call $(gb_LinkTarget_get_target) is implicit
### call to $(gb_LinkTarget_get_target) expended into
/lo/libo/solver/340/unxlngx6.pro/workdir/LinkTarget/Library/libmswordlo.so
### call $(gb_LinkTarget_get_target) <--
### call $(gb_LinkTarget_get_dep_target) -->
### arg 0 for call $(gb_LinkTarget_get_dep_target) is
'gb_LinkTarget_get_dep_target'
### arg 1 for call $(gb_LinkTarget_get_dep_target) is
'Library/libmswordlo.so'
### arg 2 for call $(gb_LinkTarget_get_dep_target) is implicit
### arg 3 for call $(gb_LinkTarget_get_dep_target) is implicit
### call to $(gb_LinkTarget_get_dep_target) expended into
/lo/libo/solver/340/unxlngx6.pro/workdir/Dep/LinkTarget/Library/libmswordlo.so.d
### call $(gb_LinkTarget_get_dep_target) <--
### call to $(gb_LinkTarget_set_include) expended into
/lo/libo/solver/340/unxlngx6.pro/workdir/Headers/Library/libmswordlo.so
/lo/libo/solver/340/unxlngx6.pro/workdir/LinkTarget/Library/libmswordlo.so
: INCLUDE := -I/lo/libo/clone/writer/sw/source/core/inc
-I/lo/libo/clone/writer/sw/source/ui/inc
-I/lo/libo/clone/writer/sw/source/filter/inc
-I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
-I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
-I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
-I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
-I/lo/libo/solver/340/unxlngx6.pro/inc/sw
ifeq (T,T)
/lo/libo/solver/340/unxlngx6.pro/workdir/Dep/LinkTarget/Library/libmswordlo.so.d
: INCLUDE := -I/lo/libo/clone/writer/sw/source/core/inc
-I/lo/libo/clone/writer/sw/source/ui/inc
-I/lo/libo/clone/writer/sw/source/filter/inc
-I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
-I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
-I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
-I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
-I/lo/libo/solver/340/unxlngx6.pro/inc/sw
endif
### call $(gb_LinkTarget_set_include) <--
### call to $(gb_Library_set_include) expended into
/lo/libo/solver/340/unxlngx6.pro/workdir/Headers/Library/libmswordlo.so
/lo/libo/solver/340/unxlngx6.pro/workdir/LinkTarget/Library/libmswordlo.so
: INCLUDE := -I/lo/libo/clone/writer/sw/source/core/inc
-I/lo/libo/clone/writer/sw/source/ui/inc
-I/lo/libo/clone/writer/sw/source/filter/inc
-I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
-I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
-I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
-I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
-I/lo/libo/solver/340/unxlngx6.pro/inc/sw
ifeq (T,T)
/lo/libo/solver/340/unxlngx6.pro/workdir/Dep/LinkTarget/Library/libmswordlo.so.d
: INCLUDE := -I/lo/libo/clone/writer/sw/source/core/inc
-I/lo/libo/clone/writer/sw/source/ui/inc
-I/lo/libo/clone/writer/sw/source/filter/inc
-I/lo/libo/clone/writer/sw/inc/pch -I/lo/libo/clone/writer/sw/inc
-I/lo/libo/solver/340/unxlngx6.pro/workdir/inc/sw/sdi
-I/lo/libo/solver/340/unxlngx6.pro/workdir/Misc/sw/ $(INCLUDE)
-I/lo/libo/solver/340/unxlngx6.pro/inc/offuh
-I/lo/libo/solver/340/unxlngx6.pro/inc/sw
endif
### call $(gb_Library_set_include) <--
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] expand debugging options to provide tracing of call to $(eval and $(call,
Norbert Thiebaud <=