summaryrefslogtreecommitdiff
path: root/src/compositor/configure.json
blob: 21f486d78df5966e99fbe049d027ccd87df19534 (plain)
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
134
135
136
{
    "module": "waylandcompositor",
    "depends": [
        "gui-private"
    ],
    "testDir": "../../config.tests",

    "libraries": {
        "wayland-server": {
            "label": "wayland-server",
            "test": "wayland",
            "sources": [
                { "type": "pkgConfig", "args": "wayland-server" },
                "-lwayland-server"
            ]
        },
        "wayland-egl": {
            "test": "wayland_egl",
            "sources": [
                { "type": "pkgConfig", "args": "wayland-egl" },
                "-lwayland-egl",
                "-lEGL"
            ]
        },
        "wayland-kms": {
            "label": "wayland-kms",
            "test": {
                "tail": [
                    "extern \"C\" {",
                    "#define private priv",
                    "#include <wayland-kms.h>",
                    "#undef private",
                    "}"
                ],
                "main": [
                    "struct wl_resource *buffer = nullptr;",
                    "struct wl_kms_buffer *kmsBuffer = wayland_kms_buffer_get(buffer);"
                ]
            },
            "sources": [
                { "type": "pkgConfig", "args": "wayland-kms" },
                "-lwayland-kms"
            ]
        },
        "xcomposite": {
            "test": "xcomposite",
            "sources": [
                { "type": "pkgConfig", "args": "xcomposite" },
                "-lxcomposite"
            ]
        },
        "glx": {
            "test": "glx",
            "sources": [
                { "type": "pkgConfig", "args": "x11 gl" },
                "-lX11 -lGl"
            ]
        }
    },

    "tests": {
        "wayland-scanner": {
            "type": "compile",
            "test": "wayland_scanner",
            "use": "wayland-server"
        },
        "drm-egl-server": {
            "type": "compile",
            "test": "drm_egl_server",
            "use": "egl"
        },
        "libhybris-egl-server": {
            "type": "compile",
            "test": "libhybris_egl_server",
            "use": "egl"
        }
    },

    "features": {
        "wayland-server": {
            "label": "Qt Wayland Compositor",
            "condition": "!config.win32 && libs.wayland-server && tests.wayland-scanner",
            "output": [ "privateFeature" ]
        },
        "wayland-datadevice": {
            "condition": "features.draganddrop || features.clipboard",
            "output": [ "privateFeature" ]
        },
        "wayland-egl": {
            "label": "EGL",
            "condition": "features.wayland-server && features.opengl && features.egl && libs.wayland-egl",
            "output": [ "privateFeature" ]
        },
        "wayland-brcm": {
            "label": "Raspberry Pi",
            "condition": "features.wayland-server && features.eglfs_brcm",
            "output": [ "privateFeature" ]
        },
        "xcomposite-egl": {
            "label": "XComposite EGL",
            "condition": "features.wayland-server && features.egl && features.opengl && libs.xcomposite",
            "output": [ "privateFeature" ]
        },
        "xcomposite-glx": {
            "label": "XComposite EGL",
            "condition": "features.wayland-server && features.opengl && !features.opengles2 && libs.xcomposite && libs.glx",
            "output": [ "privateFeature" ]
        },
        "drm-egl-server": {
            "label": "DRM EGL",
            "condition": "features.wayland-server && features.opengl && features.egl && tests.drm-egl-server",
            "output": [ "privateFeature" ]
        },
        "libhybris-egl-server": {
            "label": "libhybris EGL",
            "condition": "features.wayland-server && features.opengl && features.egl && tests.libhybris-egl-server",
            "output": [ "privateFeature" ]
        },
        "wayland-layer-integration-vsp2": {
            "label": "VSP2 hardware layer integration",
            "condition": "features.wayland-server && features.eglfs_vsp2 && libs.wayland-kms",
            "output": [ "privateFeature" ]
        }
    },

    "summary": [
        "wayland-server",
        {
            "section": "Qt Wayland Compositor Layer Plugins",
            "condition": "features.wayland-server",
            "entries": [
                "wayland-layer-integration-vsp2"
            ]
        }
    ]
}