From: Alexander von Gluck IV Date: Wed, 13 May 2015 22:13:37 +0000 (-0500) Subject: egl: Add needed extern "C" for C++ access X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=8362068c1b28eb2d3e334abc980c4711957d61fd egl: Add needed extern "C" for C++ access * Haiku's egl driver is C++ due to the interface natively being C++ Reviewed-⁠by: Brian Paul --- diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h index 066a416b3e3..e07970f8b1c 100644 --- a/src/egl/main/eglapi.h +++ b/src/egl/main/eglapi.h @@ -31,6 +31,11 @@ #ifndef EGLAPI_INCLUDED #define EGLAPI_INCLUDED + +#ifdef __cplusplus +extern "C" { +#endif + /** * A generic function ptr type */ @@ -209,4 +214,9 @@ struct _egl_api #endif }; + +#ifdef __cplusplus +} +#endif + #endif /* EGLAPI_INCLUDED */ diff --git a/src/egl/main/eglarray.h b/src/egl/main/eglarray.h index 228f6c3d2ca..29b7128b68d 100644 --- a/src/egl/main/eglarray.h +++ b/src/egl/main/eglarray.h @@ -34,6 +34,10 @@ #include "egltypedefs.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef EGLBoolean (*_EGLArrayForEach)(void *elem, void *foreach_data); @@ -83,4 +87,8 @@ _eglGetArraySize(_EGLArray *array) } +#ifdef __cplusplus +} +#endif + #endif /* EGLARRAY_INCLUDED */ diff --git a/src/egl/main/eglcompiler.h b/src/egl/main/eglcompiler.h index b457a40a32a..9804ca4f281 100644 --- a/src/egl/main/eglcompiler.h +++ b/src/egl/main/eglcompiler.h @@ -30,9 +30,17 @@ #ifndef EGLCOMPILER_INCLUDED #define EGLCOMPILER_INCLUDED +#ifdef __cplusplus +extern "C" { +#endif + #define STATIC_ASSERT(COND) \ do { \ (void) sizeof(char [1 - 2*!(COND)]); \ } while (0) +#ifdef __cplusplus +} +#endif + #endif /* EGLCOMPILER_INCLUDED */ diff --git a/src/egl/main/eglconfig.h b/src/egl/main/eglconfig.h index dc59ea3f72f..84cb2276b70 100644 --- a/src/egl/main/eglconfig.h +++ b/src/egl/main/eglconfig.h @@ -39,6 +39,10 @@ #include "egltypedefs.h" +#ifdef __cplusplus +extern "C" { +#endif + /* update _eglValidationTable and _eglOffsetOfConfig before updating this * struct */ struct _egl_config @@ -225,4 +229,8 @@ extern EGLBoolean _eglGetConfigs(_EGLDriver *drv, _EGLDisplay *dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config); +#ifdef __cplusplus +} +#endif + #endif /* EGLCONFIG_INCLUDED */ diff --git a/src/egl/main/eglcontext.h b/src/egl/main/eglcontext.h index 241917f3bea..69bf77d8aff 100644 --- a/src/egl/main/eglcontext.h +++ b/src/egl/main/eglcontext.h @@ -37,6 +37,10 @@ #include "egldisplay.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * "Base" class for device driver contexts. */ @@ -150,4 +154,8 @@ _eglGetContextHandle(_EGLContext *ctx) } +#ifdef __cplusplus +} +#endif + #endif /* EGLCONTEXT_INCLUDED */ diff --git a/src/egl/main/eglcurrent.h b/src/egl/main/eglcurrent.h index 3343755c985..1e386acdafb 100644 --- a/src/egl/main/eglcurrent.h +++ b/src/egl/main/eglcurrent.h @@ -34,6 +34,10 @@ #include "egltypedefs.h" +#ifdef __cplusplus +extern "C" { +#endif + #define _EGL_API_ALL_BITS \ (EGL_OPENGL_ES_BIT | \ EGL_OPENVG_BIT | \ @@ -115,4 +119,8 @@ extern EGLBoolean _eglError(EGLint errCode, const char *msg); +#ifdef __cplusplus +} +#endif + #endif /* EGLCURRENT_INCLUDED */ diff --git a/src/egl/main/egldefines.h b/src/egl/main/egldefines.h index 4c9e014fcea..a32cab26408 100644 --- a/src/egl/main/egldefines.h +++ b/src/egl/main/egldefines.h @@ -34,6 +34,9 @@ #ifndef EGLDEFINES_INCLUDED #define EGLDEFINES_INCLUDED +#ifdef __cplusplus +extern "C" { +#endif #define _EGL_MAX_EXTENSIONS_LEN 1000 @@ -41,5 +44,8 @@ #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) +#ifdef __cplusplus +} +#endif #endif /* EGLDEFINES_INCLUDED */ diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h index 36f50b97cb3..6862e2f51b7 100644 --- a/src/egl/main/egldisplay.h +++ b/src/egl/main/egldisplay.h @@ -39,6 +39,10 @@ #include "eglarray.h" +#ifdef __cplusplus +extern "C" { +#endif + enum _egl_platform_type { _EGL_PLATFORM_WINDOWS, _EGL_PLATFORM_X11, @@ -270,4 +274,9 @@ _eglGetWaylandDisplay(struct wl_display *native_display, const EGLint *attrib_list); #endif + +#ifdef __cplusplus +} +#endif + #endif /* EGLDISPLAY_INCLUDED */ diff --git a/src/egl/main/egldriver.h b/src/egl/main/egldriver.h index 11300ce1ee2..cd95cd305f8 100644 --- a/src/egl/main/egldriver.h +++ b/src/egl/main/egldriver.h @@ -38,6 +38,11 @@ #include "eglapi.h" #include + +#ifdef __cplusplus +extern "C" { +#endif + /** * Define an inline driver typecast function. * @@ -124,4 +129,9 @@ _eglSearchPathForEach(EGLBoolean (*callback)(const char *, size_t, void *), void *callback_data); +#ifdef __cplusplus +} +#endif + + #endif /* EGLDRIVER_INCLUDED */ diff --git a/src/egl/main/eglimage.h b/src/egl/main/eglimage.h index 50a87a18890..d06f91cd1a4 100644 --- a/src/egl/main/eglimage.h +++ b/src/egl/main/eglimage.h @@ -35,6 +35,11 @@ #include "egltypedefs.h" #include "egldisplay.h" + +#ifdef __cplusplus +extern "C" { +#endif + struct _egl_image_attrib_int { EGLint Value; @@ -161,4 +166,8 @@ _eglGetImageHandle(_EGLImage *img) } +#ifdef __cplusplus +} +#endif + #endif /* EGLIMAGE_INCLUDED */ diff --git a/src/egl/main/egllog.h b/src/egl/main/egllog.h index 12a477ee054..cf58525005e 100644 --- a/src/egl/main/egllog.h +++ b/src/egl/main/egllog.h @@ -34,6 +34,10 @@ #include "egltypedefs.h" +#ifdef __cplusplus +extern "C" { +#endif + #define _EGL_FATAL 0 /* unrecoverable error */ #define _EGL_WARNING 1 /* recoverable error/problem */ #define _EGL_INFO 2 /* just useful info */ @@ -55,4 +59,8 @@ extern void _eglLog(EGLint level, const char *fmtStr, ...); +#ifdef __cplusplus +} +#endif + #endif /* EGLLOG_INCLUDED */ diff --git a/src/egl/main/eglsurface.h b/src/egl/main/eglsurface.h index 438e27cebc8..74c429a9628 100644 --- a/src/egl/main/eglsurface.h +++ b/src/egl/main/eglsurface.h @@ -37,6 +37,10 @@ #include "egldisplay.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * "Base" class for device driver surfaces. */ @@ -174,4 +178,8 @@ _eglGetSurfaceHandle(_EGLSurface *surf) } +#ifdef __cplusplus +} +#endif + #endif /* EGLSURFACE_INCLUDED */ diff --git a/src/egl/main/egltypedefs.h b/src/egl/main/egltypedefs.h index e90959affae..82064a71fc0 100644 --- a/src/egl/main/egltypedefs.h +++ b/src/egl/main/egltypedefs.h @@ -38,6 +38,11 @@ #include "eglcompiler.h" + +#ifdef __cplusplus +extern "C" { +#endif + typedef struct _egl_api _EGLAPI; typedef struct _egl_array _EGLArray; @@ -68,4 +73,9 @@ typedef struct _egl_sync _EGLSync; typedef struct _egl_thread_info _EGLThreadInfo; + +#ifdef __cplusplus +} +#endif + #endif /* EGLTYPEDEFS_INCLUDED */ diff --git a/src/loader/loader.h b/src/loader/loader.h index 810e7da7f9f..60c58f2f8fc 100644 --- a/src/loader/loader.h +++ b/src/loader/loader.h @@ -27,6 +27,10 @@ #ifndef LOADER_H #define LOADER_H +#ifdef __cplusplus +extern "C" { +#endif + /* Helpers to figure out driver and device name, eg. from pci-id, etc. */ #define _LOADER_DRI (1 << 0) @@ -61,4 +65,9 @@ loader_get_user_preferred_fd(int default_fd, int *different_device); void loader_set_logger(void (*logger)(int level, const char *fmt, ...)); + +#ifdef __cplusplus +} +#endif + #endif /* LOADER_H */