aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2018-07-20 23:32:55 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2018-08-22 23:22:48 +0300
commit54aed1a92c282b88060a32586d47fd86a4866f03 (patch)
tree59cdcebd6d7d075a7145b2e9c3b45692a13ccf06 /test cases
parent6cd71a8033f54fe12e7f2d48fb660fee29e7efb9 (diff)
downloadmeson-54aed1a92c282b88060a32586d47fd86a4866f03.zip
meson-54aed1a92c282b88060a32586d47fd86a4866f03.tar.gz
meson-54aed1a92c282b88060a32586d47fd86a4866f03.tar.bz2
Added "native" kwarg to add_XXX_args. Closes #3669.
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/21 global arg/meson.build11
-rw-r--r--test cases/common/21 global arg/prog.c36
2 files changed, 46 insertions, 1 deletions
diff --git a/test cases/common/21 global arg/meson.build b/test cases/common/21 global arg/meson.build
index d7fd428..699dae6 100644
--- a/test cases/common/21 global arg/meson.build
+++ b/test cases/common/21 global arg/meson.build
@@ -3,9 +3,18 @@ project('global arg test', 'cpp', 'c')
add_global_arguments('-DMYTHING', language : 'c')
add_global_arguments('-DMYCPPTHING', language : 'cpp')
+add_global_arguments('-DGLOBAL_NATIVE', language : 'c', native : true)
+add_global_arguments('-DGLOBAL_CROSS', language : 'c', native : false)
+
+if meson.is_cross_build()
+ c_args = ['-DARG_CROSS']
+else
+ c_args = ['-DARG_NATIVE']
+endif
+
add_global_arguments('-DMYCANDCPPTHING', language: ['c', 'cpp'])
-exe1 = executable('prog', 'prog.c')
+exe1 = executable('prog', 'prog.c', c_args : c_args)
exe2 = executable('prog2', 'prog.cc')
test('prog1', exe1)
diff --git a/test cases/common/21 global arg/prog.c b/test cases/common/21 global arg/prog.c
index ace5a0a..fb014c7 100644
--- a/test cases/common/21 global arg/prog.c
+++ b/test cases/common/21 global arg/prog.c
@@ -10,6 +10,42 @@
#error "Global argument not set"
#endif
+#ifdef GLOBAL_NATIVE
+ #ifndef ARG_NATIVE
+ #error "Global is native but arg_native is not set."
+ #endif
+
+ #ifdef GLOBAL_CROSS
+ #error "Both global native and global cross set."
+ #endif
+#else
+ #ifndef GLOBAL_CROSS
+ #error "Neither global_cross nor glogal_native is set."
+ #endif
+
+ #ifndef ARG_CROSS
+ #error "Global is cross but arg_cross is not set."
+ #endif
+
+ #ifdef ARG_NATIVE
+ #error "Global is cross but arg_native is set."
+ #endif
+#endif
+
+#ifdef GLOBAL_CROSS
+ #ifndef ARG_CROSS
+ #error "Global is cross but arg_cross is not set."
+ #endif
+#else
+ #ifdef ARG_CROSS
+ #error "Global is cross but arg_native is set."
+ #endif
+
+ #ifdef ARG_CROSS
+ #error "Global is native but arg cross is set."
+ #endif
+#endif
+
int main(int argc, char **argv) {
return 0;
}