meson.build 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # Copyright © 2017-2018 Intel Corporation
  2. # Permission is hereby granted, free of charge, to any person obtaining a copy
  3. # of this software and associated documentation files (the "Software"), to deal
  4. # in the Software without restriction, including without limitation the rights
  5. # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  6. # copies of the Software, and to permit persons to whom the Software is
  7. # furnished to do so, subject to the following conditions:
  8. # The above copyright notice and this permission notice shall be included in
  9. # all copies or substantial portions of the Software.
  10. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  11. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  12. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  13. # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  14. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  15. # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  16. # SOFTWARE.
  17. libdrm_etnaviv = library(
  18. 'drm_etnaviv',
  19. [
  20. files(
  21. 'etnaviv_device.c', 'etnaviv_gpu.c', 'etnaviv_bo.c', 'etnaviv_bo_cache.c',
  22. 'etnaviv_perfmon.c', 'etnaviv_pipe.c', 'etnaviv_cmd_stream.c',
  23. ),
  24. config_file
  25. ],
  26. include_directories : [inc_root, inc_drm],
  27. link_with : libdrm,
  28. c_args : libdrm_c_args,
  29. gnu_symbol_visibility : 'hidden',
  30. dependencies : [dep_threads, dep_rt, dep_atomic_ops],
  31. version : '1.@0@.0'.format(patch_ver),
  32. install : true,
  33. )
  34. install_headers('etnaviv_drmif.h', subdir : 'libdrm')
  35. pkg.generate(
  36. libdrm_etnaviv,
  37. name : 'libdrm_etnaviv',
  38. subdirs : ['.', 'libdrm'],
  39. description : 'Userspace interface to Tegra kernel DRM services',
  40. )
  41. ext_libdrm_etnaviv = declare_dependency(
  42. link_with : [libdrm, libdrm_etnaviv],
  43. include_directories : [inc_drm, include_directories('.')],
  44. )
  45. meson.override_dependency('libdrm_etnaviv', ext_libdrm_etnaviv)
  46. test(
  47. 'etnaviv-symbols-check',
  48. symbols_check,
  49. args : [
  50. '--lib', libdrm_etnaviv,
  51. '--symbols-file', files('etnaviv-symbols.txt'),
  52. '--nm', prog_nm.full_path(),
  53. ],
  54. )