Home | History | Annotate | Download | only in libkms
      1 # Copyright  2017-2018 Intel Corporation
      2 
      3 # Permission is hereby granted, free of charge, to any person obtaining a copy
      4 # of this software and associated documentation files (the "Software"), to deal
      5 # in the Software without restriction, including without limitation the rights
      6 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      7 # copies of the Software, and to permit persons to whom the Software is
      8 # furnished to do so, subject to the following conditions:
      9 
     10 # The above copyright notice and this permission notice shall be included in
     11 # all copies or substantial portions of the Software.
     12 
     13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     16 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     18 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     19 # SOFTWARE.
     20 
     21 libkms_include = [inc_root, inc_drm]
     22 files_libkms = files(
     23   'linux.c',
     24   'dumb.c',
     25   'api.c',
     26 )
     27 if with_vmwgfx
     28   files_libkms += files('vmwgfx.c')
     29 endif
     30 if with_intel
     31   files_libkms += files('intel.c')
     32 endif
     33 if with_nouveau
     34   files_libkms += files('nouveau.c')
     35 endif
     36 if with_radeon
     37   files_libkms += files('radeon.c')
     38 endif
     39 if with_exynos
     40   files_libkms += files('exynos.c')
     41   libkms_include += include_directories('../exynos')
     42 endif
     43 
     44 libkms = shared_library(
     45   'kms',
     46   [files_libkms, config_file],
     47   c_args : warn_c_args,
     48   include_directories : libkms_include,
     49   link_with : libdrm,
     50   version : '1.0.0',
     51   install : true,
     52 )
     53 
     54 ext_libkms = declare_dependency(
     55   link_with : [libdrm, libkms],
     56   include_directories : [libkms_include],
     57 )
     58 
     59 install_headers('libkms.h', subdir : 'libkms')
     60 
     61 pkg.generate(
     62   name : 'libkms',
     63   libraries : libkms,
     64   subdirs : ['libkms'],
     65   version : '1.0.0',
     66   requires_private : 'libdrm',
     67   description : 'Library that abstracts away the different mm interfaces for kernel drivers',
     68 )
     69 
     70 test(
     71   'kms-symbol-check',
     72   prog_bash,
     73   env : env_test,
     74   args : [files('kms-symbol-check'), libkms]
     75 )
     76