Also add support for lists in cross files, I thought this was the intention all along.pull/5255/head
parent
9f48f5fe94
commit
d2527eb684
5 changed files with 65 additions and 0 deletions
@ -0,0 +1,5 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
import subprocess, sys |
||||
|
||||
subprocess.call(["cc", "-DEXTERNAL_BUILD"] + sys.argv[1:]) |
@ -0,0 +1,5 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
import subprocess, sys |
||||
|
||||
subprocess.call(["cc", "-DEXTERNAL_HOST"] + sys.argv[1:]) |
@ -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') |
@ -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 |
Loading…
Reference in new issue