Squashed 'third_party/rawrtc/rawrtc-common/' content from commit aff7a3a3b
Change-Id: I2cb019410e8d0e1e0bf814577b0ef83aeb32c7fd
git-subtree-dir: third_party/rawrtc/rawrtc-common
git-subtree-split: aff7a3a3b9bbf49f7d2fc8b123edd301825b3e1c
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..421df4b
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,79 @@
+# Project definition
+project('rawrtcc', 'c',
+ version: '0.1.3',
+ default_options: ['c_std=c99'],
+ meson_version: '>=0.46.0')
+
+# Set compiler warning flags
+compiler = meson.get_compiler('c')
+compiler_args = compiler.get_supported_arguments([
+ '-Wall',
+ '-Wmissing-declarations',
+ '-Wmissing-prototypes',
+ '-Wstrict-prototypes',
+ '-Wbad-function-cast',
+ '-Wsign-compare',
+ '-Wnested-externs',
+ '-Wshadow',
+ '-Waggregate-return',
+ '-Wcast-align',
+ '-Wextra',
+ '-Wold-style-definition',
+ '-Wdeclaration-after-statement',
+ '-Wuninitialized',
+ '-Wshorten-64-to-32',
+ '-pedantic',
+])
+add_project_arguments(compiler_args, language: 'c')
+
+# Configuration
+configuration = configuration_data()
+
+# Dependency: re
+# Note: We need to force using our own fork until re has accepted all our patches
+re_dep = dependency('librawrre',
+ version: '>=0.6.0',
+ fallback: ['re', 're_dep'],
+ required: true)
+
+# Dependencies list
+dependencies = [
+ re_dep,
+]
+
+# Version
+version = meson.project_version()
+version_array = version.split('.')
+configuration.set_quoted('RAWRTCC_VERSION', version)
+configuration.set('RAWRTCC_VERSION_MAJOR', version_array[0])
+configuration.set('RAWRTCC_VERSION_MINOR', version_array[1])
+configuration.set('RAWRTCC_VERSION_PATCH', version_array[2])
+
+# Set debug level
+configuration.set('RAWRTC_DEBUG_LEVEL', get_option('debug_level'))
+
+# Includes
+include_dir = include_directories('include')
+subdir('include')
+
+# Sources
+subdir('src')
+
+# Build library
+rawrtcc = library(meson.project_name(), sources,
+ dependencies: dependencies,
+ include_directories: include_dir,
+ install: true,
+ version: version)
+
+# Declare dependency
+rawrtcc_dep = declare_dependency(
+ include_directories: include_dir,
+ link_with: rawrtcc)
+
+# Generate pkg-config file
+pkg = import('pkgconfig')
+pkg.generate(rawrtcc,
+ name: meson.project_name(),
+ description: 'Common code used in RAWRTC projects.',
+ url: 'https://github.com/rawrtc/rawrtc-common')