xref: /OK3568_Linux_fs/buildroot/package/weston/weston.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# weston
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunWESTON_VERSION = 11.0.1
8*4882a593SmuzhiyunWESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/-/archive/$(WESTON_VERSION)
9*4882a593SmuzhiyunWESTON_SOURCE = weston-$(WESTON_VERSION).tar.gz
10*4882a593SmuzhiyunWESTON_LICENSE = MIT
11*4882a593SmuzhiyunWESTON_LICENSE_FILES = COPYING
12*4882a593SmuzhiyunWESTON_CPE_ID_VENDOR = wayland
13*4882a593SmuzhiyunWESTON_INSTALL_STAGING = YES
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunWESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
16*4882a593Smuzhiyun	libxkbcommon pixman libpng udev cairo libinput libdrm
17*4882a593Smuzhiyun
18*4882a593SmuzhiyunWESTON_CONF_OPTS = \
19*4882a593Smuzhiyun	-Dbackend-headless=false \
20*4882a593Smuzhiyun	-Ddoc=false \
21*4882a593Smuzhiyun	-Dremoting=false \
22*4882a593Smuzhiyun	-Dtools=calibrator,debug,info,terminal,touch-calibrator
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_SYSTEMD),yy)
25*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dlauncher-logind=true
26*4882a593SmuzhiyunWESTON_DEPENDENCIES += dbus systemd
27*4882a593Smuzhiyunelse
28*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dlauncher-logind=false
29*4882a593Smuzhiyunendif
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SEATD),y)
32*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dlauncher-libseat=true
33*4882a593SmuzhiyunWESTON_DEPENDENCIES += seatd
34*4882a593Smuzhiyunelse
35*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dlauncher-libseat=false
36*4882a593Smuzhiyunendif
37*4882a593Smuzhiyun
38*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_JPEG),y)
39*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dimage-jpeg=true
40*4882a593SmuzhiyunWESTON_DEPENDENCIES += jpeg
41*4882a593Smuzhiyunelse
42*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dimage-jpeg=false
43*4882a593Smuzhiyunendif
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WEBP),y)
46*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dimage-webp=true
47*4882a593SmuzhiyunWESTON_DEPENDENCIES += webp
48*4882a593Smuzhiyunelse
49*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dimage-webp=false
50*4882a593Smuzhiyunendif
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
53*4882a593SmuzhiyunWESTON_CONF_OPTS += -Drenderer-gl=true
54*4882a593SmuzhiyunWESTON_DEPENDENCIES += libegl libgles
55*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PIPEWIRE)$(BR2_PACKAGE_WESTON_DRM),yy)
56*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dpipewire=true
57*4882a593SmuzhiyunWESTON_DEPENDENCIES += pipewire
58*4882a593Smuzhiyunelse
59*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dpipewire=false
60*4882a593Smuzhiyunendif
61*4882a593Smuzhiyunelse
62*4882a593SmuzhiyunWESTON_CONF_OPTS += \
63*4882a593Smuzhiyun	-Drenderer-gl=false \
64*4882a593Smuzhiyun	-Dpipewire=false
65*4882a593Smuzhiyunendif
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_VNC),y)
68*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LINUX_PAM),y)
69*4882a593SmuzhiyunWESTON_DEPENDENCIES += linux-pam
70*4882a593Smuzhiyunendif
71*4882a593Smuzhiyun
72*4882a593SmuzhiyunWESTON_DEPENDENCIES += neatvnc
73*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-vnc=true
74*4882a593Smuzhiyunelse
75*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-vnc=false
76*4882a593Smuzhiyunendif
77*4882a593Smuzhiyun
78*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_RDP),y)
79*4882a593SmuzhiyunWESTON_DEPENDENCIES += freerdp
80*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-rdp=true
81*4882a593Smuzhiyunelse
82*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-rdp=false
83*4882a593Smuzhiyunendif
84*4882a593Smuzhiyun
85*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_DRM),y)
86*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-drm=true
87*4882a593Smuzhiyunelse
88*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-drm=false
89*4882a593Smuzhiyunendif
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_HEADLESS),y)
92*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-headless=true
93*4882a593Smuzhiyunelse
94*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-headless=false
95*4882a593Smuzhiyunendif
96*4882a593Smuzhiyun
97*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_WAYLAND),y)
98*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-wayland=true
99*4882a593Smuzhiyunelse
100*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-wayland=false
101*4882a593Smuzhiyunendif
102*4882a593Smuzhiyun
103*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_X11),y)
104*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-x11=true
105*4882a593SmuzhiyunWESTON_DEPENDENCIES += libxcb xlib_libX11
106*4882a593Smuzhiyunelse
107*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-x11=false
108*4882a593Smuzhiyunendif
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun# We're guaranteed to have at least one backend
111*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR))
112*4882a593Smuzhiyun
113*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y)
114*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dxwayland=true
115*4882a593SmuzhiyunWESTON_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor xwayland
116*4882a593Smuzhiyunelse
117*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dxwayland=false
118*4882a593Smuzhiyunendif
119*4882a593Smuzhiyun
120*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBVA),y)
121*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=true
122*4882a593SmuzhiyunWESTON_DEPENDENCIES += libva
123*4882a593Smuzhiyunelse
124*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=false
125*4882a593Smuzhiyunendif
126*4882a593Smuzhiyun
127*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LCMS2),y)
128*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dcolor-management-lcms=true
129*4882a593SmuzhiyunWESTON_DEPENDENCIES += lcms2
130*4882a593Smuzhiyunelse
131*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dcolor-management-lcms=false
132*4882a593Smuzhiyunendif
133*4882a593Smuzhiyun
134*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SYSTEMD),y)
135*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dsystemd=true
136*4882a593SmuzhiyunWESTON_DEPENDENCIES += systemd
137*4882a593Smuzhiyunelse
138*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dsystemd=false
139*4882a593Smuzhiyunendif
140*4882a593Smuzhiyun
141*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBXML2),y)
142*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dtest-junit-xml=true
143*4882a593SmuzhiyunWESTON_DEPENDENCIES += libxml2
144*4882a593Smuzhiyunelse
145*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dtest-junit-xml=false
146*4882a593Smuzhiyunendif
147*4882a593Smuzhiyun
148*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_SHELL_DESKTOP),y)
149*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-desktop=true
150*4882a593Smuzhiyunelse
151*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-desktop=false
152*4882a593Smuzhiyunendif
153*4882a593Smuzhiyun
154*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_SHELL_FULLSCREEN),y)
155*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-fullscreen=true
156*4882a593Smuzhiyunelse
157*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-fullscreen=false
158*4882a593Smuzhiyunendif
159*4882a593Smuzhiyun
160*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_SHELL_IVI),y)
161*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-ivi=true
162*4882a593Smuzhiyunelse
163*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-ivi=false
164*4882a593Smuzhiyunendif
165*4882a593Smuzhiyun
166*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_SHELL_KIOSK),y)
167*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-kiosk=true
168*4882a593Smuzhiyunelse
169*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dshell-kiosk=false
170*4882a593Smuzhiyunendif
171*4882a593Smuzhiyun
172*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
173*4882a593SmuzhiyunWESTON_CONF_OPTS += -Ddemo-clients=true
174*4882a593SmuzhiyunWESTON_DEPENDENCIES += pango
175*4882a593Smuzhiyunelse
176*4882a593SmuzhiyunWESTON_CONF_OPTS += -Ddemo-clients=false
177*4882a593Smuzhiyunendif
178*4882a593Smuzhiyun
179*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ROCKCHIP_RGA),y)
180*4882a593SmuzhiyunWESTON_DEPENDENCIES += rockchip-rga
181*4882a593Smuzhiyunendif
182*4882a593Smuzhiyun
183*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
184*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dsimple-clients=all
185*4882a593Smuzhiyunelse
186*4882a593SmuzhiyunWESTON_CONF_OPTS += -Dsimple-clients=
187*4882a593Smuzhiyunendif
188*4882a593Smuzhiyun
189*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_WESTON_DEFAULT_PIXMAN),y)
190*4882a593Smuzhiyundefine WESTON_INSTALL_PIXMAN_INI
191*4882a593Smuzhiyun        $(INSTALL) -D -m 0644 $(WESTON_PKGDIR)/pixman.ini \
192*4882a593Smuzhiyun                $(TARGET_DIR)/etc/xdg/weston/weston.ini.d/01-pixman.ini
193*4882a593Smuzhiyunendef
194*4882a593Smuzhiyun
195*4882a593SmuzhiyunWESTON_POST_INSTALL_TARGET_HOOKS += WESTON_INSTALL_PIXMAN_INI
196*4882a593Smuzhiyunendif
197*4882a593Smuzhiyun
198*4882a593Smuzhiyundefine WESTON_INSTALL_TARGET_ENV
199*4882a593Smuzhiyun        $(INSTALL) -D -m 0644 $(WESTON_PKGDIR)/weston.sh \
200*4882a593Smuzhiyun                $(TARGET_DIR)/etc/profile.d/weston.sh
201*4882a593Smuzhiyunendef
202*4882a593Smuzhiyun
203*4882a593SmuzhiyunWESTON_POST_INSTALL_TARGET_HOOKS += WESTON_INSTALL_TARGET_ENV
204*4882a593Smuzhiyun
205*4882a593Smuzhiyundefine WESTON_INSTALL_TARGET_SCRIPTS
206*4882a593Smuzhiyun        $(INSTALL) -D -m 0755 $(WESTON_PKGDIR)/weston-calibration-helper.sh \
207*4882a593Smuzhiyun                $(TARGET_DIR)/bin/weston-calibration-helper.sh
208*4882a593Smuzhiyunendef
209*4882a593Smuzhiyun
210*4882a593SmuzhiyunWESTON_POST_INSTALL_TARGET_HOOKS += WESTON_INSTALL_TARGET_SCRIPTS
211*4882a593Smuzhiyun
212*4882a593Smuzhiyundefine WESTON_INSTALL_INIT_SYSV
213*4882a593Smuzhiyun	$(INSTALL) -D -m 755 $(WESTON_PKGDIR)/S49weston \
214*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S49weston
215*4882a593Smuzhiyunendef
216*4882a593Smuzhiyun
217*4882a593Smuzhiyun$(eval $(meson-package))
218