From d195daa93c59e962b90b5dc7670906092dbf7a15 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@uni-potsdam.de>
Date: Wed, 12 Jun 2024 14:14:16 +0200
Subject: [PATCH] rodinia-srad: c: Convert to meson

---
 meson_options.txt                         |  5 ++++
 src/benchmarks/meson.build                |  1 +
 src/benchmarks/rodinia-srad/c/Makefile    | 33 -----------------------
 src/benchmarks/rodinia-srad/c/meson.build | 25 +++++++++++++++++
 src/benchmarks/rodinia-srad/meson.build   |  1 +
 5 files changed, 32 insertions(+), 33 deletions(-)
 create mode 100644 meson_options.txt
 delete mode 100644 src/benchmarks/rodinia-srad/c/Makefile
 create mode 100644 src/benchmarks/rodinia-srad/c/meson.build
 create mode 100644 src/benchmarks/rodinia-srad/meson.build

diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 00000000..a9aec457
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,5 @@
+option(
+	'rodinia_srad_output',
+	type: 'boolean',
+	value: false,
+)
diff --git a/src/benchmarks/meson.build b/src/benchmarks/meson.build
index cd38a8b2..a95dbb5b 100644
--- a/src/benchmarks/meson.build
+++ b/src/benchmarks/meson.build
@@ -1 +1,2 @@
+subdir('rodinia-srad')
 subdir('zellularautomat')
diff --git a/src/benchmarks/rodinia-srad/c/Makefile b/src/benchmarks/rodinia-srad/c/Makefile
deleted file mode 100644
index 9bd5dd3c..00000000
--- a/src/benchmarks/rodinia-srad/c/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-SHELL=/bin/sh -ue
-
-CFLAGS   += -O2
-CXXFLAGS += -O2
-
-ifdef OUTPUT
-CPPFLAGS += -DOUTPUT
-endif
-
-ifdef DEBUG
-CFLAGS   += -g
-CXXFLAGS += -g
-endif
-
-# include Make.user relative to every active Makefile, exactly once
-MAKEFILE_DIRS = $(foreach MAKEFILE,$(realpath $(MAKEFILE_LIST)), $(shell dirname $(MAKEFILE)))
-$(foreach DIR,$(sort $(MAKEFILE_DIRS)),\
-	$(eval -include $(DIR)/Make.user)\
-)
-
-CFLAGS   += -fopenmp
-CXXFLAGS += -fopenmp
-LDLIBS   += -fopenmp
-
-EXE  = srad
-
-.PHONY: all
-all: $(EXE)
-
-.PHONY: clean
-clean:
-	$(RM) $(EXE)
-
diff --git a/src/benchmarks/rodinia-srad/c/meson.build b/src/benchmarks/rodinia-srad/c/meson.build
new file mode 100644
index 00000000..7d5ee092
--- /dev/null
+++ b/src/benchmarks/rodinia-srad/c/meson.build
@@ -0,0 +1,25 @@
+sources = [
+	'srad.cpp',
+]
+
+dependencies = [
+	dependency('openmp'),
+]
+
+options = [
+	'c_std=c99',
+]
+
+cxxflags = []
+
+if get_option('rodinia_srad_output')
+	cxxflags += ['-DOUTPUT']
+endif
+
+executable(
+	'rodinia-srad-c',
+	sources,
+	cpp_args: cxxflags,
+	dependencies: dependencies,
+	override_options: options,
+)
diff --git a/src/benchmarks/rodinia-srad/meson.build b/src/benchmarks/rodinia-srad/meson.build
new file mode 100644
index 00000000..76d1974f
--- /dev/null
+++ b/src/benchmarks/rodinia-srad/meson.build
@@ -0,0 +1 @@
+subdir('c')
-- 
GitLab