I completely agree.

Building everything shared might speed up the build process a little bit and save some space, but for the cost of having to handle allot of rather small shared libraries where which each clashing the symbol space of any application using these drivers with a bunch of unnecessary symbols.

Building everything as one big blob sounds like the better idea.

Christian.

Am 12.09.2013 02:03, schrieb Marek Olšák:
BTW, the build system fixes would be good to have anyway, but I'm not
an expert on the Mesa build system.

Marek

On Thu, Sep 12, 2013 at 1:51 AM, Marek Olšák <mar...@gmail.com> wrote:
I don't like this. I prefer to have one big blob for whole Mesa as
discussed on Eric's blog:

http://anholt.livejournal.com/43652.html

I have no problem with longer compile times for release builds if I
get a little bit higher CPU performance with link-time optimizations.
And for debug builds, we can stick to standard "-O2 -g" or "-O0 -g".

Marek

On Thu, Sep 12, 2013 at 12:32 AM, Johannes Obermayr
<johannesoberm...@gmx.de> wrote:
[PATCH 01/21] ilo: Fix out-of-tree build.

[PATCH 02/21] Suppress clang's warnings about unused CFLAGS and CXXFLAGS.

[PATCH 03/21] configure.ac: Save user {C,CXX}FLAGS and append them at end.

[PATCH 04/21] radeon: Build and use libradeon the right way.
               Link libradeon only once in egl-static

[PATCH 05/21] gallium/targets: Make use of prebuilt libdricommon.la.
               Avoid duplicate build.

[PATCH 06/21] Drop support for --enable-static / --disable-shared.

[PATCH 07/21] gallium/auxiliary: Build libgallium shared.
               Hundreds of symbols to be PUBLIC. But saves on a full build
               19 x ~ 1.8 MB.

[PATCH 08/21] Drop last parts of compatibility for the old Mesa build
               I want it to avoid these stupid symlinks while distro build but
               with more work on follow-up patches it should be possible to keep

[PATCH 09/21] mapi: Build libglapi always shared.
               I assume it could be improved later

[PATCH 10/21] mesa: Build libmesa shared.
               Hundreds of PUBLICs but we can get rid of libdricore and get an
               libmesadri which depends as well as libmesagallium on a 
libmesacore.
               This really speeds up build since duplicate build in libdricore
               with all PUBLIC can be avoided.
               Also dlopen classic drivers should be faster.

[PATCH 11/21] Install all internal shared libs to $(libdir)/mesa-$VERSION.

[PATCH 12/21] Also do it for egl_gallium.so, pipe_*.so and gbm_gallium_drm.

[PATCH 13/21] Makefile.am: s:-no-undefined:-Wl,--no-undefined to make it work.
               libtool will set it back to allow_undefined=yes in 
func_mode_link ()
               otherwise.

[PATCH 14/21] gallium/drivers: Build libs -shared.

[PATCH 15/21] vdpau,xvmc: Add install-data-hooks to remove unneccessary 
symlinks.
               libvdpau_*.so.1 and libXvMC*.so libs are dlopened by wrappers.
               Nothing should link them directly.

[PATCH 16/21] glx: Get rid of libglx.la.

[PATCH 17/21] gbm: Get rid of libgbm_dri.la.

[PATCH 18/21] i915: Conditionally build an i915g driver instead of

[PATCH 19/21] freedreno: Make print_sequence a macro to fix clang.

[PATCH 20/21] freedreno: One Makefile.am with a Makefile.sources is

[PATCH 21/21] clover: Force gcc and g++ to fix clang builds.


