From 90174c38fd7f250b741921fc8840fb89a5b68993 Mon Sep 17 00:00:00 2001
From: swym <0xfd000000@gmail.com>
Date: Thu, 22 Aug 2019 22:57:51 +0200
Subject: [PATCH] add jailbreak_card10 meson option

---
 epicardium/meson.build         | 9 +++++++++
 epicardium/modules/lifecycle.c | 2 ++
 meson_options.txt              | 8 ++++++++
 3 files changed, 19 insertions(+)

diff --git a/epicardium/meson.build b/epicardium/meson.build
index ea28d366..1aa55560 100644
--- a/epicardium/meson.build
+++ b/epicardium/meson.build
@@ -70,6 +70,14 @@ subdir('ble/')
 
 subdir('l0der/')
 
+epicardium_cargs = []
+if get_option('jailbreak_card10')
+  epicardium_cargs += [
+    '-DJAILBREAK_CARD10=1',
+  ]
+endif
+
+
 elf = executable(
   name + '.elf',
   'cdcacm.c',
@@ -88,6 +96,7 @@ elf = executable(
     '-Wl,-Map=' + meson.current_build_dir() + '/' + name + '.map',
     '-Wl,--defsym=_write=_write_epicardium',
   ],
+  c_args: epicardium_cargs,
 )
 
 epicardium_bin = custom_target(
diff --git a/epicardium/modules/lifecycle.c b/epicardium/modules/lifecycle.c
index c73084ca..375cfef6 100644
--- a/epicardium/modules/lifecycle.c
+++ b/epicardium/modules/lifecycle.c
@@ -88,7 +88,9 @@ static int load_stat(char *name)
  */
 static int do_load(struct load_info *info)
 {
+#if defined(JAILBREAK_CARD10) && (JAILBREAK_CARD10 == 1)
 	struct l0dable_info l0dable;
+#endif
 	int res;
 
 	if (*info->name == '\0') {
diff --git a/meson_options.txt b/meson_options.txt
index 0bff7f44..a626628f 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -21,3 +21,11 @@ option(
 
   description: 'Whether to enable WSF TRACE prints',
 )
+
+option(
+  'jailbreak_card10',
+  type: 'boolean',
+  value: false,
+
+  description: 'Enable execution of .elf l0dables',
+)
-- 
GitLab