From 9d2b246dbc750e6a80ca1ed2b0a99e924efd1f18 Mon Sep 17 00:00:00 2001 From: Simon Zeni Date: Tue, 7 May 2024 14:02:33 -0400 Subject: [PATCH] add meson build files --- meson.build | 50 +++++++++++++++++++++++++++++++++++++++++++++++ meson_options.txt | 2 ++ 2 files changed, 52 insertions(+) create mode 100644 meson.build create mode 100644 meson_options.txt diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..cfba291 --- /dev/null +++ b/meson.build @@ -0,0 +1,50 @@ +project('libvivhook', + 'c', 'cpp', + version: '1.0.0', + license: 'MIT', + default_options: [ + 'c_std=gnu99', + ], +) + +cc = meson.get_compiler('c') +add_project_arguments(cc.get_supported_arguments([ + '-feliminate-unused-debug-types', + '-Wnested-externs', + '-Wcast-qual', + '-Wredundant-decls', + '-Werror=write-strings', + '-Wshadow', +]), language: ['c']) + +add_project_arguments([ + '-D_GNU_SOURCE', +], language: 'c') + +dl = cc.find_library('dl', required: true) +galcore = declare_dependency( + include_directories: include_directories(get_option('galcore-include')), + link_args: ['-L'+ get_option('galcore-lib'), '-lGAL'], +) + +vivhook_src = files( + 'src/elf_hook.c', + 'src/flightrecorder.cpp', + 'src/viv_hook.c', +) + +libvivhook = library(vivhook, + vivhook_src, + dependencies: [dl, galcore], +) + +viv_interpose_src = vivhook_src + files( + 'src/viv_interpose.c', +) + +viv_interpose = shared_library('viv_interpose', + viv_interpose_src, + name_prefix: '', + dependencies: [dl, galcore], +) + diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..e58a39f --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,2 @@ +option('galcore-include', type: 'string') +option('galcore-lib', type: 'string')