Edit

IABSD.fr/xenocara/lib/libXau/meson.build

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2025-03-16 12:02:40
    Hash : a307c9b9
    Message : Update libXau to 1.0.12

  • lib/libXau/meson.build
  • # SPDX-License-Identifier: MIT
    # Copyright © 2023 Intel Corporation
    
    project(
      'libXau',
      'c',
      version : '1.0.12',
      license : 'MIT',
      meson_version : '>= 0.60.0',
    )
    
    add_project_arguments(
      '-D_GNU_SOURCE',
      '-D__EXTENSIONS__',
      language : 'c'
    )
    
    cc = meson.get_compiler('c')
    
    lib_args = []
    
    foreach f : ['explicit_bzero', 'explicit_memset', 'pathconf']
      if cc.has_function(f)
        lib_args += '-DHAVE_@0@'.format(f.to_upper())
      endif
    endforeach
    
    if cc.has_header('unistd.h')
      lib_args += '-DHAVE_UNISTD_H'
    endif
    
    dep_xproto = dependency('xproto')
    
    if get_option('xthreads')
      lib_args += '-DXTHREADS'
      # This define is not in libXau specific code, but is part of the xproto header
      # This may be only required by HP-UX.
      if cc.has_function('gethostbyname_r') or \
         cc.has_function('gethostbyname_r', dependencies : cc.find_library('nls'))
        lib_args += '-DXUSE_MTSAFE_API=1'
      endif
      if host_machine.system() == 'sunos'
        lib_args += ['-D_REENETRANT', '-D_POSIX_PTHREAD_SEMANTICS']
      endif
    endif
    
    lib = library(
      'Xau',
      [
        'AuDispose.c',
        'AuFileName.c',
        'AuGetAddr.c',
        'AuGetBest.c',
        'AuLock.c',
        'AuRead.c',
        'AuUnlock.c',
        'AuWrite.c',
      ],
      c_args : lib_args,
      include_directories : 'include',
      dependencies : dep_xproto,
      version : '6.0.0',
      install : true,
    )
    
    test(
      'autest',
      executable(
        'autest',
        'Autest.c',
        link_with : lib,
        include_directories : 'include',
        dependencies : dep_xproto,
      )
    )
    
    libxau = declare_dependency(
      link_with : lib,
      include_directories : 'include',
    )
    
    meson.override_dependency('xau', libxau)
    
    install_headers(
      'include/X11/Xauth.h',
      subdir : 'X11',
    )
    
    pkg = import('pkgconfig')
    pkg.generate(
      lib,
      description : 'X authorization file management library',
      filebase : 'xau',
      requires : 'xproto',
    )
    
    subdir('man')