[libglnx: 1/8] Add meson.build files



commit 0f53dc35e4697bf1c545cb4eae795c79299e2cd0
Author: Will Thompson <wjt endlessm com>
Date:   Thu Mar 28 16:09:32 2019 +0000

    Add meson.build files

 meson.build       | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/meson.build | 19 +++++++++++++
 2 files changed, 102 insertions(+)
---
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..d9abf37
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,83 @@
+project('libglnx', 'c')
+
+add_project_arguments('-D_GNU_SOURCE', language: 'c')
+
+cc = meson.get_compiler('c')
+
+
+check_functions = [
+  'renameat2',
+  'memfd_create',
+  'copy_file_range',
+]
+conf = configuration_data()
+foreach check_function : check_functions
+  if cc.compiles('''
+    #include <sys/types.h>
+    #include <unistd.h>
+    #include <stdio.h>
+    #include <sys/mount.h>
+    #include <fcntl.h>
+    #include <sched.h>
+    #include <linux/loop.h>
+    #include <linux/random.h>
+    #include <sys/mman.h>
+
+    int func (void) {
+      (void) ''' + check_function + ''';
+    }
+    ''',
+    args : '-D_GNU_SOURCE',
+    name : check_function + '() is declared',
+  )
+    conf.set('HAVE_DECL_' + check_function.underscorify().to_upper(), 1)
+  endif
+endforeach
+config_h = configure_file(
+  output : 'config.h',
+  configuration : conf,
+)
+
+libglnx_deps = [
+  dependency('gio-2.0'),
+  dependency('gio-unix-2.0'),
+]
+libglnx_inc = include_directories('.')
+libglnx_sources = [
+  'glnx-backport-autocleanups.h',
+  'glnx-backport-autoptr.h',
+  'glnx-backports.c',
+  'glnx-backports.h',
+  'glnx-console.c',
+  'glnx-console.h',
+  'glnx-dirfd.c',
+  'glnx-dirfd.h',
+  'glnx-errors.c',
+  'glnx-errors.h',
+  'glnx-fdio.c',
+  'glnx-fdio.h',
+  'glnx-local-alloc.c',
+  'glnx-local-alloc.h',
+  'glnx-lockfile.c',
+  'glnx-lockfile.h',
+  'glnx-macros.h',
+  'glnx-missing.h',
+  'glnx-missing-syscall.h',
+  'glnx-shutil.c',
+  'glnx-shutil.h',
+  'glnx-xattrs.c',
+  'glnx-xattrs.h',
+  'libglnx.h',
+]
+
+libglnx = static_library('glnx',
+  libglnx_sources,
+  dependencies : libglnx_deps,
+  include_directories : libglnx_inc,
+  install : false)
+libglnx_dep = declare_dependency(
+  include_directories : libglnx_inc,
+  link_with : libglnx)
+
+subdir('tests')
+
diff --git a/tests/meson.build b/tests/meson.build
new file mode 100644
index 0000000..d3eddf0
--- /dev/null
+++ b/tests/meson.build
@@ -0,0 +1,19 @@
+
+test_names = [
+  'errors',
+  'fdio',
+  'macros',
+  'shutil',
+  'xattrs',
+]
+
+foreach test_name : test_names
+  exe = executable(test_name,
+    ['test-libglnx-' + test_name + '.c', 'libglnx-testlib.h'],
+    dependencies: [
+      libglnx_dep,
+      libglnx_deps,
+    ],
+  )
+  test(test_name, exe)
+endforeach


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]