diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2022-11-07 16:52:36 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2022-11-07 16:52:36 +0000 |
commit | 3f21bf9f9baad61393fd70e46190ae82121b4df8 (patch) | |
tree | 8b1263f7161eb4cf1facaf4d317af694d12f2b08 /lib/libpciaccess/meson.build | |
parent | e58e675e332c608e29c7a91023c9913b1d3843a4 (diff) |
Update to libpciaccess 0.17. while there fix small leaks in openbsd_pci.c
with help from an ok tb@
Diffstat (limited to 'lib/libpciaccess/meson.build')
-rw-r--r-- | lib/libpciaccess/meson.build | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/lib/libpciaccess/meson.build b/lib/libpciaccess/meson.build new file mode 100644 index 000000000..c4a991de1 --- /dev/null +++ b/lib/libpciaccess/meson.build @@ -0,0 +1,134 @@ +# Copyright © 2018-2020 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +project( + 'libpciaccess', + ['c'], + version : '0.17', + license : 'MIT', + meson_version : '>= 0.48.0', + default_options : ['buildtype=debugoptimized'], +) + +c = meson.get_compiler('c') + +add_project_arguments( + c.get_supported_arguments( + '-Wpointer-arith', + '-Wmissing-declarations', + '-Wformat=2', + '-Wstrict-prototypes', + '-Wmissing-prototypes', + '-Wnested-externs', + '-Wbad-function-cast', + '-Wold-style-definition', + '-Wdeclaration-after-statement', + '-Wunused', + '-Wuninitialized', + '-Wshadow', + '-Wmissing-noreturn', + '-Wmissing-format-attribute', + '-Wredundant-decls', + '-Wlogical-op', + '-Werror=implicit', + '-Werror=nonnull', + '-Werror=init-self', + '-Werror=main', + '-Werror=missing-braces', + '-Werror=sequence-point', + '-Werror=return-type', + '-Werror=trigraphs', + '-Werror=array-bounds', + '-Werror=write-strings', + '-Werror=address', + '-Werror=int-to-pointer-cast', + ), + language : 'c' +) + +config = configuration_data() + +config.set_quoted( + 'PCIIDS_PATH', + join_paths(get_option('prefix'), get_option('datadir'), get_option('pci-ids')) +) +if get_option('linux-rom-fallback') + config.set('LINUX_ROM', 1) +endif + +dep_zlib = dependency('zlib', required : get_option('zlib')) +if dep_zlib.found() + config.set('HAVE_ZLIB', 1) +endif + +extra_libs = [] +if host_machine.system() == 'netbsd' + extra_libs += c.find_library('pci') + if host_machine.cpu_family() == 'x86' + extra_libs += c.find_library('i386') + elif host_machine.cpu_family() == 'x86_64' + extra_libs += c.find_library('x86_64') + elif host_machine.cpu_family() == 'alpha' # TODO + extra_libs += c.find_library('alpha') + endif +elif host_machine.system() == 'sunos' + extra_libs += c.find_library('devinfo') +endif + +if host_machine.system() == 'netbsd' + _prefix = '' + if c.check_header('machine/sysarch.h') + _prefix = ''' + #include <sys/types.h> + #include <machine/sysarch.h> + ''' + endif + + if c.check_header('machine/mtrr.h', prefix : _prefix) + config.set('HAVE_MTRR', 1) + endif +elif c.check_header('asm/mtrr.h') + config.set('HAVE_MTRR', 1) +endif + +foreach h : ['err.h', 'stdint.h', 'string.h', 'strings.h', 'inttypes.h'] + if c.check_header(h) + config.set('HAVE_' + h.to_upper().underscorify(), 1) + endif +endforeach + +config_h = configure_file( + configuration : config, + output : 'config.h', +) +add_project_arguments('-DHAVE_CONFIG_H', language : ['c']) + +install_headers('include/pciaccess.h') +inc_include = include_directories('.', 'include') + +subdir('src') +subdir('scanpci') +subdir('man') + +pkg = import('pkgconfig') +pkg.generate( + libpciaccess, + description : 'Library providing generic access to the PCI bus and devices', +) |