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 21libkms_include = [inc_root, inc_drm] 22files_libkms = files( 23 'linux.c', 24 'dumb.c', 25 'api.c', 26) 27if with_vmwgfx 28 files_libkms += files('vmwgfx.c') 29endif 30if with_intel 31 files_libkms += files('intel.c') 32endif 33if with_nouveau 34 files_libkms += files('nouveau.c') 35endif 36if with_radeon 37 files_libkms += files('radeon.c') 38endif 39if with_exynos 40 files_libkms += files('exynos.c') 41 libkms_include += include_directories('../exynos') 42endif 43 44libkms = shared_library( 45 'kms', 46 [files_libkms, config_file], 47 c_args : libdrm_c_args, 48 include_directories : libkms_include, 49 link_with : libdrm, 50 version : '1.0.0', 51 install : true, 52) 53 54ext_libkms = declare_dependency( 55 link_with : [libdrm, libkms], 56 include_directories : [libkms_include], 57) 58 59install_headers('libkms.h', subdir : 'libkms') 60 61pkg.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 70test( 71 'kms-symbols-check', 72 symbols_check, 73 args : [ 74 '--lib', libkms, 75 '--symbols-file', files('kms-symbols.txt'), 76 '--nm', prog_nm.path(), 77 ], 78) 79