| # SPDX-License-Identifier: LGPL-2.1 |
| # |
| # Copyright (c) 2023 Daniel Wagner, SUSE LLC |
| |
| sources= [ |
| 'tracefs-dynevents.c', |
| 'tracefs-eprobes.c', |
| 'tracefs-events.c', |
| 'tracefs-filter.c', |
| 'tracefs-hist.c', |
| 'tracefs-instance.c', |
| 'tracefs-kprobes.c', |
| 'tracefs-marker.c', |
| 'tracefs-mmap.c', |
| 'tracefs-record.c', |
| 'tracefs-sqlhist.c', |
| 'tracefs-tools.c', |
| 'tracefs-uprobes.c', |
| 'tracefs-utils.c', |
| 'tracefs-mmap.c', |
| ] |
| |
| flex = find_program('flex', required: true) |
| bison = find_program('bison', required: true) |
| |
| lgen = generator(flex, |
| output : '@PLAINNAME@.yy.c', |
| arguments : ['-o', '@OUTPUT@', '@INPUT@']) |
| |
| pgen = generator(bison, |
| output : ['@BASENAME@.tab.c', '@BASENAME@.tab.h'], |
| arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@']) |
| |
| lfiles = lgen.process('sqlhist.l') |
| pfiles = pgen.process('sqlhist.y') |
| |
| libtracefs = library( |
| 'tracefs', |
| sources, lfiles, pfiles, |
| version: library_version, |
| dependencies: [libtraceevent_dep, threads_dep], |
| include_directories: [incdir], |
| install: true) |
| |
| libtracefs_static = static_library( |
| 'tracefs_static', |
| sources, lfiles, pfiles, |
| dependencies: [libtraceevent_dep, threads_dep], |
| include_directories: [incdir], |
| install: false) |
| |
| pkg = import('pkgconfig') |
| pkg.generate( |
| libtracefs, |
| libraries: [libtraceevent_dep], |
| subdirs: 'libtracefs', |
| filebase: meson.project_name(), |
| name: meson.project_name(), |
| version: meson.project_version(), |
| description: 'Manage trace fs', |
| url: 'https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/') |
| |
| libtracefs_dep = declare_dependency( |
| include_directories: ['.'], |
| link_with: libtracefs) |