aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mapi/glapi
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mapi/glapi')
-rw-r--r--mesalib/src/mapi/glapi/Makefile13
-rw-r--r--mesalib/src/mapi/glapi/gen/glX_proto_send.py6
2 files changed, 19 insertions, 0 deletions
diff --git a/mesalib/src/mapi/glapi/Makefile b/mesalib/src/mapi/glapi/Makefile
index 37b178eee..bb4ed6585 100644
--- a/mesalib/src/mapi/glapi/Makefile
+++ b/mesalib/src/mapi/glapi/Makefile
@@ -15,6 +15,7 @@ glapi_CPPFLAGS := \
-I$(TOP)/src/mapi \
-I$(TOP)/src/mesa
+ifeq ($(SHARED_GLAPI),1)
glapi_CPPFLAGS += \
-DMAPI_MODE_BRIDGE \
-DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
@@ -23,6 +24,14 @@ glapi_SOURCES := $(addprefix $(MAPI)/, $(MAPI_BRIDGE_SOURCES))
glapi_GLAPI_OBJECTS :=
glapi_ASM_OBJECTS :=
glapi_MAPI_OBJECTS := $(MAPI_BRIDGE_SOURCES:.c=.o)
+else
+glapi_CPPFLAGS += -DMAPI_MODE_UTIL
+glapi_SOURCES := $(GLAPI_SOURCES) $(addprefix $(MAPI)/, $(MAPI_UTIL_SOURCES))
+
+glapi_GLAPI_OBJECTS := $(GLAPI_SOURCES:.c=.o)
+glapi_ASM_OBJECTS := $(GLAPI_ASM_SOURCES:.S=.o)
+glapi_MAPI_OBJECTS := $(MAPI_UTIL_SOURCES:.c=.o)
+endif # SHARED_GLAPI
glapi_OBJECTS := \
$(glapi_GLAPI_OBJECTS) \
@@ -50,10 +59,14 @@ clean:
-rm -f lib$(TARGET).a
-rm -f depend depend.bak
+ifeq ($(SHARED_GLAPI),1)
# workaround a bug in makedepend
makedepend_CPPFLAGS := \
$(filter-out -DMAPI_ABI_HEADER=%, $(glapi_CPPFLAGS))
$(glapi_OBJECTS): glapi_mapi_tmp.h
+else
+makedepend_CPPFLAGS := $(glapi_CPPFLAGS)
+endif
depend: $(glapi_SOURCES)
@ echo "running $(MKDEP)"
diff --git a/mesalib/src/mapi/glapi/gen/glX_proto_send.py b/mesalib/src/mapi/glapi/gen/glX_proto_send.py
index 29bf0808b..bec022218 100644
--- a/mesalib/src/mapi/glapi/gen/glX_proto_send.py
+++ b/mesalib/src/mapi/glapi/gen/glX_proto_send.py
@@ -361,6 +361,8 @@ const GLuint __glXDefaultPixelStore[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 1 };
procs[n] = func.static_glx_name(n)
print """
+#ifdef GLX_SHARED_GLAPI
+
static const struct proc_pair
{
const char *name;
@@ -394,6 +396,8 @@ __indirect_get_proc_address(const char *name)
return (pair) ? pair->proc : NULL;
}
+
+#endif /* GLX_SHARED_GLAPI */
"""
return
@@ -1047,7 +1051,9 @@ extern _X_HIDDEN NOINLINE FASTCALL GLubyte * __glXSetupVendorRequest(
break
print ''
+ print '#ifdef GLX_SHARED_GLAPI'
print 'extern _X_HIDDEN void (*__indirect_get_proc_address(const char *name))(void);'
+ print '#endif'
def show_usage():