public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* How to enforce ${B} = ${S} builds globally?
@ 2014-12-22 11:24 Enrico Scholz
  2014-12-23  8:19 ` Richard Purdie
  0 siblings, 1 reply; 3+ messages in thread
From: Enrico Scholz @ 2014-12-22 11:24 UTC (permalink / raw)
  To: openembedded-core

Hi,

what is the recommended way to enable in-source builds globally?
Building in a separate directory might be interesting for qa, but it
lowers end-user experience significantly because __FILE__ expands now
to absolute names.

E.g.

| #include <assert.h>
| int main() { assert(0); }

gives

| test: /srv/oe/cache/bld/f95aceac-8952-bd61-430a-dfcdf48db33c/work/cortexa9t2hf-vfp-neon-linux-gnueabi/test/1.0-r0/test-1.0/test.c:2: main: Assertion `0' failed.

instead of

| test: test.c:2: main: Assertion `0' failed.



Enrico


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to enforce ${B} = ${S} builds globally?
  2014-12-22 11:24 How to enforce ${B} = ${S} builds globally? Enrico Scholz
@ 2014-12-23  8:19 ` Richard Purdie
  2014-12-23 10:58   ` Enrico Scholz
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Purdie @ 2014-12-23  8:19 UTC (permalink / raw)
  To: Enrico Scholz; +Cc: openembedded-core

On Mon, 2014-12-22 at 12:24 +0100, Enrico Scholz wrote:
> what is the recommended way to enable in-source builds globally?

You could probably do something like:

B_forcevariable = "${S}"

although its untested and I would warn that we rely on separate build
directories to avoid breakage from autotools not noticing new
configuration and rebuilding things correctly.

> Building in a separate directory might be interesting for qa, but it
> lowers end-user experience significantly because __FILE__ expands now
> to absolute names.
> 
> E.g.
> 
> | #include <assert.h>
> | int main() { assert(0); }
> 
> gives
> 
> | test: /srv/oe/cache/bld/f95aceac-8952-bd61-430a-dfcdf48db33c/work/cortexa9t2hf-vfp-neon-linux-gnueabi/test/1.0-r0/test-1.0/test.c:2: main: Assertion `0' failed.
> 
> instead of
> 
> | test: test.c:2: main: Assertion `0' failed.


Lets say you just shared this error as a cut and paste to me asking for
help. In the latter case, I have no idea what happened. In the former, I
can tell you were building for an arm system, your recipe PN was test
and so on.

So whilst the paths can be annoying, they can also be helpful and there
are in fact two sides to this.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: How to enforce ${B} = ${S} builds globally?
  2014-12-23  8:19 ` Richard Purdie
@ 2014-12-23 10:58   ` Enrico Scholz
  0 siblings, 0 replies; 3+ messages in thread
From: Enrico Scholz @ 2014-12-23 10:58 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

Richard Purdie <richard.purdie@linuxfoundation.org> writes:

>> | test:
>> | /srv/oe/cache/bld/f95aceac-8952-bd61-430a-dfcdf48db33c/work/cortexa9t2hf-vfp-neon-linux-gnueabi/test/1.0-r0/test-1.0/test.c:2:
>> | main: Assertion `0' failed.
>> 
>> instead of
>> 
>> | test: test.c:2: main: Assertion `0' failed.
>
>
> Lets say you just shared this error as a cut and paste to me asking for
> help. In the latter case, I have no idea what happened. In the former, I
> can tell you were building for an arm system, your recipe PN was test
> and so on.

Version numbers can be extracted more detailed from package management
data (e.g. in case of kernel, you do not see the git revision in the
BUG() but it is shown in 'opkg info kernel\*').

fwiw, I wrote the posting as an end-user who had to deal with 'GST_DEBUG=9
gst-launch' output where 70% of the line is filled with a redundant and
uninteresting path.


Enrico


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-12-23 10:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-22 11:24 How to enforce ${B} = ${S} builds globally? Enrico Scholz
2014-12-23  8:19 ` Richard Purdie
2014-12-23 10:58   ` Enrico Scholz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox