meson.build 19.1 KB
Newer Older
1
project('xserver', 'c',
Adam Jackson's avatar
Adam Jackson committed
2 3 4 5
        default_options: [
            'buildtype=debugoptimized',
            'c_std=gnu99',
        ],
Adam Jackson's avatar
Adam Jackson committed
6
        version: '1.19.99.904',
7
        meson_version: '>= 0.42.0',
8 9 10 11 12 13 14 15 16
)
add_project_arguments('-DHAVE_DIX_CONFIG_H', language: 'c')
cc = meson.get_compiler('c')

add_global_arguments('-fno-strict-aliasing', language : 'c')
add_global_arguments('-fvisibility=hidden', language : 'c')

add_global_link_arguments('-fvisibility=hidden', language : 'c')

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
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',
        '-Werror=implicit',
        '-Werror=nonnull',
        '-Werror=init-self',
        '-Werror=main',
        '-Werror=missing-braces',
        '-Werror=sequence-point',
        '-Werror=return-type',
        '-Werror=trigraphs',
        '-Werror=array-bounds',
        '-Werror=write-strings',
        '-Werror=address',
        '-Werror=int-to-pointer-cast',
        '-Werror=pointer-to-int-cast',
    ]
else
    test_wflags = []
endif

common_wflags = []
foreach wflag: test_wflags
    if cc.has_argument(wflag)
        common_wflags += [ wflag ]
    endif
endforeach

add_global_arguments(common_wflags, language : 'c')
60 61

xproto_dep = dependency('xproto', version: '>= 7.0.31')
62
randrproto_dep = dependency('randrproto', version: '>= 1.6.0')
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
renderproto_dep = dependency('renderproto', version: '>= 0.11')
xextproto_dep = dependency('xextproto', version: '>= 7.2.99.901')
inputproto_dep = dependency('inputproto', version: '>= 2.3')
kbproto_dep = dependency('kbproto', version: '>= 1.0.3')
fontsproto_dep = dependency('fontsproto', version: '>= 2.1.3')
fixesproto_dep = dependency('fixesproto', version: '>= 5.0')
damageproto_dep = dependency('damageproto', version: '>= 1.1')
xcmiscproto_dep = dependency('xcmiscproto', version: '>= 1.2.0')
bigreqsproto_dep = dependency('bigreqsproto', version: '>= 1.1.0')
xtrans_dep = dependency('xtrans', version: '>= 1.3.5')

videoproto_dep = dependency('videoproto')
compositeproto_dep = dependency('compositeproto', version: '>= 0.4')
recordproto_dep = dependency('recordproto', version: '>= 1.13.99.1')
scrnsaverproto_dep = dependency('scrnsaverproto', version: '>= 1.1')
resourceproto_dep = dependency('resourceproto', version: '>= 1.2.0')
79 80
xf86driproto_dep = dependency('xf86driproto', version: '>= 2.1.0', required: get_option('dri1') == 'true')
dri2proto_dep = dependency('dri2proto', version: '>= 2.8', required: get_option('dri2') == 'true')
81
dri3proto_dep = dependency('dri3proto', version: '>= 1.2', required: get_option('dri3') == 'true')
82 83
xineramaproto_dep = dependency('xineramaproto')
xf86bigfontproto_dep = dependency('xf86bigfontproto', version: '>= 1.2.0')
84
xf86vidmodeproto_dep = dependency('xf86vidmodeproto', version: '>= 2.2.99.1', required: false)
85 86
windowswmproto_dep = dependency('windowswmproto', required: false)
applewmproto_dep = dependency('applewmproto', version: '>= 1.4', required: false)
87
xshmfence_dep = dependency('xshmfence', version: '>= 1.1', required: false)
88 89 90

pixman_dep = dependency('pixman-1')
libbsd_dep = dependency('libbsd', required: false)
91
xkbcomp_dep = dependency('xkbcomp', required: false)
92 93
xkbfile_dep = dependency('xkbfile')
xfont2_dep = dependency('xfont2', version: '>= 2.0')
94
nettle_dep = dependency('nettle')
95

96
dbus_required = get_option('systemd_logind') == 'true'
97 98
dbus_dep = dependency('dbus-1', version: '>= 1.0', required: dbus_required)

99 100
build_hashtable = false

101 102 103
# Resolve default values of some options
xkb_dir = get_option('xkb_dir')
if xkb_dir == ''
104 105 106 107
    xkb_dir = xkbcomp_dep.get_pkgconfig_variable('xkbconfigdir')
    if xkb_dir == ''
        xkb_dir = join_paths(get_option('prefix'), 'share/X11/xkb')
    endif
108 109 110 111
endif

xkb_output_dir = get_option('xkb_output_dir')
if xkb_output_dir == ''
112
    xkb_output_dir = join_paths(xkb_dir, 'compiled')
113 114
endif

115 116
xkb_bin_dir = get_option('xkb_bin_dir')
if xkb_bin_dir == ''
117 118 119 120
    xkb_bin_dir = xkbcomp_dep.get_pkgconfig_variable('bindir')
    if xkb_bin_dir == ''
        xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir'))
    endif
121 122
endif

123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
dfp = get_option('default_font_path')
if dfp == ''
    fontutil_dep = dependency('fontutil')
    fontrootdir = fontutil_dep.get_pkgconfig_variable('fontrootdir')
    default_font_path = ','.join([
        join_paths(fontrootdir, 'misc'),
        join_paths(fontrootdir, 'TTF'),
        join_paths(fontrootdir, 'OTF'),
        join_paths(fontrootdir, 'Type1'),
        join_paths(fontrootdir, '100dpi'),
        join_paths(fontrootdir, '75dpi'),
    ])
else
    default_font_path = dfp
endif

139 140 141 142 143 144
hal_option = get_option('hal')
glamor_option = get_option('glamor')

build_udev = get_option('udev')
if host_machine.system() == 'windows'
    build_udev = false
145
    hal_option = 'false'
146 147 148
endif

if get_option('systemd_logind') == 'auto'
Jon Turney's avatar
Jon Turney committed
149
    build_systemd_logind = build_udev and dbus_dep.found()
150
else
151
    build_systemd_logind = get_option('systemd_logind') == 'true'
152 153 154 155 156 157 158 159 160
endif

build_xorg = false
if (host_machine.system() != 'darwin' and
    host_machine.system() != 'windows')
    if get_option('xorg') == 'auto'
        build_xorg = (host_machine.system() != 'darwin' and
                      host_machine.system() != 'windows')
    else
161
        build_xorg = get_option('xorg') == 'true'
162 163 164 165 166 167 168
    endif
endif
xorgsdkdir = join_paths(get_option('prefix'), get_option('includedir'), 'xorg')

build_xwayland = false
if (host_machine.system() != 'darwin' and
    host_machine.system() != 'windows')
169 170
    if get_option('xwayland') != 'false'
        xwayland_required = get_option('xwayland') == 'true'
171 172 173

        xwayland_dep = [
            dependency('wayland-client', version: '>= 1.3.0', required: xwayland_required),
174
            dependency('wayland-protocols', version: '>= 1.10', required: xwayland_required),
175
            dependency('libdrm', version: '>= 2.4.89', required: xwayland_required),
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
            dependency('epoxy', required: xwayland_required),
        ]

        build_xwayland = true
        # check for all the deps being found, to handle 'auto' mode.
        foreach d: xwayland_dep
            if not d.found()
                build_xwayland = false
            endif
        endforeach
    endif
endif

build_xnest = false
if (host_machine.system() != 'darwin' and
    host_machine.system() != 'windows')
192 193
    if get_option('xnest') != 'false'
        xnest_required = get_option('xnest') == 'true'
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210

        xnest_dep = [
            dependency('xext', version: '>= 1.0.99.4', required: xnest_required),
            dependency('x11', required: xnest_required),
            dependency('xau', required: xnest_required),
        ]

        build_xnest = true
        # check for all the deps being found, to handle 'auto' mode.
        foreach d: xnest_dep
            if not d.found()
                build_xnest = false
            endif
        endforeach
    endif
endif

211 212 213 214 215 216 217
build_xwin = false
if get_option('xwin') == 'auto'
    if (host_machine.system() == 'cygwin' or
        host_machine.system() == 'windows')
            build_xwin = true
    endif
else
218
    build_xwin = get_option('xwin') == 'true'
219 220
endif

221 222 223 224 225 226
# XXX: Finish these.
build_xquartz = false

if get_option('ipv6') == 'auto'
    build_ipv6 = cc.has_function('getaddrinfo')
else
227
    build_ipv6 = get_option('ipv6') == 'true'
228 229 230 231 232 233 234 235 236 237 238 239 240
endif

int10 = get_option('int10')
if int10 == 'auto'
    int10 = 'x86emu'
    if host_machine.cpu() == 'powerpc' and host_machine.system() == 'freebsd'
        int10 = 'stub'
    endif
    if host_machine.cpu() == 'arm'
        int10 = 'stub'
    endif
endif

241
hal_dep = []
242 243 244 245 246 247 248 249
if hal_option == 'auto'
    if not build_udev
        hal_dep = dependency('hal', required: false)
        build_hal = hal_dep.found()
    else
        build_hal = false
    endif
else
250
    build_hal = hal_option == 'true'
251 252 253 254 255 256 257 258 259
    if build_hal
        hal_dep = dependency('hal')
    endif
endif

if build_udev and build_hal
    error('Hotplugging through both libudev and hal not allowed')
endif

Jon Turney's avatar
Jon Turney committed
260 261
build_dbus = build_hal or build_systemd_logind

262
udev_dep = dependency('', required:false)
263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
if build_udev
    udev_dep = dependency('libudev', version: '>= 143')
endif

log_dir = get_option('log_dir')
if log_dir == ''
    log_dir = join_paths(get_option('prefix'), get_option('localstatedir'), 'log')
endif

module_dir = get_option('module_dir')
if module_dir == ''
    module_dir = join_paths(get_option('libdir'), 'xorg/modules')
endif

if glamor_option == 'auto'
Adam Jackson's avatar
Adam Jackson committed
278
    build_glamor = build_xorg or build_xwayland
279
else
280
    build_glamor = get_option('glamor') == 'true'
281 282
endif

283 284
gbm_dep = dependency('', required: false)
epoxy_dep = dependency('', required: false)
285 286
if build_glamor
    gbm_dep = dependency('gbm', version: '>= 10.2', required: false)
287
    epoxy_dep = dependency('epoxy', required: false)
288 289
endif

290 291 292 293 294 295 296 297 298 299 300 301 302 303 304
eglstream_option = get_option('xwayland_eglstream')
if build_xwayland and 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

305 306 307
# XXX: Add more sha1 options, because Linux is about choice
sha1_dep = nettle_dep

308
xdmcp_dep = dependency('', required : false)
309 310 311 312
if get_option('xdmcp')
    xdmcp_dep = dependency('xdmcp')
endif

313 314 315 316 317 318
has_xdm_auth = get_option('xdm-auth-1')

if not xdmcp_dep.found()
  has_xdm_auth = false
endif

319
build_glx = get_option('glx')
320 321 322
if build_glx
    build_hashtable = true
endif
323

324 325
libdrm_dep = dependency('libdrm', version: '>= 2.4.89', required: false)

326
if get_option('dri1') == 'auto'
327
    build_dri1 = xf86driproto_dep.found() and libdrm_dep.found()
328
else
329
    build_dri1 = get_option('dri1') == 'true'
330 331 332
endif

if get_option('dri2') == 'auto'
333
    build_dri2 = dri2proto_dep.found() and libdrm_dep.found()
334
else
335
    build_dri2 = get_option('dri2') == 'true'
336 337 338
endif

if get_option('dri3') == 'auto'
339
    build_dri3 = dri3proto_dep.found() and xshmfence_dep.found() and libdrm_dep.found()
340
else
341
    build_dri3 = get_option('dri3') == 'true'
342 343 344 345 346 347 348
    if build_dri3
       if not xshmfence_dep.found()
           error('DRI3 requested, but xshmfence not found')
       endif
    endif
endif

349 350 351 352 353
libdrm_required = build_dri1 or build_dri2 or build_dri3
if not libdrm_dep.found() and libdrm_required
    error('DRI requested, but LIBDRM not found')
endif

354
build_modesetting = libdrm_dep.found()
355

356 357 358 359 360 361 362 363
build_vbe = false
if get_option('vbe') == 'auto'
    if (host_machine.system() != 'darwin' and
        host_machine.system() != 'windows' and
        host_machine.system() != 'cygwin')
        build_vbe = true
    endif
else
364
    build_vbe = get_option('vbe') == 'true'
365 366 367 368 369 370 371 372 373 374
endif

build_vgahw = false
if get_option('vgahw') == 'auto'
    if (host_machine.system() != 'darwin' and
        host_machine.system() != 'windows' and
        host_machine.system() != 'cygwin')
        build_vgahw = true
    endif
else
375
    build_vgahw = get_option('vgahw') == 'true'
376 377
endif

378 379 380 381 382
build_dpms = get_option('dpms')
if build_xquartz
    build_dpms = false
endif

383 384 385
build_xf86bigfont = get_option('xf86bigfont')
build_screensaver = get_option('screensaver')
build_res = get_option('xres')
386 387 388 389
if build_res
    build_hashtable = true
endif

390 391 392
build_xace = get_option('xace')
build_xinerama = get_option('xinerama')

393 394 395 396 397 398 399
build_xsecurity = get_option('xcsecurity')
if build_xsecurity
    if not build_xace
        error('cannot build Security extension without X-ACE')
    endif
endif

400 401 402 403 404 405
build_xv = get_option('xv')
build_xvmc = get_option('xvmc')
if not build_xv
    build_xvmc = false
endif

406 407 408 409 410 411 412 413 414 415 416
build_dga = false
if get_option('dga') == 'auto'
    xf86dgaproto_dep = dependency('xf86dgaproto', version: '>= 2.0.99.1', required: false)
    if xf86dgaproto_dep.found()
        build_dga = true
    endif
elif get_option('dga') == 'true'
    xf86dgaproto_dep = dependency('xf86dgaproto', version: '>= 2.0.99.1', required: true)
    build_dga = true
endif

417
build_apm = false
418 419 420 421 422 423 424
if (get_option('linux_apm') == true and
   host_machine.system() == 'linux')
    if cc.has_header('linux/apm_bios.h')
        build_apm = true
    endif
endif

425
build_acpi = false
426 427 428 429 430 431 432 433 434
if (get_option('linux_acpi') == true and
   host_machine.system() == 'linux')
    if (host_machine.cpu() == 'x86' or
       host_machine.cpu() == 'x86_64' or
       host_machine.cpu() == 'ia64')
        build_acpi = true
    endif
endif

435 436 437 438 439 440 441
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

442
# XXX: Allow configuration of these.
443
build_xselinux = false
444
build_xf86vidmode = xf86vidmodeproto_dep.found()
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505

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,
    xtrans_dep,

    videoproto_dep,
    compositeproto_dep,
    recordproto_dep,
    scrnsaverproto_dep,
    resourceproto_dep,
    xf86driproto_dep,
    dri2proto_dep,
    dri3proto_dep,
    xineramaproto_dep,
    xf86bigfontproto_dep,
    xf86dgaproto_dep,
    xf86vidmodeproto_dep,
    windowswmproto_dep,
    applewmproto_dep,

    pixman_dep,
    libbsd_dep,
    xkbfile_dep,
    xfont2_dep,
    xdmcp_dep,
]

inc = include_directories(
    'Xext',
    'Xi',
    'composite',
    'damageext',
    'exa',
    'fb',
    'glamor',
    'mi',
    'miext/damage',
    'miext/shadow',
    'miext/sync',
    'dbe',
    'dri3',
    'include',
    'present',
    'randr',
    'render',
    'xfixes',
)

Adam Jackson's avatar
Adam Jackson committed
506 507
glx_inc = include_directories('glx')

508 509
top_srcdir_inc = include_directories('.')

510
serverconfigdir = join_paths(get_option('libdir'), 'xorg')
511

