When trying to build valgrind outside the source tree, the build fails here: '../../../valgrind/exp-omega/'`o_main.c ../../../valgrind/exp-omega/o_main.c:61:40: error: coregrind/pub_core_options.h: No such file or directory ../../../valgrind/exp-omega/o_main.c:62:41: error: coregrind/pub_core_debugger.h: No such file or directory ../../../valgrind/exp-omega/o_main.c: In function ‘o_doLeakReport’: because $(srcdir) isn't in the include list: gcc4.3 -DHAVE_CONFIG_H -I. -I../../../valgrind/exp-omega -I.. -I../../../valgrind/include -I../../../valgrind/VEX/pub -DVGA_amd64=1 [...] If I invoke gcc manually with the missing -I directive, everything is fine.
In my version, this is what appears in the Makefile: DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) I'm not sure what you mean by 'outside of the source tree' and what that has to do with compiling the source. Perhaps you can add the -I to the DEFAULT_INCLUDES in the Makefile and have it do what you want?
'Building outside the source tree' means running configure from a different directory from the source code, so that compiled files and the actual source code are kept separate. It's quite common and very useful. e.g. mkdir build; cd build; ../../valgrind/configure; make I'm talking about the current SVN version. I can make it do what I want by invoking gcc manually with the missing include on that single file, as I said, and since I don't build valgrind very often I'll probably do that. I report bugs to help improve things, though, not to get it working for me.
I don't that this is feature request is particular to omega. It seems that you could add a rule to the valgrind toplevel makefile that accomplishes this.
*** This bug has been marked as a duplicate of bug 155913 ***