diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2020-11-27 13:46:27 +0000 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2020-11-27 13:46:27 +0000 |
commit | d61b5d71fbb4259989f830692d15a6367ce94261 (patch) | |
tree | 91a5509419135111ee8da864d369ce9e339c623d | |
parent | 5146a4ff324397e5e7ad0b9712e476ee48a8eb86 (diff) | |
parent | 0b669b5fbe4d3c25a682a67f1059d8633c963b3d (diff) | |
download | slirp-d61b5d71fbb4259989f830692d15a6367ce94261.zip slirp-d61b5d71fbb4259989f830692d15a6367ce94261.tar.gz slirp-d61b5d71fbb4259989f830692d15a6367ce94261.tar.bz2 |
Merge branch 'master' into 'master'
meson: support compiling as subproject
See merge request slirp/libslirp!53
-rwxr-xr-x | build-aux/meson-dist | 16 | ||||
-rw-r--r-- | meson.build | 66 | ||||
-rw-r--r-- | meson_options.txt | 2 |
3 files changed, 43 insertions, 41 deletions
diff --git a/build-aux/meson-dist b/build-aux/meson-dist deleted file mode 100755 index 80d534f..0000000 --- a/build-aux/meson-dist +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -e -set -o pipefail - -if test "$1" = ""; then - echo "Version not provided" >&2 - exit 1 -fi -if ! test -d "$2"; then - echo "Source directory not provided" >&2 - exit 1 -fi - -# generate tarball version -echo "$1" > "$MESON_DIST_ROOT/.tarball-version" diff --git a/meson.build b/meson.build index 2d67ae1..cb7fc47 100644 --- a/meson.build +++ b/meson.build @@ -1,12 +1,10 @@ project('libslirp', 'c', - version : run_command('build-aux/git-version-gen', '@0@/.tarball-version'.format(meson.source_root()), check : true).stdout().strip(), + version : '4.3.1', license : 'BSD-3-Clause', default_options : ['warning_level=1', 'c_std=gnu99'], - meson_version : '>= 0.49', + meson_version : '>= 0.50', ) -meson.add_dist_script('build-aux/meson-dist', meson.project_version(), meson.source_root()) - version = meson.project_version() varr = version.split('.') major_version = varr[0] @@ -17,7 +15,17 @@ conf = configuration_data() conf.set('SLIRP_MAJOR_VERSION', major_version) conf.set('SLIRP_MINOR_VERSION', minor_version) conf.set('SLIRP_MICRO_VERSION', micro_version) -conf.set_quoted('SLIRP_VERSION_STRING', version) + +full_version = run_command('build-aux/git-version-gen', + '@0@/.tarball-version'.format(meson.current_source_dir()), + check : true).stdout().strip() +if full_version.startswith('UNKNOWN') + full_version = meson.project_version() +elif not full_version.startswith(meson.project_version()) + error('meson.build project version @0@ does not match git-describe output @1@' + .format(meson.project_version(), full_version)) +endif +conf.set_quoted('SLIRP_VERSION_STRING', full_version + get_option('version_suffix')) # libtool versioning - this applies to libslirp # @@ -105,9 +113,12 @@ if cc.has_link_argument(vflag_test) vflag += vflag_test endif +install_devel = not meson.is_subproject() + configure_file( input : 'src/libslirp-version.h.in', output : 'libslirp-version.h', + install : install_devel, install_dir : join_paths(get_option('includedir'), 'slirp'), configuration : conf ) @@ -118,25 +129,30 @@ lib = library('slirp', sources, link_args : vflag, link_depends : mapfile, dependencies : [glib_dep, platform_deps], - install : true + install : install_devel or get_option('default_library') == 'shared', ) -libslirp_dep = declare_dependency( - include_directories: include_directories('.', 'src'), - link_with: lib) - -install_headers(['src/libslirp.h'], subdir : 'slirp') - -pkg = import('pkgconfig') - -pkg.generate( - version : version, - libraries : lib, - requires : [ - 'glib-2.0', - ], - name : 'slirp', - description : 'User-space network stack', - filebase : 'slirp', - subdirs : 'slirp', -) +if install_devel + install_headers(['src/libslirp.h'], subdir : 'slirp') + + pkg = import('pkgconfig') + + pkg.generate( + version : version, + libraries : lib, + requires : [ + 'glib-2.0', + ], + name : 'slirp', + description : 'User-space network stack', + filebase : 'slirp', + subdirs : 'slirp', + ) +else + if get_option('default_library') == 'both' + lib = lib.get_static_lib() + endif + libslirp_dep = declare_dependency( + include_directories: include_directories('.', 'src'), + link_with: lib) +endif diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..27e7c80 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,2 @@ +option('version_suffix', type: 'string', value: '', + description: 'Suffix to append to SLIRP_VERSION_STRING') |