diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-03 23:18:40 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2015-10-03 23:18:40 +0300 |
commit | a9ec9ba104b78f657482846b84dae39385ab08de (patch) | |
tree | 15cbc2a15f6077f448bea5f21eacbd6d54291d3e /test cases | |
parent | 7bb28ef3c87f4f19daf83f4f564d9e3338eff10a (diff) | |
download | meson-a9ec9ba104b78f657482846b84dae39385ab08de.zip meson-a9ec9ba104b78f657482846b84dae39385ab08de.tar.gz meson-a9ec9ba104b78f657482846b84dae39385ab08de.tar.bz2 |
Basic outline for exposing private dir. Not working fully yet.
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) |