From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Wed, 4 Oct 2023 21:57:36 +0200 Subject: [PATCH] Revert "rust: apply global, project, and environment C args to bindgen" Applying CFLAGS from the project (which were tested against GCC) to bindgen (which uses Clang) breaks Mesa's build, see https://github.com/mesonbuild/meson/issues/12326. This reverts commit 36210f64f22dc10d324db76bb1a7988c9cd5b14e. --- mesonbuild/modules/rust.py | 6 ------ test cases/rust/12 bindgen/meson.build | 18 ------------------ .../rust/12 bindgen/src/global-project.h | 10 ---------- test cases/rust/12 bindgen/src/global.c | 5 ----- test cases/rust/12 bindgen/src/global.rs | 14 -------------- test cases/rust/12 bindgen/test.json | 5 +---- 6 files changed, 1 insertion(+), 57 deletions(-) delete mode 100644 test cases/rust/12 bindgen/src/global-project.h delete mode 100644 test cases/rust/12 bindgen/src/global.c delete mode 100644 test cases/rust/12 bindgen/src/global.rs diff --git a/mesonbuild/modules/rust.py b/mesonbuild/modules/rust.py index e6e5c633ff11..3514412e65df 100644 --- a/mesonbuild/modules/rust.py +++ b/mesonbuild/modules/rust.py @@ -232,12 +232,6 @@ class RustModule(ExtensionModule): elif isinstance(s, CustomTarget): depends.append(s) - clang_args.extend(state.global_args.get('c', [])) - clang_args.extend(state.project_args.get('c', [])) - cargs = state.get_option('args', state.subproject, lang='c') - assert isinstance(cargs, list), 'for mypy' - clang_args.extend(cargs) - if self._bindgen_bin is None: self._bindgen_bin = state.find_program('bindgen') diff --git a/test cases/rust/12 bindgen/meson.build b/test cases/rust/12 bindgen/meson.build index e7cb5f3db2c0..c05cc063136c 100644 --- a/test cases/rust/12 bindgen/meson.build +++ b/test cases/rust/12 bindgen/meson.build @@ -8,9 +8,6 @@ if not prog_bindgen.found() error('MESON_SKIP_TEST bindgen not found') endif -add_project_arguments('-DPROJECT_ARG', language : 'c') -add_global_arguments('-DGLOBAL_ARG', language : 'c') - # This seems to happen on windows when libclang.dll is not in path or is not # valid. We must try to process a header file for this to work. # @@ -84,18 +81,3 @@ test('generated header', rust_bin2) subdir('sub') subdir('dependencies') - -gp = rust.bindgen( - input : 'src/global-project.h', - output : 'global-project.rs', -) - -gp_lib = static_library('gp_lib', 'src/global.c') - -gp_exe = executable( - 'gp_exe', - structured_sources(['src/global.rs', gp]), - link_with : gp_lib, -) - -test('global and project arguments', gp_exe) diff --git a/test cases/rust/12 bindgen/src/global-project.h b/test cases/rust/12 bindgen/src/global-project.h deleted file mode 100644 index 6084e8ed6b0b..000000000000 --- a/test cases/rust/12 bindgen/src/global-project.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GLOBAL_ARG -char * success(void); -#endif -#ifndef PROJECT_ARG -char * success(void); -#endif -#ifndef CMD_ARG -char * success(void); -#endif -int success(void); diff --git a/test cases/rust/12 bindgen/src/global.c b/test cases/rust/12 bindgen/src/global.c deleted file mode 100644 index 10f6676f7a1b..000000000000 --- a/test cases/rust/12 bindgen/src/global.c +++ /dev/null @@ -1,5 +0,0 @@ -#include "src/global-project.h" - -int success(void) { - return 0; -} diff --git a/test cases/rust/12 bindgen/src/global.rs b/test cases/rust/12 bindgen/src/global.rs deleted file mode 100644 index 4b70b1ecc728..000000000000 --- a/test cases/rust/12 bindgen/src/global.rs +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-license-identifer: Apache-2.0 -// Copyright © 2023 Intel Corporation - -#![allow(non_upper_case_globals)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] - -include!("global-project.rs"); - -fn main() { - unsafe { - std::process::exit(success()); - }; -} diff --git a/test cases/rust/12 bindgen/test.json b/test cases/rust/12 bindgen/test.json index b3a758562969..f94ee85f9740 100644 --- a/test cases/rust/12 bindgen/test.json +++ b/test cases/rust/12 bindgen/test.json @@ -1,10 +1,7 @@ { - "env": { - "CFLAGS": "-DCMD_ARG" - }, "stdout": [ { - "line": "test cases/rust/12 bindgen/meson.build:30: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]." + "line": "test cases/rust/12 bindgen/meson.build:27: WARNING: Project targets '>= 0.63' but uses feature introduced in '1.0.0': \"rust.bindgen\" keyword argument \"include_directories\" of type array[str]." } ] }