openSUSE x86_64 binary RPMs will look like this:
$ du -a etc/ usr/
4       etc/drirc
8       etc/
88      usr/lib64/libXvMCr600.so
140     usr/lib64/libEGL.so.1.0.0
0       usr/lib64/libGL.so.1.2
380     usr/lib64/libGL.so.1.2.0
0       usr/lib64/libGLESv1_CM.so.1
88      usr/lib64/libXvMCr300.so
36      usr/lib64/libXvMCsoftpipe.so
212     usr/lib64/mesa-9.2.0/libllvmpipe.so
608     usr/lib64/mesa-9.2.0/libmesadri.so
324     usr/lib64/mesa-9.2.0/libmesagallium.so
1140    usr/lib64/mesa-9.2.0/libnouveau.so
60      usr/lib64/mesa-9.2.0/libtrace.so
60      usr/lib64/mesa-9.2.0/pipe_r600.so
308     usr/lib64/mesa-9.2.0/libr300.so
20      usr/lib64/mesa-9.2.0/libgalahad.so
16      usr/lib64/mesa-9.2.0/libnoop.so
32      usr/lib64/mesa-9.2.0/librbug.so
60      usr/lib64/mesa-9.2.0/pipe_r300.so
60      usr/lib64/mesa-9.2.0/pipe_radeonsi.so
164     usr/lib64/mesa-9.2.0/egl_gallium.so
152     usr/lib64/mesa-9.2.0/libglapi.so
136     usr/lib64/mesa-9.2.0/libradeonsi.so
16      usr/lib64/mesa-9.2.0/libr300-helper.so
16      usr/lib64/mesa-9.2.0/libidentity.so
8       usr/lib64/mesa-9.2.0/pipe_nouveau.so
184     usr/lib64/mesa-9.2.0/libsvga.so
1888    usr/lib64/mesa-9.2.0/libgallium.so
20      usr/lib64/mesa-9.2.0/gbm_gallium_drm.so
1016    usr/lib64/mesa-9.2.0/libr600.so
20      usr/lib64/mesa-9.2.0/pipe_vmwgfx.so
3228    usr/lib64/mesa-9.2.0/libmesacore.so
152     usr/lib64/mesa-9.2.0/libsoftpipe.so
8       usr/lib64/mesa-9.2.0/pipe_swrast.so
9912    usr/lib64/mesa-9.2.0
0       usr/lib64/libOSMesa.so.8
0       usr/lib64/libxatracker.so.1
64      usr/lib64/dri/swrast_dri.so
184     usr/lib64/dri/nouveau_vieux_dri.so
116     usr/lib64/dri/r600_dri.so
288     usr/lib64/dri/radeon_dri.so
876     usr/lib64/dri/i965_dri.so
320     usr/lib64/dri/r200_dri.so
116     usr/lib64/dri/r300_dri.so
120     usr/lib64/dri/radeonsi_dri.so
72      usr/lib64/dri/nouveau_dri.so
4       usr/lib64/dri/updates/README.updates
8       usr/lib64/dri/updates
324     usr/lib64/dri/i915_dri.so
84      usr/lib64/dri/vmwgfx_dri.so
2576    usr/lib64/dri
28      usr/lib64/libgbm.so.1.0.0
0       usr/lib64/libGL.so.1
8       usr/lib64/libwayland-egl.so.1.0.0
116     usr/lib64/libxatracker.so.1.0.0
32      usr/lib64/libOSMesa.so.8.0.0
28      usr/lib64/libGLESv1_CM.so.1.1.0
0       usr/lib64/libGLESv2.so.2
112     usr/lib64/vdpau/libvdpau_radeonsi.so.1
112     usr/lib64/vdpau/libvdpau_r300.so.1
68      usr/lib64/vdpau/libvdpau_softpipe.so.1
68      usr/lib64/vdpau/libvdpau_nouveau.so.1
112     usr/lib64/vdpau/libvdpau_r600.so.1
476     usr/lib64/vdpau
32      usr/lib64/libGLESv2.so.2.0.0
0       usr/lib64/libEGL.so.1
36      usr/lib64/libXvMCnouveau.so
0       usr/lib64/libwayland-egl.so.1
0       usr/lib64/libgbm.so.1
13980   usr/lib64
28      usr/share/doc/packages/Mesa/COPYING
4       usr/share/doc/packages/Mesa/README.THREADS
8       usr/share/doc/packages/Mesa/README.QUAKE
4       usr/share/doc/packages/Mesa/README.MITS
4       usr/share/doc/packages/Mesa/README.UVD
12      usr/share/doc/packages/Mesa/README.CYGWIN
64      usr/share/doc/packages/Mesa
68      usr/share/doc/packages
72      usr/share/doc
76      usr/share
14060   usr/
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to