aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-05-21 19:35:36 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2016-05-21 19:35:36 +0300
commit695aa0b8c28a0069d0e999aa039a60951b440ea4 (patch)
tree7a380df9f1e5b89eaec37512f799977faa31877b
parent0e469426dd799942376dd4ea96ea35ceae7f2cf8 (diff)
downloadmeson-695aa0b8c28a0069d0e999aa039a60951b440ea4.zip
meson-695aa0b8c28a0069d0e999aa039a60951b440ea4.tar.gz
meson-695aa0b8c28a0069d0e999aa039a60951b440ea4.tar.bz2
Made cstdlib a subproject.
-rw-r--r--cross/ownstdlib.txt13
-rw-r--r--manual tests/9 nostdlib/meson.build (renamed from test cases/ownstdlib/1 libc/meson.build)10
-rw-r--r--manual tests/9 nostdlib/prog.c (renamed from test cases/ownstdlib/1 libc/prog.c)0
-rw-r--r--manual tests/9 nostdlib/subprojects/mylibc/libc.c (renamed from test cases/ownstdlib/1 libc/libc.c)0
-rw-r--r--manual tests/9 nostdlib/subprojects/mylibc/meson.build12
-rw-r--r--manual tests/9 nostdlib/subprojects/mylibc/stdio.h (renamed from test cases/ownstdlib/1 libc/stdio.h)0
-rw-r--r--manual tests/9 nostdlib/subprojects/mylibc/stubstart.s (renamed from test cases/ownstdlib/1 libc/stubstart.s)0
7 files changed, 28 insertions, 7 deletions
diff --git a/cross/ownstdlib.txt b/cross/ownstdlib.txt
new file mode 100644
index 0000000..46e99f7
--- /dev/null
+++ b/cross/ownstdlib.txt
@@ -0,0 +1,13 @@
+# This is a setup for compiling a program that runs natively
+# but uses a custom std lib. This test will only work on
+# x86_64.
+
+[target_machine]
+system = 'linux'
+cpu_family = 'x86_64'
+cpu = 'x86_64'
+endian = 'little'
+
+[properties]
+
+c_stdlib = ['mylibc', 'mylibc_dep'] # Subproject name, dependency name
diff --git a/test cases/ownstdlib/1 libc/meson.build b/manual tests/9 nostdlib/meson.build
index 1151926..ad5b7b9 100644
--- a/test cases/ownstdlib/1 libc/meson.build
+++ b/manual tests/9 nostdlib/meson.build
@@ -2,17 +2,13 @@ project('own libc', 'c')
# A simple project that uses its own libc.
-# Start with manual flags to compile, then add platform support.
-
-libc = static_library('c', 'libc.c', 'stubstart.s',
- c_args : '-nostdlib',
- link_args : '-nostdlib',
-)
+libc_proj = subproject('mylibc')
+libc_dep = libc_proj.get_variable('mylibc_dep')
exe = executable('selfcontained', 'prog.c',
c_args : '-nostdlib',
link_args : '-nostdlib',
- link_with : libc,
+ dependencies : libc_dep,
)
test('standalone test', exe)
diff --git a/test cases/ownstdlib/1 libc/prog.c b/manual tests/9 nostdlib/prog.c
index 9414bce..9414bce 100644
--- a/test cases/ownstdlib/1 libc/prog.c
+++ b/manual tests/9 nostdlib/prog.c
diff --git a/test cases/ownstdlib/1 libc/libc.c b/manual tests/9 nostdlib/subprojects/mylibc/libc.c
index 67261cb..67261cb 100644
--- a/test cases/ownstdlib/1 libc/libc.c
+++ b/manual tests/9 nostdlib/subprojects/mylibc/libc.c
diff --git a/manual tests/9 nostdlib/subprojects/mylibc/meson.build b/manual tests/9 nostdlib/subprojects/mylibc/meson.build
new file mode 100644
index 0000000..9d1fed8
--- /dev/null
+++ b/manual tests/9 nostdlib/subprojects/mylibc/meson.build
@@ -0,0 +1,12 @@
+project('own libc', 'c')
+
+# A very simple libc implementation
+
+# Start with manual flags to compile, then add platform support.
+
+libc = static_library('c', 'libc.c', 'stubstart.s',
+)
+
+mylibc_dep = declare_dependency(link_with : libc,
+ include_directories : include_directories('.')
+)
diff --git a/test cases/ownstdlib/1 libc/stdio.h b/manual tests/9 nostdlib/subprojects/mylibc/stdio.h
index c3f8f56..c3f8f56 100644
--- a/test cases/ownstdlib/1 libc/stdio.h
+++ b/manual tests/9 nostdlib/subprojects/mylibc/stdio.h
diff --git a/test cases/ownstdlib/1 libc/stubstart.s b/manual tests/9 nostdlib/subprojects/mylibc/stubstart.s
index 0a6d972..0a6d972 100644
--- a/test cases/ownstdlib/1 libc/stubstart.s
+++ b/manual tests/9 nostdlib/subprojects/mylibc/stubstart.s