diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | meson.build | 50 |
3 files changed, 53 insertions, 0 deletions
@@ -1,2 +1,3 @@ *.o +build/ yavta @@ -5,6 +5,8 @@ CFLAGS ?= -O2 -W -Wall -Iinclude LDFLAGS ?= LIBS := -lrt +$(warning WARNING: Makefile support is deprecated, please switch to meson) + %.o : %.c $(CC) $(CFLAGS) -c -o $@ $< diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..e07659d --- /dev/null +++ b/meson.build @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: CC0-1.0 + +project('yavta', 'c', + meson_version : '>= 0.40', + version : '0.0.0', + default_options : [ + 'werror=true', + 'warning_level=2', + ], + license : 'GPL 2.0+') + +# +# Configure the build environment +# +cc = meson.get_compiler('c') + +cc_arguments = [ + '-Wshadow', +] + +if cc.get_id() == 'clang' + # Turn _FORTIFY_SOURCE by default on optimised builds (as it requires -O1 + # or higher). This is needed on clang only as gcc enables it by default. + if get_option('optimization') != '0' + cc_arguments += [ + '-D_FORTIFY_SOURCE=2', + ] + endif +endif + +add_project_arguments(cc_arguments, language : 'c') + +# +# yavta +# +yavta_dependencies = [] + +if not cc.has_function('clock_gettime') + # On glibc older than 2.17, clock_gettime is provided by time.h and -lrt + yavta_dependencies += [cc.find_library('rt')] +endif + +yavta_sources = files([ + 'yavta.c', +]) + +yavta = executable('yavta', yavta_sources, + include_directories : include_directories('include'), + dependencies : yavta_dependencies, + install : true) |