about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/wlroots/0001-Fix-missing-headers-when-building-without-X11.patch
blob: 7eb55132100f7eea9afa585878ae296e49d4d6ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
From 3588e89124d37c8d1968b3b6dbb723b4f6c4525c Mon Sep 17 00:00:00 2001
From: Alyssa Ross <hi@alyssa.is>
Date: Sun, 21 Apr 2019 00:35:57 +0000
Subject: [PATCH] Fix missing headers when building without X11

The deleted includes are redundant, because other headers will include
the necessary files. Additionally, they cause build failures, because
including EGL/egl.h or EGL/eglext.h directly, instead of through
wlr/render/egl.h or wlr/render/interface.h, will mean that
MESA_EGL_NO_X11_HEADERS will not have been defined, and so the EGL
headers will attempt to pull in unnecessary X11 headers that may not
exist on the system.

For the headers produced by glgen.sh, the includes couldn't simply be
deleted, because no other header would include the EGL headers. Neither
wlr/render/egl.h or wlr/render/interface.h felt appropriate to include,
so I opted instead to copy the MESA_EGL_NO_X11_HEADERS definition before
the EGL includes.
---
 backend/drm/drm.c         | 2 --
 backend/drm/renderer.c    | 2 --
 backend/headless/output.c | 2 --
 backend/wayland/backend.c | 2 --
 glgen.sh                  | 5 +++++
 include/render/gles2.h    | 2 --
 render/egl.c              | 2 --
 rootston/output.c         | 1 -
 8 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 7fd36794..74aeeb42 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -2,8 +2,6 @@
 #include <assert.h>
 #include <drm_fourcc.h>
 #include <drm_mode.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
 #include <errno.h>
 #include <gbm.h>
 #include <GLES2/gl2.h>
diff --git a/backend/drm/renderer.c b/backend/drm/renderer.c
index 72cfd430..1771e725 100644
--- a/backend/drm/renderer.c
+++ b/backend/drm/renderer.c
@@ -1,6 +1,4 @@
 #include <assert.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
 #include <gbm.h>
 #include <stdbool.h>
 #include <stdlib.h>
diff --git a/backend/headless/output.c b/backend/headless/output.c
index 3cb35dce..283b5513 100644
--- a/backend/headless/output.c
+++ b/backend/headless/output.c
@@ -1,6 +1,4 @@
 #include <assert.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
 #include <stdlib.h>
 #include <wlr/interfaces/wlr_output.h>
 #include <wlr/render/wlr_renderer.h>
diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c
index 2a937de7..7c8bb4e0 100644
--- a/backend/wayland/backend.c
+++ b/backend/wayland/backend.c
@@ -5,8 +5,6 @@
 
 #include <wlr/config.h>
 
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
 #include <wayland-server.h>
 
 #include <wlr/backend/interface.h>
diff --git a/glgen.sh b/glgen.sh
index fb3bb3c6..daa98b00 100755
--- a/glgen.sh
+++ b/glgen.sh
@@ -62,6 +62,11 @@ cat > "$OUTDIR/$BASE.h" << EOF
 #define $INCLUDE_GUARD
 
 #include <stdbool.h>
+#include <wlr/config.h>
+
+#if !WLR_HAS_X11_BACKEND && !WLR_HAS_XWAYLAND && !defined MESA_EGL_NO_X11_HEADERS
+#define MESA_EGL_NO_X11_HEADERS
+#endif
 
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
diff --git a/include/render/gles2.h b/include/render/gles2.h
index 593c7d1c..7e0782d4 100644
--- a/include/render/gles2.h
+++ b/include/render/gles2.h
@@ -1,8 +1,6 @@
 #ifndef RENDER_GLES2_H
 #define RENDER_GLES2_H
 
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
 #include <stdbool.h>
diff --git a/render/egl.c b/render/egl.c
index cc00dece..c0d43609 100644
--- a/render/egl.c
+++ b/render/egl.c
@@ -1,7 +1,5 @@
 #include <assert.h>
 #include <drm_fourcc.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <wlr/render/egl.h>
diff --git a/rootston/output.c b/rootston/output.c
index bc2f4d6c..4e9e9d18 100644
--- a/rootston/output.c
+++ b/rootston/output.c
@@ -13,7 +13,6 @@
 #include <wlr/types/wlr_xdg_shell.h>
 #include <wlr/util/log.h>
 #include <wlr/util/region.h>
-#include <wlr/xwayland.h>
 #include "rootston/config.h"
 #include "rootston/layers.h"
 #include "rootston/output.h"
-- 
2.19.2