bot
This commit is contained in:
parent
83f21b6172
commit
373cf7faa4
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -1,4 +1,4 @@
|
||||
xwayland (2:23.2.3-100pika1) pikauwu; urgency=medium
|
||||
xwayland (2:23.2.4-100pika1) pikauwu; urgency=medium
|
||||
|
||||
* Update to pikauwu
|
||||
|
||||
|
3
debian/rules
vendored
3
debian/rules
vendored
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/make -f
|
||||
export DEB_CFLAGS_MAINT_APPEND = -Wno-error
|
||||
export DEB_CFLAGS_MAINT_APPEND = -Wno-error
|
||||
export DEB_LDFLAGS_MAINT_APPEND = -Wno-error
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
|
||||
SUPPORT = https://www.debian.org/support
|
||||
|
3
main.sh
3
main.sh
@ -1,6 +1,7 @@
|
||||
# Clone Upstream
|
||||
git clone https://gitlab.freedesktop.org/xorg/xserver.git -b xwayland-23.2.3 ./xwayland
|
||||
git clone https://gitlab.freedesktop.org/xorg/xserver.git -b xwayland-23.2.4 ./xwayland
|
||||
cp -rvf ./debian ./xwayland/
|
||||
cp -vf ./meson.build ./xwayland/
|
||||
cd ./xwayland
|
||||
for i in $(cat ../patches/series) ; do echo "Applying Patch: $i" && patch -Np1 -i ../patches/$i || bash -c "echo "Applying Patch $i Failed!" && exit 2"; done
|
||||
|
||||
|
606
meson.build
Normal file
606
meson.build
Normal file
@ -0,0 +1,606 @@
|
||||
project('xwayland', 'c',
|
||||
default_options: [
|
||||
'buildtype=debugoptimized',
|
||||
'c_std=gnu99',
|
||||
],
|
||||
version: '23.2.4',
|
||||
meson_version: '>= 0.52.0',
|
||||
)
|
||||
release_date = '2024-01-16'
|
||||
|
||||
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: ['c', 'objc'])
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
add_project_arguments('-fno-strict-aliasing', language : 'c')
|
||||
add_project_arguments('-fvisibility=hidden', language : 'c')
|
||||
|
||||
add_project_link_arguments('-fvisibility=hidden', language : 'c')
|
||||
|
||||
if cc.get_id() == 'gcc' or cc.get_id() == 'clang'
|
||||
test_wflags = [
|
||||
'-Wall',
|
||||
'-Wpointer-arith',
|
||||
'-Wmissing-declarations',
|
||||
'-Wformat=2',
|
||||
'-Wstrict-prototypes',
|
||||
'-Wmissing-prototypes',
|
||||
'-Wnested-externs',
|
||||
'-Wbad-function-cast',
|
||||
'-Wold-style-definition',
|
||||
'-Wunused',
|
||||
'-Wuninitialized',
|
||||
'-Wshadow',
|
||||
'-Wmissing-noreturn',
|
||||
'-Wmissing-format-attribute',
|
||||
'-Wredundant-decls',
|
||||
'-Wno-error',
|
||||
]
|
||||
else
|
||||
test_wflags = []
|
||||
endif
|
||||
|
||||
common_wflags = []
|
||||
foreach wflag: test_wflags
|
||||
if cc.has_argument(wflag)
|
||||
common_wflags += [ wflag ]
|
||||
endif
|
||||
endforeach
|
||||
|
||||
add_project_arguments(common_wflags, language : ['c', 'objc'])
|
||||
|
||||
libdrm_req = '>= 2.4.109'
|
||||
libselinux_req = '>= 2.0.86'
|
||||
xext_req = '>= 1.0.99.4'
|
||||
wayland_req = '>= 1.21.0'
|
||||
wayland_protocols_req = '>= 1.30'
|
||||
gbm_req = '>= 10.2'
|
||||
|
||||
xproto_dep = dependency('xproto', version: '>= 7.0.31', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
randrproto_dep = dependency('randrproto', version: '>= 1.6.0', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
renderproto_dep = dependency('renderproto', version: '>= 0.11', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
xextproto_dep = dependency('xextproto', version: '>= 7.2.99.901', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
inputproto_dep = dependency('inputproto', version: '>= 2.3.99.1', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
kbproto_dep = dependency('kbproto', version: '>= 1.0.3', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
fontsproto_dep = dependency('fontsproto', version: '>= 2.1.3', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
fixesproto_dep = dependency('fixesproto', version: '>= 6.0', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
damageproto_dep = dependency('damageproto', version: '>= 1.1', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
xcmiscproto_dep = dependency('xcmiscproto', version: '>= 1.2.0', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
bigreqsproto_dep = dependency('bigreqsproto', version: '>= 1.1.0', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
presentproto_dep = dependency('presentproto', version: '>= 1.3', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
xtrans_dep = dependency('xtrans', version: '>= 1.3.5')
|
||||
|
||||
videoproto_dep = dependency('videoproto', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
compositeproto_dep = dependency('compositeproto', version: '>= 0.4', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
recordproto_dep = dependency('recordproto', version: '>= 1.13.99.1', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
scrnsaverproto_dep = dependency('scrnsaverproto', version: '>= 1.1', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
resourceproto_dep = dependency('resourceproto', version: '>= 1.2.0', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
dri3proto_dep = dependency('dri3proto', version: '>= 1.2', fallback: ['xorgproto', 'ext_xorgproto'], required: get_option('dri3') == 'true')
|
||||
xineramaproto_dep = dependency('xineramaproto', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
xf86bigfontproto_dep = dependency('xf86bigfontproto', version: '>= 1.2.0', fallback: ['xorgproto', 'ext_xorgproto'], required: get_option('xf86bigfont'))
|
||||
xf86vidmodeproto_dep = dependency('xf86vidmodeproto', version: '>= 2.2.99.1', fallback: ['xorgproto', 'ext_xorgproto'])
|
||||
xshmfence_dep = dependency('xshmfence', version: '>= 1.1', required: false)
|
||||
xwaylandproto_dep = dependency('xwaylandproto', version: '>= 1.0', fallback: ['xorgproto', 'ext_xorgproto'], required: false)
|
||||
|
||||
pixman_dep = dependency('pixman-1')
|
||||
libbsd_dep = dependency('libbsd-overlay', required: false)
|
||||
xkbcomp_dep = dependency('xkbcomp', required: false)
|
||||
xkbfile_dep = dependency('xkbfile')
|
||||
xfont2_dep = dependency('xfont2', version: '>= 2.0')
|
||||
|
||||
# libsystemd-daemon was moved into libsystemd in version 209
|
||||
libsystemd_daemon_dep = dependency('libsystemd', version: '>= 209', required: false)
|
||||
if not libsystemd_daemon_dep.found()
|
||||
libsystemd_daemon_dep = dependency('libsystemd-daemon', required: false)
|
||||
endif
|
||||
|
||||
build_hashtable = false
|
||||
|
||||
# Resolve default values of some options
|
||||
xkb_dir = get_option('xkb_dir')
|
||||
if xkb_dir == ''
|
||||
if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig'
|
||||
xkb_dir = xkbcomp_dep.get_pkgconfig_variable('xkbconfigdir')
|
||||
endif
|
||||
if xkb_dir == ''
|
||||
xkb_dir = join_paths(get_option('prefix'), 'share/X11/xkb')
|
||||
endif
|
||||
endif
|
||||
|
||||
xkb_output_dir = get_option('xkb_output_dir')
|
||||
if xkb_output_dir == ''
|
||||
xkb_output_dir = join_paths(xkb_dir, 'compiled')
|
||||
endif
|
||||
|
||||
xkb_bin_dir = get_option('xkb_bin_dir')
|
||||
if xkb_bin_dir == ''
|
||||
if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig'
|
||||
xkb_bin_dir = xkbcomp_dep.get_pkgconfig_variable('bindir')
|
||||
endif
|
||||
if xkb_bin_dir == ''
|
||||
xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir'))
|
||||
endif
|
||||
endif
|
||||
|
||||
dfp = get_option('default_font_path')
|
||||
if dfp == ''
|
||||
fontrootdir = get_option('fontrootdir')
|
||||
if fontrootdir == ''
|
||||
fontutil_dep = dependency('fontutil', required: false)
|
||||
if fontutil_dep.found()
|
||||
fontrootdir = fontutil_dep.get_pkgconfig_variable('fontrootdir')
|
||||
else
|
||||
fontrootdir = join_paths(get_option('prefix'), get_option('datadir'), 'fonts', 'X11')
|
||||
endif
|
||||
endif
|
||||
dfp_elements = [
|
||||
join_paths(fontrootdir, 'misc'),
|
||||
join_paths(fontrootdir, 'TTF'),
|
||||
join_paths(fontrootdir, 'OTF'),
|
||||
join_paths(fontrootdir, 'Type1'),
|
||||
join_paths(fontrootdir, '100dpi'),
|
||||
join_paths(fontrootdir, '75dpi'),
|
||||
]
|
||||
if host_machine.system() == 'darwin'
|
||||
dfp_elements += [
|
||||
'/Library/Fonts',
|
||||
'/System/Library/Fonts',
|
||||
]
|
||||
endif
|
||||
default_font_path = ','.join(dfp_elements)
|
||||
else
|
||||
default_font_path = dfp
|
||||
endif
|
||||
|
||||
build_glamor = get_option('glamor')
|
||||
|
||||
with_dtrace = get_option('dtrace')
|
||||
if with_dtrace
|
||||
dtrace = find_program('dtrace', required: true)
|
||||
endif
|
||||
|
||||
build_xwayland = true
|
||||
|
||||
xwayland_path = get_option('xwayland-path')
|
||||
if (xwayland_path == '')
|
||||
xwayland_path = join_paths(get_option('prefix'), get_option('bindir'))
|
||||
endif
|
||||
|
||||
xwayland_dep = [
|
||||
dependency('wayland-client', version: wayland_req, required: true),
|
||||
dependency('wayland-protocols', version: wayland_protocols_req, required: true),
|
||||
dependency('libxcvt', fallback: ['libxcvt', 'libxcvt_dep'], required: true),
|
||||
]
|
||||
|
||||
if build_glamor
|
||||
xwayland_dep += dependency('libdrm', version: libdrm_req, required: true)
|
||||
xwayland_dep += dependency('epoxy', required: true)
|
||||
endif
|
||||
|
||||
if get_option('ipv6') == 'auto'
|
||||
build_ipv6 = cc.has_function('getaddrinfo')
|
||||
else
|
||||
build_ipv6 = get_option('ipv6') == 'true'
|
||||
endif
|
||||
|
||||
gbm_dep = dependency('', required: false)
|
||||
epoxy_dep = dependency('', required: false)
|
||||
if build_glamor
|
||||
gbm_dep = dependency('gbm', version: gbm_req, required: false)
|
||||
epoxy_dep = dependency('epoxy', required: false)
|
||||
endif
|
||||
|
||||
libdecor_dep = dependency('libdecor-0', required: false)
|
||||
libdecor_option = get_option('libdecor')
|
||||
if libdecor_option == 'auto'
|
||||
have_libdecor = libdecor_dep.found()
|
||||
else
|
||||
have_libdecor = libdecor_option == 'true'
|
||||
if have_libdecor and not libdecor_dep.found()
|
||||
error('libdecor support requested but not found')
|
||||
endif
|
||||
endif
|
||||
|
||||
eglstream_option = get_option('xwayland_eglstream')
|
||||
if build_glamor
|
||||
eglstream_dep = dependency('wayland-eglstream-protocols', required:false)
|
||||
if eglstream_option == 'auto'
|
||||
build_eglstream = eglstream_dep.found()
|
||||
else
|
||||
build_eglstream = eglstream_option == 'true'
|
||||
if build_eglstream and not eglstream_dep.found()
|
||||
error('glamor EGLStream support requested, but wayland-eglstream-protocols not found')
|
||||
endif
|
||||
endif
|
||||
else
|
||||
build_eglstream = false
|
||||
endif
|
||||
|
||||
if build_xwayland
|
||||
libei_dep = dependency('libei-1.0', version: '>= 1.0.0', required: get_option('xwayland_ei') in ['portal', 'socket'])
|
||||
liboeffis_dep = dependency('liboeffis-1.0', version: '>= 1.0.0', required: get_option('xwayland_ei') == 'portal')
|
||||
|
||||
build_ei = libei_dep.found() and get_option('xwayland_ei') != 'false'
|
||||
build_ei_portal = liboeffis_dep.found() and get_option('xwayland_ei') in ['portal', 'auto']
|
||||
else
|
||||
build_ei = false
|
||||
build_ei_portal = false
|
||||
endif
|
||||
|
||||
# Lots of sha1 options, because Linux is about choice :)
|
||||
|
||||
# The idea behind the ordering here is that we should first prefer system
|
||||
# builtin providers, and then smaller implementations of over larger ones.
|
||||
test_sha1 = [
|
||||
'libc', # libmd API is in libc on some BSDs
|
||||
'CommonCrypto', # darwin API
|
||||
'CryptoAPI', # windows API
|
||||
'libmd', # other BSDs & Solaris
|
||||
'libsha1', # "a tiny library providing a SHA1 implementation, created for facilitating X server compilation on embedded devices where larger libraries containing SHA1 implementations are not needed"
|
||||
'libnettle',
|
||||
'libgcrypt', # in debian base system
|
||||
'libcrypto',
|
||||
]
|
||||
|
||||
if get_option('sha1') != 'auto'
|
||||
test_sha1 = [get_option('sha1')]
|
||||
endif
|
||||
|
||||
sha1_found = false
|
||||
foreach t : test_sha1
|
||||
if t == 'libc'
|
||||
if cc.has_function('SHA1Init')
|
||||
sha1_found = true
|
||||
sha1_dep = dependency('', required: false)
|
||||
endif
|
||||
elif t == 'CommonCrypto'
|
||||
if cc.has_function('CC_SHA1_Init')
|
||||
sha1_found = true
|
||||
sha1_dep = dependency('', required: false)
|
||||
endif
|
||||
elif t == 'CryptoAPI'
|
||||
if cc.has_header('wincrypt.h')
|
||||
sha1_found = true
|
||||
sha1_dep = dependency('', required: false)
|
||||
endif
|
||||
elif t == 'libmd'
|
||||
md_dep = cc.find_library('md', required: false)
|
||||
if md_dep.found()
|
||||
sha1_found = true
|
||||
sha1_dep = md_dep
|
||||
endif
|
||||
elif t == 'libsha1'
|
||||
libsha1_dep = dependency('libsha1', required: false)
|
||||
if libsha1_dep.found()
|
||||
sha1_found = true
|
||||
sha1_dep = libsha1_dep
|
||||
endif
|
||||
elif t == 'libnettle'
|
||||
nettle_dep = dependency('nettle', required: false)
|
||||
if nettle_dep.found()
|
||||
sha1_found = true
|
||||
sha1_dep = nettle_dep
|
||||
endif
|
||||
elif t == 'libgcrypt'
|
||||
gcrypt_dep = dependency('libgcrypt', required: false)
|
||||
if gcrypt_dep.found()
|
||||
sha1_found = true
|
||||
sha1_dep = gcrypt_dep
|
||||
endif
|
||||
elif t == 'libcrypto'
|
||||
# we don't need all of OpenSSL, just libcrypto
|
||||
libcrypto_dep = cc.find_library('crypto', required: false)
|
||||
openssl_dep = dependency('openssl', required: false)
|
||||
if libcrypto_dep.found() or openssl_dep.found()
|
||||
sha1_found = true
|
||||
if libcrypto_dep.found()
|
||||
sha1_dep = libcrypto_dep
|
||||
else
|
||||
sha1_dep = openssl_dep
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
if sha1_found
|
||||
sha1 = t
|
||||
break
|
||||
endif
|
||||
endforeach
|
||||
|
||||
if sha1_found
|
||||
message('Using @0@ SHA1 functions'.format(sha1))
|
||||
else
|
||||
if get_option('sha1') != 'auto'
|
||||
error('@0@ SHA1 requested, but not found'.format(get_option('sha1')))
|
||||
else
|
||||
error('No suitable SHA1 implementation found')
|
||||
endif
|
||||
endif
|
||||
|
||||
xdmcp_dep = dependency('', required : false)
|
||||
if get_option('xdmcp')
|
||||
xdmcp_dep = dependency('xdmcp')
|
||||
endif
|
||||
|
||||
has_xdm_auth = get_option('xdm-auth-1')
|
||||
|
||||
if not xdmcp_dep.found()
|
||||
has_xdm_auth = false
|
||||
endif
|
||||
|
||||
build_glx = get_option('glx')
|
||||
if build_glx
|
||||
build_hashtable = true
|
||||
endif
|
||||
|
||||
libdrm_dep = dependency('libdrm', version: libdrm_req, required: false)
|
||||
|
||||
if get_option('dri3') == 'auto'
|
||||
build_dri3 = dri3proto_dep.found() and xshmfence_dep.found() and libdrm_dep.found()
|
||||
else
|
||||
build_dri3 = get_option('dri3') == 'true'
|
||||
if build_dri3
|
||||
if not xshmfence_dep.found()
|
||||
error('DRI3 requested, but xshmfence not found')
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
libdrm_required = build_dri3
|
||||
if not libdrm_dep.found() and libdrm_required
|
||||
error('DRI requested, but LIBDRM not found')
|
||||
endif
|
||||
|
||||
build_dpms = get_option('dpms')
|
||||
|
||||
build_xf86bigfont = get_option('xf86bigfont')
|
||||
build_screensaver = get_option('screensaver')
|
||||
build_res = get_option('xres')
|
||||
if build_res
|
||||
build_hashtable = true
|
||||
endif
|
||||
|
||||
build_xace = get_option('xace')
|
||||
build_xinerama = get_option('xinerama')
|
||||
|
||||
build_xsecurity = get_option('xcsecurity')
|
||||
if build_xsecurity
|
||||
if not build_xace
|
||||
error('cannot build Security extension without X-ACE')
|
||||
endif
|
||||
endif
|
||||
|
||||
build_xv = get_option('xv')
|
||||
|
||||
build_mitshm = false
|
||||
if get_option('mitshm') == 'auto'
|
||||
build_mitshm = cc.has_header('sys/shm.h')
|
||||
elif get_option('mitshm') == 'true'
|
||||
build_mitshm = true
|
||||
endif
|
||||
|
||||
m_dep = cc.find_library('m', required : false)
|
||||
dl_dep = cc.find_library('dl', required : false)
|
||||
|
||||
common_dep = [
|
||||
xproto_dep,
|
||||
randrproto_dep,
|
||||
renderproto_dep,
|
||||
xextproto_dep,
|
||||
inputproto_dep,
|
||||
kbproto_dep,
|
||||
fontsproto_dep,
|
||||
fixesproto_dep,
|
||||
damageproto_dep,
|
||||
xcmiscproto_dep,
|
||||
bigreqsproto_dep,
|
||||
presentproto_dep,
|
||||
xtrans_dep,
|
||||
libsystemd_daemon_dep,
|
||||
|
||||
videoproto_dep,
|
||||
compositeproto_dep,
|
||||
recordproto_dep,
|
||||
scrnsaverproto_dep,
|
||||
resourceproto_dep,
|
||||
dri3proto_dep,
|
||||
xineramaproto_dep,
|
||||
xf86bigfontproto_dep,
|
||||
xf86vidmodeproto_dep,
|
||||
|
||||
pixman_dep,
|
||||
libbsd_dep,
|
||||
xkbfile_dep,
|
||||
xfont2_dep,
|
||||
xdmcp_dep,
|
||||
]
|
||||
|
||||
inc = include_directories(
|
||||
'Xext',
|
||||
'Xi',
|
||||
'composite',
|
||||
'damageext',
|
||||
'fb',
|
||||
'glamor',
|
||||
'mi',
|
||||
'miext/damage',
|
||||
'miext/sync',
|
||||
'dbe',
|
||||
'dri3',
|
||||
'include',
|
||||
'present',
|
||||
'randr',
|
||||
'render',
|
||||
'xfixes',
|
||||
)
|
||||
|
||||
build_xselinux = false
|
||||
if get_option('xselinux') != 'false'
|
||||
dep_selinux = dependency('libselinux', version: libselinux_req,
|
||||
required: get_option('xselinux') == 'true')
|
||||
dep_audit = dependency('audit', required: get_option('xselinux') == 'true')
|
||||
if get_option('xselinux') == 'true'
|
||||
build_xselinux = true
|
||||
else
|
||||
build_xselinux = dep_selinux.found() and dep_audit.found()
|
||||
endif
|
||||
|
||||
if build_xselinux
|
||||
common_dep += dep_selinux
|
||||
common_dep += dep_audit
|
||||
endif
|
||||
endif
|
||||
|
||||
socket_dep = []
|
||||
if host_machine.system() == 'windows'
|
||||
socket_dep = meson.get_compiler('c').find_library('ws2_32')
|
||||
common_dep += socket_dep
|
||||
endif
|
||||
|
||||
if get_option('libunwind')
|
||||
common_dep += dependency('libunwind', required: true)
|
||||
endif
|
||||
|
||||
glx_inc = include_directories('glx')
|
||||
|
||||
top_dir_inc = include_directories('.')
|
||||
|
||||
serverconfigdir = get_option('serverconfigdir')
|
||||
if serverconfigdir == ''
|
||||
serverconfigdir = join_paths(get_option('prefix'), get_option('libdir'), 'xorg')
|
||||
endif
|
||||
|
||||
manpage_config = configuration_data()
|
||||
manpage_config.set('vendorversion', '"xorg-server @0@" "X Version 11"'.format(meson.project_version()))
|
||||
manpage_config.set('xorgversion', '"xorg-server @0@" "X Version 11"'.format(meson.project_version()))
|
||||
manpage_config.set('xservername', 'Xorg')
|
||||
manpage_config.set('xconfigfile', 'xorg.conf')
|
||||
manpage_config.set('projectroot', get_option('prefix'))
|
||||
manpage_config.set('apploaddir', '$(appdefaultdir)')
|
||||
manpage_config.set('appmansuffix', '1')
|
||||
manpage_config.set('drivermansuffix', '4')
|
||||
manpage_config.set('adminmansuffix', '8')
|
||||
manpage_config.set('libmansuffix', '3')
|
||||
manpage_config.set('miscmansuffix', '7')
|
||||
manpage_config.set('filemansuffix', '5')
|
||||
manpage_config.set('datadir', join_paths(get_option('prefix'), get_option('datadir')))
|
||||
manpage_config.set('mandir', join_paths(get_option('prefix'), get_option('mandir')))
|
||||
manpage_config.set('sysconfdir', join_paths(get_option('prefix'), get_option('sysconfdir')))
|
||||
manpage_config.set('xconfigdir', 'xorg.conf.d')
|
||||
manpage_config.set('xkbdir', xkb_dir)
|
||||
manpage_config.set('XKB_DFLT_RULES', get_option('xkb_default_rules'))
|
||||
manpage_config.set('XKB_DFLT_MODEL', get_option('xkb_default_model'))
|
||||
manpage_config.set('XKB_DFLT_LAYOUT', get_option('xkb_default_layout'))
|
||||
manpage_config.set('XKB_DFLT_VARIANT', get_option('xkb_default_variant'))
|
||||
manpage_config.set('XKB_DFLT_OPTIONS', get_option('xkb_default_options'))
|
||||
manpage_config.set('bundle_id_prefix', '...')
|
||||
manpage_config.set('default_font_path', default_font_path)
|
||||
|
||||
require_docs = get_option('docs') == 'true'
|
||||
require_devel_docs = get_option('devel-docs') == 'true'
|
||||
require_docs_pdf = (require_docs or require_devel_docs) and get_option('docs-pdf') == 'true'
|
||||
|
||||
sgml_doctools_dep = dependency('xorg-sgml-doctools',
|
||||
required: require_docs or require_devel_docs)
|
||||
xmlto = find_program('xmlto', required: require_docs or require_devel_docs)
|
||||
xsltproc = find_program('xsltproc', required: require_docs or require_devel_docs)
|
||||
fop = find_program('fop', required: require_docs_pdf)
|
||||
|
||||
build_docs = (get_option('docs') != 'false' and
|
||||
sgml_doctools_dep.found() and
|
||||
xmlto.found())
|
||||
|
||||
build_docs_devel = (get_option('devel-docs') != 'false' and
|
||||
sgml_doctools_dep.found() and
|
||||
xmlto.found())
|
||||
|
||||
build_docs_pdf = (get_option('docs-pdf') != 'false' and
|
||||
(build_docs or build_docs_devel) and
|
||||
fop.found())
|
||||
|
||||
if build_docs or build_docs_devel
|
||||
doc_sgml_path = sgml_doctools_dep.get_pkgconfig_variable('sgmlrootdir')
|
||||
doc_stylesheet_srcdir = join_paths(doc_sgml_path, 'X11')
|
||||
|
||||
# once we bump meson dependency to 0.56.0 we can use
|
||||
# meson.project_build_root() instead of meson.build_root()
|
||||
|
||||
# Meson does not and will not support functions so we are copy-pasting
|
||||
# documentation build code around which is unfortunate
|
||||
# See https://mesonbuild.com/FAQ.html#why-doesnt-meson-have-user-defined-functionsmacros
|
||||
|
||||
docs_xmlto_search_flags = [
|
||||
'--searchpath', doc_stylesheet_srcdir,
|
||||
'--searchpath', meson.build_root(),
|
||||
]
|
||||
|
||||
docs_xslt_search_flags = [
|
||||
'--path', doc_stylesheet_srcdir,
|
||||
'--path', meson.build_root(),
|
||||
]
|
||||
endif
|
||||
|
||||
# Include must come first, as it sets up dix-config.h
|
||||
subdir('include')
|
||||
|
||||
# X server core
|
||||
subdir('dix')
|
||||
subdir('dri3')
|
||||
subdir('glx')
|
||||
subdir('fb')
|
||||
subdir('mi')
|
||||
subdir('os')
|
||||
# X extensions
|
||||
subdir('composite')
|
||||
subdir('damageext')
|
||||
subdir('dbe')
|
||||
subdir('miext/damage')
|
||||
subdir('miext/sync')
|
||||
subdir('present')
|
||||
subdir('randr')
|
||||
subdir('record')
|
||||
subdir('render')
|
||||
subdir('xfixes')
|
||||
subdir('xkb')
|
||||
subdir('Xext')
|
||||
subdir('Xi')
|
||||
# other
|
||||
if build_glamor
|
||||
subdir('glamor')
|
||||
endif
|
||||
subdir('doc')
|
||||
|
||||
# Common static libraries of all X servers
|
||||
libxserver = [
|
||||
libxserver_mi,
|
||||
libxserver_dix,
|
||||
|
||||
libxserver_composite,
|
||||
libxserver_damageext,
|
||||
libxserver_dbe,
|
||||
libxserver_randr,
|
||||
libxserver_miext_damage,
|
||||
libxserver_render,
|
||||
libxserver_present,
|
||||
libxserver_xext,
|
||||
libxserver_miext_sync,
|
||||
libxserver_xfixes,
|
||||
libxserver_xi,
|
||||
libxserver_xkb,
|
||||
libxserver_record,
|
||||
|
||||
libxserver_os,
|
||||
]
|
||||
|
||||
libxserver += libxserver_dri3
|
||||
|
||||
subdir('hw')
|
||||
|
||||
if host_machine.system() != 'windows'
|
||||
subdir('test')
|
||||
endif
|
||||
|
||||
install_man(configure_file(
|
||||
input: 'man/Xserver.man',
|
||||
output: 'Xserver.1',
|
||||
configuration: manpage_config,
|
||||
))
|
Loading…
Reference in New Issue
Block a user