endif
gl_pkgconfig_c_flags = []
+with_glx_indirect_rendering = false
if with_platform_x11
if with_glx == 'xlib'
pre_args += '-DUSE_XSHM'
else
+ with_glx_indirect_rendering = true
pre_args += '-DGLX_INDIRECT_RENDERING'
if with_glx_direct
pre_args += '-DGLX_DIRECT_RENDERING'
endif
endif
+with_glapi_export_proto_entry_points = false
+if with_shared_glapi and not with_glx_indirect_rendering
+ # Imply !defined(GLX_INDIRECT_RENDERING)
+ with_glapi_export_proto_entry_points = true
+endif
+pre_args += '-DGLAPI_EXPORT_PROTO_ENTRY_POINTS=@0@'.format(with_glapi_export_proto_entry_points ? '1' : '0')
+
with_android_stub = get_option('android-stub')
if with_android_stub and not with_platform_android
error('`-D android-stub=true` makes no sense without `-D platforms=android`')
text = '\tGL_STUB_ALIAS(gl%s, gl%s)' % (n, f.name)
if f.has_different_protocol(n):
- print('#ifndef GLX_INDIRECT_RENDERING')
+ print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print(text)
print('#endif')
else:
for ent in normal_entries:
print(' TABLE_ENTRY(%s),' % (ent))
print('#endif /* _GLAPI_SKIP_NORMAL_ENTRY_POINTS */')
- print('#ifndef _GLAPI_SKIP_PROTO_ENTRY_POINTS')
+ print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
for ent in proto_entries:
print(' TABLE_ENTRY(%s),' % (ent))
- print('#endif /* _GLAPI_SKIP_PROTO_ENTRY_POINTS */')
+ print('#endif /* GLAPI_EXPORT_PROTO_ENTRY_POINTS */')
print('};')
print('#endif /*UNUSED_TABLE_NAME*/')
print('#endif /* _GLAPI_SKIP_NORMAL_ENTRY_POINTS */')
print('')
print('/* these entry points might require different protocols */')
- print('#ifndef _GLAPI_SKIP_PROTO_ENTRY_POINTS')
+ print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print('')
for func, ents in proto_entry_points:
for ent in ents:
self.printFunction(func, ent)
print('')
- print('#endif /* _GLAPI_SKIP_PROTO_ENTRY_POINTS */')
+ print('#endif /* GLAPI_EXPORT_PROTO_ENTRY_POINTS */')
print('')
self.printInitDispatch(api)
text = '\t.globl GL_PREFIX(%s) ; .set GL_PREFIX(%s), GL_PREFIX(%s)' % (n, n, dispatch)
if f.has_different_protocol(n):
- print('#ifndef GLX_INDIRECT_RENDERING')
+ print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print(text)
print('#endif')
else:
text = '\tGL_STUB_ALIAS(%s, %d, %s, %s, %s)' % (n, f.offset, alt2, name, alt)
if f.has_different_protocol(n):
- print('#ifndef GLX_INDIRECT_RENDERING')
+ print('#if GLAPI_EXPORT_PROTO_ENTRY_POINTS')
print(text)
print('#endif')
else:
#endif /* logging */
-#ifdef GLX_INDIRECT_RENDERING
-/* those link to libglapi.a should provide the entry points */
-#define _GLAPI_SKIP_PROTO_ENTRY_POINTS
-#endif
-
/* Enable frame pointer elimination on Windows, otherwise forgetting to add
* GLAPIENTRY to _mesa_* entrypoints will not cause crashes on debug builds, as
* the initial ESP value is saved in the EBP in the function prologue, then