[Mesa-dev] [PATCH 1/2] build libgallium shared by default.
maarten.lankhorst at canonical.com
Tue Mar 19 00:21:33 PDT 2013
Op 18-03-13 16:28, Andreas Boll schreef:
> 2013/3/18 Maarten Lankhorst <maarten.lankhorst at canonical.com>:
>> This is one of the 2 patches used in ubuntu for decreasing size of mesa build.
>> The other one is more hacky, and links libmesagallium into libgallium,
>> and then links libgallium against libdricore too for minimal duplication.
>> This might mess up with static llvm, iirc static llvm is built wrong and
>> linking libgallium against it will cause it to export all llvm symbols too.
>> I believe that this is a bug in llvm though, not in mesa. The static libraries
>> should not export all llvm symbols.
>> I should probably change the default to not building shared gallium for the
>> same reason. :-)
>> Meant mostly for discussion purposes, although if there is no objection I'll
>> change the default to disabling shared gallium, and just let every distro enable
>> shared llvm and libgallium for themselves.
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -733,6 +733,19 @@
>> AM_CONDITIONAL(HAVE_SHARED_GLAPI, test "x$enable_shared_glapi" = xyes)
>> + [AS_HELP_STRING([--enable-shared-gallium],
>> + [Enable shared gallium core @<:@default=yes@:>@])],
>> + [enable_shared_gallium="$enableval"],
>> + [enable_shared_gallium=yes])
> The following code could be simplified...
>> +if test "x$enable_shared_gallium" = xyes; then
>> + SHARED_GALLIUM="1"
>> +AM_CONDITIONAL(HAVE_SHARED_GALLIUM, test $SHARED_GALLIUM = 1)
> ... to:
> AM_CONDITIONAL(HAVE_SHARED_GALLIUM, test "x$enable_shared_gallium" = xyes)
Woops you're right, this was a leftover from when the patch was a lot more invasive,
and had to touch configs/autoconf.in too.
The AM_CONDITIONAL was added later during the transition to 9.0 :-)
Any thoughts on making shared gallium default or not? I'm thinking not because
of the llvm symbol bug I mentioned above, unless we change the default
of llvm shared libs to enabled too.
More information about the mesa-dev