aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Weißmann <volker.weissmann@gmx.de>2023-04-27 19:10:32 +0200
committerNirbheek Chauhan <nirbheek@centricular.com>2023-05-24 02:02:52 +0530
commit6696a754ae289a35105e9fe4c6e537b9b827f1fe (patch)
tree8fe4ab3dba7147ce38beab3fbf979c9006d4b4c3
parent22163998be40fa002a5239c8ddfb3880a8f198b5 (diff)
downloadmeson-6696a754ae289a35105e9fe4c6e537b9b827f1fe.zip
meson-6696a754ae289a35105e9fe4c6e537b9b827f1fe.tar.gz
meson-6696a754ae289a35105e9fe4c6e537b9b827f1fe.tar.bz2
Don't use dyndep scanner when preprocessing
Fixes #11504
-rw-r--r--mesonbuild/backend/ninjabackend.py2
-rw-r--r--test cases/fortran/22 preprocess/main.f904
-rw-r--r--test cases/fortran/22 preprocess/meson.build7
3 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 55bd130..2810381 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -2917,6 +2917,8 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
def add_dependency_scanner_entries_to_element(self, target, compiler, element, src):
if not self.should_use_dyndeps_for_target(target):
return
+ if isinstance(target, build.CompileTarget):
+ return
extension = os.path.splitext(src.fname)[1][1:]
if extension != 'C':
extension = extension.lower()
diff --git a/test cases/fortran/22 preprocess/main.f90 b/test cases/fortran/22 preprocess/main.f90
new file mode 100644
index 0000000..7cbc11c
--- /dev/null
+++ b/test cases/fortran/22 preprocess/main.f90
@@ -0,0 +1,4 @@
+#define MYDEF program
+MYDEF foo
+ write (*,*) 'Hello, world!'
+end MYDEF foo
diff --git a/test cases/fortran/22 preprocess/meson.build b/test cases/fortran/22 preprocess/meson.build
new file mode 100644
index 0000000..b776940
--- /dev/null
+++ b/test cases/fortran/22 preprocess/meson.build
@@ -0,0 +1,7 @@
+project('preprocess', 'fortran')
+
+fc = meson.get_compiler('fortran')
+
+pp_files = fc.preprocess('main.f90', output: '@PLAINNAME@')
+
+library('foo', pp_files)