Hello list, Continuing with another not so interesting area of mesa - cleaning up the exported symbols and adding make check tests.
Note: Most of these patches are rather dull and may cause boredom or sleepiness :-) Before proceeding make sure that with-llvm-shared-libs is set, otherwise the modules will export every llvm symbol imaginable and make check will fail. The above option will default to enabled/with with mesa 10.1 and later once patch is commited. Brief/highlights: - Cleans up symbols that has been incorrectly marked as PUBLIC. - Adds VISIBILITY_CFLAGS on a handful of places within automake. - Adds tests so that make check shouts loudly if we're exporting too many symbols. - Mainly T symbols are checked, due to the reasons listed in the next point. - Drivers using stl (r600 and nouveau I'm looking at you), provide a handfull of exported weak symbols due to gcc design feature [1]. Those have been left as is. - Finally VISIBILITY_CFLAGS has been compacted into DEFINES. The cases that break (if any) should be fixed approapriately. - There is a few more places that could use similar treatment. To be continued ... As usual a branch cleanup-exported-symbols-v2 can be found over at https://github.com/evelikov/Mesa/ Runtime tested on my rusty old nv96 (nouveau), using the dri and vdpau state-trackers. make check tested for every possible test, with swrast, nouveau and r600. Feel free to take a look and more importantly _please_ give them a test. Thanks Emil [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36022 Emil Velikov (22): auxiliary/pipe-loader: automake: avoid exporting all symbols targets/pipe-loader: automake: drop obsolete version-script st/gbm: automake: do not export gbm_gallium_drm_device_create gbm: automake: add VISIBILITY_CFLAGS gbm: do not export _gbm_mesa_get_device targets/gbm: automake: do not export internal symbols gbm: automake: add symbol tests targets/egl-static: automake: don't export local symbols st/egl: automake: avoid exporting all symbols wayland-egl: automake: add symbol test egl: automake: add symbol test targets/egl-static: automake: drop obsolete version-script st/vdpau: do not export VdpPresentationQueueTargetCreateX11 st/vdpau: automake: export only PUBLIC symbols targets/vdpau: automake: add exported symbol tests targets/dri: automake: add test for exported symbols targets/xvmc: add automake test to check for exported symbols osmesa: drop obsolete AM_CXXFLAGS omx: use VISIBILITY_CFLAGS to control exported symbols st/clover: use VISIBILITY_CXXFLAGS where approapriate automake: fold VISIBILITY_CFLAGS within DEFINES targets/omx: automake: add symbol test 59 files changed, 369 insertions(+), 70 deletions(-) _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
