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@GLESv2_LIB@
+Libs: -L${libdir} -lGLESv2
  Libs.private: @GLESv2_PC_LIB_PRIV@
-Cflags: -I${includedir} @GLESv2_PC_CFLAGS@
+Cflags: -I${includedir}



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

Reply via email to