Adam Jackson's avatar
Adam Jackson committed
512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539
manpage_config = configuration_data()
manpage_config.set('vendorversion', 'PACKAGE_STRING XORG_MAN_PAGE')
manpage_config.set('xorgversion', 'PACKAGE_STRING XORG_MAN_PAGE')
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('logdir', log_dir)
manpage_config.set('datadir', get_option('datadir'))
manpage_config.set('mandir', get_option('mandir'))
manpage_config.set('sysconfdir', 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('modulepath', join_paths(get_option('prefix'), module_dir))
# wtf doesn't this work
# manpage_config.set('suid_wrapper_dir', join_paths(get_option('prefix'), libexecdir))
Adam Jackson's avatar
Adam Jackson committed
540
manpage_config.set('suid_wrapper_dir', join_paths(get_option('prefix'), 'libexec'))
541
manpage_config.set('default_font_path', default_font_path)
Adam Jackson's avatar
Adam Jackson committed
542

543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601
# Include must come first, as it sets up dix-config.h
subdir('include')

# X server core
subdir('config')
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/shadow')
subdir('miext/sync')
subdir('present')
if build_xwin or build_xquartz
    subdir('pseudoramiX')
endif
subdir('randr')
subdir('record')
subdir('render')
subdir('xfixes')
subdir('xkb')
subdir('Xext')
subdir('Xi')
# other
if build_glamor
    subdir('glamor')
endif
if build_xorg or get_option('xephyr')
    subdir('exa')
endif

# 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,
]

602 603
libxserver += libxserver_dri3

604
subdir('hw')
605
subdir('test')
Adam Jackson's avatar
Adam Jackson committed
606 607 608 609 610 611

install_man(configure_file(
    input: 'man/Xserver.man',
    output: 'Xserver.1',
    configuration: manpage_config,
))
612 613 614 615 616 617

if build_xorg
    sdkconfig = configuration_data()
    awk = find_program('awk')

    sdkconfig.set('prefix', get_option('prefix'))
618 619 620 621 622 623 624
    sdkconfig.set('exec_prefix', '${prefix}')
    sdkconfig.set('libdir', join_paths('${exec_prefix}', get_option('libdir')))
    sdkconfig.set('includedir', join_paths('${prefix}', get_option('includedir')))
    sdkconfig.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
    sdkconfig.set('moduledir', join_paths('${exec_prefix}', get_option('module_dir')))
    sdkconfig.set('sdkdir', join_paths('${prefix}', get_option('includedir'), 'xorg'))
    sdkconfig.set('sysconfigdir', join_paths('${datarootdir}', 'X11/xorg.conf.d'))
625 626 627

    sdkconfig.set('abi_ansic',
        run_command(awk, '-F', '[(,)]',
628
                    '/^#define ABI_ANSIC.*SET/ { printf "%d.%d", $2, $3 }',
629 630 631 632 633
                    files('hw/xfree86/common/xf86Module.h')
        ).stdout()
    )
    sdkconfig.set('abi_videodrv',
        run_command(awk, '-F', '[(,)]',
634
                    '/^#define ABI_VIDEODRV.*SET/ { printf "%d.%d", $2, $3 }',
635 636 637 638 639
                    files('hw/xfree86/common/xf86Module.h')
        ).stdout()
    )
    sdkconfig.set('abi_xinput',
        run_command(awk, '-F', '[(,)]',
640
                    '/^#define ABI_XINPUT.*SET/ { printf "%d.%d", $2, $3 }',
641 642 643 644 645
                    files('hw/xfree86/common/xf86Module.h')
        ).stdout()
    )
    sdkconfig.set('abi_extension',
        run_command(awk, '-F', '[(,)]',
646
                    '/^#define ABI_EXTENSION.*SET/ { printf "%d.%d", $2, $3 }',
647 648 649 650
                    files('hw/xfree86/common/xf86Module.h')
        ).stdout()
    )

651 652 653 654
    sdk_required_modules = [
      'pixman-1 >= 0.27.2',
    ]

655 656
    # XXX this isn't trying very hard, but hard enough.
    sdkconfig.set('PACKAGE_VERSION', meson.project_version())
657
    sdkconfig.set('SDK_REQUIRED_MODULES', ' '.join(sdk_required_modules))
658 659 660 661 662 663 664 665 666 667 668 669
    sdkconfig.set('symbol_visibility', '-fvisibility=hidden')
    sdkconfig.set('XORG_DRIVER_LIBS', '')

    configure_file(
        input: 'xorg-server.pc.in',
        output: 'xorg-server.pc',
        configuration: sdkconfig,
        install_dir: join_paths(get_option('prefix'),
                                get_option('libdir'),
                                'pkgconfig'),
    )
endif
670 671 672

install_data('xorg-server.m4',
             install_dir: join_paths(get_option('datadir'), 'aclocal'))