[Mesa-dev] [PATCH 11/22] egl: automake: add symbol test

Ian Romanick idr at freedesktop.org
Sun Feb 9 17:26:56 PST 2014


On 02/08/2014 08:03 AM, Emil Velikov wrote:
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>  src/egl/main/Makefile.am       |   2 +
>  src/egl/main/egl-symbols-check | 109 +++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 111 insertions(+)
>  create mode 100755 src/egl/main/egl-symbols-check
> 
> diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am
> index 46e890a..7d9748f 100644
> --- a/src/egl/main/Makefile.am
> +++ b/src/egl/main/Makefile.am
> @@ -124,3 +124,5 @@ egl_HEADERS = \
>  	$(top_srcdir)/include/EGL/egl.h \
>  	$(top_srcdir)/include/EGL/eglmesaext.h \
>  	$(top_srcdir)/include/EGL/eglplatform.h
> +
> +TESTS = egl-symbols-check
> \ No newline at end of file

Perhaps add a newline? :)

> diff --git a/src/egl/main/egl-symbols-check b/src/egl/main/egl-symbols-check
> new file mode 100755
> index 0000000..fc69369
> --- /dev/null
> +++ b/src/egl/main/egl-symbols-check
> @@ -0,0 +1,109 @@
> +#!/bin/bash
> +
> +# XXX: the private _egl* symbols are exported for egl backends like egl_gallium
> +
> +FUNCS=$(nm -D --defined-only ${1-.libs/libEGL.so} | grep -o "T .*" | cut -c 3- | while read func; do
> +( grep -q "^$func$" || echo $func )  <<EOF
> +eglBindAPI
> +eglBindTexImage
> +eglBindWaylandDisplayWL
> +eglChooseConfig
> +eglChooseModeMESA
> +eglClientWaitSyncKHR

Are we supposed to export extension functions?  I thought that's what
eglGetProcAddress was for... I'd swear there was an "implementer's
guide" or some such from Khronos that gave some guidance here.

> +eglCopyBuffers
> +eglCopyContextMESA
> +eglCreateContext
> +eglCreateDRMImageMESA
> +eglCreateImageKHR
> +eglCreatePbufferFromClientBuffer
> +eglCreatePbufferSurface
> +eglCreatePixmapSurface
> +eglCreateScreenSurfaceMESA
> +eglCreateSyncKHR
> +eglCreateWaylandBufferFromImageWL
> +eglCreateWindowSurface
> +eglDestroyContext
> +eglDestroyImageKHR
> +eglDestroySurface
> +eglDestroySyncKHR
> +eglExportDRMImageMESA
> +eglGetConfigAttrib
> +eglGetConfigs
> +eglGetCurrentContext
> +eglGetCurrentDisplay
> +eglGetCurrentSurface
> +eglGetDisplay
> +eglGetDRMDisplayMESA
> +eglGetError
> +eglGetModeAttribMESA
> +eglGetModesMESA
> +eglGetProcAddress
> +eglGetScreensMESA
> +eglGetSyncAttribKHR
> +eglInitialize
> +eglMakeCurrent
> +eglPostSubBufferNV
> +eglQueryAPI
> +eglQueryContext
> +eglQueryModeStringMESA
> +eglQueryScreenMESA
> +eglQueryScreenModeMESA
> +eglQueryScreenSurfaceMESA
> +eglQueryString
> +eglQuerySurface
> +eglQueryWaylandBufferWL
> +eglReleaseTexImage
> +eglReleaseThread
> +eglScreenPositionMESA
> +eglShowScreenSurfaceMESA
> +eglSignalSyncKHR
> +eglSurfaceAttrib
> +eglSwapBuffers
> +eglSwapBuffersRegionNOK
> +eglSwapBuffersWithDamageEXT
> +eglSwapInterval
> +eglTerminate
> +eglUnbindWaylandDisplayWL
> +eglWaitClient
> +eglWaitGL
> +eglWaitNative
> +_eglBindContext
> +_eglBindTexImage
> +_eglCheckResource
> +_eglCleanupDisplay
> +_eglCompareConfigs
> +_eglDestroyArray
> +_eglError
> +_eglFilterArray
> +_eglFilterConfigArray
> +_eglGetAPIContext
> +_eglGetCurrentContext
> +_eglGetCurrentThread
> +_eglGetResource
> +_eglInitConfig
> +_eglInitContext
> +_eglInitDriverFallbacks
> +_eglInitImage
> +_eglInitScreen
> +_eglInitSurface
> +_eglInitSync
> +_eglLinkConfig
> +_eglLinkScreen
> +_eglLog
> +_eglMatchConfig
> +_eglParseConfigAttribList
> +_eglParseImageAttribList
> +_eglPutResource
> +_eglReleaseDisplayResources
> +_eglSearchPathForEach
> +_eglSetLogLevel
> +_eglSetLogProc
> +_eglValidateConfig
> +_fini
> +_init
> +EOF
> +done)
> +
> +test ! -n "$FUNCS" || echo $FUNCS
> +test ! -n "$FUNCS"
> +
> 



More information about the mesa-dev mailing list