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