[Mesa-dev] Mesa build instructions

Eric Anholt eric at anholt.net
Sat Apr 12 11:04:10 PDT 2014


Pekka Paalanen <ppaalanen at gmail.com> writes:

> On Fri, 11 Apr 2014 11:50:50 -0700
> Eric Anholt <eric at anholt.net> wrote:
>
>> For anyone that's curious about how I work:
>> 
>> My scripts setup looks a lot like Matt's.  I don't do OOT builds, and
>> instead I just have 6 main trees:
>> 
>> ~/src/mesa (normal debug build)
>> ~/src/mesa-release (non-debug build)
>> ~/src/mesa-clean (usually HEAD~1 of ~/src/mesa)
>> ~/src/32/mesa
>> ~/src/32/mesa-release
>> ~/src/32/mesa-clean
>> 
>> The debug build also is with -O2 so that I can actually get
>> mostly-representative performance results while developing.  REALLY
>> IMPORTANT: Don't forget -fno-omit-frame-pointer on 64-bit, otherwise you
>> won't get backtraces from sysprof and perf (similarly, in your kernel,
>> CONFIG_FRAME_POINTER=y).
>> 
>> I think the most important feature of my setup is the clean builds.  By
>> having copies of unmodified mesa along with patched mesa, I can use
>> http://anholt.net/compare-perf/ to easily produce stats to test whether
>> my change is actually having the desired effect.
>
> Hi Eric,
>
> just curious, how have you set up git here?
>
> Do you have a .git/ completely separate in each directory, and if
> so, how do you keep them synced?
>
> Or do you use some GIT_DIR env magic to have a single git repo with
> multiple checkouts?

~/src/mesa is a full checkout, while the other 5 are "git clone
<upstream> --references ~/src/mesa".  Be careful with --references, of
course, because it means that a git gc in ~/src/mesa after deleting a
branch, where that branch also existed in the other repo, may result in
warnings like:

error: refs/remotes/anholt/i965-texture-writemask does not point to a valid object!
error: refs/remotes/anholt/sched does not point to a valid object!
error: refs/remotes/origin/broadwell does not point to a valid object!

(and those warnings also mean you can't gc in those trees)

It's not a good solution, but OOT builds drive me up the wall and I've
never found anything better.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140412/40fed04d/attachment-0001.sig>


More information about the mesa-dev mailing list