diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-05 20:26:36 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-05 20:26:36 +0300 |
commit | 606dfed39f25e73de665a10c6a8dc052da0f01f6 (patch) | |
tree | b9aab0bdc2cbdc6bdd15389dc0c671152c9e3e27 /test cases | |
parent | c02009a6989710714cc0e2becc9cad11d4b0381d (diff) | |
parent | 68fdef88cbf3a9c0a08b565c40879102f753f19a (diff) | |
download | meson-606dfed39f25e73de665a10c6a8dc052da0f01f6.zip meson-606dfed39f25e73de665a10c6a8dc052da0f01f6.tar.gz meson-606dfed39f25e73de665a10c6a8dc052da0f01f6.tar.bz2 |
Merge pull request #274 from mesonbuild/privinc
Make it possible to expose private directory for header inclusion
Diffstat (limited to 'test cases')
7 files changed, 57 insertions, 0 deletions
diff --git a/test cases/common/93 private include/meson.build b/test cases/common/93 private include/meson.build new file mode 100644 index 0000000..2485fbf --- /dev/null +++ b/test cases/common/93 private include/meson.build @@ -0,0 +1,4 @@ +project('access private', 'c') + +subdir('stlib') +subdir('user') diff --git a/test cases/common/93 private include/stlib/compiler.py b/test cases/common/93 private include/stlib/compiler.py new file mode 100755 index 0000000..3e74c88 --- /dev/null +++ b/test cases/common/93 private include/stlib/compiler.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 + +import sys, os + +assert(len(sys.argv) == 3) + +h_templ = '''#pragma once +unsigned int %s(); +''' + +c_templ = '''#include"%s.h" + +unsigned int %s() { + return 0; +} +''' + +ifile = sys.argv[1] +outdir = sys.argv[2] + +base = os.path.splitext(os.path.split(ifile)[-1])[0] + +cfile = os.path.join(outdir, base + '.c') +hfile = os.path.join(outdir, base + '.h') + +c_code = c_templ % (base, base) +h_code = h_templ % base + +open(cfile, 'w').write(c_code) +open(hfile, 'w').write(h_code) diff --git a/test cases/common/93 private include/stlib/foo1.def b/test cases/common/93 private include/stlib/foo1.def new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test cases/common/93 private include/stlib/foo1.def diff --git a/test cases/common/93 private include/stlib/foo2.def b/test cases/common/93 private include/stlib/foo2.def new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test cases/common/93 private include/stlib/foo2.def diff --git a/test cases/common/93 private include/stlib/meson.build b/test cases/common/93 private include/stlib/meson.build new file mode 100644 index 0000000..8d70650 --- /dev/null +++ b/test cases/common/93 private include/stlib/meson.build @@ -0,0 +1,12 @@ +genbin = find_program('compiler.py') + +gen = generator(genbin, + output : ['@BASENAME@.h', '@BASENAME@.c'], + arguments : ['@INPUT@', '@BUILD_DIR@'] + ) + +defs = ['foo1.def', 'foo2.def'] +generated = gen.process(defs) + +stlib = static_library('st', generated) +st_priv_inc = stlib.private_dir_include() diff --git a/test cases/common/93 private include/user/libuser.c b/test cases/common/93 private include/user/libuser.c new file mode 100644 index 0000000..a74a973 --- /dev/null +++ b/test cases/common/93 private include/user/libuser.c @@ -0,0 +1,6 @@ +#include"foo1.h" +#include"foo2.h" + +int main(int argc, char **argv) { + return foo1() + foo2(); +} diff --git a/test cases/common/93 private include/user/meson.build b/test cases/common/93 private include/user/meson.build new file mode 100644 index 0000000..ab88b1d --- /dev/null +++ b/test cases/common/93 private include/user/meson.build @@ -0,0 +1,5 @@ +exe = executable('libuser', 'libuser.c', + link_with : stlib, + include_directories : st_priv_inc) + +test('libuser', exe) |