diff options
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/build_utils/__init__.py | 38 | ||||
-rw-r--r-- | numpy/core/bscript | 1 |
2 files changed, 39 insertions, 0 deletions
diff --git a/numpy/build_utils/__init__.py b/numpy/build_utils/__init__.py index d25458fc6..9789e09d9 100644 --- a/numpy/build_utils/__init__.py +++ b/numpy/build_utils/__init__.py @@ -288,6 +288,44 @@ int main (void) return ret @waflib.Configure.conf +def check_inline(conf, **kw): + validate_arguments(conf, kw) + + code = """ +#ifndef __cplusplus +static %(inline)s int static_func (void) +{ + return 0; +} +%(inline)s int nostatic_func (void) +{ + return 0; +} +#endif""" + + conf.start_msg("Checking for inline support") + inline = None + for k in ['inline', '__inline__', '__inline']: + try: + kw["code"] = code % {"inline": k} + ret = conf.run_c_code(**kw) + inline = k + break + except conf.errors.ConfigurationError: + pass + + if inline is None: + conf.end_msg("failed", 'YELLOW') + if Logs.verbose > 1: + raise + else: + conf.fatal('The configuration failed') + else: + kw['success'] = ret + conf.end_msg(inline) + return inline + +@waflib.Configure.conf def post_check(self, *k, **kw): "set the variables after a test was run successfully" diff --git a/numpy/core/bscript b/numpy/core/bscript index b8baafe17..b0b45d720 100644 --- a/numpy/core/bscript +++ b/numpy/core/bscript @@ -216,6 +216,7 @@ def configure(context): type_checks(conf) signal_smp_checks(conf) check_math_runtime(conf) + numpy.build_utils.check_inline(conf) conf.env["CONFIG_HEADER_TEMPLATE"] = """\ %(content)s |