diff options
author | John Ericson <git@JohnEricson.me> | 2019-04-10 08:05:00 -0400 |
---|---|---|
committer | John Ericson <git@JohnEricson.me> | 2019-06-09 13:14:55 -0400 |
commit | 6d6af46edcb765d7046533fdad4d03b0c0c9cd64 (patch) | |
tree | fcf837f88ac4c9c4309636e5fe15c682f95f3329 /test cases | |
parent | b9d7e98e599776f58590b0a81f343eb676c8393d (diff) | |
download | meson-6d6af46edcb765d7046533fdad4d03b0c0c9cd64.zip meson-6d6af46edcb765d7046533fdad4d03b0c0c9cd64.tar.gz meson-6d6af46edcb765d7046533fdad4d03b0c0c9cd64.tar.bz2 |
Make test for identity
(cherry picked from commit ae6426cd8acfe0ccc5d7958d55edb613b4a5bf01)
Diffstat (limited to 'test cases')
-rwxr-xr-x | test cases/unit/58 identity cross/build_wrapper.py | 5 | ||||
-rwxr-xr-x | test cases/unit/58 identity cross/host_wrapper.py | 5 | ||||
-rw-r--r-- | test cases/unit/58 identity cross/meson.build | 15 | ||||
-rw-r--r-- | test cases/unit/58 identity cross/stuff.h | 27 |
4 files changed, 52 insertions, 0 deletions
diff --git a/test cases/unit/58 identity cross/build_wrapper.py b/test cases/unit/58 identity cross/build_wrapper.py new file mode 100755 index 0000000..22e8b5d --- /dev/null +++ b/test cases/unit/58 identity cross/build_wrapper.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import subprocess, sys + +subprocess.call(["cc", "-DEXTERNAL_BUILD"] + sys.argv[1:]) diff --git a/test cases/unit/58 identity cross/host_wrapper.py b/test cases/unit/58 identity cross/host_wrapper.py new file mode 100755 index 0000000..5b4eed8 --- /dev/null +++ b/test cases/unit/58 identity cross/host_wrapper.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import subprocess, sys + +subprocess.call(["cc", "-DEXTERNAL_HOST"] + sys.argv[1:]) diff --git a/test cases/unit/58 identity cross/meson.build b/test cases/unit/58 identity cross/meson.build new file mode 100644 index 0000000..950137a --- /dev/null +++ b/test cases/unit/58 identity cross/meson.build @@ -0,0 +1,15 @@ +project('identity cross test', 'c') + +assert(meson.get_compiler('c', native: true).get_define( + 'GOT', + args : [ '-DARG_BUILD' ], + prefix : '#include "stuff.h"', + include_directories: include_directories('.'), +) == 'BUILD', 'did not get BUILD from native: true compiler') + +assert(meson.get_compiler('c', native: false).get_define( + 'GOT', + args : [ '-DARG_HOST' ], + prefix : '#include "stuff.h"', + include_directories: include_directories('.'), +) == 'HOST', 'did not get HOST from native: false compiler') diff --git a/test cases/unit/58 identity cross/stuff.h b/test cases/unit/58 identity cross/stuff.h new file mode 100644 index 0000000..62f1cc9 --- /dev/null +++ b/test cases/unit/58 identity cross/stuff.h @@ -0,0 +1,27 @@ +#ifdef EXTERNAL_BUILD + #ifndef ARG_BUILD + #error "External is build but arg_build is not set." + #elif defined(ARG_HOST) + #error "External is build but arg_host is set." + #else + #define GOT BUILD + #endif +#endif + +#ifdef EXTERNAL_HOST + #ifndef ARG_HOST + #error "External is host but arg_host is not set." + #elif defined(ARG_BUILD) + #error "External is host but arg_build is set." + #else + #define GOT HOST + #endif +#endif + +#if defined(EXTERNAL_BUILD) && defined(EXTERNAL_HOST) + #error "Both external build and external host set." +#endif + +#if !defined(EXTERNAL_BUILD) && !defined(EXTERNAL_HOST) + #error "Neither external build nor external host is set." +#endif |