From 4d2cbd0095873433c5faec1846696960c32213cf Mon Sep 17 00:00:00 2001
From: Twinaphex <autechre1024@hotmail.com>
Date: Mon, 17 Sep 2012 05:35:36 +0200
Subject: [PATCH] (Android/HAVE_DYLIB) Add dynamic libretro path loading to
 rarch_startup

---
 console/rarch_console_main_wrap.c | 11 +++++++++++
 console/rarch_console_main_wrap.h |  3 +++
 2 files changed, 14 insertions(+)

diff --git a/console/rarch_console_main_wrap.c b/console/rarch_console_main_wrap.c
index b32fe8a593..f9ffa18a00 100644
--- a/console/rarch_console_main_wrap.c
+++ b/console/rarch_console_main_wrap.c
@@ -49,6 +49,14 @@ static int rarch_main_init_wrap(const struct rarch_main_wrap *args)
       argv[argc++] = strdup(args->config_path);
    }
 
+#ifdef HAVE_DYLIB
+   if (args->libretro_path)
+   {
+      argv[argc++] = strdup("-L");
+      argv[argc++] = strdup(args->libretro_path);
+   }
+#endif
+
    if (args->verbose)
       argv[argc++] = strdup("-v");
 
@@ -87,6 +95,9 @@ bool rarch_startup (const char * config_path)
       args.sram_path = g_console.default_sram_dir_enable ? g_console.default_sram_dir : NULL,
       args.state_path = g_console.default_savestate_dir_enable ? g_console.default_savestate_dir : NULL,
       args.rom_path = g_console.rom_path;
+#ifdef HAVE_DYLIB
+      args.libretro_path = g_settings.libretro;
+#endif
 
       int init_ret = rarch_main_init_wrap(&args);
       (void)init_ret;
diff --git a/console/rarch_console_main_wrap.h b/console/rarch_console_main_wrap.h
index 919cb84fac..9a4415d654 100644
--- a/console/rarch_console_main_wrap.h
+++ b/console/rarch_console_main_wrap.h
@@ -23,6 +23,9 @@ struct rarch_main_wrap
    const char *sram_path;
    const char *state_path;
    const char *config_path;
+#ifdef HAVE_DYLIB
+   const char *libretro_path;
+#endif
    bool verbose;
 };