[Mesa-dev] [PATCH 2/2] automake: convert es2api

Ian Romanick idr at freedesktop.org
Thu Aug 23 11:26:30 PDT 2012


On 08/21/2012 03:47 PM, Matt Turner wrote:

This patch appears to have broken the world with ES2:

bin/GTF: symbol lookup error: 
/opt/xorg-master-x86_64/lib64/libGLESv2.so.2: undefined symbol: 
_glapi_tls_Dispatch

> ---
>   configure.ac                 |    2 +
>   src/mapi/es2api/.gitignore   |    4 +--
>   src/mapi/es2api/Makefile     |    3 --
>   src/mapi/es2api/Makefile.am  |   60 ++++++++++++++++++++++++++++++++++++++++++
>   src/mapi/es2api/glesv2.pc.in |   12 ++++----
>   5 files changed, 69 insertions(+), 12 deletions(-)
>   delete mode 100644 src/mapi/es2api/Makefile
>   create mode 100644 src/mapi/es2api/Makefile.am
>
> diff --git a/configure.ac b/configure.ac
> index f7dd47d..25760fd 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2095,6 +2095,8 @@ AC_CONFIG_FILES([configs/current
>   		src/glx/tests/Makefile
>   		src/mapi/es1api/Makefile
>   		src/mapi/es1api/glesv1_cm.pc
> +		src/mapi/es2api/Makefile
> +		src/mapi/es2api/glesv2.pc
>   		src/mapi/glapi/Makefile
>   		src/mapi/glapi/gen/Makefile
>   		src/mapi/shared-glapi/Makefile
> diff --git a/src/mapi/es2api/.gitignore b/src/mapi/es2api/.gitignore
> index b21f1d1..39b0e7c 100644
> --- a/src/mapi/es2api/.gitignore
> +++ b/src/mapi/es2api/.gitignore
> @@ -1,4 +1,2 @@
>   glapi_mapi_tmp.h
> -glapi-stamp
> -glapi
> -main
> +Makefile
> diff --git a/src/mapi/es2api/Makefile b/src/mapi/es2api/Makefile
> deleted file mode 100644
> index 21816a6..0000000
> --- a/src/mapi/es2api/Makefile
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# src/mapi/es2api/Makefile
> -ES := es2
> -include ../es1api/Makefile
> diff --git a/src/mapi/es2api/Makefile.am b/src/mapi/es2api/Makefile.am
> new file mode 100644
> index 0000000..8b047e7
> --- /dev/null
> +++ b/src/mapi/es2api/Makefile.am
> @@ -0,0 +1,60 @@
> +# Copyright © 2012 Intel Corporation
> +#
> +# Permission is hereby granted, free of charge, to any person obtaining a
> +# copy of this software and associated documentation files (the "Software"),
> +# to deal in the Software without restriction, including without limitation
> +# the rights to use, copy, modify, merge, publish, distribute, sublicense,
> +# and/or sell copies of the Software, and to permit persons to whom the
> +# Software is furnished to do so, subject to the following conditions:
> +#
> +# The above copyright notice and this permission notice (including the next
> +# paragraph) shall be included in all copies or substantial portions of the
> +# Software.
> +#
> +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
> +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> +# IN THE SOFTWARE.
> +
> +AM_CPPFLAGS = \
> +	$(DEFINES) \
> +	-I$(top_srcdir)/include \
> +	-I$(top_srcdir)/src/mapi \
> +	-DMAPI_MODE_BRIDGE \
> +	-DMAPI_ABI_HEADER=\"glapi_mapi_tmp.h\"
> +
> +AM_CFLAGS = $(VISIBILITY_CFLAGS)
> +
> +pkgconfigdir = $(libdir)/pkgconfig
> +pkgconfig_DATA = glesv2.pc
> +
> +GLES_includedir = $(includedir)/GLES
> +GLES_include_HEADERS = \
> +	$(top_srcdir)/include/GLES/egl.h \
> +	$(top_srcdir)/include/GLES/gl.h \
> +	$(top_srcdir)/include/GLES/glext.h \
> +	$(top_srcdir)/include/GLES/glplatform.h
> +
> +lib_LTLIBRARIES = libGLESv2.la
> +
> +libGLESv2_la_SOURCES = ../mapi/entry.c glapi_mapi_tmp.h
> +libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
> +libGLESv2_la_LDFLAGS = -version-info 2 -no-undefined
> +
> +include ../glapi/gen/glapi_gen.mk
> +glapi_mapi_tmp.h: ../glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
> +	$(call glapi_gen_mapi,$<,es2api)
> +
> +BUILT_SOURCES = glapi_mapi_tmp.h
> +CLEANFILES = $(BUILT_SOURCES)
> +
> +# Provide compatibility with scripts for the old Mesa build system for
> +# a while by putting a link to the driver into /lib of the build tree.
> +all-local: libGLESv2.la
> +	$(MKDIR_P) $(top_builddir)/$(LIB_DIR);
> +	ln -f .libs/libGLESv2.so $(top_builddir)/$(LIB_DIR)/libGLESv2.so
> +	ln -f .libs/libGLESv2.so.2 $(top_builddir)/$(LIB_DIR)/libGLESv2.so.2
> +	ln -f .libs/libGLESv2.so.2.0.0 $(top_builddir)/$(LIB_DIR)/libGLESv2.so.2.0.0
> diff --git a/src/mapi/es2api/glesv2.pc.in b/src/mapi/es2api/glesv2.pc.in
> index 3b747cb..e5bf12f 100644
> --- a/src/mapi/es2api/glesv2.pc.in
> +++ b/src/mapi/es2api/glesv2.pc.in
> @@ -1,12 +1,12 @@
> -prefix=@INSTALL_DIR@
> +prefix=@prefix@
>   exec_prefix=${prefix}
> -libdir=@INSTALL_LIB_DIR@
> -includedir=@INSTALL_INC_DIR@
> +libdir=@libdir@
> +includedir=@includedir@
>
>   Name: glesv2
>   Description: Mesa OpenGL ES 2.0 library
> -Requires.private: @GLESv2_PC_REQ_PRIV@
> +Requires.private:
>   Version: @VERSION@
> -Libs: -L${libdir} -l at GLESv2_LIB@
> +Libs: -L${libdir} -lGLESv2
>   Libs.private: @GLESv2_PC_LIB_PRIV@
> -Cflags: -I${includedir} @GLESv2_PC_CFLAGS@
> +Cflags: -I${includedir}
>




More information about the mesa-dev mailing list