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