[Mesa-dev] The long way to a faster build with shared libs and some fixes ...

Johannes Obermayr johannesobermayr at gmx.de
Wed Sep 11 15:32:38 PDT 2013


[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/


More information about the mesa-dev mailing list