Merge "option: add -qemu-top-dir" into emu-3.1-release
diff --git a/android/emulator/main-emulator.cpp b/android/emulator/main-emulator.cpp
index 2630916..f059f63 100644
--- a/android/emulator/main-emulator.cpp
+++ b/android/emulator/main-emulator.cpp
@@ -268,6 +268,31 @@
int restartPid = -1;
bool doDeleteTempDir = false;
+#ifdef __linux__
+ const char* qemu_top_dir = nullptr;
+ char my_dumboption_string [] = "-ranchu";
+ for (int nn = 1; nn < argc; nn++) {
+ const char* opt = argv[nn];
+ if (!strcmp(opt, "-qemu-top-dir")) {
+ qemu_top_dir = argv[nn + 1];
+ argv[nn] = my_dumboption_string;
+ nn++;
+ argv[nn] = my_dumboption_string;
+ }
+ }
+ if (qemu_top_dir) {
+ char mybuf[1024];
+ char* c_argv0_dir_name = path_dirname(argv[0]);
+ snprintf(mybuf, sizeof(mybuf), "%s/%s/emulator", c_argv0_dir_name, qemu_top_dir);
+ char* emulatorPath = mybuf;
+ argv[0] = emulatorPath;
+ printf("emulator: INFO: launch %s ... \n", emulatorPath);
+ fflush(stdout);
+ safe_execv(emulatorPath, argv);
+ return errno;
+ }
+#endif
+
/* Test-only actions */
bool isLauncherTest = false;
const char* launcherTestArg = nullptr;